]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* autogen.sh: Ensure that collate and ctype locale is C.
[grub2.git] / ChangeLog
1 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
3
4 * autogen.sh: Ensure that collate and ctype locale is C.
5 * conf/Makefile.common: Likeiwise.
6
7 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * grub-core/normal/menu.c: Add missing include.
10
11 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
14
15 2011-04-08 Martin Zuther <mzuther@mzuther.de>
16
17 * util/grub-mkconfig.in: Ignore emacsen backup.
18
19 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
22 on open.
23 (grub_util_biosdisk_close): Likewise.
24
25 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
28 const attribute and use grub_isdigit.
29
30 2011-04-06 Andrey <dev_null@ukr.net>
31
32 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
33 gcc warning.
34
35 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
38 useful grub_dprintf's.
39
40 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
43
44 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
47
48 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
49
50 Output errors if theme loading failed.
51
52 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
53 grub_gfxterm_fullscreen on error paths to ...
54 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
55 theme loading error.
56
57 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
60 space for older compilers.
61 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
62
63 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
66 and report them as not RAID members since they are useless for GRUB.
67 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
68
69 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
70
71 Increase LVM implementation robustness in order not to crash on
72 configurations like pvmove. Previously code assumed that in some places
73 only lvs or only pvs are used whereas it seems that they are used
74 interchangeably.
75
76 * grub-core/disk/lvm.c (read_node): New function.
77 (read_lv): Use read_node.
78 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
79 Match volumes only at the end when all lvs are found. Take both
80 pvs (first) and lvs (second) into account.
81 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
82 mirror_* into node_*. All users updated.
83 (grub_lvm_stripe): Merge this ...
84 (grub_lvm_mirror): ... and this ...
85 (grub_lvm_node): ... into this. All users updated.
86
87 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
90 of function to allow further scanning for LVMs.
91
92 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
95 on failed seek as it breaks open fd reusage.
96
97 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * util/grub-install.in: Add a recommendation to use --recheck before
100 reporting bugs.
101
102 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
105 are obtained.
106
107 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
108
109 GRUB developper manual based on existing Internals section and
110 contributions by the various authors with active copyright assignment.
111
112 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
113 * docs/font_char_metrics.png: New file.
114 * docs/font_char_metrics.txt: Likewise.
115 * docs/grub-dev.texi: Likewise.
116 * docs/grub.texi (Internals): Move from here ...
117 * docs/grub-dev.texi: ... here.
118
119 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
120
121 Store the loopback device as data on loopback grub_disk structures,
122 rather than the file it points to. This fixes use of freed memory
123 if an existing loopback device is replaced.
124
125 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
126 disk->data, not dev->file.
127 (grub_loopback_read): Adjust file assignment to match.
128 Fixes Ubuntu bug #742967.
129
130 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
131
132 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
133 when replacing an existing device.
134
135 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
136
137 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
138 memory corruptions.
139
140 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
141 unsigned.
142 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
143 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
144 (grub_jfs_read_inode): Likewise.
145 (grub_jfs_opendir): Likewise. Remove now useless casts.
146 (grub_jfs_getent): Likewise.
147 Make ino a grub_uint32_t rather than int.
148 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
149 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
150 division and module with bit operations.
151 (grub_jfs_find_file): Make ino a grub_uint32_t.
152 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
153
154 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
155
156 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
157 warning. (This was in fact always initialised before use, but GCC
158 wasn't smart enough to prove that.)
159 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
160
161 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
164 stack alignment.
165 (efi_wrap_1): Likewise.
166 (efi_wrap_2): Likewise.
167 (efi_wrap_3): Likewise.
168 (efi_wrap_4): Likewise.
169 (efi_wrap_5): Likewise.
170 (efi_wrap_6): Likewise.
171 (efi_wrap_10): Likewise.
172 Based on information by: Red Hat/Peter Jones.
173
174 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
175
176 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
177 set-but-not-used variable.
178
179 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
180
181 * docs/grub.texi (Simple configuration): Be more explicit about
182 GRUB_DEFAULT, and add an example.
183 Reported by: Leslie Rhorer.
184
185 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
186
187 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
188 shell".
189
190 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
191
192 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
193 * util/grub.d/20_linux_xen.in: Likewise.
194
195 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * util/grub.d/10_linux.in: Try alternative config filenames where
198 we parse config file.
199 * util/grub.d/20_linux_xen.in: Likewise.
200
201 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
202
203 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
204 * util/grub.d/20_linux_xen.in: Likewise.
205
206 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/disk/raid.c (insert_array): Add few potentially
209 useful grub_util_info.
210 (grub_raid_register): Likewise.
211
212 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
215 Preserve partition number in mdadm code path.
216
217 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
220 few potentially useful grub_util_info.
221
222 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
225
226 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
227
228 * docs/grub.texi (default): Use @example rather than nested
229 itemized lists to avoid breaking gendocs.
230
231 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
232
233 * docs/grub.texi (Future): Update.
234
235 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
236
237 * docs/grub.texi (Environment): New chapter.
238 (Changes from GRUB Legacy): Link to "Environment block" section for
239 details of limitations.
240 (Simple configuration): Likewise. Link to documentation of gfxmode
241 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
242 respectively.
243 (Shell-like scripting): Note that normal variables are stored in the
244 environment.
245 (gettext): Link to documentation of lang and locale_dir.
246 (list_env): New section.
247 (load_env): New section.
248 (save_env): New section.
249
250 (Reporting bugs): Fix typo.
251
252 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
255 the example.
256
257 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * grub-core/term/at_keyboard.c (set_scancodes)
260 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
261
262 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
263
264 * docs/grub.texi (Menu-specific commands): Remove some semantics
265 that were true in GRUB Legacy but not in GRUB 2.
266 (submenu): New section.
267 (false): New section.
268 (read): New section.
269 (true): New section.
270
271 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
272
273 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
274
275 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
276
277 * docs/grub.texi (Simple configuration): Explain some of the
278 current limitations of grub-mkconfig.
279 Reported by: Leslie Rhorer.
280
281 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
282
283 Old macs search for boot.efi rather than for bootia32.efi.
284
285 * util/grub-install.in: Copy bootia32.efi to boot.efi.
286 * util/grub-mkrescue.in: Likewise.
287 Suggested by: Peter Jones.
288
289 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
292
293 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
296 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
297 (grub_lvm_mirror): New struct.
298 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
299 (grub_lvm_iterate): Iterate only visible volumes.
300 (grub_lvm_read): Factor out to ..
301 (read_lv): ... this. Support mirrors.
302 (grub_lvm_read): New wrapper function.
303 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
304 stripped or mirrored.
305
306 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
309
310 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
311
312 * docs/grub.texi (loopback): New section.
313
314 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
315
316 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
317 removed -p option.
318
319 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
320
321 * docs/grub.texi (BIOS installation): New section, partly based on
322 previous text in other sections.
323 (Installing GRUB using grub-install): Replace BIOS discussion with a
324 cross-reference.
325 (Images): Likewise.
326
327 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/kern/emu/hostdisk.c (find_partition_start)
330 [HAVE_DIOCGDINFO]: Add safety checks.
331
332 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
335 per default compiled in kernel and prior to 8.0 isn't shipped at all.
336
337 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
338
339 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
340 real_sb->size is zero (e.g. RAID-0), get the disk size from
341 real_sb->data_size instead.
342 Fixes Ubuntu bug #743136.
343
344 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
347 printf clauses for printing size and start.
348
349 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
352 Reported and tested by: Timothy Nikkel.
353
354 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
357 (dirty_region_add_real): ... this.
358 (dirty_region_add): Don't discard margin refresh when performing
359 scheduled repaint.
360
361 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/lib/relocator.c (allocate_regstart)
364 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
365 terminals are capabple of malloc-free operation.
366 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
367 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
368
369 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
370
371 * util/grub-setup.c: Copy the partition table zone if floppy support
372 is disabled, even if no partition table is found.
373
374 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
375 during POST if an invalid partition table is contained in the PBR
376 of the active partition when GRUB is installed to a partition.
377
378 2011-03-28 Colin Watson <cjwatson@debian.org>
379
380 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
381 comment.
382
383 2011-03-28 Colin Watson <cjwatson@debian.org>
384
385 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
386 to be specific about what kind of RAID device we're scanning for.
387
388 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
389
390 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
391 return freed string.
392
393 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
396
397 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
398
399 Use libgeom on FreeBSD to detect partitions.
400
401 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
402 (grub-mkrelpath): Likewise.
403 (grub-script-check): Likewise.
404 (grub-editenv): Likewise.
405 (grub-mkpasswd-pbkdf2): Likewise.
406 (grub-fstest): Likewise.
407 (grub-mkfont): Likewise.
408 (grub-mkdevicemap): Likewise.
409 (grub-probe): Likewise.
410 (grub-setup): Likewise.
411 (grub-ofpathname): Likewise.
412 (grub-mklayout): Likewise.
413 (example_unit_test): Likewise.
414 (grub-menulst2cfg): Likewise.
415 * grub-core/Makefile.core.def (grub-emu): Likewise.
416 (grub-emu-lite): Likewise.
417 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
418 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
419 define HAVE_DIOCGDINFO.
420 (follow_geom_up) [FreeBSD]: New function.
421 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
422 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
423 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
424 unconditionally of HAVE_DIOCGDINFO.
425
426 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
427
428 Fix FreeBSD compilation problem.
429
430 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
431 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
432
433 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
434
435 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
436 Switch back to page zero before loading a kernel, since some kernel
437 drivers expect that.
438 Thanks to: Felix Kuehling.
439
440 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
443 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
444 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
445
446 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
449 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
450
451 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
454 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
455 malloc is disabled.
456
457 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
460 for modules headers when counting the needed allocation size.
461
462 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
465 if no ASCII character is found to prevent crash.
466
467 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
468
469 * grub-core/video/bitmap.c (match_extension): Ignore case.
470
471 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
474
475 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * grub-core/script/parser.y: Declare "time" as valid argument.
478
479 2011-03-23 Peter Jones <pjones@redhat.com>
480
481 Fix incorrect assert failure reporting.
482
483 * grub-core/tests/example_functional_test.c (example_test): Add
484 a failure comment.
485 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
486 (failure_start): ...this. Check that malloc succeeded.
487 Don't call xvasprintf. Return failure struct.
488 (failure_append_vtext): New function.
489 (failure_append_text): Likewise.
490 (add_failure): Likewise.
491 (grub_test_assert_helper): Likewise.
492 * include/grub/test.h (grub_test_assert_helper): New declaration.
493 (grub_test_assert): Macro rewritten.
494
495 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
498
499 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
502
503 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
506 into GRUB-style one.
507
508 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
511 error and not grub_errno.
512 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
513
514 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
517 GRUB_USB_SPEED_NONE in case of failure and not the error code.
518
519 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * grub-core/efiemu/i386/pc/cfgtables.c
522 (grub_machine_efiemu_init_tables): Make declaration a prototype.
523 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
524 (grub_xnu_unlock): Likewise.
525 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
526
527 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
530 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
531 * grub-core/commands/hashsum.c (aliases): Likewise.
532 * grub-core/commands/setpci.c (pci_registers): Likewise.
533 * grub-core/disk/usbms.c (attach_hook): Likewise.
534 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
535 (zio_checksum_table): Likewise.
536 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
537 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
538 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
539 * grub-core/lib/relocator.c (leftovers): Likewise.
540 (extra_blocks): Likewise.
541 * grub-core/loader/i386/bsd.c (relocator): Likewise.
542 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
543 (modules_last): Likewise.
544 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
545 (devices): Likewise.
546 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
547 (modules_last): Likewise.
548 * grub-core/normal/auth.c (users): Likewise.
549 * grub-core/normal/context.c (initial_menu): Likewise.
550 (current_menu): Likewise.
551 * grub-core/normal/crypto.c (crypto_specs): Likewise.
552 * grub-core/term/serial.c (grub_serial_ports): Likewise.
553 (grub_serial_terminfo_input_template): Likewise.
554 (grub_serial_terminfo_output_template): Likewise.
555 (grub_serial_terminfo_input): Likewise.
556 (grub_serial_terminfo_output): Likewise.
557 (registered): Likewise.
558 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
559
560 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
563 grub_video_mode_type_t.
564 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
565 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
566 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
567
568 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * util/grub-install.in: Correct the x86-64 name as x86_64.
571
572 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
573
574 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
575 initial chunk read from the kernel always includes GRUB's multiboot
576 header, which is now outside the first sector.
577
578 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
579
580 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
581 cached mmap_size, so that this works correctly when called multiple
582 times.
583 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
584
585 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
586
587 * docs/grub.texi (Simple configuration): Tidy up formatting.
588
589 2011-03-07 Szymon Janc <szymon@janc.net.pl>
590
591 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
592 Set-but-not-used variable removed.
593
594 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
595
596 Workaround yet another IEEE1275 bug.
597
598 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
599 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
600 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
601 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
602 is set.
603 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
604 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
605
606 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
609 error.
610
611 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
612
613 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
614 empty, since in that case we can only generate either nothing or a
615 syntactically invalid configuration file.
616 Reported by: Michal Suchanek. Fixes Debian bug #612898.
617
618 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
619
620 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
621 (Making a GRUB bootable CD-ROM): Likewise.
622 (Invoking grub-mkrescue): New section.
623 Reported by: Yann Dirson. Fixes Debian bug #612585.
624
625 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
626
627 * util/grub-install.in: Remove unnecessary brackets from tr
628 arguments.
629 * util/grub.d/10_hurd.in: Likewise.
630 * util/grub.d/10_kfreebsd.in: Likewise.
631 * util/grub.d/10_linux.in: Likewise.
632 * util/grub.d/20_linux_xen.in: Likewise.
633 Reported by: Jamie Heilman. Fixes Debian bug #612564.
634
635 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
636
637 * include/grub/file.h (not_easly_seekable): Rename to ...
638 (not_easily_seekable): ... this. Update all users.
639
640 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
641
642 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
643 grub-mkrescue.
644
645 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * util/grub-mkimage.c (generate_image): Refuse to create the images
648 bigger than the actual flash (512K) in Loongson machines. 512K is also
649 the biggest chip supported by them.
650
651 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
654
655 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
656
657 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
658 super_offset field.
659
660 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * util/grub-install.in: Ignore install device on platforms
663 where it doesn't make sense. Always use UUIDs except on pc, efi and
664 sparc64.
665 Reported by: Daniel Kahn Gillmor.
666
667 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
670
671 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
674 (iterate_real): Don't rely on partition being non-NULL.
675
676 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
679 supported platforms. Put a compile time assert for this rather than
680 generate a warning with 32-bit shift.
681
682 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
685 logical expression more readable.
686
687 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
690 even if some elements have a name.
691 Reported by: Alexander GQ Gerasiov.
692
693 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
694
695 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
696 path unreadable if `grub-probe -t abstraction' fails, for example if
697 memberlist fails on an LVM volume group.
698 Reported by: Darius Jahandarie.
699
700 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
701
702 * docs/grub.texi (Simple configuration): Document
703 GRUB_PRELOAD_MODULES.
704
705 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
706
707 * .bzrignore: Remove nonexistent grub-pbkdf2.
708
709 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * configure.ac: Bump version to 1.99~rc1.
712
713 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
716 for safety.
717
718 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
721 module.
722
723 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
726
727 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
730 diskdevid.
731
732 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
733
734 Fix compilation on cygwin.
735
736 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
737 -R .drectve on cygwin.
738 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
739 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
740 (COND_CYGWIN): New condition.
741 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
742 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
743 not @TARGET_OBJ2ELF@.
744 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
745 type to determine whether aux is to be used.
746
747 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
750 realpath'ed device string.
751 Handle floppy (somewhat).
752 Issue error in unknown case rather than garbage.
753 Reported by: Axel Beckert.
754
755 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * util/grub.d/00_header.in (load_video): Handle the case when no video
758 drivers available.
759 Thanks to: Axel Beckert.
760
761 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
764 variable. Fixes problem on big endian platforms.
765
766 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
769 It doesn't work well there.
770
771 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
774 warning.
775 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
776 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
777 counter.
778
779 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
780
781 Use alias->path rather than buggy "canon".
782
783 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
784 (ofdisk_hash_add): New argument curcan. All users updated.
785
786 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
787
788 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
789
790 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
793 loadmask before doing any calculations. Use correct type for offset.
794 (grub_linux_load64): Likewise.
795
796 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
797
798 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
799 with NULL.
800 (console_grub_equivalences_unshift): Likewise.
801 Reported by: Daniel Dehennin.
802
803 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
806 (set_env_limn_ro): Likewise.
807 (GRUB_MOD_INIT): Likewise.
808 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
809 ARRAY_SIZE while on it.
810 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
811 * grub-core/normal/context.c (grub_env_export): Move from here ...
812 * grub-core/kern/env.c (grub_env_export): ... here.
813 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
814 prefix.
815 * grub-core/kern/main.c (grub_main): Export root and prefix.
816 * include/grub/env.h (grub_env_export): Export.
817 Reported by: Seth Goldberg.
818
819 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
822 Take into account space used by ELF sections and multiboot palette.
823 Reported by: Grégoire Sutre.
824
825 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * BUGS: New file.
828
829 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
830
831 Pass more appropriate video id to Linux.
832
833 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
834 grub_video_get_driver_id and variable gfxpayloadforcelfb to
835 fill have_vga.
836 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
837 shift params->lfb_size.
838 * include/grub/i386/linux.h: Make an enume out of have_vga values.
839
840 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * util/grub-menulst2cfg.c: Add missing include of misc.h.
843
844 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
847 separator and pass bootpath/devid even if only one of them is available.
848 Reported by: Seth Goldberg.
849
850 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
851
852 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
853 implementations bug on them.
854
855 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
856 memory.
857 (filter_memory_map): Likewise.
858
859 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
862 Reported by: nebuchadnezzar.
863
864 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
867 Reported by: nebuchadnezzar.
868
869 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
870
871 Submenu default support.
872
873 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
874 auto_boot. All users updated.
875 Declared static.
876 Handle chosen and default with submenus.
877 (grub_menu_execute_with_fallback): Declared static.
878 Don't notify failure if autobooted. Upper level does it.
879 (menuentry_eq): New function.
880 (get_entry_number): Use menuentry_eq.
881 (show_menu): New parameter "autobooted". All users updated.
882 (grub_show_menu): Likewise.
883 * include/grub/normal.h (grub_show_menu): Likewise.
884 * include/grub/menu.h (grub_menu_execute_entry): Removed.
885 (grub_menu_execute_with_fallback): Likewise.
886
887 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * util/grub-mklayout.c (usage): Update help text.
890
891 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
894
895 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * util/grub-menulst2cfg.c (main): Trim the line.
898
899 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
902 (grub_machine_init): Don't check amount of low memory as reportedly
903 INT 12h can be broken and if low memory is too low we wouldn't have
904 gotten into grub_machine_init anyway.
905
906 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
909 (grub_machine_mmap_iterate): Take low memory into account
910
911 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
914 badfs.
915 Reported by: TiCPU.
916
917 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
920 members errors.
921
922 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
923
924 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
925 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
926
927 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
928
929 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
930 openbsd and netbsd types being in part_bsd module.
931
932 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
935 (_FILE_OFFSET_BITS): Likewise.
936 Reported by: Seth Goldberg.
937
938 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
939
940 * configure.ac: Check for libdevmapper header.
941
942 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
945 avoid aliasing.
946 (fzap_lookup): Likewise.
947 (dnode_get): Likewise.
948 (make_mdn): Likewise.
949 (zfs_mount): Likewise.
950 (fzap_iterate): Use temporary pointer to avoid aliasing.
951 (grub_zfs_read): Likewise.
952 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
953 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
954 pointers to avoid aliasing.
955 (grub_cmd_xnu_kernel64): Likewise.
956 (grub_xnu_load_driver): Likewise.
957
958 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
961 aliasing warning.
962 (grub_cmd_terminal_output): Likewise.
963 Reported and tested by: Grégoire Sutre.
964
965 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
968 warning.
969 Reported and tested by: Grégoire Sutre.
970
971 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * configure.ac: Do CPU substitution even if it's specified explicitly.
974 Reported and tested by: Alain Greppin.
975
976 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
979 Reported and tested by: Alain Greppin.
980
981 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
982
983 Satisfy some bison versions need for inttypes.h.
984
985 * grub-core/lib/posix_wrap/inttypes.h: New file.
986 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
987 (int16_t): Likewise.
988 (int32_t): Likewise.
989 (int64_t): Likewise.
990 Reported and tested by: Alain Greppin.
991
992 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
995 Silence spurious warning.
996 Reported and tested by: Alain Greppin.
997
998 2011-01-07 Szymon Janc <szymon@janc.net.pl>
999
1000 * docs/grub.texi (Support automatic decompression): Update with xz
1001 decompression support.
1002
1003 2011-01-07 Szymon Janc <szymon@janc.net.pl>
1004
1005 Improve loaders' kernel command line handling.
1006
1007 * grub-core/lib/cmdline.c: New file.
1008 * include/grub/lib/cmdline.h: Likewise.
1009 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
1010 grub_create_loader_cmdline to create kernel command line.
1011 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1012 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
1013 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
1014 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
1015 (linux): Add lib/cmdline.c on common.
1016
1017 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
1020 inopos might be unaligned.
1021
1022 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1025 endian transformations.
1026 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1027 Based on report by: Doug Nazar.
1028
1029 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
1030
1031 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
1032 array->members[i].start_sector.
1033 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1034
1035 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
1038 Reported and tested by: Grégoire Sutre.
1039
1040 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1041
1042 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
1043 avoid causing test failures by clearing the screen.
1044
1045 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
1046
1047 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1048 Fix prefix check to handle the case where dir ends with a slash
1049 (most significantly, "/" itself).
1050 Reported by: Michael Vogt.
1051
1052 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 Run terminfo_cls on initing terminfo output to clear the screen and
1055 move the cursor to (0,0).
1056
1057 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
1058 Call grub_terminfo_output_init.
1059 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
1060 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
1061 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
1062
1063 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
1066 only when needed.
1067
1068 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
1071 CTRL.
1072
1073 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 The E820 type 5 is BADRAM, not EXEC_CODE.
1076
1077 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1078 (GRUB_E820_BADRAM): New define.
1079 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
1080 into reserved. Propagate BADRAM.
1081 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1082 (GRUB_E820_BADRAM): New define.
1083
1084 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
1087 Ignore the memory post-4G.
1088 (grub_relocator_firmware_alloc_region): Additional debug statement.
1089
1090 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
1093 names.
1094 Reported by: David Pravec.
1095
1096 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
1099 BIOSes.
1100
1101 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
1104 Prevent overflow.
1105 (grub_reed_solomon_recover): Likewise.
1106
1107 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
1110
1111 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
1114 variable.
1115
1116 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
1117
1118 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
1119 descriptions of extract_legacy_entries_source and
1120 extract_legacy_entries_configfile.
1121 Reported by: Seung Soo, Ha.
1122
1123 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
1124
1125 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
1126 on devices that do not implement function 0.
1127
1128 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
1129
1130 * grub-core/fs/hfsplus.c: Make parent unsigned.
1131 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
1132 overflows.
1133 (grub_hfsplus_cmp_extkey): Likewise
1134
1135 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * util/grub-install.in: Correctly use bootloader_id and not
1138 GRUB_DISTRIBUTOR on efibootmgr line.
1139
1140 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
1143
1144 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
1145
1146 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
1147 Xen and reorder menu item wording to make it clearer that this entry
1148 will launch Xen. Print separate messages when loading Xen and
1149 Linux.
1150
1151 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1154 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1155 loop in case of incorrect amiga partmap.
1156
1157 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1160 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1161 Reported by:EHeM.
1162
1163 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1166 spurious warning.
1167 Reported by: crocket
1168
1169 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1172 Preload EFIemu.
1173 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1174
1175 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1178 is loaded
1179 (grub_cmd_xnu_kextdir): Likewise.
1180 (grub_cmd_xnu_splash): Likewise.
1181
1182 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 Avoid using Reed-Solomon with 0 redundancy.
1185
1186 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1187 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1188 or 0 redundancy.
1189 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1190 (grub_reed_solomon_recover): Likewise.
1191
1192 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 Don't use disk subsystem in freebsd_boot.
1195
1196 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1197 (freebsd_biosdev): Likewise.
1198 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1199 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1200
1201 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 Handling of files of unknown size is currently limited. They can't be
1204 used e.g. for initrd or modules. Moreover gzip handling of not
1205 easily seekable files is buggy. Disable unknown file size for now. May
1206 be inefficient but works.
1207
1208 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1209 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1210
1211 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1212
1213 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1214 floppy probe.
1215
1216 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1217
1218 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1219
1220 2010-12-25 Shea Levy <shlevy>
1221
1222 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1223
1224 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1227 Windows Server 2008.
1228 Reported by: Devin Giddings.
1229
1230 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
1233 writing an error message because of async power management.
1234 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
1235 (grub_reboot): Likewise.
1236
1237 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
1238
1239 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
1240 keep unit tests from failing when they shouldn't.
1241
1242 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1243
1244 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
1245 previous patch increased the size of the RS code by 20 bytes (at
1246 least with gcc-4.4), so increase this by 20 bytes to match.
1247 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1248
1249 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1250
1251 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
1252 scratch area. Make sure to initialise chosen in standalone mode as
1253 well as non-standalone.
1254 Reported by: Robert Hooker and Andy Whitcroft.
1255 Tested by: Andy Whitcroft.
1256
1257 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1258
1259 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
1260 constructing a new unescaped string and passing it to grub_xputs in
1261 one go, rather than passing characters to grub_printf one at a time.
1262
1263 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1264
1265 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
1266 initialising utf16.
1267
1268 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
1269
1270 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
1271 comment. Add an extra layer of quotation, requiring the output of
1272 this function to be used in a printf format string.
1273 (gettext_printf): New function.
1274 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
1275 Extract translatable strings from here-documents and use a temporary
1276 variable instead, so that xgettext can find them.
1277 * util/grub.d/10_kfreebsd.in: Likewise.
1278 * util/grub.d/10_linux.in: Likewise.
1279 * util/grub.d/20_linux_xen.in: Likewise.
1280
1281 * po/grub.d.sed: New file.
1282 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
1283 arguments. Set c-format flags on all strings extracted from
1284 util/grub.d/ (xgettext refuses to include these itself for strings
1285 it extracted from a shell file, but these really are c-format).
1286
1287 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
1290 Avoid next pointing to nowhere.
1291
1292 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
1295 rather than assuming than rootblock is exactly in the middle.
1296 (grub_affs_label): Likewise.
1297
1298 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
1301 reserved_first_sector to 0.
1302 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
1303 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
1304 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
1305
1306 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 Fix handling of UTF-16 UDF labels.
1309
1310 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
1311 (read_string): .. here.
1312 (grub_udf_label): Use read_string.
1313
1314 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
1315
1316 * grub-core/normal/menu_entry.c (run): Execute commands from menu
1317 editor under argument scope.
1318 Reported by: Jordan Uggla
1319
1320 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
1323
1324 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
1325
1326 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
1327 line, and other keys scroll an entire page (previous handling was
1328 for \r and \n to scroll a page and other keys to scroll two lines).
1329
1330 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1333 Set ptrdest to correct get_physical_target_address rather than
1334 incorrect get_virtual_current_address.
1335
1336 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
1337
1338 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
1339 correct cat to grub_uint8_t * rather than grub_uint32_t *.
1340
1341 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1342
1343 * .bzrignore: Ignore grub-core/rs_decoder.S.
1344
1345 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
1346
1347 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
1348 .mo/.mo.gz opening sequence to ...
1349 (grub_mofile_open_lang): ... here.
1350 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
1351 * util/grub.d/00_header.in (grub_lang): Include country part of
1352 locale.
1353 Reported by: Mario Limonciello.
1354
1355 2010-12-09 Robert Millan <rmh@gnu.org>
1356
1357 * NEWS: Document addition of ZFS support.
1358
1359 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
1360
1361 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
1362 rather than `/ 2', as the latter requires -Wa,--divide which would
1363 require bumping our minimum binutils version.
1364
1365 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
1366
1367 * util/grub-script-check.c (main): Print script line number on
1368 error.
1369
1370 2010-12-01 Robert Millan <rmh@gnu.org>
1371
1372 * grub-core/fs/zfs/zfs.c: New file.
1373 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
1374 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
1375 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
1376 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1377
1378 * include/grub/zfs/dmu.h: Likewise.
1379 * include/grub/zfs/dmu_objset.h: Likewise.
1380 * include/grub/zfs/dnode.h: Likewise.
1381 * include/grub/zfs/dsl_dataset.h: Likewise.
1382 * include/grub/zfs/dsl_dir.h: Likewise.
1383 * include/grub/zfs/sa_impl.h: Likewise.
1384 * include/grub/zfs/spa.h: Likewise.
1385 * include/grub/zfs/uberblock_impl.h: Likewise.
1386 * include/grub/zfs/vdev_impl.h: Likewise.
1387 * include/grub/zfs/zap_impl.h: Likewise.
1388 * include/grub/zfs/zap_leaf.h: Likewise.
1389 * include/grub/zfs/zfs.h: Likewise.
1390 * include/grub/zfs/zfs_acl.h: Likewise.
1391 * include/grub/zfs/zfs_znode.h: Likewise.
1392 * include/grub/zfs/zil.h: Likewise.
1393 * include/grub/zfs/zio.h: Likewise.
1394 * include/grub/zfs/zio_checksum.h: Likewise.
1395
1396 * Makefile.util.def: Build ZFS into libgrubmods.
1397 * grub-core/Makefile.core.def: Build zfs.mod.
1398
1399 2010-11-30 Szymon Janc <szymon@janc.net.pl>
1400
1401 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1402 variable.
1403 * grub-core/commands/wildcard.c (match_files): Likewise.
1404
1405 2010-11-30 Robert Millan <rmh@gnu.org>
1406
1407 * grub-core/loader/i386/bsd.c
1408 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1409 whether kernel is loaded using grub_loader_is_loaded(), rather
1410 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
1411 certain error conditions.
1412
1413 2010-11-30 Robert Millan <rmh@gnu.org>
1414
1415 * grub-core/commands/echo.c: Include `<grub/term.h>'.
1416 (grub_cmd_echo): Call grub_refresh() after printing a message.
1417
1418 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 Avoid using tricks for initialising endian variables.
1421
1422 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
1423 Make const.
1424 (GRUB_MOD_INIT): Don't byte-swap.
1425 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1426 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
1427 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
1428 (grub_swap_bytes32_compile_time): Likewise.
1429 (grub_cpu_to_le32_compile_time): Likewise.
1430 (grub_cpu_to_le16_compile_time): Likewise.
1431
1432 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * util/grub-setup.c (setup): Stop recommending --force. People who
1435 understand the dangers of blocklists are able to find this option
1436 anyway and the ones who don't shouldn't use it anyway.
1437
1438 2010-11-26 Robert Millan <rmh@gnu.org>
1439
1440 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
1441 Update all users.
1442
1443 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
1444
1445 Fix LVM-on-RAID probing.
1446
1447 * util/grub-probe.c (probe): Remember which disk was detected as
1448 RAID (perhaps an LVM physical volume). Use that disk's raidname
1449 rather than that of the top-level disk.
1450
1451 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
1452
1453 Fix cmdline argument quotes for setparams command of menuentry
1454 definitions.
1455
1456 * grub-core/commands/menuentry.c (setparams_prefix): Use single
1457 quotes for arguments.
1458 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
1459 grub_strchrsub function instead.
1460
1461 * include/grub/misc.h (grub_strchrsub): New function.
1462
1463 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1464
1465 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
1466 effort by skipping "." and ".." entries up-front.
1467 Suggested by: Michael Lazarev.
1468
1469 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1470
1471 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
1472 ldflags to ldadd, to fix link line ordering.
1473 (none_decompress): Likewise.
1474
1475 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
1476
1477 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
1478 platforms.
1479 (grub-emu-lite): Remove kern/emu/cache.S.
1480
1481 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1482
1483 * util/deviceiter.c (compare_devices): If the by-id link for a
1484 device couldn't be resolved, fall back to sorting by the by-id link
1485 rather than segfaulting.
1486 Reported and tested by: Daniel Mierswa.
1487
1488 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1489
1490 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
1491 ldflags, to fix link line ordering.
1492
1493 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1494
1495 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
1496 linkers are picky about this.
1497
1498 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1499
1500 * grub-core/Makefile.am (command.lst): Adjust sed expression
1501 ordering so that extended and priority commands aren't treated as
1502 ordinary commands.
1503
1504 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
1505
1506 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1507 Remove byte-swapping function calls, which are not valid in
1508 structure initialisers.
1509 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
1510 non-const.
1511 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
1512 grub_gpt_partition_type_bios_boot.
1513
1514 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1515
1516 Fix test program build on GNU/kFreeBSD.
1517
1518 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
1519 $(LIBNVPAIR)' library dependencies.
1520
1521 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1522
1523 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
1524
1525 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
1526
1527 * util/grub-install.in: Remove excessive quoting that broke
1528 installations to RAID devices.
1529
1530 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
1533 bootloader version instead of 0.
1534
1535 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
1538 warning.
1539
1540 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
1543 retrieve the metadat sector if size isn't known.
1544 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1545
1546 2010-11-18 Robert Millan <rmh@gnu.org>
1547
1548 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
1549 with grub_memcmp().
1550
1551 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
1554 arrow.
1555 Reported by: Jordan Uggla.
1556
1557 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 Make better UTF compliant.
1560
1561 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
1562 sequences as incorrect.
1563 (grub_is_valid_utf8): Likewise.
1564 (grub_utf8_to_ucs4): Likewise.
1565 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
1566 (grub_ucs4_to_utf8_alloc): Likewise.
1567 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
1568
1569 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 Make legacy_source behave like source.
1572
1573 * grub-core/commands/legacycfg.c (legacy_file): Don't call
1574 grub_show_menu.
1575 (grub_cmd_legacy_source): Call grub_show_menu if needed.
1576
1577 2010-11-16 Colin Watson <cjwatson@debian.org>
1578
1579 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
1580 (-Wunused implies -Wunused-parameter, but not vice versa).
1581
1582 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
1583
1584 * configure.ac: Make error messages less confusing by testing for
1585 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
1586 accepted, but produces a diagnostic if something else is wrong).
1587
1588 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
1591 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
1592 (now unused).
1593 (grub_keyboard_controller_init)
1594 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
1595 read the initial state since controller isn't inited yet.
1596
1597 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
1600 allocate_regbeg may need to create new chunk header.
1601
1602 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 Fix quoting in legacy parser.
1605
1606 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
1607 single quotes.
1608 (grub_legacy_parse): Likewise.
1609 Reported by: Jordan Uggla.
1610 Tested by: Jordan Uggla.
1611
1612 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 Don't add -lgcc on i386 and x86_64.
1615
1616 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
1617 * conf/Makefile.common (LDADD_KERNEL): Likewise.
1618 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
1619
1620 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 * configure.ac: Add -Wno-trampolines when supported.
1623
1624 2010-11-14 Modestas Vainius <modax@debian.org>
1625
1626 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
1627 fakeraid.
1628
1629 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1630
1631 Add generic logical block size support for UDF.
1632
1633 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
1634 (GRUB_UDF_BLKSZ): Removed.
1635 (struct grub_udf_data): New field "lbshift" to hold the logical block
1636 size of the file system in log2 format. All users updated.
1637 (sblocklist): Change type to unsigned.
1638 (grub_udf_mount): Change type of "sblklist" to unsigned.
1639 Move AVDP search before VRS recognition, because the latter requires
1640 knowledge of the logical block size, which is detected during the
1641 former.
1642 Detect and validate logical block size during AVDP search, adding
1643 support for block sizes 512, 1024 and 4096.
1644 Make VRS recognition independent of block size.
1645
1646 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1647
1648 Properly handle deleted files on UDF.
1649
1650 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
1651 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
1652 set.
1653
1654 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1655
1656 Support reading files larger than 2 GiB.
1657
1658 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
1659 "offset" to grub_off_t.
1660 (grub_udf_read_file): Likewise for parameter "pos".
1661
1662 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
1665 unavailable.
1666 (Simple configuration): Refer to Changes from GRUB Legacy about
1667 save_env availability.
1668
1669 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * util/grub-install.in: Ignore empty partition table detection
1672 instead of trying to include part_ module.
1673
1674 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
1677 LVM on RAID support.
1678
1679 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 Properly define WORDS_BIGENDIAN in wrapped environments.
1682
1683 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
1684 definition.
1685 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
1686
1687 Reported by: Manoel Rebelo Abranches.
1688 Tested by: Manoel Rebelo Abranches.
1689
1690 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * util/grub-mkconfig.in: Fix quoting.
1693
1694 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 Support big ext2 files.
1697
1698 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
1699 (grub_ext2_read_block): Support triple indirect blocks.
1700 (grub_ext2_read_file): Use 64-bit types and read size_high.
1701 (grub_ext2_open): Read size_high.
1702 Reported by: Ximin Luo.
1703 Tested by: Manoel Rebelo Abranches.
1704
1705 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * util/grub-install.in: Handle filenames containing spaces.
1708 Reported by: Jordan Uggla.
1709 Tested by: Jordan Uggla.
1710
1711 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * util/grub-mkconfig.in (grub_script_check): New variable.
1714 Use grub_script_check instead of grub-script-check.
1715 Reported by: Barry Jackson.
1716
1717 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * docs/grub.texi (menu): Correct the order.
1720 Reported by: D. Hugh Redelmeier.
1721
1722 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
1725 jump.
1726
1727 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
1728
1729 * include/grub/elfload.h (grub_elf32_size): New parameter.
1730 All users updated.
1731 Return maximum segments alignment.
1732 (grub_elf64_size): Likewise.
1733 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
1734 Return maximum segments alignment.
1735 (grub_elf64_size): Likewise.
1736 * grub-core/loader/powerpc/ieee1275/linux.c:
1737 (grub_linux_claimmap_iterate): New function. Uses the
1738 "available" property in the "memory" node for memory allocation
1739 for kernel in the PowerPC loader.
1740 (grub_linux_load32): Correctly find linux entry point offset.
1741 (grub_linux_load64): Likewise.
1742
1743 2010-11-07 Robert Millan <rmh@gnu.org>
1744
1745 On mips-yeeloong, build with -march=loongson2f when this flag is
1746 available (GCC >= 4.4).
1747 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
1748 `-march=mips3'.
1749 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
1750 or otherwise add -march=mips3.
1751
1752 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
1753
1754 Suppress shell expansion on echo '*' and echo "*" like cases.
1755 Reported by: Jordan Uggla.
1756
1757 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1758 string arguments before shell expansion.
1759 * tests/grub_cmd_echo.in: New testcases.
1760
1761 2010-11-07 Robert Millan <rmh@gnu.org>
1762
1763 * conf/mips-qemu-mips.rmk: Remove stale file from previous
1764 transition.
1765
1766 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * grub-core/kern/emu/hostdisk.c
1769 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
1770
1771 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
1774 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
1775 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
1776
1777 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
1780
1781 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * util/grub-install.in: Replace useless recomendation to pass
1784 --modules with a recomendation to report a bug.
1785
1786 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 Properly register serial terminfo.
1789 Reported by: Jordan Uggla
1790
1791 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
1792 const.
1793 (grub_serial_terminfo_output_template): Likewise.
1794 (grub_cmd_serial): Register "serial" with terminfo.
1795 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
1796 grub_serial_terminfo_output.
1797
1798 2010-11-05 Robert Millan <rmh@gnu.org>
1799
1800 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
1801 needed).
1802
1803 2010-11-05 Robert Millan <rmh@gnu.org>
1804
1805 On Yeeloong, pass machine type information to Linux.
1806
1807 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
1808 (LOONGSON_MACHTYPE): New macro, set to
1809 "machtype=lemote-yeeloong-2f-8.9inches".
1810 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
1811 additional argument to Linux.
1812
1813 2010-11-04 Robert Millan <rmh@gnu.org>
1814
1815 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
1816 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
1817 (its SATA disks are detected as slaveless IDE master drives on
1818 kFreeBSD).
1819 Reported by Carsten Aulbert.
1820
1821 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
1822
1823 * util/bin2h.c (main): Fix spelling error in generated output.
1824
1825 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
1826
1827 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
1828
1829 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
1832 vga= option is supplied.
1833
1834 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
1837 * util/grub.d/10_kfreebsd.in: Likewise.
1838 * util/grub.d/10_linux.in: Likewise.
1839 * util/grub.d/20_linux_xen.in: Likewise.
1840
1841 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
1844 argument as an argument to no-argument option.
1845
1846 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * util/grub.d/10_linux.in: Add missing load_video with explicit
1849 GRUB_GFXPAYLOAD_LINUX.
1850
1851 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
1854
1855 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
1858 elements with invlid index.
1859 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1860 * grub-core/disk/raid.c (insert_array): Automatically reallocate
1861 members.
1862 * include/grub/raid.h (grub_raid_member): New struct.
1863 (grub_raid_array): Transform devices and start_sector into usage of
1864 grub_raid_member. All users updated
1865 (allocated_devs): New member.
1866
1867 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
1870 is modified
1871
1872 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
1873
1874 NetBSD build fix for getline function conflict from gnulib.
1875
1876 * Makefile.util.def (libgrubkern.a): New library for grub kernel
1877 components that depend on gnulib headers.
1878 (libgrubmods.a): Renamed from earlier libgrub.a.
1879 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
1880
1881 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
1884 install rather than creating a broken install.
1885
1886 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * util/grub-setup.c (argp): Remove misleading example of installing to
1889 a partition.
1890
1891 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * util/grub-setup.c (setup): Clarify the error message.
1894
1895 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
1898
1899 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * grub-core/kern/emu/misc.c
1902 (grub_make_system_path_relative_to_its_root)
1903 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
1904
1905 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/kern/emu/misc.c
1908 (grub_make_system_path_relative_to_its_root): Revert r2882.
1909
1910 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
1913 useless field head. All users updated.
1914 (free_subchunk): Correct handling of IN_REGION subchunk.
1915
1916 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
1917
1918 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
1919 (Supported kernels): Likewise.
1920
1921 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1922
1923 Make mktemp invocations portable.
1924
1925 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
1926 exit if mktemp fails.
1927 * tests/grub_script_blockarg.in: Likewise.
1928 * tests/partmap_test.in: Likewise.
1929 * tests/util/grub-shell-tester.in: Likewise.
1930 * tests/util/grub-shell.in: Likewise.
1931 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1932 * Makefile.am: Likewise, and chain shell commands with `&&'
1933 instead of ';'.
1934 * util/grub-mkrescue.in: Use the same explicit template as above, and
1935 exit if mktemp fails.
1936
1937 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
1938
1939 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
1940 Linux kernel, reported by Dennis Schridde.
1941
1942 2010-10-17 Szymon Janc <szymon@janc.net.pl>
1943
1944 * grub-core/normal/auth.c (grub_auth_check_authentication):
1945 Set-but-not-used variable removed.
1946
1947 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * docs/grub.texi (GNU/Linux): Document APM unavailability with
1950 32-bit linux protocol.
1951
1952 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
1955 cursor shape for sanity.
1956
1957 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * docs/grub.texi (Installation): Document buggy BIOS install.
1960
1961 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * docs/grub.texi (Installation): Indent.
1964
1965 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * util/grub-setup.c (setup): New parameter allow_floppy.
1968 (arguments): New member allow_floppy.
1969 (argp_parser): Handle --allow-floppy.
1970 (main): Pass allow_floppy.
1971 * util/grub-install.in: New option --allow-floppy passed though to
1972 grub-setup.
1973
1974 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * util/grub-install.in: Handle partitionless disks.
1977
1978 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * util/grub-setup.c (setup): Don't clean blocklists before readability
1981 verfification.
1982
1983 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * docs/grub.texi (Installation): Document embedding zone. Remove
1986 obsolete grub-install example.
1987
1988 2010-10-16 Szymon Janc <szymon@janc.net.pl>
1989
1990 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
1991 Set-but-not-used variable ifdef'ed.
1992 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
1993 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
1994 variable removed.
1995 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
1996 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
1997 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
1998 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
1999 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
2000 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2001 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
2002 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
2003 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2004 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
2005 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
2006 Likewise.
2007
2008 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
2011 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
2012 enum value.
2013
2014 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
2017 synonym to _S5_. Needed for some DSDTs.
2018
2019 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 Userspace ACPI parser debugging.
2022
2023 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
2024 headers and add relevant defines. Don't include standard headers.
2025 (main) [GRUB_DSDT_TEST]: New function.
2026 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
2027 Don't declare functions.
2028
2029 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 Remove dead grub_efi_mm_fini.
2032
2033 * grub-core/kern/efi/mm.c (allocated_page): Removed.
2034 (ALLOCATED_PAGES_SIZE): Likewise.
2035 (MAX_ALLOCATED_PAGES): Likewise.
2036 (allocated_pages): Likewise.
2037 (grub_efi_allocate_pages): Don't record allocated pages.
2038 (grub_efi_free_pages): Likewise.
2039 (grub_efi_mm_init): Likewise.
2040 (grub_efi_mm_fini): Removed.
2041
2042 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
2045 (grub_efi_mm_init): Take into account the memory map size increase.
2046
2047 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
2050 (serial_hw_put): Wait based on real time rather than port reads. Don't
2051 roken ports.
2052 * include/grub/serial.h (grub_serial_port): New field broken.
2053
2054 2010-10-16 Robert Millan <rmh@gnu.org>
2055
2056 * grub-core/kern/emu/misc.c
2057 (grub_make_system_path_relative_to_its_root): Fix premature return
2058 when processing non-root ZFS filesystems.
2059 Reported by Sergio Talens-Oliag.
2060
2061 2010-10-15 Robert Millan <rmh@gnu.org>
2062
2063 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
2064 guarantee compressed ones are processed first.
2065
2066 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
2069 grub_efiemu_autocore.
2070
2071 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
2074 rather than 0x1b.
2075 (grub_console_getkey): Use correct jae opcode rather than ja.
2076
2077 2010-10-12 Robert Millan <rmh@gnu.org>
2078
2079 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
2080 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
2081 variable. All references updated.
2082
2083 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
2084
2085 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 Correctly distinguish mdraid flavours.
2088
2089 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
2090 (insert_array): New argument raid.
2091 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
2092 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
2093 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2094
2095 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
2098 handling of special keys.
2099
2100 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2101
2102 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
2103 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
2104
2105 2010-10-02 Aleš Nesrsta <starous@volny.cz>
2106
2107 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
2108 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
2109 users updated.
2110 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
2111 Use right endpoint when querying descriptor.
2112
2113 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 Clear out 0x80 color bit on EFI.
2116 Tested by: decoder
2117 Reported by: decoder and meta tech.
2118
2119 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
2120 (grub_console_setcolorstate): Clear out 0x80 bit.
2121 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
2122 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
2123 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
2124
2125 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
2128 Set to "auto".
2129
2130 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
2133 mo_file after freeing.
2134
2135 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
2138
2139 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
2142 flags.
2143
2144 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
2147 usage.
2148
2149 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 Put terminfo into core on ieee1275 and yeeloong (needed for console).
2152
2153 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2154 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2155 and terminfo.h when needed.
2156 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2157 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2158 (terminfo): Enable only on terminfokernel.
2159 (extcmd): Likewise.
2160 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2161 * include/grub/lib/arg.h: Likewise.
2162 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2163 incorrect usage of ->.
2164
2165 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2168 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2169
2170 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 Fix coreboot compilation.
2173
2174 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2175 Take VBE info into account even if only text is supported.
2176 (fill_vbe_info): Take into account the case when only VGA text
2177 is supported.
2178 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2179 on coreboot, multiboot and qemu.
2180
2181 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2184 debug messages.
2185 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2186
2187 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2190 parameters.
2191
2192 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2195 if they were BSD-style.
2196
2197 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * grub-core/boot/i386/pc/lnxboot.S: Replace
2200 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2201 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2202
2203 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 Write embedding zone using Reed-Solomon.
2206
2207 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2208 * grub-core/Makefile.am (rs_decoder.S): New target.
2209 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2210 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2211 (multiboot): Move to RS part.
2212 (post_reed_solomon): New label.
2213 (grub_boot_drive): Move to non-RS part since it's modified in memory
2214 on boot.
2215 Include rs_decoder.S.
2216 * grub-core/lib/reed_solomon.c: New file.
2217 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2218 New definition.
2219 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2220 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2221 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2222 * include/grub/partition.h (grub_partition_map): Change prototype of
2223 embed to allow returning additional sectors.
2224 * include/grub/reed_solomon.h: New file.
2225 * util/grub-setup.c (setup): Handle Reed-Solomon.
2226
2227 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
2228
2229 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2230 i386 and x86-64 definedness tests.
2231
2232 2010-09-27 Yves Blusseau <blusseau@zetam.org>
2233
2234 Fix generation of kernel_syms.lst
2235
2236 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
2237 ASM_PREFIX
2238
2239 2010-09-26 Robert Millan <rmh@gnu.org>
2240
2241 Support degraded ZFS arrays in "grub-probe -t device" resolution.
2242
2243 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
2244 the pool is an array of devices, iterate through it and return the
2245 first device that passes a stat() test (instead of blindly returning
2246 the first one).
2247
2248 2010-09-26 Robert Millan <rmh@gnu.org>
2249
2250 Build fixes for GNU/kFreeBSD.
2251
2252 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
2253 to programs that require ZFS conversion.
2254 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
2255 kernels that don't have FLOPPY_MAJOR.
2256
2257 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2258
2259 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
2260
2261 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2262
2263 Fix grub-emu build.
2264
2265 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
2266 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
2267 mdraid09 and mdraid1x.
2268
2269 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
2270
2271 Re-enable grub-extras.
2272
2273 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
2274 avoid confusing Automake. Run autogen only twice, once for the top
2275 level and once for grub-core. Add Makefile.util.def and
2276 Makefile.core.def from extra modules to the appropriate autogen
2277 invocations. If Makefile.common exists in an extra module, include
2278 it in both Makefile.util.am and grub-core/Makefile.core.am;
2279 similarly, include any Makefile.util.common file in Makefile.util.am
2280 and any Makefile.core.common file in grub-core/Makefile.core.am.
2281 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
2282 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
2283 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
2284 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
2285
2286 * gentpl.py (gvar_add): Turn GVARS into a set.
2287 (global_variable_initializers): Sort global variables on output.
2288 (vars_init): New function.
2289 (first_time): Likewise.
2290 (library): Ensure that non-global variable initialisations are
2291 emitted before the first time we emit code for a library block.
2292 Append to variables rather than setting them. Only emit
2293 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
2294 each conditional path.
2295 (program): installdir() emits an Autogen macro, so must be passed to
2296 var_add rather than gvar_add.
2297 (data): Likewise.
2298 (script): Likewise.
2299 (rules): New function, centralising handling for different target
2300 types. Set up Guile association lists for first_time and vars_init,
2301 and send most output to a diversion so that variable initialisations
2302 can be emitted first.
2303 (module_rules): Use new rules function.
2304 (kernel_rules): Likewise.
2305 (image_rules): Likewise.
2306 (library_rules): Likewise.
2307 (program_rules): Likewise.
2308 (script_rules): Likewise.
2309 (data_rules): Likewise.
2310
2311 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
2312
2313 * .bzrignore: Add contrib and grub-core/contrib. Remove
2314 grub-core/Makefile.gcry.am.
2315
2316 2010-09-24 Yves Blusseau <blusseau@zetam.org>
2317
2318 * grub-core/lib/LzFind.c: Add missing include.
2319 * grub-core/lib/LzmaEnc.c: Likewise.
2320 * grub-core/script/lexer.c: Likewise.
2321 * grub-core/script/yylex.l: Likewise.
2322 * util/grub-macho2img.c: Likewise.
2323 * util/grub-menulst2cfg.c: Likewise.
2324 * util/grub-mklayout.c: Likewise.
2325 * util/grub-mkpasswd-pbkdf2.c
2326 * util/grub-mkrelpath.c: Likewise.
2327 * util/resolve.c: Likewise.
2328
2329 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2330
2331 * Makefile.util.def (example_unit_test): Add
2332 grub-core/gnulib/libgnu.a.
2333
2334 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
2335
2336 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
2337
2338 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 Support xz compression on yeeloong.
2341
2342 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
2343 * configure.ac: Check for LZMA.
2344 * grub-core/Makefile.core.def (xz_decompress): New target.
2345 (none_decompress): Likewise.
2346 * grub-core/boot/decompressor/minilib.c: New file.
2347 * grub-core/boot/decompressor/none.c: Likewise.
2348 * grub-core/boot/decompressor/xz.c: Likewise.
2349 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
2350 * grub-core/kern/mips/cache_flush.S: Likewise.
2351 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
2352 * grub-core/kern/mips/startup.S: Move first stage to ...
2353 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
2354 nomacro.
2355 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
2356 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
2357 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
2358 Allocate statically.
2359 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
2360 Allocate statically or use scratch. Don't check CRC32.
2361 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
2362 Allocate statically. Don't check CRC32.
2363 * include/grub/decompressor.h: New file.
2364 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
2365 Removed.
2366 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
2367 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
2368 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
2369 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
2370 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
2371 * util/grub-mkimage.c (grub_compression_t): New type.
2372 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
2373 (image_target_desc): New field default_compression.
2374 (image_targets): Adjust yeeloong targets.
2375 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
2376 (compress_kernel): New parameter comp.
2377 (generate_image): Likewise. Handle new compression case.
2378 (options): New option --compression
2379 (help): Likewise.
2380 (main): Handle new option.
2381
2382 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
2383
2384 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
2385
2386 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
2387
2388 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2389 typo in __i386__ conditional.
2390
2391 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2394 include.
2395
2396 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 Implement EFI and ACPI multiboot2 extensions.
2399
2400 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2401 new tags as supported.
2402 (acpiv2_size): New function.
2403 (grub_multiboot_get_mbi_size): Take new tags into account.
2404 (grub_multiboot_make_mbi): Add new tags.
2405 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
2406
2407 2010-09-21 Aleš Nesrsta <starous@volny.cz>
2408
2409 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2410 Added missing configuration of USB device.
2411
2412 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2413
2414 * grub-core/normal/menu_entry.c (run): Make sure we always return
2415 a value.
2416
2417 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2418
2419 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
2420 NumberOfPages is UINT64 according to the UEFI specification, not
2421 UINTN. Fix printf format.
2422
2423 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2424
2425 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
2426 `err' to grub_usb_err_t.
2427 Reported and tested by: KESHAV P.R.
2428
2429 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2430
2431 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
2432 tpart non-const, so that we can assign to it. (Since this is a
2433 typedef, the constness refers to the pointer rather than what it
2434 points to.)
2435
2436 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2437
2438 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
2439 $(top_srcdir)/grub-core/gnulib as well as
2440 $(top_builddir)/grub-core/gnulib.
2441 Reported by: KESHAV P.R.
2442
2443 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2444
2445 * util/grub-install.in: Fix the bootloader ID option to be
2446 consistently --bootloader-id, not --bootloader_id.
2447 Reported by: KESHAV P.R.
2448
2449 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2450
2451 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
2452 check hash checksum." consistently translatable.
2453
2454 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2455
2456 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
2457 $(top_builddir).
2458
2459 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2460
2461 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
2462 (GRUB_MOD_INIT): Register sha1sum command.
2463 (GRUB_MOD_FINI): Unregister sha1sum command.
2464
2465 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2466
2467 Keep boot and grub directory names in sync with utils scripts
2468
2469 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
2470 * config.h.in: Add previous macros.
2471 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
2472 * util/grub-install.in: Use $bootdir and $grubdir variables.
2473
2474 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2475
2476 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
2477 convert partition names to disk names if the new `convert' parameter
2478 is set.
2479 (grub_util_biosdisk_get_grub_dev): If opening the disk device
2480 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
2481 disk in its own right. This can happen with Xen disk images.
2482
2483 2010-09-21 Yves Blusseau <blusseau@zetam.org>
2484
2485 * util/grub-editenv.c: Update strings to avoid warnings when generating
2486 grub.pot file.
2487 * util/grub-setup.c: Likewise.
2488
2489 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * configure.ac: Change version to 1.99~beta0.
2492
2493 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2496 Add BADRAM.
2497 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
2498 Likewise.
2499 * include/multiboot.h: Resynced with specification.
2500 * include/multiboot2.h: Likewise.
2501
2502 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
2503
2504 Fix po directory handling.
2505
2506 * configure.ac: Create po/Makefile.in rather than po/Makefile.
2507 * grub-core/gnulib/Makefile.am: Import gettext module.
2508 * m4/gnulib-cache.m4: Likewise.
2509 * m4/gnulib-comp.m4: Likewise.
2510 * m4/gettext.m4: New file, from gnulib.
2511 * m4/glibc2.m4: Likewise.
2512 * m4/iconv.m4: Likewise.
2513 * m4/intdiv0.m4: Likewise.
2514 * m4/intl.m4: Likewise.
2515 * m4/intldir.m4: Likewise.
2516 * m4/intlmacosx.m4: Likewise.
2517 * m4/intmax.m4: Likewise.
2518 * m4/inttypes-pri.m4: Likewise.
2519 * m4/lcmessage.m4: Likewise.
2520 * m4/lib-ld.m4: Likewise.
2521 * m4/lib-link.m4: Likewise.
2522 * m4/lib-prefix.m4: Likewise.
2523 * m4/lock.m4: Likewise.
2524 * m4/nls.m4: Likewise.
2525 * m4/po.m4: Likewise.
2526 * m4/printf-posix.m4: Likewise.
2527 * m4/progtest.m4: Likewise.
2528 * m4/threadlib.m4: Likewise.
2529 * m4/uintmax_t.m4: Likewise.
2530 * m4/visibility.m4: Likewise.
2531 * po/Makefile.am: Remove.
2532 * po/Makefile.in.in: New file, from gettext.
2533 ($(DOMAIN).pot-update): Support POTFILES-shell.
2534 * po/Makevars: New file.
2535 * po/POTFILES-shell: Rename to ...
2536 * po/POTFILES-shell.in: ... this. Update.
2537 * po/POTFILES: Rename to ...
2538 * po/POTFILES.in: ... this. Update.
2539 * po/Rules-quot: New file, from gettext.
2540 * po/boldquot.sed: Likewise.
2541 * po/en@boldquot.header: Likewise.
2542 * po/en@quot.header: Likewise.
2543 * po/insert-header.sin: Likewise.
2544 * po/quot.sed: Likewise.
2545 * po/remove-potcdate.sin: Likewise.
2546
2547 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
2550
2551 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * util/grub.d/20_linux_xen.in: Use submenus.
2554
2555 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 Support submenus.
2558
2559 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
2560 parameter submenu. All users updated.
2561 * grub-core/normal/main.c (free_menu): Rename to ...
2562 (grub_normal_free_menu): ... this. Made global.
2563 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
2564 if requested.
2565 * grub-core/normal/menu_entry.c (screen): New field submenu.
2566 (make_screen): Set submenu.
2567 (run): Open new context if requested.
2568 * include/grub/menu.h (grub_menu_entry): New field submenu.
2569 * include/grub/normal.h (grub_normal_free_menu): New proto.
2570
2571 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 Menu entries extractor.
2574
2575 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
2576 variants.
2577 (GRUB_MOD_INIT): Register new variants.
2578 (GRUB_MOD_FINI): Unregister new variants.
2579 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
2580 into grub_cmd_legacy_source.
2581 (grub_cmd_legacy_source): Implement extractor variants.
2582 (GRUB_MOD_INIT): Register new variants.
2583 (GRUB_MOD_FINI): Unregister new variants.
2584 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
2585 as an extractor.
2586 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
2587 search as an extractor.
2588 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
2589 test as an extractor.
2590 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
2591 as an extractor.
2592 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
2593 (grub_env_new_context): New function.
2594 (grub_env_context_open): Likewise.
2595 (grub_env_extractor_open): Likewise.
2596 (grub_env_extractor_close): Likewise.
2597 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2598 grub_extractor_level.
2599 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
2600 * include/grub/env.h (grub_env_extractor_open): New proto.
2601 (grub_env_extractor_close): Likewise.
2602 * include/grub/normal.h (grub_extractor_level): New external variable.
2603
2604 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 Make cutmem accept a region specification.
2607 Suggested by: Samuel Thibault
2608
2609 * grub-core/mmap/mmap.c (parsemem): New function.
2610 (grub_cmd_cutmem): Handle new arguments.
2611
2612 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 New command cutmem.
2615
2616 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
2617 (GRUB_MOD_INIT): Register new command.
2618 (GRUB_MOD_FINI): Unregister new command.
2619
2620 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 Support some annoying BSD and Minix subpartitions.
2623
2624 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
2625 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2626 Properly handle concatenation.
2627 * grub-core/kern/device.c (grub_device_iterate): Likewise.
2628 * grub-core/normal/completion.c (iterate_partition): Likewise.
2629 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
2630 contain partition. All users updated.
2631 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
2632 struct.
2633 (grub_openbsdlabel_partition_map): Likewise.
2634 (bsdlabel_partition_map_iterate): Rename to ..
2635 (iterate_real): ... this. New arguments sector, freebsd and pmap.
2636 (bsdlabel_partition_map_iterate): New function.
2637 (netopenbsdlabel_partition_map_iterate): Likewise.
2638 (netbsdlabel_partition_map_iterate): Likewise.
2639 (openbsdlabel_partition_map_iterate): Likewise.
2640 (GRUB_MOD_INIT): Register new partmaps.
2641 (GRUB_MOD_FINI): Unregister new partmaps.
2642 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
2643 (grub_partition_msdos_iterate): ... this. All users updated.
2644 Don't support embedding other than in a minix partition.
2645 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
2646 proto.
2647 * include/grub/partition.h (grub_partition): New field msdostype.
2648 * util/grub-install.in: Handle openbsd and netbsd types being in
2649 part_bsd module.
2650
2651 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
2654
2655 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
2656 * grub-core/Makefile.core.def (mdraid): Renamed to ...
2657 (mdraid09): ... this.
2658 (mdraid1x): New module.
2659 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
2660 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
2661
2662 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
2665 vsprintf.
2666
2667 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2668
2669 * grub-core/commands/efi/lsefimmap.c: Correct header.
2670 * NEWS: Update.
2671
2672 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2673
2674 * util/grub-editenv.c (argp_parser): Don't pass translated strings
2675 as printf format strings; the translations might contain '%' which
2676 could cause a crash.
2677 (main): Likewise.
2678 * util/grub-fstest.c (argp_parser): Likewise.
2679 * util/grub-setup.c (argp_parser): Likewise.
2680 (main): Likewise.
2681
2682 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 Use argp in grub-fstest.
2685
2686 * util/grub-fstest.c: Don't include getopt.h.
2687 Include argp.h.
2688 (root): New variable.
2689 (args_count): Likewise.
2690 (nparm): Likewise.
2691 (num_disks): Likewise.
2692 (images): Likewise.
2693 (cmd): Likewise.
2694 (debug_str): Likewise.
2695 (args): Likewise.
2696 (options): Transformed to argp.
2697 (usage): Removed.
2698 (main): Split argument parsing into ...
2699 (argp_parser): ... this. Changed to argp format.
2700 (argp): New variable.
2701 (main): Use argp_parse.
2702
2703 2010-09-20 Tristan Gingold <gingold@free.fr>
2704 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
2705 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/commands/efi/lsefimmap.c: New file.
2708 * grub-core/Makefile.core.def (lsefimmap): New module.
2709 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
2710
2711 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 Pause the execution (10s max) if any errors are displayed so the user
2714 has a chance to see them.
2715
2716 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
2717 (grub_print_error): Increment grub_err_printed_errors.
2718 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
2719 execution if any errors were displayed.
2720 (show_menu): Remove old code for pause.
2721 * grub-core/normal/menu_entry.c (run): Likewise.
2722 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
2723 users updated.
2724 (grub_normal_get_char_counter): Likewise.
2725 * include/grub/err.h (grub_err_printed_errors): New external variable.
2726 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
2727
2728 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 Support multiboot VBE info.
2731
2732 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2733 Take VBE info into account.
2734 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
2735 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2736 Call fill_vbe_info when appropriate.
2737 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
2738 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
2739 as supported.
2740 (grub_multiboot_get_mbi_size): Take new tags into account.
2741 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
2742 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2743 Call fill_vbe_tag when appropriate.
2744 (grub_multiboot_make_mbi): Properly align tags.
2745 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
2746 function.
2747 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
2748 proto.
2749 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
2750
2751 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 Suport manual terminal geometry specification.
2754
2755 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
2756 Save state in grub_ofconsole_terminfo_output.
2757 (grub_ofconsole_term): Use grub_terminfo_getwh.
2758 (grub_ofconsole_getwh): Removed.
2759 * grub-core/term/serial.c (grub_serial_getwh): Removed.
2760 (grub_serial_term): Use grub_terminfo_getwh.
2761 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
2762 (options): New struct.
2763 (OPTION_*): New enum.
2764 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
2765 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
2766 width and height.
2767 (grub_terminfo_getwh): New proto.
2768 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
2769
2770 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 Handle legacy "terminal" command.
2773
2774 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
2775 and FLAG_TERMINAL.
2776 (legacy_commands): Add terminal and title.
2777 (grub_legacy_parse): Handle terminal. Simplify title handling.
2778
2779 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
2782 parameters overflow.
2783
2784 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2785
2786 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
2787 widthspec.h.
2788
2789 * docs/grub.texi (Shell-like scripting): Document `!'.
2790 (Network): Simplify using new i386-pc-pxe format. Mention
2791 grub-mknetdir.
2792
2793 * NEWS: Update.
2794
2795 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2796
2797 * Makefile.am (SUBDIRS): Restore "."; it's important to force
2798 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
2799 when needed.
2800
2801 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2802
2803 * grub-core/commands/efi/lsefisystab.c: Correct header.
2804 * grub-core/commands/efi/lssal.c: Likewise.
2805 * grub-core/commands/testload.c: Likewise.
2806
2807 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2808
2809 * util/grub-mkrescue.in: Add explicit root argument to --set to
2810 prevent the UUID being interpreted as an argument to --set (matches
2811 previous change to prepare_grub_to_access_device).
2812
2813 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
2814
2815 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
2816 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
2817 the verbosity of later #ifs.
2818 (find_partition_start): Define this function on FreeBSD too.
2819 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
2820 function.
2821 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
2822 on FreeBSD.
2823
2824 2010-09-20 Yves Blusseau <blusseau@zetam.org>
2825
2826 * util/grub-editenv.c: Use argp instead of getopt.
2827
2828 2010-09-20 Yves Blusseau <blusseau@zetam.org>
2829
2830 * util/grub-setup.c: Use argp instead of getopt.
2831
2832 2010-09-20 Yves Blusseau <blusseau@zetam.org>
2833
2834 Use gnulib-tool to create gnulib source files.
2835
2836 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
2837 grub-core/gnulib directories
2838 * .bzignore: Add **/.deps and autogenerated gnulib files
2839 * configure.ac: Assign auxiliary directory to build-aux, add invocation
2840 of gnulib macros, add grub-core/gnulib/Makefile
2841 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
2842 include m4 directory to aclocal.
2843 * Makefile.util.def: Remove direct compilation of gnulib source files
2844 and use the new grub-core/gnulib/libgnu.a.
2845 * build-aux/config.rpath: move config.rpath from top directory to
2846 build-aux
2847 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
2848 in gnulib headers
2849 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
2850 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
2851 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
2852 header.
2853 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
2854 string.
2855
2856 2010-09-20 Yves Blusseau <blusseau@zetam.org>
2857
2858 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
2859 grub-core/genmod.sh and grub-core/gensyminfo.sh
2860
2861 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
2862
2863 Add a test for echo command options.
2864
2865 * tests/grub_cmd_echo.in: New test.
2866 * Makefile.util.def: Rules for new test.
2867
2868 2010-09-20 Szymon Janc <szymon@janc.net.pl>
2869
2870 Remove crc.mod and move crc command to hashsum.mod.
2871 Remove lib/crc.c - users updated to use gcrypt implementation.
2872
2873 * grub-core/commands/crc.c: Removed.
2874 * grub-core/Makefile.core.def (crc): Module removed.
2875 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
2876 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
2877 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
2878 * grub-core/lib/crc.c: Removed.
2879 * include/grub/lib/crc.h: Removed.
2880 * Makefile.util.def (crc): Remove lib/crc.c
2881 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
2882 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
2883 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
2884 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
2885 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
2886 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
2887
2888 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
2891
2892 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 Split config.h for util and core.
2895
2896 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
2897 (ADDR32): Likewise.
2898 (DATA32): Likewise.
2899 (BSS_START_SYMBOL): Likewise.
2900 (END_SYMBOL): Likewise.
2901 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
2902 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
2903 * config.h.in: New file.
2904 * configure.ac: Use config-util.h as config define file.
2905 Rename MACHINE into GRUB_MACHINE. All users updated.
2906 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
2907 updated.
2908 (NESTED_FUNC_ATTR): Likewise.
2909 Substitue new variables.
2910 (COND_HAVE_ASM_USCORE): New conditional.
2911 * grub-core/Makefile.am (ASM_PREFIX): New variable.
2912 (kernel_syms.lst): Use ASM_PREFIX.
2913 * grub-core/kern/emu/console.c: Include config-util.h.
2914 * grub-core/kern/emu/misc.c: Likewise.
2915 * grub-core/kern/emu/mm.c: Likewise.
2916 * include/grub/emu/misc.h: Likewise.
2917 * include/grub/libgcc.h: Likewise.
2918
2919 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
2922 constants usage.
2923 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
2924 Fix GRUB_TERM_KEY_* constants usage.
2925 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
2926
2927 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
2930 print pointer.
2931 * grub-core/bus/usb/uhci.c: Remove empty define.
2932 (grub_uhci_check_transfer): Add missing cast.
2933 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
2934 print pointer.
2935 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
2936 PRIuGRUB_SIZE.
2937 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
2938
2939 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * grub-core/Makefile.core.def (legacycfg): Add
2942 lib/i386/pc/vesa_modes_table.c on emu.
2943
2944 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2945
2946 Reduce number of temporary files generated by build system.
2947
2948 * grub-core/gencmdlist.sh: Removed.
2949 * grub-core/genfslist.sh: Removed.
2950 * grub-core/genhandlerlist.sh: Removed.
2951 * grub-core/genmodsrc.sh: Removed.
2952 * grub-core/genpartmaplist.sh: Removed.
2953 * grub-core/genparttoollist.sh: Removed.
2954 * grub-core/gentermiinallist.sh: Removed.
2955 * grub-core/genvideolist.sh: Removed.
2956
2957 * grub-core/genmod.sh.in: New file.
2958 * grub-core/gensyminfo.sh.in: New file.
2959
2960 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
2961 * conf/Makefile.extra-dist: Update with new files.
2962 * gentpl.py: Remove rules related to unnecessary temporary files.
2963 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
2964 and und-* files.
2965 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
2966 genmod.sh scripts.
2967 * grub-core/bus/usb/uhci.c: Remove empty #define.
2968 * grub-core/genmoddep.awk: Updated with new syminfo format.
2969 * util/bash-completion.d/Makefile.am: Add config.log to
2970 CLEANFILES.
2971
2972 2010-09-19 Yves Blusseau <blusseau@zetam.org>
2973
2974 * Makefile.util.def: Add forgotten $(LIBINTL) library.
2975
2976 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2977
2978 * util/grub-mkconfig.in: Check the config script for syntax errors
2979 before saving.
2980
2981 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
2982 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * Makefile.util.def (grub-install): Use util/grub-install.in on all
2985 platforms.
2986 * util/grub-install.in: Add EFI and IEEE1275 support.
2987 * util/i386/efi/grub-install.in: Removed.
2988 * util/ieee1275/grub-install.in: Likewise.
2989
2990 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
2993 (grub_cmd_cmosclean): Likewise.
2994 (GRUB_MOD_INIT): Register command cmosclean.
2995 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
2996 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
2997
2998 2010-09-18 Carles Pina i Estany <carles@pina.cat>
2999 2010-09-18 Aleš Nesrsta <starous@volny.cz>
3000 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 Add keyboard layouts support.
3003
3004 * Makefile.util.def (grub-mklayout): New file.
3005 (grub-kbdcomp): New script.
3006 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
3007 Add keyboard_layouts.h.
3008 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
3009 commands/boot.c on yeeloong.
3010 (keylayouts): New module.
3011 * grub-core/bus/usb/ohci.c
3012 * grub-core/bus/usb/uhci.c
3013 * grub-core/bus/usb/usbhub.c (rescan): New variable.
3014 (grub_usb_add_hub): Poll interrupt pipe for device handling.
3015 (attach_root_port): Likewise.
3016 (poll_nonroot_hub): Likewise.
3017 (grub_usb_poll_devices): Likewise.
3018 (detach_device): Close transfer.
3019 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
3020 function.
3021 (grub_usb_bulk_setup_readwrite): Likewise.
3022 (grub_usb_bulk_finish_readwrite): Likewise.
3023 * grub-core/commands/keylayouts.c: New file.
3024 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
3025 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
3026 aliases.
3027 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
3028 support scancode 2.
3029 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
3030 * include/grub/keyboard_layouts.h: New file.
3031 * util/grub-mklayout.c: New file.
3032 * util/grub-kbdcomp.in: Likewise.
3033
3034 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 Unify memory types.
3037
3038 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
3039 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
3040 types.
3041 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
3042 (grub_upper_mem): Likewise.
3043 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
3044 * include/grub/memory.h (grub_memory_type_t): New enum.
3045 All users updated.
3046
3047 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/Makefile.core.def (lsapm): New module.
3050 * grub-core/commands/i386/pc/lsapm.c: New file.
3051 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
3052 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
3053 Likewise.
3054 * include/grub/i386/pc/apm.h: New file.
3055 * include/multiboot.h (multiboot_apm_info): New struct.
3056
3057 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 GRUB-legacy configuration file support.
3060
3061 * Makefile.util.def (grub-menulst2cfg): New util.
3062 * docs/man/grub-menulst2cfg.h2m: New file.
3063 * grub-core/Makefile.core.def (legacycfg): New module.
3064 * grub-core/commands/legacycfg.c: New file.
3065 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
3066 (grub_normal_add_menu_entry): ... this.
3067 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
3068 (grub_normal_set_password): ...this.
3069 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
3070 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
3071 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
3072 * grub-core/lib/legacy_parse.c: New file.
3073 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
3074 * include/grub/i386/pc/vesa_modes_table.h: New file.
3075 * include/grub/legacy_parse.h: Likewise.
3076 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
3077 * util/grub-menulst2cfg.c: New file.
3078
3079 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3080
3081 * grub-core/kern/emu/hostdisk.c
3082 (convert_system_partition_to_system_disk): Initialise node.
3083
3084 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3085
3086 * grub-core/kern/emu/hostdisk.c
3087 (convert_system_partition_to_system_disk): Fix devmapper memory pool
3088 leak.
3089 Reported and based on patch by: Modestas Vainius.
3090
3091 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
3092
3093 Fix DM-RAID probing with recent versions of device-mapper udev
3094 rules.
3095
3096 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
3097 canonicalise device paths under /dev/mapper/.
3098 (convert_system_partition_to_system_disk): Compare the
3099 uncanonicalised path to /dev/mapper/ rather than the canonicalised
3100 path, since device nodes under /dev/mapper/ are often symlinks.
3101
3102 2010-09-17 Yves Blusseau <blusseau@zetam.org>
3103
3104 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
3105
3106 2010-09-16 Yves Blusseau <blusseau@zetam.org>
3107
3108 * configure.ac: Avoid some annoying error messages if freetype-config
3109 program is not found.
3110
3111 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3112
3113 Support RAID on virtio devices, and others.
3114
3115 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
3116 Rename to ...
3117 [__MINGW32__] (grub_find_device): ... this.
3118 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
3119 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
3120 reasonable default if dir is NULL.
3121 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
3122 ...
3123 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
3124 (grub_guess_root_device): Update callers.
3125 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
3126
3127 * util/raid.c (grub_util_getdiskname): Remove.
3128 (grub_util_raid_getmembers): Use grub_find_device rather than
3129 grub_util_getdiskname.
3130
3131 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3132
3133 * docs/grub.texi (serial): Remove obsolete comment about GRUB
3134 needing to be compiled with serial support.
3135 (ls): Indicate that multiple files are accepted.
3136 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
3137 indicate that multiple files are accepted.
3138
3139 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
3140
3141 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
3142 libgrub_a_init.c, and util/bash-completion.d/grub.
3143
3144 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * util/grub-setup.c (setup): Fix incorrect container semantics.
3147
3148 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
3151 misusage.
3152 Reported by: J. Nick Terry
3153
3154 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 Move embedding routines to partmap sources files.
3157
3158 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3159 [GRUB_UTIL]: New variable.
3160 (gpt_partition_map_iterate): Set part.parent.
3161 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3162 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3163 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3164 New function.
3165 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3166 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3167 (grub_partition_map) [GRUB_UTIL]: New field embed.
3168 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3169 (setup): Use ->embed.
3170
3171 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3174 function.
3175 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3176 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3177
3178 2010-09-15 Yves Blusseau <blusseau@zetam.org>
3179
3180 Add function to get completions from usage.
3181
3182 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3183 completions from usage. Use LC_ALL=C to get options properly.
3184
3185 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/gnulib/basename-lgpl.c: Imported.
3188 * grub-core/gnulib/basename.c: Likewise.
3189 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3190 * grub-core/gnulib/dirname.c: Likewise.
3191 * grub-core/gnulib/dirname.h: Likewise.
3192 * grub-core/gnulib/stripslash.c: Likewise.
3193
3194 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * grub-core/gnulib/error.c: Resynced.
3197 * grub-core/gnulib/getopt.c: Likewise.
3198 * grub-core/gnulib/getopt_int.h: Likewise.
3199 * grub-core/gnulib/regex.h: Likewise.
3200 * grub-core/gnulib/regex_internal.c: Likewise.
3201 * grub-core/gnulib/regex_internal.h: Likewise.
3202
3203 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3204
3205 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3206 CRC calculations and validity checks.
3207 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3208 calculations.
3209
3210 2010-09-15 Szymon Janc <szymon@janc.net.pl>
3211
3212 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3213
3214 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 Fix incorrect echo options handling.
3217 Reported by: Yves Blusseau.
3218
3219 * include/grub/command.h (grub_command_flags_t): New flags
3220 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3221 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3222 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3223
3224 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3227 users updated.
3228 (GRUB_COMMAND_FLAG_MENU): Likewise.
3229 (GRUB_COMMAND_FLAG_BOTH): Likewise.
3230 (GRUB_COMMAND_FLAG_TITLE): Removed.
3231 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
3232 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
3233 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
3234 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
3235 (grub_command_flags_t): New enum. All users updated.
3236
3237 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
3238
3239 Fix solaris compilation.
3240
3241 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
3242 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
3243 (grub-emu-list): Likewise.
3244
3245 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 Remove deprecated root command.
3248
3249 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
3250 updated.
3251
3252 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * util/i386/pc/grub-setup.c: Merge this ...
3255 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
3256 * util/grub-setup.c: ... into this.
3257 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
3258 New struct.
3259
3260 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
3263 possible.
3264
3265 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
3268 allocate p.
3269
3270 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3273 explicit root argument to set to prevent UUID to be interpreted as
3274 argument to set.
3275
3276 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
3279
3280 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 Don't export grub_gate_a20.
3283
3284 * grub-core/kern/i386/pc/init.c: Remove leftovers.
3285 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
3286 to ...
3287 (grub_gate_a20): ... this. All users updated.
3288 * include/grub/i386/pc/init.h: Removed. All users updated.
3289
3290 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 Create euro.pf2 which supports most European languages.
3293
3294 * Makefile.am (grubdata_DATA): Add euro.pf2.
3295 (euro.pf2): New target.
3296 (CLEANFILES): Add euro.pf2.
3297
3298 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * configure.ac: Disable emu-usb by default to prevent inadvertent
3301 device takeover.
3302
3303 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 Disable usbserial on grub-emu since our libusb code isn't good enough
3306 yet.
3307
3308 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
3309 (usbserial_pl2303): Likewise.
3310 (usbserial_ftdi): Likewise.
3311
3312 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * include/grub/disk.h (grub_disk): Remove has_partitions.
3315 All users updated.
3316 * disk/loopback.c (grub_loopback): Remove has_partitions.
3317 All users updated.
3318 (options): Remove partitions. All users updated.
3319 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
3320 * util/i386/pc/grub-setup.c (setup): copy partition table only when
3321 actual partition table is found.
3322
3323 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 Remove readability checks (too many false negatives).
3326
3327 * util/grub-install.in: Remove readability checks.
3328 * util/grub-mkconfig.in: Likewise.
3329 * util/grub.d/10_hurd.in: Likewise.
3330 * util/grub.d/10_kfreebsd.in: Likewise.
3331 * util/grub.d/10_linux.in: Likewise.
3332 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
3333 way.
3334
3335 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 Enable acpi shutdown on all ACPI platforms.
3338
3339 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
3340 on coreboo, multiboot and EFI.
3341 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
3342 (grub_acpi_halt): Likewise.
3343 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
3344 (grub_cmd_halt): Don't call grub_acpi_halt directly.
3345 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
3346 * grub-core/lib/i386/halt.c (grub_halt)
3347 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
3348
3349 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
3352 context.
3353
3354 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * grub-core/video/efi_gop.c: Fix over-80-chars line.
3357 * grub-core/video/efi_uga.c: Likewise.
3358
3359 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 Filter devaliases and never open same device twice.
3362
3363 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
3364 (last_ihandle): Likewise.
3365 (ofdisk_hash_ent): New member shortest.
3366 (ofdisk_hash_add): Add canonical path too.
3367 (scan): New function.
3368 (grub_ofdisk_iterate): Iterate over hashed entries.
3369 (compute_dev_path): Don't add :0.
3370 (grub_ofdisk_open): Don't really open the disk.
3371 (grub_ofdisk_close): Avoid closing unrelated disk.
3372 (grub_ofdisk_read): Implement reopen logic.
3373 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
3374 New function.
3375 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
3376 New proto.
3377
3378 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 Fix sparc64.
3381
3382 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
3383 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
3384 right address. Add sparc64_ieee1275_ldflags.
3385 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
3386 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
3387 to grub_host_to_target_addr
3388 (load_image): Likewise.
3389
3390 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/normal/completion.c (complete_file): Handle device
3393 containing slash.
3394 Fix based on patch by Doug Nazar.
3395
3396 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 grub-mknetdir script.
3399
3400 * Makefile.util.def (grub-mknetdir): New module.
3401 * tests/util/grub-shell.in: Support boot=net
3402 * util/grub-mknetdir.in: New file.
3403
3404 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 videoinfo on non-vbe.
3407
3408 * grub-core/Makefile.core.def (vbeinfo): Removed.
3409 (vbetest): Removed.
3410 (videoinfo): New module.
3411 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
3412 * grub-core/commands/i386/pc/vbetest.c: Removed.
3413 * grub-core/commands/videoinfo.c: New file.
3414 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
3415 specification.
3416 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
3417 as vbetest.
3418 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
3419 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
3420 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
3421 mode_number. New parameter mode. All users updated.
3422 (grub_video_gop_iterate): New function.
3423 (grub_video_efi_gop): New member iterate.
3424 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
3425 (grub_vbe_set_video_mode): Remove setting useless fields.
3426 (vbe2videoinfo): New function.
3427 (grub_video_vbe_iterate): Likewise.
3428 (grub_video_vbe_setup): Use vbe2videoinfo.
3429 (grub_video_vbe_print_adapter_specific_info): New function.
3430 (grub_video_vbe_adapter): New fields iterate and
3431 print_adapter_specific_info.
3432 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
3433 All users updated.
3434 (grub_video_mode_info): New field mode_number.
3435 (grub_video_adapter): New fields iterate and
3436 print_adapter_specific_info.
3437
3438 2010-09-13 Tristan Gingold <gingold@free.fr>
3439 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
3440 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * grub-core/commands/efi/lsefisystab.c: New file.
3443 * grub-core/commands/efi/lssal.c: Likewise.
3444 * grub-core/Makefile.core.def (lsacpi): New module.
3445 (lsefisystab): Likewise.
3446 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
3447 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
3448 (grub_efi_sal_system_table): New struct.
3449 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
3450 (grub_efi_sal_system_table_memory_descriptor): Likewise.
3451 (grub_efi_sal_system_table_platform_features): Likewise.
3452 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
3453 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
3454 (grub_efi_sal_system_table_ap_wakeup): Likewise.
3455 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
3456
3457 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 Support explicit user claim that a device is BIOS-visible.
3460
3461 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
3462 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
3463 * grub-core/kern/emu/hostdisk.c
3464 (convert_system_partition_to_system_disk): Support mdX.
3465 (find_system_device): New parameter add. All users updated.
3466 (grub_util_biosdisk_is_present): New function.
3467 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
3468 proto.
3469
3470 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 Search hints support.
3473
3474 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
3475 All users updated.
3476
3477 2010-09-13 Yves Blusseau <blusseau@zetam.org>
3478
3479 Bash completion script for util commands
3480
3481 * Makefile.am: Add util/bash-completion.d directory
3482 * configure.ac: Likewise.
3483 * util/bash-completion.d/Makefile.am: New file.
3484 * util/bash-completion.d/grub-completion.bash.in: Likewise.
3485
3486 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
3489 (print_backlog): set backlog_ucs4 and backlog_glyphs.
3490 Reported by: Yves Blusseau.
3491
3492 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
3495 partition size and offset.
3496
3497 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
3500
3501 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
3504
3505 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
3508 (grub_xvasprintf): Likewise.
3509
3510 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
3513
3514 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
3517 args ending with NULL.
3518
3519 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
3522 pointer.
3523
3524 2010-09-11 Szymon Janc <szymon@janc.net.pl>
3525
3526 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
3527
3528 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 Shutdown using ACPI.
3531
3532 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
3533 * grub-core/commands/acpihalt.c: New file.
3534 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
3535 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
3536 (grub_acpi_halt): New proto.
3537 (GRUB_ACPI_SLP_EN): New const.
3538 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
3539 (GRUB_ACPI_OPCODE_*): New enum.
3540 (GRUB_ACPI_EXTOPCODE_*): Likewise.
3541
3542 2010-09-11 Tristan Gingold <gingold@free.fr>
3543 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
3544 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * commands/lsacpi.c: New file.
3547 * grub-core/Makefile.core.def (lsacpi): New module.
3548 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
3549 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
3550 (grub_acpi_madt_entry_header): New struct.
3551 (grub_acpi_madt): Likewise.
3552 (grub_acpi_madt_entry_interrupt_override): Likewise.
3553 (grub_acpi_madt_entry_sapic): Likewise.
3554 (grub_acpi_madt_entry_lsapic): Likewise.
3555 (grub_acpi_madt_entry_platform_int_source): Likewise.
3556 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
3557 (PRIuGRUB_UINT32_T): Likewise.
3558 (PRIxGRUB_UINT64_T): Likewise.
3559
3560 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 Implement loading palette on ieee1275_fb.
3563
3564 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
3565 (have_setcolors): Likewise.
3566 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
3567 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
3568 (grub_video_ieee1275_set_palette): Implement.
3569
3570 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3571 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
3572
3573 * util/grub-install.in (grub_partition): New variable.
3574 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
3575 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
3576 Fixes a bug reported by Yves Blusseau.
3577
3578 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 Fix emu on mipsel.
3581
3582 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
3583 =grub_cpu_flush_cache on all mips and not only yeeloong.
3584 * configure.ac (COND_mips): New conditional.
3585 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
3586 platforms.
3587 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
3588 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
3589 [GRUB_LINKER_HAVE_INIT]: New function.
3590 (grub_emu_post_init): Likewise.
3591 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
3592 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
3593 * include/grub/cache.h (_mips): Include mips/cache.h.
3594 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
3595 LVM and RAID prototypes.
3596 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
3597 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
3598 function.
3599
3600 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3601
3602 * util/grub-install.in: Don't try to verify core.img until after
3603 running grub-mkimage to create it.
3604
3605 2010-09-10 Robert Millan <rmh@gnu.org>
3606
3607 * util/grub.d/10_hurd.in: Add misc readability checks.
3608 * util/grub.d/10_kfreebsd.in: Likewise.
3609 * util/grub.d/10_linux.in: Likewise.
3610
3611 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3612
3613 * util/grub-install.in: ${imgext} won't be defined here until the
3614 install branch is merged. For the meantime, only verify core.img on
3615 i386-pc and sparc64-ieee1275 platforms.
3616
3617 2010-09-10 Robert Millan <rmh@gnu.org>
3618
3619 Solaris support in grub_find_zpool_from_dir(). Thanks
3620 Seth Goldberg for referring to getextmntent() facility.
3621
3622 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
3623 `sys/mkdev.h'.
3624 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
3625 `<sys/mnttab.h>'.
3626 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
3627 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
3628 method for finding zpool name.
3629
3630 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
3631
3632 grub-fstest needs the host and hostfs modules while other utilities
3633 actively require those modules to be absent, so grub-fstest needs
3634 its own initialisation and finalisation code.
3635
3636 * Makefile.am (grub_fstest.pp): New target.
3637 (grub_fstest_init.lst): Likewise.
3638 (grub_fstest_init.c): Likewise.
3639 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
3640
3641 2010-09-10 Robert Millan <rmh@gnu.org>
3642
3643 * configure.ac: Check for `struct statfs.f_fstypename' and
3644 `struct statfs.f_mntfromname'.
3645
3646 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
3647 kFreeBSD-specific code.
3648
3649 2010-09-10 Robert Millan <rmh@gnu.org>
3650
3651 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
3652 on ZFS. Now non-main filesystems are supported as / too.
3653
3654 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
3655
3656 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
3657 and grub-core/disk/host.c to ...
3658 (grub-fstest): ... here. Having the host disk implementation
3659 present confuses grub-probe and other utility programs.
3660
3661 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
3662 when writing to a file, not when writing to stdout.
3663
3664 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
3665
3666 * tests/partmap_test.in: New test for partitions.
3667 * Makefile.util.def: Rules for new test.
3668
3669 2010-09-09 Robert Millan <rmh@gnu.org>
3670
3671 * util/grub-probe.c (probe): Fix a pair of unhandled error
3672 conditions.
3673
3674 2010-09-09 Robert Millan <rmh@gnu.org>
3675
3676 Basic Btrfs support (detection and UUID).
3677
3678 * grub-core/fs/btrfs.c: New file.
3679 * Makefile.util.def (library): Register btrfs.c.
3680 * grub-core/Makefile.core.def: Likewise.
3681
3682 2010-09-08 Robert Millan <rmh@gnu.org>
3683
3684 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
3685 with (optional) parameters to specify device and relative path.
3686 * util/grub-install.in: Use is_path_readable_by_grub() to
3687 verify readability of a few critical files.
3688 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
3689 verify readability of grub.cfg.new.
3690
3691 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 Split minix.mod into minix.mod and minix2.mod.
3694
3695 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
3696 * grub-core/Makefile.core.def (minix2): New module.
3697 * grub-core/fs/minix.c: Use definitions instead of runtime version
3698 checking.
3699 * grub-core/fs/minix2.c: New file.
3700
3701 2010-09-08 Yves Blusseau <blusseau@zetam.org>
3702
3703 Add new --boot-directory option to replace --root-directory
3704
3705 * util/grub-install.in: Add new --boot-directory option
3706 * util/grub-reboot.in: Likewise.
3707 * util/grub-set-default.in: Likewise.
3708
3709 2010-09-08 Yves Blusseau <blusseau@zetam.org>
3710
3711 * util/grub-mkconfig.in: Use new variable.
3712
3713 2010-09-08 Yves Blusseau <blusseau@zetam.org>
3714
3715 * configure.ac: Define some useful variables.
3716
3717 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3720 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
3721 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
3722 Use terminfo and don't use cursor-on/cursor-off unless it's known
3723 to work.
3724 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
3725 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
3726
3727 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
3728
3729 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
3730 starts with "(,", fill the drive containing the loaded image in
3731 between those two characters, but expect that a full partition
3732 specification including partition map names will follow.
3733
3734 2010-09-08 Robert Millan <rmh@gnu.org>
3735
3736 * configure.ac: Remove `--enable-grub-fstest' option.
3737 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
3738
3739 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
3740 `grub-fstest' instead of `grub-probe' for readability verification.
3741 * util/grub-probe.c (probe): Remove readability verification kludge.
3742
3743 2010-09-08 Robert Millan <rmh@gnu.org>
3744
3745 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
3746 initializing `GRUB_FS'.
3747
3748 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
3749
3750 Not command (!) support to GRUB script.
3751
3752 * tests/grub_script_not.in: New test.
3753 * Makefile.util.def: Rules for new test.
3754
3755 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3756 ! command as a special case.
3757 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
3758
3759 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3760
3761 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
3762 grub_free.
3763
3764 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3765
3766 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
3767
3768 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3769
3770 * docs/grub.texi (Shell-like scripting): Documentation for break,
3771 continue, shift and return commands.
3772
3773 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 Rename CD-ROM to cd on BIOS.
3776
3777 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
3778 "cd".
3779 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
3780
3781 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
3784 * util/grub-probe.c (main): Likewise.
3785 * util/i386/pc/grub-setup.c (main): Likewise.
3786 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
3787 Reported and debugged by: alexxy
3788
3789 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
3792 diagnostic info.
3793
3794 2010-09-05 Jo Shields <directhex@apebox.org>
3795
3796 * util/grub.d/30_os-prober.in: Add missing classes.
3797
3798 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * docs/grub.texi (Theme file format): Document new position format.
3801
3802 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
3805 a table. Use @code instead of @verbatim.
3806
3807 2010-09-05 Colin D Bennett <colin@gibibit.com>
3808
3809 Gfxmenu documentation.
3810
3811 * docs/grub.texi (Theme file format): New chapter.
3812
3813 2010-09-05 Szymon Janc <szymon@janc.net.pl>
3814
3815 * grub-core/Makefile.core.def (xzio): New module.
3816 * grub-core/io/xzio.c: New file.
3817 * grub-core/lib/xzembed/xz.h: New file (from xembed).
3818 * grub-core/lib/xzembed/xz_config.h: Likewise.
3819 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
3820 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
3821 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
3822 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
3823 * grub-core/lib/xzembed/xz_private.h: Likewise.
3824 * grub-core/lib/xzembed/xz_stream.h: Likewise.
3825 * include/grub/file.h (grub_file_filter_id): New compression filter
3826 GRUB_FILE_FILTER_XZIO.
3827
3828 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
3831 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
3832 size.
3833
3834 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
3837 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
3838
3839 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 Uncompressed checksum support.
3842
3843 * grub-core/commands/hashsum.c (options): Add option --uncompress.
3844 (check_list): New parameter uncompress.
3845 (grub_cmd_hashsum): Handle --uncompress.
3846
3847 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 Reintroduce testload.
3850
3851 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
3852 from here ...
3853 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
3854 (GRUB_MOD_INIT): New function.
3855 (GRUB_MOD_FINI): Likewise.
3856 * grub-core/Makefile.core.def (testload): New module.
3857
3858 2010-09-05 Szymon Janc <szymon@janc.net.pl>
3859
3860 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
3861 (uint8_t): New type.
3862 (uint16_t): Likewise.
3863 (uint32_t): Likewise.
3864 (uint64_t): Likewise.
3865
3866 2010-09-05 Szymon Janc <szymon@janc.net.pl>
3867
3868 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
3869
3870 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
3873 Made static.
3874 (grub_gzfile_open): Removed. All users updated.
3875 (GRUB_MOD_INIT): New function.
3876 (GRUB_MOD_FINI): Likewise.
3877 * grub-core/kern/file.c (grub_file_filters_all): New variable.
3878 (grub_file_filters_enabled): Likewise.
3879 (grub_file_open): Handle filters.
3880 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
3881 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
3882 * include/grub/file.h (grub_file_filter_id_t): New type.
3883 (grub_file_filter_t): Likewise.
3884 (grub_file_filters_all): New extern variable.
3885 (grub_file_filters_enabled): Likewise.
3886 (grub_file_filter_register): New inline function.
3887 (grub_file_filter_unregister): Likewise.
3888 (grub_file_filter_disable): Likewise.
3889 (grub_file_filter_disable_compression): Likewise.
3890 * include/grub/gzio.h: Removed.
3891
3892 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3893
3894 Filename expansion support for wildcards in GRUB script.
3895
3896 * tests/grub_script_expansion.in: New test.
3897 * Makefile.util.def: Rule for new test.
3898
3899 * grub-core/commands/wildcard.c: New file, implements filename
3900 expansion support for GRUB script.
3901 * grub-core/Makefile.core.def: Rule update for regexp.mod.
3902 * grub-core/script/argv.c: Cosmetic changes.
3903 * grub-core/script/execute.c (grub_script_arglist_to_argv):
3904 Refactored to perform wildcard expansion on arguments.
3905 * include/grub/script_sh.h (grub_script_wildcard_translator): New
3906 struct.
3907
3908 * tests/util/grub-shell.in: Fix quoting for read input.
3909
3910 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3911
3912 Support for updating environment variables with matched substrings
3913 of regexp.
3914
3915 * tests/grub_cmd_regexp.in: New test.
3916 * Makefile.util.def: Rule for new test.
3917
3918 * grub-core/commands/regexp.c: New option -s to update environment
3919 variables with regexp matches.
3920
3921 2010-09-04 Szymon Janc <szymon@janc.net.pl>
3922
3923 * include/grub/file.h (grub_file): New member not_easly_seekable.
3924 (grub_file_seekable): New inline function.
3925 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
3926 easily seekable.
3927 (grub_gzio_open): Set not_easly_seekable.
3928 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
3929 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
3930
3931 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3932
3933 Support for options to appear multiple times on cmdline.
3934
3935 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
3936 * grub-core/commands/extcmd.c: Support for repeatable option.
3937 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
3938 repeatable option support.
3939
3940 Refactor menuentry into a regular command.
3941
3942 * grub-core/commands/menuentry.c: New file, menuentry command
3943 implementation.
3944 * grub-core/Makefile.core.def: Rule update for normal.mod.
3945 * grub-core/normal/main.c: Moved menuentry creation to
3946 grub-core/commands/menuentry.c.
3947 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
3948 (grub_menu_execute_entry_real): Removed.
3949 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
3950 function.
3951 (grub_script_execute_menuentry): Removed.
3952 * grub-core/script/parser.y (menuentry): Removed.
3953 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
3954 * grub-core/script/yylex.l (menuentry): Removed.
3955 * include/grub/menu.h (grub_menu_init): New prototype.
3956 (grub_menu_fini): New prototype.
3957 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
3958 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
3959 (grub_script_execute_sourcecode): New prototype.
3960
3961 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3962
3963 "return" command for GRUB script functions.
3964
3965 * tests/grub_script_return.in: New test.
3966 * Makefile.util.def: Rules for new test.
3967
3968 * grub-core/script/execute.c (grub_script_return): New function.
3969 * grub-core/script/main.c: Register/unregister return commaond.
3970 * include/grub/script_sh.h (grub_script_return): New prototype.
3971
3972 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3973
3974 "setparams" command to update positional parameters.
3975
3976 * tests/grub_script_setparams.in: New test.
3977 * Makefile.util.def: Rules for new test.
3978
3979 * grub-core/script/argv.c (grub_script_argv_make): New function.
3980 * grub-core/script/execute.c (replace_scope): New function.
3981 (grub_script_setparams): New function.
3982 * grub-core/script/lexer.c: Remove unused variables.
3983 * grub-core/script/main.c: Register/unregister setparams command.
3984 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
3985 (grub_script_setparams): New prototype.
3986
3987 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3988
3989 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
3990 grub_free order.
3991
3992 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3993
3994 Support for passing block of commands as an argument to extcmds.
3995
3996 * Makefile.util.def: Rules for new test.
3997 * tests/grub_script_blockarg.in: New test.
3998 * grub-core/tests/test_blockarg.c: New file, block argument
3999 command used in the test.
4000
4001 * include/grub/extcmd.h (grub_extcmd_context): New struct.
4002 (grub_register_extcmd_prio): New function prototype.
4003 (grub_extcmd_dispatcher): New function prototype.
4004 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
4005 type.
4006 * include/grub/script_sh.h (struct grub_script): New members
4007 `children', `next_siblings' and `refcnt' for block arguments and
4008 reference counting.
4009 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
4010 (grub_script_arg): New member `script' for block argument.
4011 (grub_script_argv): New member `script' for block argument.
4012 (grub_parser_param): New member `scripts' for block argument.
4013 (grub_script_mem_free): New extern function prototype.
4014 (grub_script_ref): New function prototype.
4015 (grub_script_unref): New function prototype.
4016
4017 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
4018 extcmd form to support block arguments.
4019 * grub-core/script/argv.c: Block arguments support.
4020 * grub-core/script/execute.c: Likewise.
4021 * grub-core/script/lexer.c: Likewise.
4022 * grub-core/script/main.c: Likewise.
4023 * grub-core/script/script.c: Likewise.
4024 * grub-core/script/parser.y: Likewise. New `block' and `block0'
4025 non-terminals.
4026
4027 * grub-core/commands/acpi.c: Update extcmd implementations with
4028 grub_extcmd_context_t.
4029 * grub-core/commands/cat.c: Likewise.
4030 * grub-core/commands/echo.c: Likewise.
4031 * grub-core/commands/extcmd.c: Likewise.
4032 * grub-core/commands/hashsum.c: Likewise.
4033 * grub-core/commands/hdparm.c: Likewise.
4034 * grub-core/commands/help.c: Likewise.
4035 * grub-core/commands/hexdump.c: Likewise.
4036 * grub-core/commands/i386/cpuid.c: Likewise.
4037 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4038 * grub-core/commands/i386/pc/halt.c: Likewise.
4039 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4040 * grub-core/commands/iorw.c: Likewise.
4041 * grub-core/commands/keystatus.c: Likewise.
4042 * grub-core/commands/loadenv.c: Likewise.
4043 * grub-core/commands/ls.c: Likewise.
4044 * grub-core/commands/lspci.c: Likewise.
4045 * grub-core/commands/memrw.c: Likewise.
4046 * grub-core/commands/probe.c: Likewise.
4047 * grub-core/commands/search_wrap.c: Likewise.
4048 * grub-core/commands/setpci.c: Likewise.
4049 * grub-core/commands/sleep.c: Likewise.
4050 * grub-core/disk/loopback.c: Likewise.
4051 * grub-core/hello/hello.c: Likewise.
4052 * grub-core/loader/i386/bsd.c: Likewise.
4053 * grub-core/loader/xnu.c: Likewise.
4054 * grub-core/term/gfxterm.c: Likewise.
4055 * grub-core/term/serial.c: Likewise.
4056 * grub-core/tests/lib/functional_test.c: Likewise.
4057
4058 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4059
4060 Multi-line quoted strings support.
4061
4062 * grub-core/script/lexer.c (append_newline): Removed.
4063 (grub_script_lexer_yywrap): Refactored.
4064 (grub_script_lexer_init): Refactored.
4065 * grub-core/script/yylex.l (yywrap): New function.
4066 (grub_lexer_resplit): New function.
4067 (grub_lexer_unput): New function.
4068 * include/grub/script_sh.h (grub_lexer_param): New members, unput
4069 and resplit.
4070 * tests/grub_script_echo1.in: Added few more testcases.
4071
4072 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * grub-core/kern/misc.c: Don't add abort alias in utils.
4075 Reported by: echoline.
4076
4077 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
4078
4079 Add missing files into "make dist" tarball for other platforms.
4080
4081 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
4082 * conf/Makefile.common (dist_noinst_DATA): New variable.
4083 * conf/Makefile.extra-dist: Added missing make dist files.
4084 * grub-core/Makefile.core.def: Likewise.
4085
4086 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 Compress grub_prefix.
4089
4090 * grub-core/boot/i386/pc/lnxboot.S: Use
4091 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
4092 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
4093 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
4094 GRUB_MACHINE_PREFIX_END. All users updated.
4095 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
4096 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
4097 + 0x40.
4098 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4099 * util/grub-mkimage.c (image_target_desc): Change data_end to
4100 prefix_end. All users updated.
4101
4102 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
4105 value.
4106 (grub_openbsd_boot): Likewise.
4107 (grub_netbsd_boot): Likewise.
4108 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
4109 (grub_xnu_boot): Likewise.
4110
4111 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * configure.ac: Clean LIBS variable after tests.
4114
4115 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4116
4117 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
4118
4119 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
4122 echo if libdevmapper will be used.
4123
4124 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
4125
4126 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
4127 constant for the same file.
4128
4129 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
4132
4133 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4134
4135 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
4136 grub-core/*.pp.
4137
4138 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
4139
4140 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
4141 required by the boot protocol.
4142
4143 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
4144 ebp and edi members.
4145 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
4146 state.ebp and state.edi.
4147 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
4148 %ebp and %edi according to grub_relocator32_ebp and
4149 grub_relocator32_edi respectively.
4150 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
4151 and state.edi.
4152
4153 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 Add i386-pc-pxe image target.
4156
4157 * util/grub-mkimage.c (image_target_desc): New enum value
4158 IMAGE_I386_PC_PXE.
4159 (image_targets): New target i386-pc-pxe.
4160 (generate_image): Handle i386-pc-pxe image.
4161
4162 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 Fix grub_pxe_scan.
4165
4166 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4167 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4168 All users updated.
4169 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4170 (grub_pxe_pxenv): Correct type.
4171
4172 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4173
4174 * NEWS: Document most of the important changes since 1.98.
4175
4176 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4177
4178 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4179 generated manual page) a little.
4180
4181 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
4182
4183 * docs/grub.texi: Add myself as an author.
4184
4185 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * Makefile.util.def (libgrub.a): Add missing sunpc.
4188 Reported by: Seth Goldberg.
4189
4190 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 Interrupt wrapping and code simplifications.
4193
4194 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4195 x86_noieee1275 which are functionaly equivalent in this case.
4196 (grub-install): Make source on each platform explicit. Enable on
4197 all noemu.
4198 * gentpl.py (x86_efi_pc): Removed group.
4199 (x86_noefi): Likewise.
4200 (i386_noefi): Likewise.
4201 (x86_noieee1275): Likewise.
4202 (i386_noieee1275): Likewise.
4203 (i386_noefi_noieee1275): Likewise.
4204 (i386_pc_qemu_coreboot): Likewise.
4205 (i386_coreboot_multiboot): Likewise.
4206 (i386_pc_coreboot_multiboot_qemu): Likewise.
4207 (x86_noefi_mips): Likewise.
4208 (noieee1275): Likewise.
4209 (ieee1275_mips): Likewise.
4210 (noemu_noieee1275): Likewise.
4211 (cmos): New group.
4212 (usb): Likewise.
4213 (videoinkernel): Likewise.
4214 (videomodules): Likewise.
4215 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
4216 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4217 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4218 include/grub/loader.h, include/grub/msdos_partition.h,
4219 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4220 include/grub/machine/console.h, include/grub/machine/vga.h,
4221 include/grub/machine/vbe.h, include/grub/machine/init.h,
4222 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4223 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
4224 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
4225 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4226 * grub-core/Makefile.core.def (kernel): Explicit the source for
4227 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4228 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4229 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
4230 Use videoinkernel tag.
4231 (usb): Enable on all usb.
4232 (usbserial_common): Likewise.
4233 (usbserial_pl2303): Likewise.
4234 (usbserial_ftdi): Likewise.
4235 (uhci): Enable on all x86.
4236 (ohci): Enable on all pci.
4237 (cmostest): Enable on all CMOS.
4238 (acpi): Include commands/acpi.c on all platforms.
4239 (halt): Add relevant lib/*/halt.c.
4240 (hdparm): Enable on all pci.
4241 (lspci): Likewise.
4242 (usbtest): Enable on all usb.
4243 (ata): Enable on all pci.
4244 (ata_pthru): Likewise.
4245 (usbms): Enable on all usb.
4246 (usb_keyboard): Likewise.
4247 (font): Use tag videomodules.
4248 (bufio): Likewise.
4249 (datetime): Use tag cmos. Enable on all noemu.
4250 (mmap): Use tags common and x86.
4251 (gfxterm): Use tag videomodules.
4252 (bitmap): Likewise.
4253 (bitmap_scale): Likewise.
4254 (video_fb): Likewise.
4255 (video): Likewise.
4256 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
4257 adjust padding accordingly. All users updated.
4258 (grub_ohci_transaction): Fix bad format specification.
4259 (GRUB_MOD_INIT): Add asserts for struct size.
4260 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
4261 (grub_alloc_td): Likewise.
4262 (grub_free_queue): Likewise.
4263 (grub_uhci_transfer): Likewise.
4264 (grub_uhci_transaction): Fix bad format specification.
4265 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4266 (grub_usb_bulk_readwrite): Likewise.
4267 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
4268 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
4269 Made static.
4270 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
4271 Made static.
4272 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
4273 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
4274 Transformed into C.
4275 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
4276 Moved from here ...
4277 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
4278 ... here. Transformed into C. Made static.
4279 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
4280 Moved from here ...
4281 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
4282 ... here. Transformed into C. Made static.
4283 * grub-core/kern/i386/pc/startup.S
4284 (grub_biosdisk_check_int13_extensions): Moved from here ...
4285 * grub-core/disk/i386/pc/biosdisk.c
4286 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
4287 Made static.
4288 * grub-core/kern/i386/pc/startup.S
4289 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
4290 * grub-core/disk/i386/pc/biosdisk.c
4291 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
4292 Transformed into C. Made static.
4293 * grub-core/kern/i386/pc/startup.S
4294 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
4295 * grub-core/disk/i386/pc/biosdisk.c
4296 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
4297 Transformed into C. Made static.
4298 * grub-core/kern/i386/pc/startup.S
4299 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
4300 * grub-core/disk/i386/pc/biosdisk.c
4301 (grub_biosdisk_get_diskinfo_standard): ... here.
4302 Transformed into C. Made static.
4303 * grub-core/kern/i386/pc/startup.S
4304 (grub_biosdisk_get_num_floppies): Moved from here ...
4305 * grub-core/disk/i386/pc/biosdisk.c
4306 (grub_biosdisk_get_num_floppies): ... here.
4307 Transformed into C. Made static.
4308 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
4309 New function.
4310 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
4311 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
4312 Transformed into C. Made static.
4313 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
4314 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
4315 Transformed into C. Made static.
4316 * grub-core/kern/i386/ieee1275/init.c: Removed.
4317 * grub-core/kern/i386/misc.S: Likewise.
4318 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
4319 Splitted from here ...
4320 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
4321 Transformed into C. Made static. All users updated.
4322 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
4323 Transformed into C. Made static. All users updated.
4324 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
4325 Moved from here...
4326 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
4327 Transformed into C. Made static. All users updated.
4328 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
4329 Moved from here...
4330 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
4331 Transformed into C. Made static. All users updated.
4332 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
4333 Removed (replaced by C version).
4334 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
4335 Moved from here...
4336 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
4337 Transformed into C. Made static.
4338 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
4339 Moved from here...
4340 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
4341 ... here. Transformed into C.
4342 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
4343 Moved from here...
4344 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
4345 ... here. Transformed into C.
4346 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
4347 Moved from here...
4348 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
4349 ... here. Transformed into C. Made static.
4350 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
4351 Moved from here...
4352 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
4353 ... here. Transformed into C.
4354 * grub-core/kern/i386/pc/startup.S
4355 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
4356 * grub-core/video/i386/pc/vbe.c
4357 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
4358 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
4359 Moved from here...
4360 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
4361 ... here. Transformed into C.
4362 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
4363 Moved from here...
4364 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
4365 ... here. Transformed into C.
4366 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
4367 Moved from here...
4368 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
4369 ... here. Transformed into C.
4370 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
4371 Moved from here...
4372 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
4373 ... here. Transformed into C.
4374 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
4375 Moved from here...
4376 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
4377 ... here. Transformed into C. Made static.
4378 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
4379 Moved from here...
4380 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
4381 ... here. Transformed into C. Made static.
4382 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
4383 Moved from here...
4384 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
4385 ... here. Transformed into C. Made static.
4386 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
4387 pxe_rm_entry as third argument.
4388 (grub_bios_interrupt): New function.
4389 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
4390 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
4391 of calling grub_stop.
4392 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4393 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4394 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4395 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4396 * grub-core/lib/i386/halt.c: Moved from here ...
4397 * grub-core/lib/i386/halt.c: ... here.
4398 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4399 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4400 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4401 grub_stop_floppy.
4402 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4403 * include/grub/i386/coreboot/init.h: Removed.
4404 * include/grub/i386/multiboot/init.h: Likewise.
4405 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4406 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4407 * include/grub/i386/pc/int.h: New file.
4408 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4409 (grub_pxe_scan): Removed.
4410 (grub_pxe_call): Update prototype.
4411 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
4412 prototypes.
4413 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
4414 * include/grub/i386/qemu/init.h: Removed.
4415 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
4416 noreturn.
4417 (grub_halt): Likewise.
4418 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
4419 (grub_reboot): Likewise.
4420 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
4421 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
4422 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
4423
4424 2010-08-30 Robert Millan <rmh@gnu.org>
4425
4426 * NEWS: Document addition of ZFS support in `grub-install' and
4427 `grub-mkconfig'.
4428
4429 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
4430
4431 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
4432 dprintf output.
4433
4434 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 Remove leftover embedding of font objects.
4437
4438 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4439 * util/grub-install.in (font): Removed.
4440 * util/grub-mkimage.c (generate_image): Remove font support. All users
4441 updated.
4442
4443 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 Remove leftover embedding of font objects.
4446
4447 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4448 * util/grub-install.in (font): Removed.
4449 * util/grub-mkimage.c (generate_image): Remove font support. All users
4450 updated.
4451
4452 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * docs/grub.texi (Network): Fix reference to pxe_blksize.
4455 Reported by: Ian Turner
4456
4457 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
4460 timeout to avoid indefinite boot stalling.
4461
4462 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
4465 (grub_env_write_color_highlight): Likewise.
4466
4467 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * grub-core/normal/term.c (print_more): Return to normal and not
4470 to standard state after printing "---MORE---".
4471
4472 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
4475 Mask out the bit 0x80 since it has other meaning that specifiing color.
4476
4477 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 New relocator. Allows for more kernel support and more straightforward
4480 loader writing.
4481
4482 * Makefile.am (BOOTTARGET): New variable.
4483 (QEMU32): Likewise.
4484 (linux.init.x86_64): New target.
4485 (linux.init.i386): Likewise.
4486 (multiboot.elf): Likewise.
4487 (kfreebsd.elf): Likewise.
4488 (kfreebsd.aout): Likewise.
4489 (pc-chainloader.elf): Likewise.
4490 (pc-chainloader.bin): Likewise.
4491 (ntldr.elf): Likewise.
4492 (ntldr.bin): Likewise.
4493 (multiboot2.elf): Likewise.
4494 (kfreebsd.init.x86_64): Likewise.
4495 (kfreebsd.init.i386): Likewise.
4496 (knetbsd.init.i386): Likewise.
4497 (kopenbsd.init.i386): Likewise.
4498 (knetbsd.init.x86_64): Likewise.
4499 (kopenbsd.init.x86_64): Likewise.
4500 (linux-initramfs.i386): Likewise.
4501 (linux-initramfs.x86_64): Likewise.
4502 (kfreebsd-mfsroot.i386.img): Likewise.
4503 (knetbsd.image.i386): Likewise.
4504 (kopenbsd.image.i386): Likewise.
4505 (kopenbsd.image.x86_64): Likewise.
4506 (knetbsd.miniroot-image.i386.img): Likewise.
4507 (kfreebsd-mfsroot.x86_64.img): Likewise.
4508 (knetbsd.image.x86_64): Likewise.
4509 (knetbsd.miniroot-image.x86_64.img): Likewise.
4510 (kfreebsd-mfsroot.i386.gz): Likewise.
4511 (bootcheck-kfreebsd-i386): Likewise.
4512 (kfreebsd-mfsroot.x86_64.gz): Likewise.
4513 (bootcheck-kfreebsd-x86_64): Likewise.
4514 (knetbsd.miniroot-image.i386.gz): Likewise.
4515 (bootcheck-knetbsd-i386): Likewise.
4516 (bootcheck-kopenbsd-i386): Likewise.
4517 (bootcheck-kopenbsd-x86_64): Likewise.
4518 (knetbsd.miniroot-image.x86_64.gz): Likewise.
4519 (bootcheck-knetbsd-x86_64): Likewise.
4520 (bootcheck-linux-i386): Likewise.
4521 (bootcheck-linux-x86_64): Likewise.
4522 (bootcheck-linux16-i386): Likewise.
4523 (bootcheck-linux16-x86_64): Likewise.
4524 (bootcheck-multiboot): Likewise.
4525 (bootcheck-multiboot2): Likewise.
4526 (bootcheck-kfreebsd-aout): Likewise.
4527 (bootcheck-pc-chainloader): Likewise.
4528 (bootcheck-ntldr): Likewise.
4529 (CLEANFILES): Add new targets.
4530 (BOOTCHECKS): New variable.
4531 (.PHONY): Add bootchecks.
4532 (SUCCESSFUL_BOOT_STRING): New variable.
4533 (BOOTCHECK_TIMEOUT): Likewise.
4534 (bootcheck): New target
4535 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
4536 * configure.ac: Correct efiemu excuse.
4537 * docs/grub.texi (Supported kernels): New chapter.
4538 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
4539 include/grub/mm_private.h. Simplify inclusion of
4540 include/grub/boot.h, include/grub/loader.h
4541 and include/grub/msdos_partition.h
4542 (KERNEL_HEADER_FILES) [i386_coreboot]:
4543 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
4544 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
4545 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
4546 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
4547 include/grub/machine/loader.h.
4548 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
4549 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
4550 extra_dist.
4551 (pci.mod): Enable on i386-multiboot.
4552 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
4553 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
4554 i386-qemu.
4555 (relocator.mod): Rewritten.
4556 (aout.mod): Enable on all x86.
4557 (bsd.mod): Likewise.
4558 (ntldr.mod): New module.
4559 (linux.mod): Use loader/i386/linux.c on all x86.
4560 (xnu.mod): Enable on all x86.
4561 (vga_text.mod): disable on EFI and QEMU.
4562 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
4563 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
4564 * grub-core/efiemu/loadcore.c: Likewise.
4565 * grub-core/efiemu/main.c: Likewise.
4566 (grub_efiemu_exit_boot_services): Removed.
4567 (grub_efiemu_finish_boot_services): Likewise.
4568 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
4569 function.
4570 * grub-core/efiemu/i386/nocfgtables.c: New file.
4571 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
4572 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
4573 (grub_efi_finish_boot_services): Moved from here ...
4574 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
4575 Fille finish memory map and related data.
4576 (finish_mmap_buf): New variable.
4577 (grub_efi_uintn_t finish_mmap_size): Likewise.
4578 (grub_efi_uintn_t finish_key): Likewise.
4579 (grub_efi_uintn_t finish_desc_size): Likewise.
4580 (grub_efi_uint32_t finish_desc_version): Likewise.
4581 (grub_efi_is_finished): Likewise.
4582 (grub_efi_get_memory_map): Use saved memory map if EFI is already
4583 finished.
4584 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
4585 (grub_elf64_phdr_iterate): Likewise.
4586 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
4587 (grub_os_area_size): Likewise.
4588 (grub_machine_init): Don't reserve os area.
4589 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
4590 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4591 * grub-core/kern/i386/loader.S: Removed.
4592 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
4593 (grub_os_area_size): Likewise.
4594 (grub_machine_init): Don't reserve os area.
4595 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4596 Don't call grub_dl_unload_all.
4597 Don't include loader.S.
4598 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4599 Declare the memory after _end as available.
4600 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
4601 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
4602 (GRUB_MM_ALLOC_MAGIC): Moved from here...
4603 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
4604 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
4605 * include/grub/mm_private.h (grub_mm_header): ... here.
4606 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
4607 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
4608 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
4609 (grub_mm_region): ..here. Removed addr. Added pre_size.
4610 All users updated.
4611 * grub-core/kern/mm.c (base): Renamed to ...
4612 (grub_mm_base): ... this. Made global.
4613 (grub_real_malloc): Alloc from end of region.
4614 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
4615 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
4616 * grub-core/kern/powerpc/cache_flush.S: ... here.
4617 * grub-core/lib/efi/relocator.c: New file.
4618 * grub-core/lib/i386/relocator.c: Rewritten.
4619 * grub-core/lib/i386/relocator16.S: New file.
4620 * grub-core/lib/i386/relocator32.S: Likewise.
4621 * grub-core/lib/i386/relocator64.S: Likewise.
4622 * grub-core/lib/i386/relocator_asm.S: Rewritten.
4623 * grub-core/lib/i386/relocator_common.S: New file.
4624 * grub-core/lib/ieee1275/relocator.c: Likewise.
4625 * grub-core/lib/mips/relocator.c: Rewritten.
4626 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
4627 stylistic adjustments.
4628 * grub-core/lib/powerpc/relocator.c: New file.
4629 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
4630 * grub-core/lib/relocator.c: Rewritten.
4631 * grub-core/lib/x86_64/relocator_asm.S: New file.
4632 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
4633 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
4634 (bsd_tag): New struct.
4635 (tags): New variable.
4636 (tags_last): Likewise.
4637 (netbsd_module): New struct.
4638 (netbsd_mods): New variable.
4639 (netbsd_mods_last): Likewise.
4640 (openbsd_opts): New parameter "serial".
4641 (OPENBSD_SERIAL_ARG): New definition.
4642 (netbsd_opts): New parameter "serial".
4643 (NETBSD_SERIAL_ARG): New definition.
4644 (grub_freebsd_add_meta): Reorganised into ...
4645 (grub_bsd_add_meta): ...this. All users updated.
4646 (grub_freebsd_add_mmap): Reorganised into ...
4647 (generate_e820_mmap): ...this...
4648 (grub_bsd_add_mmap): ...and this. All users updated.
4649 (grub_freebsd_list_modules): Use tags.
4650 (grub_netbsd_add_meta_module): New function.
4651 (grub_netbsd_list_modules): Likewise.
4652 (grub_freebsd_boot): Use relocator and finish EFI.
4653 (grub_openbsd_boot): Likewise.
4654 (grub_netbsd_setup_video): New function.
4655 (grub_netbsd_add_modules): Likewise.
4656 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
4657 and finish EFI.
4658 (grub_bsd_unload): Unload tags.
4659 (grub_bsd_load_aout): Use relocator.
4660 (grub_bsd_elf32_size_hook): New function.
4661 (grub_bsd_elf32_hook): Use relocator.
4662 (grub_bsd_elf64_size_hook): New function.
4663 (grub_bsd_elf64_hook): Use relocator.
4664 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
4665 (grub_bsd_load): Zero-out openbsd_ramdisk.
4666 (grub_bsd_load): Use relocator.
4667 (grub_cmd_openbsd): Support serial.
4668 (grub_cmd_netbsd): Support modules.
4669 (grub_cmd_freebsd_module): Use relocator.
4670 (grub_netbsd_module_load): New function.
4671 (grub_cmd_netbsd_module): Likewise.
4672 (grub_cmd_openbsd_ramdisk): Likewise.
4673 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
4674 kopenbsd_ramdisk.
4675 (GRUB_MOD_FINI): Unregister new commands.
4676 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
4677 (grub_freebsd_load_elfmodule_obj): Use relocator.
4678 (grub_freebsd_load_elfmodule): Likewise.
4679 (grub_freebsd_load_elf_meta): Likewise.
4680 (grub_netbsd_load_elf_meta): New function.
4681 (grub_openbsd_find_ramdisk): Likewise.
4682 * grub-core/loader/i386/bsd_helper.S: Removed.
4683 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
4684 * grub-core/loader/i386/bsd_trampoline.S: Removed.
4685 * grub-core/loader/i386/efi/linux.c: Likewise.
4686 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
4687 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
4688 (DEFAULT_VIDEO_MODE): Likewise.
4689 (real_mode_target): New variable.
4690 (prot_mode_target): Likewise.
4691 (initrd_mem_target): Likewise.
4692 (relocator): Likewise.
4693 (efi_mmap_buf): Likewise.
4694 (efi_mmap_size): Likewise.
4695 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
4696 (free_pages): Use relocator.
4697 (allocate_pages): Account for efi_mmap and use relocator. Return error.
4698 (grub_linux_setup_video): Return error.
4699 (grub_linux_trampoline_start): Removed.
4700 (grub_linux_trampoline_end): Likewise.
4701 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
4702 andd video parameters depending on firmware.
4703 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
4704 [GRUB_MACHINE_EFI]: Pass EFI parameters.
4705 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
4706 (grub_cmd_initrd): Use relocator.
4707 * grub-core/loader/i386/linux_trampoline.S: Removed.
4708 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
4709 (elf_sec_entsize): Likewise.
4710 (elf_sec_shstrndx): Likewise.
4711 (elf_sections): Likewise.
4712 (grub_multiboot_load): Use relocator.
4713 (grub_multiboot_get_mbi_size): Account for sections.
4714 (grub_multiboot_make_mbi): Use relocator and support sections.
4715 (grub_multiboot_add_elfsyms): New function.
4716 (grub_multiboot_free_mbi): Free sections.
4717 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
4718 (grub_linux_real_target): Likewise.
4719 (grub_linux_real_chunk): Likewise.
4720 (grub_linux16_prot_size): Likewise.
4721 (grub_linux16_boot): Use relocator.
4722 (grub_linux_unload): Unload relocator.
4723 (grub_cmd_linux): Use relocator.
4724 (grub_cmd_initrd): Likewise.
4725 * grub-core/loader/i386/pc/ntldr.c: New file.
4726 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
4727 Don't try to guess CPU frequency.
4728 (grub_xnu_set_video): Stretch bitmap.
4729 (grub_xnu_boot): Use relocator.
4730 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
4731 (grub_linux_unload): Free relocator.
4732 (grub_linux_load32): Use relocator.
4733 (grub_linux_load64): Likewise.
4734 (grub_cmd_initrd): Likewise.
4735 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
4736 (grub_multiboot_unload): Unload relocator.
4737 (grub_cmd_multiboot): Use relocator.
4738 (grub_cmd_module): Likewise.
4739 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
4740 Use relocator and support sections.
4741 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
4742 (elf_sec_entsize): Likewise.
4743 (elf_sec_shstrndx): Likewise.
4744 (elf_sections): Likewise.
4745 (grub_multiboot_load): Use relocator.
4746 (grub_multiboot_get_mbi_size): Account for sections.
4747 (grub_multiboot_make_mbi): Use relocator and support sections.
4748 (grub_multiboot_add_elfsyms): New function.
4749 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
4750 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
4751 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
4752 Prototype changed. All users updated.
4753 (grub_xnu_align_heap): Simplified.
4754 (grub_xnu_writetree_toheap): Likewise.
4755 (grub_xnu_unload): Unload relocator.
4756 (grub_cmd_xnu_kernel): Use relocator.
4757 (grub_cmd_xnu_kernel64): Likewise.
4758 (grub_xnu_register_memory): Simplified.
4759 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
4760 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
4761 EFI is finished.
4762 (grub_console_checkkey): Likewise.
4763 (grub_console_getkey): Likewise.
4764 (grub_console_getwh): Likewise.
4765 (grub_console_getxy): Likewise.
4766 (grub_console_gotoxy): Likewise.
4767 (grub_console_cls): Likewise.
4768 (grub_console_setcolorstate): Likewise.
4769 (grub_console_setcursor): Likewise.
4770 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
4771 * grub-core/tests/boot/kbsd.init-i386.S: New file.
4772 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
4773 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
4774 * grub-core/tests/boot/kernel-8086.S: Likewise.
4775 * grub-core/tests/boot/kernel-i386.S: Likewise.
4776 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
4777 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
4778 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
4779 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
4780 * grub-core/tests/boot/knetbsd.cfg: Likewise.
4781 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
4782 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
4783 * grub-core/tests/boot/linux.cfg: Likewise.
4784 * grub-core/tests/boot/linux.init-i386.S: Likewise.
4785 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
4786 * grub-core/tests/boot/linux16.cfg: Likewise.
4787 * grub-core/tests/boot/multiboot.cfg: Likewise.
4788 * grub-core/tests/boot/multiboot2.cfg: Likewise.
4789 * grub-core/tests/boot/ntldr.cfg: Likewise.
4790 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
4791 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
4792 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
4793 New definition.
4794 * include/grub/dl.h (grub_dl_unload_all): Removed.
4795 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
4796 (grub_efi_finish_boot_services): Change prototype.
4797 (grub_efi_is_finished): New variable.
4798 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
4799 Changed prototype.
4800 (grub_efiemu_finish_boot_services): Removed.
4801 (grub_machine_efiemu_init_tables): New prototype.
4802 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
4803 (grub_elf64_phdr_iterate): Likewise.
4804 * include/grub/i386/bsd.h: Include relocator.h.
4805 (freebsd_tag_header): New struct.
4806 (grub_openbsd_bios_mmap): Removed.
4807 (grub_unix_real_boot): Removed.
4808 (grub_freebsd_load_elfmodule32): Changed prototype.
4809 (grub_freebsd_load_elfmodule_obj64): Likewise.
4810 (grub_freebsd_load_elf_meta32): Likewise.
4811 (grub_freebsd_load_elf_meta64): Likewise.
4812 (grub_freebsd_add_meta): Removed.
4813 (grub_netbsd_load_elf_meta32): New prototype.
4814 (grub_netbsd_load_elf_meta64): Likewise.
4815 (grub_bsd_add_meta): Likewise.
4816 (grub_openbsd_ramdisk_descriptor): New struct.
4817 (grub_openbsd_find_ramdisk32): New prototype.
4818 (grub_openbsd_find_ramdisk64): Likewise.
4819 * include/grub/i386/coreboot/loader.h: Removed.
4820 * include/grub/i386/efi/loader.h: Likewise.
4821 * include/grub/i386/ieee1275/loader.h: Likewise.
4822 * include/grub/i386/linux.h (linux_kernel_header): Change void *
4823 to grub_uint32_t.
4824 * include/grub/i386/loader.h: Removed.
4825 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
4826 value.
4827 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
4828 (grub_phys_addr_t): New type.
4829 (grub_vtop): New inline function.
4830 (grub_map_memory): Likewise.
4831 (grub_unmap_memory): Likewise.
4832 * include/grub/i386/multiboot/loader.h: Removed.
4833 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
4834 (NETBSD_BTINFO_CONSOLE): New definition.
4835 (NETBSD_BTINFO_SYMTAB): Likewise.
4836 (NETBSD_BTINFO_MODULES): Likewise.
4837 (NETBSD_BTINFO_FRAMEBUF): Likewise.
4838 (grub_netbsd_bootinfo): New struct.
4839 (grub_netbsd_btinfo_common): Use explicit bitsize.
4840 (grub_netbsd_btinfo_mmap_entry): Removed.
4841 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
4842 (grub_netbsd_btinfo_bootdisk): New struct.
4843 (grub_netbsd_btinfo_symtab): Likewise.
4844 (grub_netbsd_btinfo_serial): Likewise.
4845 (grub_netbsd_btinfo_modules): Likewise.
4846 (grub_netbsd_btinfo_framebuf): Likewise.
4847 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
4848 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
4849 Likewise.
4850 (grub_openbsd_bootargs): Use explicit bitsize.
4851 (grub_openbsd_bootarg_console): New struct.
4852 (GRUB_OPENBSD_COM_MAJOR): New definition.
4853 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
4854 * include/grub/i386/pc/efiemu.h: Removed.
4855 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
4856 * include/grub/i386/qemu/loader.h: Removed.
4857 * include/grub/i386/relocator.h: Rewritten.
4858 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
4859 * include/grub/mips/memory.h: New file.
4860 * include/grub/mips/multiboot.h: Rewritten.
4861 * include/grub/mips/relocator.h: Rewritten.
4862 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
4863 (grub_vtop): New function.
4864 (grub_map_memory): Likewise.
4865 (grub_unmap_memory): Likewise.
4866 * include/grub/misc.h (ALIGN_DOWN): New definition.
4867 * include/grub/mm.h (grub_mm_check_real): New proto.
4868 (GRUB_MM_CHECK): New definition.
4869 * include/grub/mm_private.h: New file.
4870 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
4871 (grub_multiboot_get_mbi_size): Removed.
4872 (grub_multiboot_make_mbi): Change prottype.
4873 (grub_multiboot_set_accepts_video): New proto.
4874 (grub_multiboot_add_elfsyms): Likewise.
4875 (grub_multiboot_payload_eip): New variable.
4876 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
4877 New prototype.
4878 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
4879 New definition.
4880 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
4881 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
4882 * include/grub/powerpc/ieee1275/loader.h: Removed.
4883 * include/grub/powerpc/memory.h: New file.
4884 * include/grub/powerpc/relocator.h: Likewise.
4885 * include/grub/relocator.h: Likewise.
4886 * include/grub/relocator_private.h: Likewise.
4887 * include/grub/sparc64/ieee1275/loader.h: Removed.
4888 * include/grub/x86_64/memory.h: New file.
4889 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
4890 (grub_xnu_heap_malloc): Likewise.
4891 (grub_xnu_heap_real_start): Removed.
4892 (grub_xnu_heap_start): Likewise.
4893 (grub_xnu_relocator): New variable.
4894 (grub_xnu_heap_target_start): Likewise.
4895 * tests/util/grub-shell.in: Support non-pc.
4896 * util/grub-mkimage.c (image_targets): Fix multiboot target.
4897
4898 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
4901 on malloc error.
4902 (grub_bidi_logical_to_visual): Check that malloc succeded.
4903 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
4904 puts.
4905 (grub_xputs_normal): Likewise.
4906
4907 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
4910 extra_dist.
4911
4912 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/efiemu/runtime/efiemu.sh: Removed.
4915
4916 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
4919
4920 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
4923 dprintf.
4924
4925 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
4926
4927 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
4928
4929 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * grub-core/normal/term.c (print_more): Fix a memory leak.
4932 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
4933 (grub_xputs_normal): Likewise.
4934
4935 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
4938 the begining of the string
4939
4940 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * grub-core/script/script.c (grub_script_parse): Free parsed on
4943 failure.
4944
4945 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
4948 on failure.
4949
4950 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
4953 return.
4954
4955 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
4958 (scroll_up): Fix a memory leak.
4959
4960 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
4963 errors.
4964
4965 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 Handle USB pendrives exposed as floppies.
4968
4969 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
4970 floppy.
4971 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
4972 Check for partitions on all devices.
4973
4974 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
4977 (readkey): Likewise.
4978
4979 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
4980
4981 Multiple variable names support to "export" command.
4982
4983 * normal/context.c (grub_cmd_export): "export" command supports
4984 multiple variable names.
4985
4986 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
4987
4988 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
4989 --target=drive output to Mach device name.
4990
4991 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
4992
4993 New Automake based build system for GRUB.
4994
4995 * ABOUT-NLS: New file.
4996 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
4997 in Makefile.util.def file.
4998 * Makefile.util.def: New file. Autogen build definitions file for
4999 GRUB host utils.
5000 * conf/Makefile.common: New file. Common variables for GRUB host
5001 utils and target modules.
5002 * conf/Makefile.extra-dist: New file. Extra files for make dist.
5003 * docs/Makefile.am: New file. Automake file for docs.
5004 * gentpl.py: New file. Python script to generate Autogen
5005 template.
5006 * grub-core/Makefile.am: New file. GRUB target modules' rules
5007 that doesn't fit in Makefile.core.def file.
5008 * grub-core/Makefile.core.def: New file. Autogen build
5009 definitions file for GRUB target modules.
5010 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
5011 specific setjmp.S file.
5012 * po/Makefile.am: New file.
5013
5014 * .bzrignore: New ignores.
5015 * INSTALL: New requirements, without Ruby.
5016 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
5017 * autogen.sh: Updated to invoke autogen as necessary.
5018 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
5019 and defines for Automake conditionals.
5020 * geninit.sh: Refactoring.
5021
5022 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
5023 necessary.
5024 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
5025 New prototype.
5026
5027 * include/grub/test.h: Fix functional test modules' naming.
5028 * grub-core/tests/example_functional_test.c: Fix test module name.
5029
5030 * util/misc.c: Hosted versions' of grub functions for libgrub.a
5031 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
5032 * util/grub-editenv.c: Likewise.
5033 * util/grub-fstest.c: Likewise.
5034 * util/grub-mkdevicemap.c: Likewise.
5035 * util/grub-mkfont.c: Likewise.
5036 * util/grub-mkimage.c: Likewise.
5037 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5038 * util/grub-probe.c: Likewise.
5039 * util/grub-script-check.c: Likewise.
5040 * util/i386/pc/grub-setup.c: Likewise.
5041 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5042
5043 * tests/util/grub-shell.in: Fix override directory path.
5044 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
5045 * util/import_gcry.py: Create Makefile.gcry.def file instead.
5046
5047 * util/lvm.c: Update #includes.
5048 * util/raid.c: Likewise.
5049 * util/resolve.c: Likewise.
5050 * grub-core/bus/emu/pci.c: Likewise.
5051 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
5052 * grub-core/lib/posix_wrap/string.h: Likewise.
5053 * grub-core/kern/emu/main.c: Likewise.
5054
5055 * grub-core/gensymlist.sh: New file. Script for generating kernel
5056 symbols file.
5057 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
5058
5059 * grub-core/gentrigtables.c: Fix unused variable warnings.
5060
5061 * Makefile.in: Removed.
5062 * conf/any-emu.rmk: Removed.
5063 * conf/common.rmk: Removed.
5064 * conf/i386-coreboot.rmk: Removed.
5065 * conf/i386-efi.rmk: Removed.
5066 * conf/i386-ieee1275.rmk: Removed.
5067 * conf/i386-multiboot.rmk: Removed.
5068 * conf/i386-pc.rmk: Removed.
5069 * conf/i386-qemu.rmk: Removed.
5070 * conf/i386.rmk: Removed.
5071 * conf/mips-yeeloong.rmk: Removed.
5072 * conf/mips.rmk: Removed.
5073 * conf/powerpc-ieee1275.rmk: Removed.
5074 * conf/sparc64-ieee1275.rmk: Removed.
5075 * conf/tests.rmk: Removed.
5076 * conf/x86-efi.rmk: Removed.
5077 * conf/x86_64-efi.rmk: Removed.
5078 * gendistlist.sh: Removed.
5079 * geninitheader.sh: Removed.
5080 * genkernsyms.sh.in: Removed.
5081 * genmk.rb: Removed.
5082 * gensymlist.sh.in: Removed.
5083 * mkinstalldirs: Removed.
5084 * boot: Moved ...
5085 * grub-core/boot: ... to here.
5086 * bus: Moved ...
5087 * grub-core/bus: ... to here.
5088 * commands: Moved ...
5089 * grub-core/commands: ... to here.
5090 * disk: Moved ...
5091 * grub-core/disk: ... to here.
5092 * efiemu: Moved ...
5093 * grub-core/efiemu: ... to here.
5094 * font: Moved ...
5095 * grub-core/font: ... to here.
5096 * fs: Moved ...
5097 * grub-core/fs: ... to here.
5098 * gencmdlist.sh: Moved ...
5099 * grub-core/gencmdlist.sh: ... to here.
5100 * genemuinit.sh: Moved ...
5101 * grub-core/genemuinit.sh: ... to here.
5102 * genemuinitheader.sh: Moved ...
5103 * grub-core/genemuinitheader.sh: ... to here.
5104 * genfslist.sh: Moved ...
5105 * grub-core/genfslist.sh: ... to here.
5106 * genhandlerlist.sh: Moved ...
5107 * grub-core/genhandlerlist.sh: ... to here.
5108 * genmoddep.awk: Moved ...
5109 * grub-core/genmoddep.awk: ... to here.
5110 * genmodsrc.sh: Moved ...
5111 * grub-core/genmodsrc.sh: ... to here.
5112 * genpartmaplist.sh: Moved ...
5113 * grub-core/genpartmaplist.sh: ... to here.
5114 * genparttoollist.sh: Moved ...
5115 * grub-core/genparttoollist.sh: ... to here.
5116 * genterminallist.sh: Moved ...
5117 * grub-core/genterminallist.sh: ... to here.
5118 * gentrigtables.c: Moved ...
5119 * grub-core/gentrigtables.c: ... to here.
5120 * genvideolist.sh: Moved ...
5121 * grub-core/genvideolist.sh: ... to here.
5122 * gettext: Moved ...
5123 * grub-core/gettext: ... to here.
5124 * gfxmenu: Moved ...
5125 * grub-core/gfxmenu: ... to here.
5126 * gnulib: Moved ...
5127 * grub-core/gnulib: ... to here.
5128 * hello: Moved ...
5129 * grub-core/hello: ... to here.
5130 * hook: Moved ...
5131 * grub-core/hook: ... to here.
5132 * io: Moved ...
5133 * grub-core/io: ... to here.
5134 * kern: Moved ...
5135 * grub-core/kern: ... to here.
5136 * lib: Moved ...
5137 * grub-core/lib: ... to here.
5138 * loader: Moved ...
5139 * grub-core/loader: ... to here.
5140 * mmap: Moved ...
5141 * grub-core/mmap: ... to here.
5142 * normal: Moved ...
5143 * grub-core/normal: ... to here.
5144 * partmap: Moved ...
5145 * grub-core/partmap: ... to here.
5146 * parttool: Moved ...
5147 * grub-core/parttool: ... to here.
5148 * script: Moved ...
5149 * grub-core/script: ... to here.
5150 * term: Moved ...
5151 * grub-core/term: ... to here
5152 * tests/example_functional_test.c: Moved ...
5153 * grub-core/tests/example_functional_test.c: ... to here.
5154 * tests/lib/functional_test.c: Moved ...
5155 * grub-core/tests/lib/functional_test.c: ... to here.
5156 * tests/lib/test.c: Moved ...
5157 * grub-core/tests/lib/test.c: ... to here.
5158 * video: Moved ...
5159 * grub-core/video: ... to here.
5160
5161 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5162
5163 Replace --enable-grub-emu-modules with grub-emu-lite.
5164
5165 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5166 cache.S.
5167
5168 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5169 * kern/emu/full.c: New file. For grub-emu specific initialization.
5170 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5171 * kern/emu/main.c: Call initialization function grub_emu_init.
5172
5173 * Makefile.in: Include grub-emu-lite in install.
5174 * commands/parttool.c: Use grub_no_autoload to differentiate
5175 between grub-emu and grub-emu-lite.
5176 * include/grub/misc.h: New variable grub_no_autoload.
5177
5178 * conf/any-emu.rmk: New rules for grub-emu-lite.
5179 * configure.ac: Remove --enable-grub-emu-modules.
5180 * genmk.rb: Cleanup unnecessary rules.
5181 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5182
5183 * normal/main.c: Don't load list files on grub-emu-lite.
5184 * util/misc.c (grub_arch_sync_caches): Removed.
5185
5186 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
5187
5188 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5189 grub-mkimage rather than grub-mkelfimage.
5190 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5191
5192 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5195 a key after CapsLock or NumLock. It's just a qemu bug.
5196
5197 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5200 needed by libusb wrapper.
5201
5202 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5203
5204 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5205
5206 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5209 --nounzip is passed.
5210
5211 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 USB hotunplugging and USB serial support.
5214
5215 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5216 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5217 (grub_uhci_transfer): Respect timeout and set *actual.
5218 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5219 non-standard length.
5220 (grub_usb_device_attach): Autoload modules.
5221 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5222 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5223 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5224 users updated.
5225 (grub_usb_add_hub): Fill nports and children.
5226 (attach_root_port): Receive hub instead of controller.
5227 All users updated. Fill hub->devices.
5228 (grub_usb_root_hub): Allocate hub->devices.
5229 (detach_device): New function.
5230 (poll_nonroot_hub): Fill children and detach devices.
5231 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
5232 actual arguments. All users updated.
5233 (grub_usb_bulk_read_extended): New function.
5234 * bus/usb/serial/common.c: New file.
5235 * bus/usb/serial/ftdi.c: Likewise.
5236 * bus/usb/serial/pl2303.c: Likewise.
5237 * commands/terminal.c (handle_command): Support wildcard.
5238 * commands/usbtest.c: Output "Unknown" instead of empty string.
5239 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
5240 (usbserial_common_mod_SOURCES): New variable.
5241 (usbserial_common_mod_CFLAGS): Likewise.
5242 (usbserial_common_mod_LDFLAGS): Likewise.
5243 (pkglib_MODULES): Add usbserial_pl2303.mod.
5244 (usbserial_pl2303_mod_SOURCES): New variable.
5245 (usbserial_pl2303_mod_CFLAGS): Likewise.
5246 (usbserial_pl2303_mod_LDFLAGS): Likewise.
5247 (pkglib_MODULES): Add usbserial_ftdi.mod.
5248 (usbserial_ftdi_mod_SOURCES): New variable.
5249 (usbserial_ftdi_mod_CFLAGS): Likewise.
5250 (usbserial_ftdi_mod_LDFLAGS): Likewise.
5251 (pkglib_MODULES): Add serial.mod.
5252 (serial_mod_SOURCES): New variable.
5253 (serial_mod_CFLAGS): Likewise.
5254 (serial_mod_LDFLAGS): Likewise.
5255 * conf/i386-pc.rmk: Likewise.
5256 * conf/mips-yeeloong.rmk: Likewise.
5257 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
5258 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5259 * disk/usbms.c (first_available_slot): New variable.
5260 (grub_usbms_attach): Don't reuse free slots due to potential cache
5261 problems.
5262 * include/grub/serial.h: Moved to ..
5263 * include/grub/ns8250.h: ...this.
5264 * include/grub/serial.h: New file.
5265 * include/grub/term.h (grub_term_poll_usb): New variable.
5266 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
5267 readkey. All users updated.
5268 (grub_terminfo_output_state): Pass term to put.
5269 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
5270 (grub_usb_controller_dev): Add timeout and actual arguments to
5271 transfer. All users updated.
5272 (grub_usb_interface): New field detach_data.
5273 (grub_usb_device): New fields children and nports.
5274 (grub_usb_ep_type_t): New type.
5275 (grub_usb_get_ep_type): New function.
5276 (grub_usb_bulk_read_extended): Likewise.
5277 * include/grub/usbdesc.h (grub_usb_desc): New type.
5278 * include/grub/usbserial.h: New file.
5279 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
5280 * kern/term.c (grub_term_poll_usb): New variable.
5281 (grub_getkey): Call grub_term_poll_usb if set.
5282 (grub_checkkey): Likewise.
5283 (grub_getkeystatus): Likewise.
5284 * term/serial.c: Moved controller-specific parts to ...
5285 * term/ns8250.c: ... here.
5286 * term/serial.c: Mostly rewritten.
5287 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
5288 according to spec.
5289
5290 2010-08-20 Robert Millan <rmh@gnu.org>
5291
5292 Make kFreeBSD code more generic to support ext2fs as root, ufs as
5293 a separate module and maybe other interesting combinations.
5294
5295 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
5296 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
5297 (kfreebsd_entry): Add generic filesystem module load routine.
5298 Map GRUB `ext2' to kFreeBSD `ext2fs'.
5299
5300 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5301
5302 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
5303 "numcenter" (I misunderstood the purpose of this entry).
5304 * docs/grub.texi (sendkey): Likewise.
5305
5306 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
5307
5308 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
5309 status flag options; simply omitting the option is equivalent and
5310 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
5311 (keysym_table): Rename "num5numlock" to "numlock".
5312 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
5313 can uniformly say that only the last of multiple `sendkey'
5314 invocations has any effect.
5315 * docs/grub.texi (sendkey): New section.
5316
5317 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
5318
5319 * commands/i386/pc/sendkey.c (options): Fix three typos.
5320
5321 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 Implement sendkey support.
5324
5325 * commands/i386/pc/sendkey.c: New file.
5326 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
5327 (sendkey_mod_SOURCES): New variable.
5328 (sendkey_mod_CFLAGS): Likewise.
5329 (sendkey_mod_LDFLAGS): Likewise.
5330
5331 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5332
5333 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
5334 fix warnings from Autoconf.
5335
5336 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
5337
5338 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
5339 to avoid false positives with some assemblers that output things
5340 like "someprefix_func" as part of their output.
5341
5342 2010-08-15 Robert Millan <rmh@gnu.org>
5343
5344 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
5345 errors.
5346 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
5347 grub_get_libzfs_handle() errors.
5348
5349 2010-08-14 Robert Millan <rmh@gnu.org>
5350
5351 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
5352 filesystem is not ZFS.
5353
5354 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5355
5356 Fix for misspelled color names defaulting to black/black (bug
5357 reported by Doug Nazar)
5358
5359 * include/grub/normal.h (grub_parse_color_name_pair): Add return
5360 status to prototype.
5361 * normal/color.c (grub_parse_color_name_pair): Return failure
5362 status.
5363 (grub_env_write_color_normal): Ignore bad color names.
5364 (grub_env_write_color_highlight): Likewise.
5365 * normal/main.c (GRUB_MOD_INIT): Set default color names.
5366
5367 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5368
5369 "shift" command support to GRUB script.
5370
5371 * include/grub/script_sh.h (grub_script_shift): New prototype.
5372 * script/execute.c (grub_script_shift): New function.
5373 * script/main.c (grub_script_init): Register shift command.
5374 (grub_script_fini): Unregister shift command.
5375 * util/grub-script-check.c (grub_script_cmd_shift): New function.
5376
5377 * tests/grub_script_shift.in: New testcase.
5378 * conf/tests.rmk: Rules for new testcase.
5379
5380 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5381
5382 "continue" command support to GRUB script.
5383
5384 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
5385 (grub_script_break): Continue support.
5386 * script/main.c (grub_script_init): Register continue command.
5387 (grub_script_fini): Unregister continue command.
5388
5389 * tests/grub_script_continue.in: New testcase.
5390 * conf/tests.rmk: Rules for new testcase.
5391
5392 2010-08-12 BVK Chaitanya <bvk@dbook>
5393
5394 "break" command support to GRUB script.
5395
5396 * conf/common.rmk: Rule updates to grub-script-check.
5397 * include/grub/misc.h (grub_min): New function.
5398 * include/grub/script_sh.h (grub_script_init): New prototype.
5399 (grub_script_fini): New prototype.
5400 (grub_script_break): New prototype.
5401 * script/main.c (grub_script_init): New function.
5402 (grub_script_fini): New function.
5403 * script/execute.c (grub_script_break): New function.
5404 * normal/main.c: Calls to grub_script_{init,fini}.
5405 * util/grub-script-check.c (grub_script_break): New function.
5406
5407 * tests/grub_script_break.in: New testcase.
5408 * conf/tests.rmk: Rules for new test case.
5409
5410 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5411
5412 Function parameters support to GRUB script.
5413
5414 * script/yylex.l (VARIABLE): Regular expression update.
5415 * script/function.c (grub_script_function_call): Moved ...
5416 * script/execute.c (grub_script_function_call): ... to here.
5417 (grub_script_execute_arglist_to_argv): Removed.
5418 (grub_script_arglist_to_argv): New function.
5419 * script/argv.c: New file.
5420 (grub_script_argv_free): New function.
5421 (grub_script_argv_next): Likewise.
5422 (grub_script_argv_append): Likewise.
5423 (grub_script_argv_split_append): Likewise.
5424 * include/grub/script_sh.h (grub_script_argv): New struct.
5425 (grub_script_argv_free): New function.
5426 (grub_script_argv_next): Likewise.
5427 (grub_script_argv_append): Likewise.
5428 (grub_script_argv_split_append): Likewise.
5429
5430 * conf/common.rmk (normal.mod): New source script/argv.c.
5431
5432 * tests/grub_script_echo1.in: More tests.
5433 * tests/grub_script_vars1.in: Likewise.
5434 * tests/grub_script_functions.in: New test case.
5435 * conf/tests.rmk: Rules for new testcase.
5436
5437 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5438
5439 Remove grub_script_cmdblock struct.
5440
5441 * include/grub/script_sh.h: Remove grub_script_cmdblock.
5442 * script/parser.y: Likewise.
5443 * script/execute.c: Rename cmdblock suffix to cmdlist.
5444 * script/script.c: Likewise.
5445 * util/grub-script-check.c: Likewise.
5446
5447 2010-08-11 Yves Blusseau <blusseau@zetam.org>
5448
5449 * .bzrignore: add grub-macho2img
5450
5451 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
5454
5455 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 Remove the dump of sm712 initialisation sequence.
5458
5459 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
5460 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
5461 (GRUB_VGA_IO_MISC_WRITE): Likewise.
5462 (GRUB_VGA_CR_*): Added many registers.
5463 (GRUB_VGA_SR_*): Likewise.
5464 (GRUB_VGA_GR_*): Likewise.
5465 (grub_vga_write_arx): New function.
5466 (grub_video_hw_config): New struct.
5467 (grub_vga_set_geometry): New function.
5468 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
5469 GRUB_PCI_CLASS_SUBCLASS_VGA.
5470 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
5471 * video/sm712.c (grub_sm712_write_reg): New function
5472 (grub_sm712_read_reg): Likewise.
5473 (grub_sm712_sr_write): Likewise.
5474 (grub_sm712_gr_write): Likewise.
5475 (grub_sm712_cr_write): Likewise.
5476 (grub_sm712_write_arx): Likewise.
5477 (grub_sm712_cr_shadow_write): Likewise.
5478 (grub_sm712_write_dda_lookup): Likewise.
5479 (grub_video_sm712_setup): Initialise the video rather then
5480 blindly replay the dump.
5481 (main) [TEST]: Add a routine to be able to compile as standalone for
5482 tests.
5483 * video/sm712_init.c (sm712_init): Removed.
5484 (sm712_sr_seq1): New array.
5485 (sm712_sr_seq2): Likewise.
5486
5487 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * include/grub/vga.h: Add missing grub/pci.h include.
5490
5491 2010-08-10 Yves Blusseau <blusseau@zetam.org>
5492
5493 * util/grub-macho2img.c (main): fix typo
5494
5495 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
5498 (grub_vga_gr_read): Likewise.
5499 (grub_vga_cr_write): Likewise.
5500 (grub_vga_cr_read): Likewise.
5501 (grub_vga_sr_write): Likewise.
5502 (grub_vga_sr_read): Likewise.
5503 (grub_vga_palette_read): Likewise.
5504 (grub_vga_palette_write): Likewise.
5505 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
5506 (grub_sm712_sr_read): New function.
5507 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
5508 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
5509
5510 2010-08-09 Robert Millan <rmh@gnu.org>
5511
5512 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
5513 out unused variables on non-ZFS build.
5514
5515 2010-08-08 Robert Millan <rmh@gnu.org>
5516
5517 Fix path generation for sub-filesystems in ZFS.
5518
5519 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
5520 missing slash.
5521
5522 2010-08-08 Robert Millan <rmh@gnu.org>
5523
5524 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
5525
5526 2010-08-08 Robert Millan <rmh@gnu.org>
5527
5528 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
5529 exist, issue a proper error message (rely on `ls' for translated
5530 strings).
5531
5532 2010-08-08 Robert Millan <rmh@gnu.org>
5533
5534 Fix grub-probe invocation.
5535
5536 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
5537
5538 2010-08-04 Robert Millan <rmh@gnu.org>
5539
5540 * configure.ac: Remove checks for getfsstat() and getmntany().
5541 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
5542 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
5543 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
5544 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
5545 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
5546 function.
5547 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
5548 via find_mount_point_from_dir() and getfsstat() / getmntany().
5549
5550 2010-08-04 Robert Millan <rmh@gnu.org>
5551
5552 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5553 (grub_find_zpool_from_mount_point): Merge into ...
5554 (grub_find_zpool_from_dir): ... this.
5555 * kern/emu/misc.c: Likewise.
5556
5557 * kern/emu/misc.c
5558 (grub_make_system_path_relative_to_its_root): Replace
5559 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
5560 with grub_find_zpool_from_dir().
5561 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
5562
5563 2010-08-04 Robert Millan <rmh@gnu.org>
5564
5565 Support OpenSolaris in ZFS device resolution.
5566
5567 * configure.ac: Check for getmntany().
5568 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
5569 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
5570 support.
5571
5572 2010-08-03 Robert Millan <rmh@gnu.org>
5573
5574 Fix grub-emu build.
5575
5576 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
5577 * include/grub/emu/misc.h: ... here.
5578
5579 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
5580 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
5581
5582 * util/misc.c: Remove `<grub/util/libzfs.h>'.
5583 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
5584 (grub_get_libzfs_handle): Move to ...
5585 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
5586 (grub_get_libzfs_handle): ... here.
5587
5588 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
5589
5590 * script/execute.c (grub_script_execute_cmdline): Check for NULL
5591 as command name case.
5592
5593 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
5594
5595 * disk/raid.c (insert_array): Select unique numbers for named arrays
5596 as well, for use as keys in the disk cache.
5597
5598 2010-08-01 Robert Millan <rmh@gnu.org>
5599
5600 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
5601 kFreeBSD device name, except on ZFS where the filesystem label is
5602 used.
5603 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
5604 `/boot/zfs/zpool.cache'.
5605 Set mountfrom kernel variable using ${kfreebsd_device}.
5606
5607 2010-08-01 Robert Millan <rmh@gnu.org>
5608
5609 Make it even harder to use uninitialized `libzfs_handle' (and
5610 make the interface a bit simpler).
5611
5612 * include/grub/util/misc.h (grub_util_init_libzfs)
5613 (libzfs_handle): Remove.
5614 (grub_get_libzfs_handle): New prototype.
5615
5616 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
5617 attribute.
5618 (grub_util_init_libzfs): Remove.
5619 (grub_get_libzfs_handle): New function.
5620
5621 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
5622 grub_get_libzfs_handle() to obtain a libzfs handle instead of
5623 accessing `libzfs_handle' directly.
5624
5625 2010-08-01 Robert Millan <rmh@gnu.org>
5626
5627 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5628 (grub_find_zpool_from_mount_point): New function prototypes.
5629
5630 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5631 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5632
5633 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5634 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5635 `static' attribute.
5636
5637 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5638 finding zpool from mount point into ...
5639 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5640
5641 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5642 requested path is part of a ZFS pool, use
5643 grub_find_zpool_from_mount_point() to detect its filesystem name,
5644 and generate a path with `/fsname@path' syntax.
5645
5646 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5647
5648 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
5649 (void) rather than () so that this is a proper prototype.
5650
5651 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
5654
5655 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
5658 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
5659
5660 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5661
5662 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
5663
5664 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5665
5666 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
5667
5668 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5669
5670 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
5671 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
5672 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
5673 disable gfxpayload.
5674 (Shell-like scripting): Add real content.
5675 (Serial terminal): Suggest `terminal_input serial; terminal_output
5676 serial' rather than putting the two commands on separate lines,
5677 since console input will be inoperative after the first command.
5678 (menuentry): Document --class, --users, and --hotkey options.
5679 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
5680 Vladimir Serbinenko).
5681
5682 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5683 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5684
5685 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
5686
5687 2010-08-01 Robert Millan <rmh@gnu.org>
5688
5689 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5690 (grub_find_zpool_from_mount_point): New function prototypes.
5691
5692 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5693 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5694
5695 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5696 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5697 `static' attribute.
5698
5699 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5700 finding zpool from mount point into ...
5701 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5702
5703 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5704 requested path is part of a ZFS pool, use
5705 grub_find_zpool_from_mount_point() to detect its filesystem name,
5706 and generate a path with `/fsname@path' syntax.
5707
5708 2010-08-01 Robert Millan <rmh@gnu.org>
5709
5710 Prevent accidental use of uninitialized libzfs_handle.
5711
5712 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
5713 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
5714 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
5715
5716 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
5717
5718 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
5719 util/grub.d/10_linux.in). Fixes Debian bug #591093.
5720
5721 2010-08-01 Robert Millan <rmh@gnu.org>
5722
5723 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
5724
5725 2010-07-31 Robert Millan <rmh@gnu.org>
5726
5727 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
5728
5729 2010-07-31 Robert Millan <rmh@gnu.org>
5730
5731 * kern/emu/misc.c: Add missing license header.
5732
5733 2010-07-31 Robert Millan <rmh@gnu.org>
5734
5735 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
5736
5737 * include/grub/util/libnvpair.h: Include `<config.h>'.
5738 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
5739 declaring libnvpair prototypes ourselves.
5740 * include/grub/util/libzfs.h: Include `<config.h>'.
5741 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
5742 declaring libzfs prototypes ourselves.
5743
5744 (libzfs_handle): Moved to ...
5745 * include/grub/util/misc.h (libzfs_handle): ... here.
5746 Include `<grub/util/libzfs.h>'.
5747
5748 2010-07-30 Robert Millan <rmh@gnu.org>
5749
5750 * include/grub/emu/misc.h: Add missing license header.
5751
5752 2010-07-30 Robert Millan <rmh@gnu.org>
5753
5754 Enable `grub-probe -t device' resolution on ZFS.
5755
5756 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
5757 * include/grub/util/libnvpair.h: New file.
5758 * include/grub/util/libzfs.h: New file.
5759
5760 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
5761 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
5762 `<grub/util/libnvpair.h>'.
5763 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
5764
5765 (find_mount_point_from_dir): New static function.
5766 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
5767 function.
5768 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
5769 find_root_device_from_libzfs() before ressorting to find_root_device().
5770
5771 * include/grub/util/misc.h (grub_util_init_libzfs): New function
5772 prototype.
5773 * util/misc.c: Include `<grub/util/libzfs.h>'.
5774 (grub_util_init_libzfs): New function.
5775 [HAVE_LIBZFS] (libzfs_handle): New global variable.
5776 [HAVE_LIBZFS] (fini_libzfs): New static function.
5777 (grub_util_init_libzfs): New function.
5778 * util/grub-probe.c (main): Call grub_util_init_libzfs().
5779
5780 2010-07-30 Robert Millan <rmh@gnu.org>
5781
5782 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
5783 (xmalloc, xrealloc, xstrdup, xasprintf): Add
5784 `warn_unused_result' attribute.
5785 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
5786 (grub_xasprintf, grub_xvasprintf): Likewise.
5787 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
5788
5789 2010-07-29 Robert Millan <rmh@gnu.org>
5790
5791 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
5792 (probe): Handle `PRINT_FS_LABEL'.
5793 (main): Handle `-t fs_label'.
5794
5795 2010-07-29 Robert Millan <rmh@gnu.org>
5796
5797 * configure.ac: Remove grub-mkisofs checks.
5798
5799 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * util/ieee1275/grub-install.in: Don't use empty grub_device.
5802 Reported by: Lennart Sorensen.
5803
5804 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
5807 prior to terminal_input/terminal_output separation. It's been over 1.5
5808 years and those versions weren't widely deployed.
5809
5810 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
5811
5812 * disk/raid.c (insert_array): Don't count named arrays when looking
5813 for unused array numbers.
5814 Reported and tested by: Michael Guntsche.
5815
5816 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5817
5818 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
5819 implementation of this so that grub-emu links again, with a note
5820 that this should support hotplugging in the future.
5821
5822 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5823
5824 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
5825
5826 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5827
5828 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
5829 handle on failure.
5830 (grub_loopback_close): Remove empty function.
5831 (grub_loopback_dev): Remove close method.
5832
5833 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5834
5835 Disable EFI cursor when the EFI console becomes inactive.
5836
5837 * term/efi/console.c (grub_efi_console_init): New function.
5838 (grub_efi_console_fini): New function.
5839 (grub_console_term_output): Register init and fini methods.
5840
5841 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 * tests/util/grub-shell-tester.in: Remove bashism and declare as
5844 sh script.
5845
5846 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * disk/loopback.c (grub_loopback): Replace filename with file.
5849 (delete_loopback): Handle new semantics.
5850 (grub_cmd_loopback): Likewise.
5851 (grub_loopback_iterate): Likewise.
5852 (grub_loopback_close): Likewise.
5853
5854 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5855
5856 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
5857 with -p "".
5858 Reported by: Tito Keitel.
5859
5860 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * docs/grub.texi (Naming convention): Document new naming convention.
5863
5864 2010-07-20 Vadim Solomin <vadic052@gmail.com>
5865 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5866
5867 Generate device.map in something closer to the old ordering.
5868
5869 * util/deviceiter.c (struct device): New declaration.
5870 (compare_file_names): Rename to ...
5871 (compare_devices): ... this. Sort by kernel name in preference to
5872 the stable by-id name, but keep the latter as a fallback comparison.
5873 Update header comment.
5874 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
5875 of `struct device' rather than of plain file names.
5876
5877 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
5878
5879 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
5880 on i386.
5881
5882 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * commands/acpi.c (setup_common_tables): Use sizeof instead of
5885 hardcoding size.
5886 (setv1table): Likewise.
5887
5888 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5889
5890 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
5891 removing the homehost if present.
5892 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
5893 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
5894 removing the homehost if present.
5895 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
5896 if possible.
5897 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
5898
5899 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
5900 parameter. Set its pointer target to 0.
5901 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
5902 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
5903 `data_offset' value from the superblock for 1.x metadata.
5904 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
5905 data on the device.
5906 (insert_array): Record the start sector of data on the device.
5907 (grub_raid_register): Pass start_sector parameters to
5908 grub_raid_list->detect and insert_array.
5909 * include/grub/raid.h (struct grub_raid_array): Add start_sector
5910 member.
5911 (struct grub_raid): Add start_sector parameter to `detect'.
5912
5913 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
5914 __attribute__ ((packed)), leaving a comment.
5915 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
5916 (grub_mdraid_detect_09): ... here and ...
5917 (grub_mdraid_detect_1x): ... here.
5918
5919 2010-07-20 Peter Henn <peter.henn@web.de>
5920
5921 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
5922 chunk size and disk size, which are already given as sector counts
5923 as distinct from the 0.90 units. Fetch the correct device number
5924 from the role table instead of using the table index.
5925
5926 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
5927
5928 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
5929 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
5930 (WriteMostly1): New macro.
5931 Set array->name to NULL for metadata format 0.90. Add support for
5932 metadata 1.x. Fix some comments.
5933 * disk/raid.c (): Add support for name based RAID arrays. Fix a
5934 few comments.
5935 * util/getroot.c (grub_util_get_grub_dev): Add support for
5936 /dev/md/name style devices.
5937
5938 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
5939
5940 * .bzrignore: Ignore 20_linux_xen.
5941
5942 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
5943
5944 * util/import_unicode.py: Remove unnecessary imports.
5945
5946 2010-07-17 Aleš Nesrsta <starous@volny.cz>
5947
5948 Hotplugging and USB hub support.
5949
5950 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
5951 (grub_ohci): Likewise.
5952 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
5953 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
5954 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
5955 (GRUB_OHCI_CTRL_EDS): Likewise.
5956 (GRUB_OHCI_BULK_EDS): Likewise.
5957 (GRUB_OHCI_TDS): Likewise.
5958 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
5959 (grub_ohci_ed_phys2virt): New function.
5960 (grub_ohci_virt_to_phys): Likewise.
5961 (grub_ohci_td_phys2virt): Likewise.
5962 (grub_ohci_td_virt2phys): Likewise.
5963 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
5964 attachment.
5965 (grub_ohci_find_ed): New function.
5966 (grub_ohci_alloc_td): Likewise.
5967 (grub_ohci_free_td): Likewise.
5968 (grub_ohci_free_tds): Likewise.
5969 (grub_ohci_transfer): Use previously allocated memory.
5970 (grub_ohci_portstatus): Reset status changed bit.
5971 (grub_ohci_detect_dev): Supply status changed.
5972 (grub_ohci_fini_hw): Free memory.
5973 (grub_ohci_restore_hw): Reallocate memory.
5974 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
5975 Reset status change.
5976 (grub_uhci_detect_dev): Supply status_change.
5977 * bus/usb/usb.c (attach_hooks): New var.
5978 (grub_usb_device_attach): New function.
5979 (grub_usb_register_attach_hook_class): Likewise.
5980 (grub_usb_unregister_attach_hook_class): Likewise.
5981 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
5982 (grub_usb_add_hub): Reset connection changed bit.
5983 (attach_root_port): New function.
5984 (grub_usb_root_hub): Likewise.
5985 (poll_nonroot_hub): Likewise.
5986 (grub_usb_poll_devices): Likewise.
5987 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
5988 * disk/usbms.c (grub_usbms_open): Use device hooks.
5989 (grub_usbms_iterate) :Poll devices.
5990 (grub_usbms_finddevs): Split into ...
5991 (grub_usbms_attach): ... this ...
5992 (grub_usbms_attach): ... and this.
5993 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
5994 in detect_dev.
5995 (grub_usb_interface): New fields attached and detach_hook.
5996 (grub_usb_attach_hook_class): New type.
5997 (grub_usb_attach_desc): New struct.
5998 (grub_usb_register_attach_hook_class): New function.
5999 (grub_usb_unregister_attach_hook_class): Likewise.
6000 (grub_usb_poll_devices): Likewise.
6001 (grub_usb_device_attach): Likewise.
6002 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
6003 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
6004
6005 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
6008 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
6009 delta determination style. Works with most NetBSD partitions too.
6010
6011 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
6014 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
6015
6016 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
6019
6020 2010-07-14 Anton Blanchard <anton@samba.org>
6021
6022 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
6023 ET_DYN files.
6024
6025 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6026
6027 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
6028
6029 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6030
6031 * kern/partition.c (grub_partition_check_containment): New function to
6032 check that a partition is physically contained in a parent. Since
6033 offsets are relative (and non-negative), this reduces to checking that
6034 the partition ends before its parent.
6035 (grub_partition_map_probe): Discard out-of-range sub-partitions.
6036 (grub_partition_iterate): Likewise.
6037 * include/grub/partition.h (grub_partition_map): Slightly more detailed
6038 comments.
6039 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
6040 partitions that start before their parent, and add debug printfs.
6041
6042 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6043
6044 * Makefile.in (.SUFFIX): Spell correctly, as ...
6045 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
6046 bare module name without `.mod', e.g. `test') tried to invoke a
6047 Modula-2 compiler.
6048
6049 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
6050
6051 * README: Point to the Info manual.
6052
6053 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
6054
6055 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
6056 2nd superblock position from partition size.
6057
6058 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
6059
6060 * Makefile.in (MAINTAINER_CLEANFILES): Remove
6061 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
6062 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
6063 outputs.
6064
6065 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 Restructure SCSI .id handling.
6068 Reported and tested by: Aleš Nesrsta.
6069
6070 * disk/ata.c (grub_atapi_close): Removed. All users updated.
6071 (grub_atapi_dev): Changed .name to "ata". New field .id.
6072 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
6073 (grub_usbms_dev): New field .id.
6074 * disk/scsi.c (grub_scsi_iterate): Generate name.
6075 (grub_scsi_open): Parse name.
6076 * include/grub/scsi.h (grub_make_scsi_id): New function.
6077 (grub_scsi_dev): Change iterate and open to number instead of naming
6078 busses. All users updated.
6079 (grub_scsi): Remove name. Add .bus.
6080
6081 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * commands/help.c (grub_cmd_help): Fix a typo.
6084
6085 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
6088 Reported and tested by: Colin Watson.
6089
6090 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
6093 in this context.
6094
6095 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
6098
6099 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
6100
6101 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
6102 indentation.
6103
6104 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6105
6106 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
6107 and disk/raid6_recover.c.
6108 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6109 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6110
6111 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6112
6113 * term/gfxterm.c (repaint_schedulded): Rename to ...
6114 (repaint_scheduled): ... this. Update all callers.
6115 (repaint_was_schedulded): Rename to ...
6116 (repaint_was_scheduled): ... this. Update all callers.
6117
6118 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6119
6120 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
6121 which we expect to be handled by upper layers.
6122
6123 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
6124
6125 * bus/usb/usbhub.c: #include time.h header.
6126
6127 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6128
6129 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
6130 entry_name also for entries without stat blocks (e.g. ".."); fixes
6131 corruption of the first entry in a directory.
6132
6133 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
6134
6135 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
6136 after setting gfxterm as the active terminal. GRUB_BACKGROUND
6137 doesn't work otherwise.
6138
6139 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6140
6141 * docs/grub.texi (Features): Update list of supported file systems.
6142 (GNU/Linux): Update for GRUB 2.
6143 (Serial terminal): Remove mention of --disable-serial, which was a
6144 GRUB Legacy configure option. Update instructions to use
6145 `terminal_input' and `terminal_output' rather than `terminal'.
6146 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
6147 configuration' and `Installing GRUB using grub-install'.
6148 (Menu entry editor): Update for GRUB 2.
6149 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
6150 Document new -a, -u, and -v options.
6151 (initrd): New section.
6152 (initrd16): New section.
6153 (linux): New section.
6154 (linux16): New section.
6155 (search): The `var' argument to `--set' is optional.
6156 (GRUB only offers a rescue shell): Go into a little more detail on
6157 drive ordering.
6158
6159 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6160
6161 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6162
6163 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6164
6165 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6166 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6167
6168 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
6169
6170 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6171 install_prefix, in line with install_dos_part and install_bsd_part.
6172 Add new prefix variable, which is copied to install_prefix after
6173 comparing core.img in memory with the one read from disk in the
6174 no-embedding case, and use that rather than overwriting
6175 install_prefix immediately when installing to a partition.
6176 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6177 Bicakci.
6178
6179 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6180
6181 * configure.ac: Avoid == in test command, it's not portable.
6182 * util/grub.d/30_os-prober.in: Likewise.
6183
6184 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
6185
6186 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6187
6188 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6189
6190 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6191 multiple (top-level) partmaps.
6192
6193 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * util/i386/efi/grub-install.in: Don't use empty grub_device.
6196 Reported by: Tino Keitel.
6197
6198 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 Bidi and diacritics support.
6201
6202 * Makefile.in (widthspec.bin): New target.
6203 (widthspec.h): Likewise.
6204 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6205 * autogen.sh: Generate unidata.c.
6206 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6207 * commands/ls.c (grub_ls_list_devices): Likewise.
6208 (grub_ls_list_files): Likewise.
6209 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6210 (grub_mini_cmd_lsmod): Likewise.
6211 * commands/read.c: Likewise.
6212 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6213 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6214 * lib/arg.c (grub_arg_show_help): Likewise.
6215 * lib/crypto.c (grub_password_get): Likewise.
6216 * normal/auth.c (grub_username_get): Likewise.
6217 * normal/misc.c (grub_normal_print_device_info): Likewise.
6218 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6219 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6220 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6221 (normal/charset.c_DEPENDENCIES): New variable.
6222 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6223 (pkglib_MODULES): Remove charset.mod.
6224 (charset_mod_SOURCES): Removed.
6225 (charset_mod_CFLAGS): Likewise.
6226 (charset_mod_LDFLAGS): Likewise.
6227 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6228 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6229 and term/tparm.c.
6230 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6231 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6232 (kernel_img_HEADERS): Add terminfo.h.
6233 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
6234 Fill ->font. Reverse ascii bitmaps.
6235 (grub_font_get_xheight): New function.
6236 * font/font.c (grub_font_get_string_width): Moved from here ...
6237 * gfxmenu/font.c (grub_font_get_string_width): ... here.
6238 * font/font.c (grub_font_draw_string): Moved from here ...
6239 * gfxmenu/font.c (grub_font_draw_string): ... here.
6240 * font/font.c (grub_font_dup_glyph): New function.
6241 (grub_font_blit_glyph): Likewise.
6242 (grub_font_blit_glyph_mirror): Likewise.
6243 (blit_comb): Likewise.
6244 (grub_font_construct_dry_run): Likewise.
6245 (grub_font_get_constructed_device_width): Likewise.
6246 (grub_font_construct_glyph): Likewise.
6247 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
6248 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
6249 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
6250 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
6251 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
6252 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
6253 (grub_font_get_xheight): New proto.
6254 (grub_font_get_constructed_device_width): Likewise.
6255 (grub_font_construct_glyph): Likewise.
6256 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
6257 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
6258 * include/grub/font.h (grub_font_draw_string): Moved from here ...
6259 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
6260 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
6261 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
6262 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
6263 (grub_console_getcharwidth): Likewise.
6264 * include/grub/misc.h (grub_xputs): New proto.
6265 (grub_puts): Inlined.
6266 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
6267 (grub_normal_get_line_counter): Removed.
6268 (grub_install_newline_hook): Likewise.
6269 (grub_normal_get_char_counter): New proto.
6270 (grub_normal_reset_more): Likewise.
6271 (grub_xputs_normal): Likewise.
6272 * include/grub/powerpc/ieee1275/console.h: Removed.
6273 * include/grub/sparc64/ieee1275/console.h: Likewise.
6274 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
6275 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
6276 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
6277 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
6278 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
6279 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
6280 (grub_term_input): Pass reference to self. All users updated.
6281 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
6282 Pass reference to self. New fields normal_color, highlight_color and
6283 data. All users updated.
6284 (grub_putchar): Removed.
6285 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
6286 (grub_unicode_estimate_width): New function.
6287 (grub_term_getcharwidth): Add defaults.
6288 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
6289 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
6290 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
6291 (grub_cls): Remove EXPORT_FUNC.
6292 (grub_setcolorstate): Inline.
6293 (grub_newline_hook): Removed.
6294 * include/grub/terminfo.h: Rewritten. All users updated.
6295 * include/grub/unicode.h: New file.
6296 * include/grub/video.h (grub_video_signed_rect): New type.
6297 * kern/emu/console.c (grub_console_highlight_color): Removed.
6298 (grub_console_normal_color): Likewise.
6299 (grub_console_standard_color): Made static.
6300 (grub_ncurses_putchar): Remove mapping.
6301 (grub_ncurses_getcharwidth): Removed.
6302 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6303 (grub_ncurses_setcolor): Removed.
6304 (grub_ncurses_getcolor): Likewise.
6305 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
6306 (grub_console_putchar): ... this.
6307 (grub_console_putchar): Handle argument difference.
6308 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
6309 console_init_early and console_init_lately.
6310 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
6311 * kern/misc.c (grub_puts): Removed.
6312 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
6313 (grub_vsnprintf_real): Remove str = NULL support.
6314 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
6315 * normal/charset.c (grub_utf8_to_ucs4): ... here.
6316 * kern/term.c (grub_putcode): Renamed to ...
6317 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
6318 (grub_putchar): Removed.
6319 (grub_xputs_dumb): New function.
6320 (grub_xputs): New variable.
6321 * lib/charset.c: Move from here ...
6322 * normal/charset.c: ... to here.
6323 (grub_ucs4_to_utf8): New function.
6324 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
6325 (join_types): New variable.
6326 (unpack_join): New function.
6327 (bidi_types): New variable.
6328 (unpack_bidi): New function.
6329 (get_bidi_type): Likewise.
6330 (get_join_type): Likewise.
6331 (is_mirrored): Likewise.
6332 (grub_unicode_get_comb_type): Likewise.
6333 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
6334 (is_type_after): Likewise.
6335 (grub_unicode_aglomerate_comb): Likewise.
6336 (bidi_line_wrap): Likewise.
6337 (grub_bidi_line_logical_to_visual): Likewise.
6338 (grub_bidi_logical_to_visual): Likewise.
6339 (grub_unicode_mirror_code): Likewise.
6340 (grub_unicode_shape_code): Likewise.
6341 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
6342 Don't use grub_putchar.
6343 * normal/main.c (grub_normal_init_page): Use grub_putcode.
6344 (grub_normal_reader_init): Likewise.
6345 (grub_xputs_saved): New variable.
6346 (GRUB_MOD_INIT): Set grub_xputs.
6347 (GRUB_MOD_FINI): Restore grub_xputs.
6348 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
6349 (menu_init): Avoid printing gfxmenu error.
6350 (show_menu): Use grub_normal_get_char_counter.
6351 * normal/menu_entry.c (update_screen): Fix out-of-array.
6352 (complete): Avoid NULL dereferencing.
6353 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
6354 * normal/menu_text.c (print_spaces): Removed.
6355 (grub_print_ucs4): Likewise.
6356 (grub_print_message_indented): Use grub_print_ucs4.
6357 (print_message): Use grub_putcode.
6358 (print_entry): Hanlde diacritics.
6359 * normal/term.c (term_state): New type.
6360 (grub_more_lines): Removed.
6361 (term_states): New variable.
6362 (grub_normal_line_counter): Renamed to ..
6363 (grub_normal_char_counter): ...this. All users updated.
6364 (grub_normal_get_line_counter): Renamed to ...
6365 (grub_normal_get_char_counter): ... this.
6366 (grub_normal_reset_more): New function.
6367 (process_newline): Removed.
6368 (print_more): New function.
6369 (grub_install_newline_hook): Removed.
6370 (map_code): New function.
6371 (grub_puts_terminal): Use grub_print_ucs4.
6372 (putglyph): New function.
6373 (putcode_real): Likewise.
6374 (grub_putcode): Use putcode_real.
6375 (get_maxwidth): New function.
6376 (get_startwidth): Likewise.
6377 (print_ucs4_terminal): Likewise.
6378 (find_term_state): Likewise.
6379 (put_glyphs_terminal): Likewise.
6380 (print_backlog): Likewise.
6381 (print_ucs4_real): Likewise.
6382 (grub_print_ucs4): Likewise.
6383 (grub_xputs_normal): Likewise.
6384 * term/efi/console.c (grub_console_putchar): Output diacritics.
6385 (grub_console_getcharwidth): Removed.
6386 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6387 * term/gfxterm.c (clear_char): Free chars.
6388 (scroll_up): Avoid leaking memory.
6389 (grub_gfxterm_putchar): Support diacritics.
6390 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6391 * term/i386/pc/console.c (grub_console_term_output): Declare as
6392 GRUB_TERM_CODE_TYPE_VGA.
6393 * term/i386/pc/vga.c (grub_vga_term): Declare as
6394 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6395 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6396 GRUB_TERM_CODE_TYPE_VGA.
6397 * term/i386/vga_common.c (map_char): Removed.
6398 (grub_console_putchar): Likewise.
6399 (grub_console_getcharwidth): Likewise.
6400 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6401 (colors): Reordered to match terminfo.
6402 (grub_ofconsole_normal_color): Removed.
6403 (grub_ofconsole_writeesc): Likewise.
6404 (grub_ofconsole_highlight_color): Likewise.
6405 (grub_ofconsole_getcharwidth): Likewise.
6406 (grub_ofconsole_setcolorstate): Likewise.
6407 (grub_ofconsole_setcolor): Likewise.
6408 (grub_ofconsole_getcolor): Likewise.
6409 (grub_ofconsole_readkey): Renamed to ...
6410 (readkey): ... this. Remove escape sequence handling. Return -1 on no
6411 key.
6412 (grub_ofconsole_checkkey): Removed.
6413 (grub_ofconsole_getkey): Likewise.
6414 (grub_ofconsole_getxy): Likewise.
6415 (grub_ofconsole_gotoxy): Likewise.
6416 (grub_ofconsole_cls): Likewise.
6417 (grub_ofconsole_refresh): Likewise.
6418 (grub_ofconsole_terminfo_input): New struct.
6419 (grub_ofconsole_terminfo_output): Likewise.
6420 (grub_ofconsole_term_input): Use terminfo.
6421 (grub_ofconsole_term_output): Likewise.
6422 (grub_console_init): Split into ...
6423 (grub_console_init_early): ...this and ...
6424 (grub_console_init_lately): ...this. Use terminfo.
6425 (grub_ofconsole_putchar): Renamed to ...
6426 (put): ... this. Remove mapping.
6427 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6428 * term/serial.c: Simplify using terminfo.
6429 (xpos): Removed.
6430 (ypos): Likewise.
6431 (keep_track): Likewise.
6432 (registered): Likewise.
6433 (input_buf): Likewise.
6434 (npending): Likewise.
6435 (serial_translate_key_sequence): Likewise.
6436 (fill_input_buf): Likewise.
6437 (grub_serial_checkkey): Likewise.
6438 (grub_serial_getkey): Likewise.
6439 (grub_serial_getxy): Likewise.
6440 (grub_serial_gotoxy): Likewise.
6441 (grub_serial_putchar): Likewise.
6442 (grub_serial_cls): Likewise.
6443 (grub_serial_setcolorstate): Likewise.
6444 (grub_serial_setcursor): Likewise.
6445 (serial_hw_init): Use serial_hw_fetch.
6446 (grub_serial_terminfo_input): New variable.
6447 (grub_serial_terminfo_output): Likewise.
6448 (grub_serial_term_input): Use terminfo.
6449 (grub_serial_term_output): Likewise.
6450 * term/terminfo.c (putstr): Use put.
6451 (grub_terminfo_all_free): New function
6452 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
6453 (grub_terminfo_output_register): New function.
6454 (grub_terminfo_output_unregister): Likewise.
6455 (grub_terminfo_getxy): Likewise.
6456 (grub_terminfo_readkey): Likewise.
6457 (grub_terminfo_checkkey): Likewise.
6458 (grub_terminfo_getkey): Likewise.
6459 (grub_terminfo_input_init): Likewise.
6460 (print_terminfo): Likewise.
6461 (grub_cmd_terminfo): Handle encoding.
6462 (grub_terminfo_gotoxy): Track position.
6463 (grub_terminfo_cls): Likewise.
6464 (grub_terminfo_putchar): Likewise.
6465 (grub_terminfo_setcolorstate): Handle colors
6466 (grub_terminfo_cursor_on): This ...
6467 (grub_terminfo_cursor_off): ... and this merged into ...
6468 (grub_terminfo_setcursor): ... this.
6469 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
6470 * unicode/ArabicShaping.txt: New file (imported from Unicode).
6471 * unicode/BidiMirroring.txt: Likewise.
6472 * unicode/UnicodeData.txt: Likewise.
6473 * unicode/COPYING: Likewise.
6474 * util/grub-editenv.c (grub_putchar): Removed.
6475 (grub_xputs_real): New function.
6476 (grub_xputs): New variable.
6477 * util/grub-fstest.c (grub_putchar): Removed.
6478 (grub_xputs_real): New function.
6479 (grub_xputs): New variable.
6480 * util/grub-mkdevicemap.c (grub_putchar): Removed.
6481 (grub_xputs_real): New function.
6482 (grub_xputs): New variable.
6483 * util/grub-probe.c (grub_putchar): Removed.
6484 (grub_xputs_real): New function.
6485 (grub_xputs): New variable.
6486 * util/grub-script-check.c (grub_putchar): Removed.
6487 (grub_xputs_real): New function.
6488 (grub_xputs): New variable.
6489 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
6490 (grub_xputs_real): New function.
6491 (grub_xputs): New variable.
6492 * util/import_unicode.py: New file.
6493 * util/grub-mkfont.c (ft_errmsgs): New array.
6494 (grub_glyph_info): Make bitmap a pointer.
6495 (file_formats): New type WIDTH_SPEC.
6496 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
6497 (options): Add width-spec.
6498 (help): Likewise.
6499 (add_char): Renamed to ...
6500 (add_glyph): ... this.
6501 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
6502 (glyph_replace): New type.
6503 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
6504 (add_char): New function.
6505 (add_subst): Likewise.
6506 (process_cursive): Likewise.
6507 (add_font): Handle GSUB.
6508 (write_font_width_spec): New function.
6509 (main): Sort glyphs.
6510 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
6511 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
6512 * kern/term.c (grub_cls): Moved from here...
6513 * normal/term.c (grub_cls): ... here.
6514
6515 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6516
6517 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
6518 suitable for using within the format argument of printf when
6519 converting grub_size_t.
6520 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
6521 "x" to convert grub_size_t arguments.
6522
6523 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
6526 too long captions.
6527 (list_get_minimal_size): Take selection box into account.
6528
6529 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6530
6531 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
6532 NULL font.
6533
6534 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6535
6536 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
6537 devices when iterating over /dev/disk/by-id; they will be handled
6538 later if appropriate, which they aren't always (e.g. LVM).
6539
6540 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6541
6542 * include/grub/misc.h (grub_reboot): Declare as noreturn.
6543 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
6544 fails.
6545 (grub_halt): Likewise.
6546 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
6547 reset-all fails.
6548 (grub_halt): Don't return, even if all of shut-down, power-off, and
6549 poweroff fail.
6550
6551 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6552
6553 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
6554 arguments, not three.
6555
6556 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6557
6558 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
6559 * util/grub.d/10_linux.in: Use it to check for LVM, so that
6560 LVM-on-RAID is handled correctly.
6561
6562 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6563
6564 * docs/grub.texi (Changes from GRUB Legacy): New section.
6565 (Future): Fix typo.
6566
6567 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
6568
6569 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
6570 grub.d/README accidentally ends up executable for one reason or
6571 another. Ignore it.
6572
6573 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
6576 (gpt_partition_map_iterate): Support non-512B sectors.
6577
6578 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * kern/efi/init.c (grub_efi_init): Disable watchdog.
6581 Tested by: Seth Goldberg.
6582
6583 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
6586 Properly align mbi.
6587 Reported by: Seth Goldberg.
6588
6589 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * util/grub-mkrescue.in: Avoid module duplication.
6592
6593 2010-07-01 Sean Finney <seanius@seanius.net>
6594
6595 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
6596
6597 2010-07-01 Sean Finney <seanius@seanius.net>
6598
6599 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
6600
6601 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * disk/lvm.c (grub_lvm_checkvalue): New function.
6604 (grub_lvm_check_flag): Likewise.
6605
6606 2010-07-01 Robert Millan <rmh@gnu.org>
6607
6608 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
6609 Support 'p' as partition separator on kernel of FreeBSD (used
6610 with GPT labels).
6611 (grub_util_biosdisk_get_grub_dev): Likewise.
6612
6613 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 Yeeloong firmware port.
6616
6617 * boot/mips/yeeloong/fwstart.S: New file.
6618 * bus/cs5536.c (gpiodump): New const.
6619 (set_io_space): New function.
6620 (set_iod): Likewise.
6621 (set_p2d): Likewise.
6622 (grub_cs5536_init_geode): Likewise.
6623 * commands/mips/yeeloong/lsspd.c: New file.
6624 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
6625 (serial_mod_SOURCES): New variable.
6626 (serial_mod_CFLAGS): Likewise.
6627 (serial_mod_LDFLAGS): Likewise.
6628 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
6629 term/terminfo.c and term/tparm.c.
6630 (pkglib_IMAGES): Add fwstart.img.
6631 (fwstart_img_SOURCES): New variable.
6632 (fwstart_img_CFLAGS): Likewise.
6633 (fwstart_img_ASFLAGS): Likewise.
6634 (fwstart_img_LDFLAGS): Likewise.
6635 (fwstart_img_FORMAT): Likewise.
6636 (pkglib_MODULES): Add lsspd.mod.
6637 (lsspd_mod_SOURCES): New variable.
6638 (lsspd_mod_CFLAGS): Likewise.
6639 (lsspd_mod_LDFLAGS): Likewise.
6640 (pkglib_MODULES): Add halt.mod.
6641 (halt_mod_SOURCES): New variable.
6642 (halt_mod_CFLAGS): Likewise.
6643 (halt_mod_LDFLAGS): Likewise.
6644 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
6645 (serial_mod_SOURCES): Removed.
6646 (serial_mod_CFLAGS): Likewise.
6647 (serial_mod_LDFLAGS): Likewise.
6648 * disk/ata.c (check_device): New function.
6649 (grub_ata_device_initialize): Use check_device.
6650 (grub_ata_iterate): Recheck devices.
6651 (grub_ata_open): Likewise.
6652 (grub_atapi_iterate): Likewise.
6653 (grub_atapi_open): Likewise.
6654 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
6655 (GRUB_ATA_CH1_PORT1): Likewise.
6656 (GRUB_ATA_CH0_PORT2): Likewise.
6657 (GRUB_ATA_CH1_PORT2): Likewise.
6658 * include/grub/mips/loongson.h: New file.
6659 * include/grub/mips/yeeloong/ec.h: Likewise.
6660 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
6661 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
6662 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
6663 * include/grub/misc.h (grub_halt): Declare as noreturn.
6664 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
6665 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
6666 (UART_ENABLE_FIFO_TRIGGER1): New definition.
6667 (UART_ENABLE_DTRRTS): Likewise.
6668 (UART_ENABLE_MODEM): Removed.
6669 (UART_ENABLE_OUT2): New const.
6670 * include/grub/term.h (grub_term_register_input_active): New function.
6671 (grub_term_register_output_active): Likewise.
6672 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
6673 argument.
6674 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
6675 (init_pci): New function.
6676 (grub_machine_init): Execute platform init when firmware. Init serial.
6677 (grub_halt): Implement.
6678 (grub_exit): Likewise.
6679 (grub_reboot): Likewise.
6680 * term/serial.c (serial_hw_init): Update macros.
6681 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
6682 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
6683 (image_targets): New target mipsel-yeeloong-flash.
6684 (generate_image): Support IMAGE_YEELOONG_FLASH.
6685 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
6686 (grub_video_sm712_setup): Init card.
6687 (grub_video_sm712_set_palette): Removed.
6688 * video/sm712_init.c: New file.
6689
6690 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
6691
6692 * Makefile.in (install-local): Temporarily prepend $(builddir) to
6693 PATH when running help2man and then run it on the unadorned
6694 executable names, rather than passing $(builddir)/* paths to
6695 help2man. This avoids the build directory ending up in generated
6696 manual pages.
6697
6698 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
6699
6700 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
6701 to avoid accidents when debugging with 'sh -x'.
6702 * util/grub-mkrescue.in: Likewise.
6703 * util/grub.d/00_header.in: Likewise.
6704 * util/grub.d/10_hurd.in: Likewise.
6705 * util/grub.d/10_kfreebsd.in: Likewise.
6706 * util/grub.d/10_linux.in: Likewise.
6707 * util/grub.d/10_netbsd.in: Likewise.
6708 * util/grub.d/10_windows.in: Likewise.
6709 * util/grub.d/20_linux_xen.in: Likewise.
6710 * util/grub.d/30_os-prober.in: Likewise.
6711 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6712
6713 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
6714
6715 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
6716 last character in the buffer.
6717 Reported by: Vladimir Serbinenko.
6718
6719 2010-06-29 Robert Millan <rmh@gnu.org>
6720
6721 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
6722 (Command-line and menu entry commands): Document `badram' command.
6723
6724 2010-06-28 Robert Millan <rmh@gnu.org>
6725
6726 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
6727 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
6728 command using ${GRUB_BADRAM} as parameter.
6729
6730 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6731
6732 * docs/grub.texi (Device map): New section.
6733 (Themes): New section (stub).
6734 * Makefile.in (docs/grub.info): The info documentation now builds
6735 without errors. Make sure it stays that way.
6736
6737 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 Use normal parser for menu entries.
6740 Reported by: Thomas Frauendorfer
6741
6742 * include/grub/parser.h (grub_parser_execute): Don't export.
6743 * normal/menu.c (grub_menu_execute_entry_real): New function.
6744 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
6745
6746 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6747
6748 * docs/grub.texi (Embedded configuration): New section (replacing
6749 old "Preset Menu" stub).
6750 (Images): New section.
6751 (configfile): Note that any menu entries defined in `file' are shown
6752 immediately.
6753
6754 2010-06-28 Josh Triplett <josh@joshtriplett.org>
6755
6756 * mmap/i386/pc/mmap_helper.S: Set CF on return.
6757
6758 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6759
6760 * util/grub-install.in: Add --debug-image= option.
6761
6762 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6763
6764 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
6765 possible on Linux.
6766
6767 * util/deviceiter.c (check_device): Rename to ...
6768 (check_device_readable_unique): ... this. Update all callers.
6769 Maintain and check a list of which devices (by canonicalized name)
6770 have already been seen.
6771 (clear_seen_devices): New function.
6772 (compare_file_names) [__linux__]: New function.
6773 (grub_util_iterate_devices): Clear the list of seen devices on exit
6774 and (just in case) on entry.
6775 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
6776 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
6777 seen-devices list, superseded by general code in check_device.
6778
6779 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
6780
6781 * commands/cat.c (options): New variable.
6782 (grub_cmd_cat): Parse options. If the --dos option is given, print
6783 DOS-style "\r\n" line endings as simple newlines (Debian bug
6784 #586358).
6785 (GRUB_MOD_INIT): Use extcmd.
6786 (GRUB_MOD_FINI): Likewise.
6787 * docs/grub.texi (cat): Document --dos.
6788
6789 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 XEN with Linux grub-mkconfig support.
6792
6793 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
6794 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
6795 GRUB_CMDLINE_XEN_DEFAULT.
6796 * util/grub.d/20_linux_xen.in: New file.
6797
6798 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 Initialise VGA video on qemu ourselves.
6801
6802 * boot/i386/qemu/boot.S: Don't call 0xc000.
6803 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
6804 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
6805 (kernel_img_HEADERS): Add pci.h.
6806 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
6807 * configure.ac: Force unifont on qemu and yeeloong.
6808 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
6809 (grub_vga_palette_write): Use correct register.
6810 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
6811 Call grub_qemu_init_cirrus.
6812 * kern/i386/qemu/init.c: New file.
6813 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
6814
6815 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
6816
6817 2010-06-26 Pavel Roskin <proski@gnu.org>
6818
6819 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
6820 13.
6821
6822 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
6823
6824 * docs/grub.texi (Simple configuration): Explain that
6825 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
6826 set to `true' to disable their respective recovery entries, not
6827 merely set.
6828
6829 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
6830
6831 Make the `source' command slightly faster.
6832
6833 * normal/main.c (grub_normal_execute): Don't re-read list files when
6834 nested.
6835
6836 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
6837
6838 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
6839 field position and mask size to red fields from mode_info, not
6840 green.
6841 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
6842 Remove redundant tag->common.framebuffer_type assignment.
6843 Reported by: Seth Goldberg.
6844
6845 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
6846
6847 Sync up other versions of the Linux loader with Robert Millan's
6848 change of 2010-01-09, "Make loader output a bit more user-friendly".
6849
6850 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
6851 grub_dprintf().
6852 (grub_cmd_linux): Likewise.
6853 (grub_cmd_initrd): Likewise.
6854 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
6855 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6856
6857 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
6858
6859 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
6860 larger than MEMORY_MAP_SIZE.
6861
6862 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
6863
6864 Fix parallel build.
6865
6866 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
6867 dependency.
6868 * script/parser.y: #include grub_script.tab.h header.
6869
6870 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 Support >3GiB and <16MiB RAM in i386-qemu.
6873
6874 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
6875 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
6876 (grub_lower_mem): Removed.
6877 (grub_upper_mem): Likewise.
6878 (mem_size): Made static.
6879 (above_4g): New variable.
6880 (grub_machine_mmap_init): Detect small mem_size and above_4g.
6881 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
6882 support.
6883
6884 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 Cirrus 5446 and Bochs video cards support.
6887
6888 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
6889 video_bochs.mod
6890 (video_cirrus_mod_SOURCES): New variable.
6891 (video_cirrus_mod_CFLAGS): Likewise.
6892 (video_cirrus_mod_LDFLAGS): Likewise.
6893 (video_bochs_mod_SOURCES): Likewise.
6894 (video_bochs_mod_CFLAGS): Likewise.
6895 (video_bochs_mod_LDFLAGS): Likewise.
6896 * include/grub/vga.h: New file.
6897 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
6898 (grub_video_fb_set_page_t): New type.
6899 (grub_video_fb_setup): New prototype.
6900 (grub_video_fb_swap_buffers): Likewise.
6901 (grub_video_fb_get_info_and_fini): Likewise.
6902 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
6903 (CRTC_DATA_PORT): Likewise.
6904 (CRTC_CURSOR): Likewise.
6905 (CRTC_CURSOR_ADDR_HIGH): Likewise.
6906 (CRTC_CURSOR_ADDR_LOW): Likewise.
6907 (CRTC_CURSOR_DISABLE): Likewise.
6908 (update_cursor): Use grub_vga_cr_write.
6909 (grub_vga_text_setcursor): Likewise.
6910 * video/bochs.c: New file.
6911 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
6912 (palette): Likewise.
6913 (palette_size): Likewise.
6914 (framebuffer): New variable.
6915 (grub_video_fb_init): Use 'framebuffer'.
6916 (grub_video_fb_fini): Likewise.
6917 (grub_video_fb_get_info): Likewise.
6918 (grub_video_fb_get_palette): Likewise.
6919 (grub_video_fb_set_palette): Likewise.
6920 (grub_video_fb_set_viewport): Likewise.
6921 (grub_video_fb_get_viewport): Likewise.
6922 (grub_video_fb_map_color): Likewise.
6923 (grub_video_fb_map_rgb): Likewise.
6924 (grub_video_fb_map_rgba): Likewise.
6925 (grub_video_fb_unmap_color): Likewise.
6926 (grub_video_fb_unmap_color_int): Likewise.
6927 (grub_video_fb_fill_rect): Likewise.
6928 (grub_video_fb_blit_bitmap): Likewise.
6929 (grub_video_fb_blit_render_target): Likewise.
6930 (grub_video_fb_scroll): Likewise.
6931 (grub_video_fb_create_render_target): Likewise.
6932 (grub_video_fb_doublebuf_blit_init): Likewise.
6933 (grub_video_fb_set_active_render_target): Handle doublebuffering.
6934 (doublebuf_pageflipping_update_screen): New function.
6935 (doublebuf_pageflipping_init): Likewise.
6936 (grub_video_fb_setup): Likewise.
6937 (grub_video_fb_swap_buffers): Likewise.
6938 (grub_video_fb_get_info_and_fini): Likewise.
6939 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
6940 All users updated.
6941 (doublebuf_pageflipping_commit): Restructured into ...
6942 (doublebuf_pageflipping_set_page): ... this.
6943 (doublebuf_pageflipping_update_screen): Removed.
6944 (doublebuf_pageflipping_init): Likewise.
6945 (double_buffering_init): Likewise.
6946 (grub_video_vbe_setup): Use grub_video_fb_setup.
6947 (grub_video_vbe_swap_buffers): Removed.
6948 (grub_video_vbe_set_active_render_target): Likewise.
6949 (grub_video_vbe_get_active_render_target): Likewise.
6950 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
6951 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
6952 grub_video_fb_set_active_render_target and
6953 grub_video_fb_get_active_render_target.
6954 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
6955 (SEQUENCER_DATA_PORT): Likewise.
6956 (MAP_MASK_REGISTER): Likewise.
6957 (CRTC_ADDR_PORT): Likewise.
6958 (CRTC_DATA_PORT): Likewise.
6959 (START_ADDR_HIGH_REGISTER): Likewise.
6960 (START_ADDR_LOW_REGISTER): Likewise.
6961 (GRAPHICS_ADDR_PORT): Likewise.
6962 (GRAPHICS_DATA_PORT): Likewise.
6963 (READ_MAP_REGISTER): Likewise.
6964 (INPUT_STATUS1_REGISTER): Likewise.
6965 (INPUT_STATUS1_VERTR_BIT): Likewise.
6966 (get_map_mask): Use grub_vga_sr_read.
6967 (set_map_mask): Use grub_vga_sr_write.
6968 (set_read_map): Use grub_vga_gr_write.
6969 (set_start_address): Use grub_vga_cr_write.
6970 * video/sm712.c (framebuffer): Remove leftover fields.
6971
6972 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
6973
6974 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
6975 setting GRUB_VIDEO_BACKEND. Make it available as a user override
6976 instead. Replace the gfxterm backend check with a check that
6977 ${GRUB_PREFIX}/video.lst is non-empty.
6978 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
6979 again.
6980 (load_video): New generated function. Call it before loading
6981 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
6982 * util/grub.d/10_linux.in (linux_entry): Call load_video.
6983 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
6984 * docs/grub.texi (Simple configuration): Document
6985 GRUB_VIDEO_BACKEND.
6986
6987 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 Use video functions in linux and xnu loaders.
6990
6991 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
6992 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
6993 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
6994 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
6995 loader/i386/pc/linux.c.
6996 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
6997 (find_line_len): Removed.
6998 (find_framebuf): Likewise.
6999 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
7000 * loader/i386/efi/xnu.c: Removed.
7001 * loader/i386/pc/xnu.c: Moved from here...
7002 * loader/i386/xnu.c: ...here.
7003
7004 Enable priorities in video drivers.
7005
7006 * include/grub/video.h (grub_video_adapter_prio_t): New type.
7007 (grub_video_adapter): New field prio.
7008 (grub_video_register): Respect prio when inserting.
7009 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
7010 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
7011 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
7012 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
7013 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
7014 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
7015 * video/sm712.c (grub_video_sm712_adapter): Likewise.
7016
7017 Fix SDL driver ID.
7018
7019 * include/grub/video.h (grub_video_driver_id_t): New value
7020 GRUB_VIDEO_DRIVER_SDL.
7021 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
7022
7023 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7024
7025 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
7026 argument to printf.
7027 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7028
7029 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7030
7031 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
7032 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7033
7034 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7035
7036 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
7037 directly, and recommend grub-install instead.
7038 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7039
7040 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
7041
7042 Fix i386-pc prefix handling with nested partitions (Debian bug
7043 #585068). Note that the case where the core image is booted using
7044 multiboot and relocated from its original location still requires
7045 more work.
7046
7047 * kern/i386/pc/init.c (make_install_device): If the prefix starts
7048 with "(,", fill the boot drive in between those two characters, but
7049 expect that a full partition specification including partition map
7050 names will follow.
7051 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
7052 specified, write a prefix without the drive name but including a
7053 full partition specification.
7054
7055 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
7056
7057 * util/grub-mkconfig.in: Ignore non-option arguments, for
7058 compatibility with older versions (before 2010-06-12) which did the
7059 same. In particular, this makes it easier to ship an update-grub
7060 wrapper which is compatible with that used with GRUB Legacy (Debian
7061 bug #586056).
7062
7063 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7064
7065 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
7066 for manual page generation.
7067
7068 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7069
7070 * po/POTFILES: Remove leftover commands/handler.c.
7071
7072 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7073
7074 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
7075 left this script non-functional.
7076
7077 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
7078
7079 * docs/man/grub-emu.h2m: New file.
7080
7081 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
7082
7083 * docs/grub.texi (Commands): Document reduced command set in rescue
7084 mode.
7085 (cpuid): New section.
7086
7087 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
7088
7089 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
7090 new partition naming style.
7091 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
7092
7093 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
7094
7095 Add "-o grub.iso" like cmdline options support.
7096
7097 * util/grub-install.in: Improve cmdline option parsing.
7098 * util/grub-mkconfig.in: Likewise.
7099 * util/grub-mkrescue.in: Likewise.
7100 * util/grub-reboot.in: Likewise.
7101 * util/grub-set-default.in: Likewise.
7102 * util/i386/efi/grub-install.in: Likewise.
7103 * util/ieee1275/grub-install.in: Likewise.
7104 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7105
7106 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7107
7108 * .bzrignore: Ignore 41_custom.
7109
7110 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7111
7112 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
7113
7114 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7115
7116 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
7117 prototype declarations.
7118
7119 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
7120 generating fs, partmap, and video lists.
7121 * include/grub/fs.h (grub_fs_register): Omit prototype if
7122 GRUB_LST_GENERATOR is defined.
7123 * include/grub/partition.h (grub_partition_map_register): Likewise.
7124 * include/grub/video.h (grub_video_register): Likewise.
7125
7126 2010-06-12 Javier Martín <lordhabbit@gmail.com>
7127
7128 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
7129
7130 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7131
7132 * util/grub-mkrescue.in: Support --xorriso argument.
7133
7134 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
7137 Suggested by: Thomas Schmitt.
7138
7139 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
7142 Suggested by: Thomas Schmitt.
7143
7144 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 custom.cfg support.
7147
7148 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
7149 * util/grub.d/41_custom.in: New file.
7150
7151 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
7152
7153 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7154 been merged back into normal.
7155
7156 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7157
7158 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7159 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7160
7161 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
7162
7163 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7164 when generating manual pages.
7165 * docs/man/grub-bin2h.h2m: New file.
7166 * docs/man/grub-editenv.h2m: New file.
7167 * docs/man/grub-fstest.h2m: New file.
7168 * docs/man/grub-install.h2m: New file.
7169 * docs/man/grub-macho2img.h2m: New file.
7170 * docs/man/grub-mkconfig.h2m: New file.
7171 * docs/man/grub-mkdevicemap.h2m: New file.
7172 * docs/man/grub-mkfont.h2m: New file.
7173 * docs/man/grub-mkimage.h2m: New file.
7174 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7175 * docs/man/grub-mkrelpath.h2m: New file.
7176 * docs/man/grub-mkrescue.h2m: New file.
7177 * docs/man/grub-ofpathname.h2m: New file.
7178 * docs/man/grub-pe2elf.h2m: New file.
7179 * docs/man/grub-probe.h2m: New file.
7180 * docs/man/grub-reboot.h2m: New file.
7181 * docs/man/grub-script-check.h2m: New file.
7182 * docs/man/grub-set-default.h2m: New file.
7183 * docs/man/grub-setup.h2m: New file.
7184
7185 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 Use FOR_* macros instead of *_iterate whenever possible.
7188
7189 * commands/handler.c: Removed.
7190 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7191 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7192 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7193 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7194 (grub_probe_SOURCES): Remove kern/parser.c.
7195 (util/grub-script-check.c_DEPENDENCIES): Removed.
7196 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7197 and grub_script_check_init.c.
7198 (grub_script_check_init.lst): Removed.
7199 (grub_script_check_init.h): Likewise.
7200 (grub_script_check_init.c): Likewise.
7201 (pkglib_MODULES): Remove handler.mod and sh.mod.
7202 (handler_mod_SOURCES): Removed.
7203 (handler_mod_CFLAGS): Likewise.
7204 (handler_mod_LDFLAGS): Likewise.
7205 (normal_mod_SOURCES): Remove normal/handler.c.
7206 Add script/main.c, script/script.c, script/execute.c,
7207 script/function.c, script/lexer.c, grub_script.tab.c
7208 and grub_script.yy.c.
7209 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7210 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7211 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7212 (grub_setup_SOURCES): Remove kern/parser.c.
7213 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7214 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7215 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7216 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7217 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7218 (grub_setup_SOURCES): Remove kern/parser.c.
7219 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7220 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7221 * include/grub/command.h (grub_command_iterate): Removed.
7222 (FOR_COMMANDS): New macro.
7223 * include/grub/dl.h (grub_dl): New member next.
7224 (grub_dl_iterate): Removed.
7225 (grub_dl_head): New variable declaration.
7226 (FOR_DL_MODULES): New macro.
7227 * include/grub/fs.h: Include list.h.
7228 (grub_fs): Make next first element.
7229 (grub_fs_list): New variable declaration.
7230 (grub_fs_register): Make inline.
7231 (grub_fs_unregister): Likewise.
7232 (grub_fs_iterate): Removed.
7233 (FOR_FILESYSTEMS): New macro.
7234 * include/grub/handler.h: Removed.
7235 * include/grub/list.h (grub_list_hook_t): Removed.
7236 (grub_list_test_t): Likewise.
7237 (grub_list_pop): Likewise.
7238 (grub_list_iterate): Likewise.
7239 (grub_list_insert): Likewise.
7240 (FOR_LIST_ELEMENTS): New macro.
7241 * include/grub/parser.h (grub_parser_class): Removed.
7242 (grub_parser_register): Likewise.
7243 (grub_parser_unregister): Likewise.
7244 (grub_parser_get_current): Likewise.
7245 (grub_parser_set_current): Likewise.
7246 (grub_register_rescue_parser): Likewise.
7247 (grub_rescue_parse_line): New function.
7248 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
7249 * include/grub/script_sh.h (grub_script_function_list): New variable
7250 declaration.
7251 (FOR_SCRIPT_FUNCTIONS): New macro.
7252 (grub_script_function_iterate): Removed.
7253 (grub_normal_parse_line): New prototype.
7254 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
7255 (FOR_DISABLED_TERM_INPUTS): Likewise.
7256 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7257 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7258 * include/grub/video.h (grub_video_adapter): Move 'next' to first
7259 element.
7260 (grub_video_register): Inline.
7261 (grub_video_unregister): Likewise.
7262 (grub_video_adapter_list): New variable declaration.
7263 (grub_video_iterate): Removed.
7264 (FOR_VIDEO_ADAPTERS): New macro.
7265 * kern/dl.c (grub_dl_list): Removed. All users updated.
7266 (grub_dl_iterate): Removed.
7267 * kern/fs.c (grub_fs_list): Make global.
7268 (grub_fs_register): Removed.
7269 (grub_fs_unregister): Likewise.
7270 (grub_fs_iterate): Likewise.
7271 * kern/handler.c: Removed.
7272 * kern/list.c (grub_list_pop): Removed.
7273 (grub_list_iterate): Likewise.
7274 (grub_list_insert): Likewise.
7275 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
7276 (grub_prio_list_insert): Don't use grub_list_insert.
7277 * kern/main.c (grub_register_rescue_parser): Don't call
7278 grub_register_rescue_parser.
7279 * kern/parser.c (grub_parser_class): Removed.
7280 (grub_parser_execute): Use grub_rescue_parse_line.
7281 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
7282 (grub_rescue_parser): Removed.
7283 (grub_register_rescue_parser): Likewise.
7284 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
7285 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
7286 (grub_auth_check_authentication): Likewise.
7287 * normal/completion.c (iterate_command): Removed.
7288 (grub_normal_do_completion): Use FOR_COMMANDS.
7289 * normal/handler.c: Removed.
7290 * normal/main.c (read_config_file): Remove parser changing.
7291 (grub_normal_execute): Don't call read_handler_list.
7292 (grub_normal_read_line_real): Statically allocate prompt.
7293 (grub_cmdline_run): Use grub_normal_parse_line.
7294 (GRUB_MOD_FINI): Don't call free_handler_list.
7295 * normal/menu_entry.c (run): Likewise.
7296 * script/function.c (grub_script_function_list): Make global.
7297 (grub_script_function_iterate): Removed.
7298 * script/main.c (grub_normal_parse_line): Make global.
7299 (grub_sh_parser): Removed.
7300 (GRUB_MOD_INIT): Likewise.
7301 (GRUB_MOD_FINI): Likewise.
7302 * tests/lib/functional_test.c (grub_functional_test): Use
7303 FOR_LIST_ELEMENTS.
7304 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
7305 (grub_test_run): Use FOR_LIST_ELEMENTS.
7306 * tests/lib/unit_test.c (main): Likewise.
7307 * util/deviceiter.c (grub_util_iterate_devices): Don't use
7308 grub_list_pop.
7309 * util/grub-fstest.c (grub_term_input_class): Removed.
7310 (grub_term_output_class): Likewise.
7311 * util/grub-probe.c: Likewise.
7312 * util/i386/pc/grub-setup.c: Likewise.
7313 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7314 * util/grub-script-check.c (main): Don't call grub_init_all and
7315 grub_fini_all.
7316 * video/video.c (grub_video_adapter_list): Make global.
7317 (grub_video_register): Removed.
7318 (grub_video_unregister): Likewise.
7319 (grub_video_iterate): Likewise.
7320
7321 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
7324 reported by Henrique Ferreiro.
7325
7326 2010-06-09 Robert Millan <rmh@gnu.org>
7327
7328 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
7329 ones, when both are available.
7330
7331 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7332
7333 Make --version uniform and avoid hard-coded program name.
7334
7335 * util/grub-mkimage.c (main): Use `program_name' instead of
7336 hard-coded string.
7337 * util/i386/pc/grub-setup.c (main): Likewise.
7338 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
7339 * util/grub-install.in: Save the basename of $0 in $self, and use the
7340 latter in informational messages. Use the same format for --version
7341 as the binary programs.
7342 * util/grub-mkconfig.in: Likewise.
7343 * util/grub-mkrescue.in: Likewise.
7344 * util/grub-reboot.in: Likewise.
7345 * util/grub-set-default.in: Likewise.
7346 * util/i386/efi/grub-install.in: Likewise.
7347 * util/ieee1275/grub-install.in: Likewise.
7348 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7349
7350 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7351
7352 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
7353 embedding area. Use <= instead of == when checking for non-emptiness.
7354
7355 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7356
7357 * configure.ac: Add `.' to the directories searched for unifont.
7358
7359 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7360
7361 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
7362 grub_script.yy.h.
7363
7364 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7365
7366 * docs/grub.texi (History): Expand to cover GRUB 2.
7367 (Serial terminal): Refer to `terminal_input' and `terminal_output'
7368 commands, not `terminal'.
7369 (serial): Likewise.
7370 (terminal_input): New section.
7371 (terminal_output): New section.
7372 (uppermem): New section (stub).
7373 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
7374
7375 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
7376
7377 * docs/grub.texi (Security): Menu entries are unrestricted by
7378 default, not restricted to superusers as I had previously thought.
7379 Reword to account for this.
7380
7381 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7382
7383 * kern/emu/misc.c (device_mapper_null_log): New function.
7384 (grub_device_mapper_supported): New function.
7385 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
7386 prototype.
7387 * kern/emu/hostdisk.c (find_partition_start): Check whether
7388 device-mapper is supported before trying to use it.
7389 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
7390
7391 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7392
7393 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7394 (File name syntax): Likewise.
7395 (help): --all is no longer supported in GRUB 2. Be more precise
7396 about pattern matching.
7397
7398 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7399
7400 * normal/completion.c (grub_normal_do_completion): When completing
7401 arguments to "set" and the current word contains an equals sign,
7402 skip to after the equals sign before starting completion.
7403
7404 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7405
7406 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7407
7408 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7409
7410 * docs/grub.texi (Network): New section.
7411 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
7412 `(nd)' as in GRUB Legacy.
7413 (pxe_unload): New section.
7414
7415 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7416
7417 * docs/grub.texi (Troubleshooting): `echo' is not usually available
7418 in the rescue shell, so recommend using `set' instead. Thanks,
7419 Jordan Uggla.
7420
7421 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7422
7423 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
7424 (password): New section.
7425 (password_pbkdf2): New section.
7426 (search): New section.
7427 (Security): New section.
7428 (Troubleshooting): New section, currently very incomplete.
7429 (Invoking grub-mkpasswd-pbkdf2): New section.
7430 (Internals): New section, currently very incomplete.
7431
7432 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7433
7434 * util/grub.d/00_header.in: Add some more quoting (of
7435 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
7436 work again.
7437 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
7438
7439 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
7440
7441 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
7442 to `count', fixing variable shadowing that broke the -c option.
7443
7444 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
7445
7446 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
7447 in case they contain spaces.
7448
7449 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7450
7451 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
7452 "part_" to partmap module names, in line with grub-install.
7453 Reported by: Jindřich Makovička (Debian bug #584426).
7454
7455 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
7456
7457 * util/grub-mkimage.c: Make target-related error messages slightly
7458 more helpful; -O talks about "format". Explicitly point to the use
7459 of -O if no target is specified.
7460 Reported by: Didier Raboud (Debian bug #584415).
7461
7462 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
7463
7464 * INSTALL: Document several build requirements for optional features
7465 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
7466
7467 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7468
7469 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
7470 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
7471 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
7472
7473 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7474
7475 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
7476 Thanks to Jordan Uggla for spotting this.
7477
7478 2010-06-02 Aleš Nesrsta <starous@volny.cz>
7479
7480 Finally make USB usable.
7481
7482 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
7483 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
7484 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
7485 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
7486 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
7487 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
7488 (GRUB_OHCI_FSMPS): Likewise.
7489 (GRUB_OHCI_PERIODIC_START): Likewise.
7490 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
7491 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
7492 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
7493 (GRUB_OHCI_SET_PORT_RESET): Likewise.
7494 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
7495 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
7496 (grub_ohci_transaction): Likewise.
7497 (grub_ohci_transfer): Improve condition detection algorithms.
7498 Handle toggle property. Program the transactions correctly.
7499 Improve error handling. Various important fixups.
7500 (grub_ohci_portstatus): Put register writes in right order.
7501 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
7502 (grub_uhci_transfer): Don't show "failed" message on success.
7503 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
7504 array.
7505 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
7506 determine its size.
7507 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
7508 before initialization is completed. Use IN direction for empty
7509 transfers. Use last_trans and compute toggle.
7510 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
7511 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
7512 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
7513 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
7514 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
7515 (grub_usb_device): Increase toggle to 256.
7516 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
7517 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
7518 GRUB_USBMS_SUBCLASS_SFF8070.
7519 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
7520 (grub_scsi_inquiry): New member page and alloc_length.
7521 (grub_scsi_request_sense): New structure.
7522 (grub_scsi_request_sense_data): Likewise.
7523 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
7524 control.
7525 * disk/scsi.c (grub_scsi_request_sense): New function.
7526 (grub_scsi_test_unit_ready): Likewise.
7527 (grub_scsi_inquiry): Fill new fields.
7528 (grub_scsi_read_capacity): Likewise.
7529 (grub_scsi_read10): Add request sense at the end.
7530 (grub_scsi_read12): Likewise.
7531 (grub_scsi_write10): Likewise.
7532 (grub_scsi_write12): Likewise.
7533 (grub_scsi_open): Add Test Unit Ready.
7534 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
7535 Support additional subclasses. Con't clear halt yet. Activate the
7536 proper config. Calculate LUNs correctly.
7537 (grub_usbms_transfer): Various important fixups.
7538
7539 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
7542 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
7543 (grub_ohci_fini_hw): New function.
7544 (grub_ohci_restore_hw): Likewise.
7545 (GRUB_MOD_INIT(ohci)): Register preboot hook.
7546 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
7547 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
7548
7549 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 Dedicated DMA allocations.
7552
7553 * bus/pci.c (grub_memalign_dma32): New function
7554 (grub_dma_free): Likewise.
7555 (grub_dma_get_virt): Likewise.
7556 (grub_dma_get_phys): Likewise.
7557 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
7558 (grub_ohci_pci_iter): Use dma32_alloc.
7559 (grub_ohci_transfer): Likewise.
7560 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7561 (grub_usb_bulk_readwrite): Likewise.
7562 * include/grub/pci.h: Add declarations.
7563
7564 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 CS5536 support.
7567
7568 * bus/cs5536.c: New file.
7569 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
7570 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
7571 (cs5536_mod_SOURCES): New variable.
7572 (cs5536_mod_CFLAGS): Likewise.
7573 (cs5536_mod_LDFLAGS): Likewise.
7574 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
7575 machine/pci.h.
7576 (kernel_img_SOURCES): Add bus/cs5536.c.
7577 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
7578 usb_keyboard.mod.
7579 (usb_mod_SOURCES): New variable.
7580 (usb_mod_CFLAGS): New variable.
7581 (usb_mod_LDFLAGS): New variable.
7582 (usbtest_mod_SOURCES): New variable.
7583 (usbtest_mod_CFLAGS): New variable.
7584 (usbtest_mod_LDFLAGS): New variable.
7585 (ohci_mod_SOURCES): New variable.
7586 (ohci_mod_CFLAGS): New variable.
7587 (ohci_mod_LDFLAGS): New variable.
7588 (usbms_mod_SOURCES): New variable.
7589 (usbms_mod_CFLAGS): New variable.
7590 (usbms_mod_LDFLAGS): New variable.
7591 (usb_keyboard_mod_SOURCES): New variable.
7592 (usb_keyboard_mod_CFLAGS): New variable.
7593 (usb_keyboard_mod_LDFLAGS): New variable.
7594 * include/grub/smbus.h: New file.
7595 * include/grub/cs5536.h: New file.
7596
7597 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7598
7599 * util/grub.d/00_header.in: Add safety check to make sure that
7600 ${locale_dir} exists before trying to probe it.
7601
7602 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7603
7604 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
7605 per the GNU Coding Standards; this is now too obscure to be worth
7606 documenting.
7607 (QNX): Likewise.
7608 (chainloader): Remove cross-reference to `SCO UnixWare'.
7609
7610 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7611
7612 * docs/grub.texi (Chain-loading): New section.
7613 (DOS/Windows): New section, borrowed from GRUB Legacy with details
7614 adjusted for GRUB 2.
7615 (SCO UnixWare): Likewise.
7616 (QNX): Likewise.
7617 (chainloader): Add reference to `Block list syntax'.
7618 (drivemap): New section.
7619 (parttool): New section.
7620
7621 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7622
7623 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
7624 the grub shell'.
7625 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
7626 (Installing GRUB using grub-install): Remove reference to the grub
7627 shell; mention `grub-mkimage' and `grub-setup' instead.
7628 (Invoking grub-install): Likewise.
7629 (Interface): Add reference to `Menu entry editor'.
7630 (serial): Remove `--device' option.
7631
7632 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7633
7634 * docs/grub.texi (Configuration): New section, documenting
7635 configuration file generation using grub-mkconfig. I've left a slot
7636 for documenting the full shell scripting format but have not yet
7637 started on writing that up.
7638 (Invoking grub-mkconfig): New section.
7639
7640 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7641
7642 * docs/grub.texi (direntry): Remove grub-terminfo reference.
7643 (GNU GRUB manual): Likewise.
7644 (General commands): Update description of `terminfo' for GRUB 2.
7645
7646 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7647
7648 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
7649 (GRUB_MOD_INIT): Fix capitalisation.
7650 * docs/grub.texi (Command-line and menu entry commands): Document
7651 gettext and gptsync commands.
7652
7653 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
7654
7655 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
7656 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
7657
7658 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
7659
7660 Add btrfs probing support, currently only in the single-device case.
7661
7662 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
7663 function.
7664 (grub_guess_root_device): Call find_root_device_from_mountinfo
7665 before looking in /dev.
7666
7667 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
7670 GRUB_DISK_SIZE_UNKNOWN.
7671 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
7672
7673 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
7674
7675 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
7676 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
7677 corrupted or not synced properly.
7678
7679 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
7682 Reported by: Seth Goldberg.
7683
7684 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
7687 addition of dest.
7688 Reported by: Seth Goldberg.
7689
7690 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
7693 Reported by: Seth Goldberg.
7694
7695 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
7698 64-bit address as signed on MIPS.
7699
7700 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
7701
7702 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
7703 to the empty string.
7704
7705 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
7706
7707 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
7708
7709 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
7710 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
7711 * kern/misc.c (__enable_execute_stack): Disable on
7712 GRUB_MACHINE_EMU.
7713
7714 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
7715
7716 Make grub-probe work with symbolic links under /dev/mapper as well
7717 as with real block devices. The Linux world seems to be (at best)
7718 in transition here, and GRUB shouldn't get caught in the middle.
7719
7720 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
7721 /dev/mapper.
7722
7723 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
7724
7725 * util/grub-script-check.c (main): Ensure defined behaviour on empty
7726 input files (in which case exit zero).
7727
7728 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
7729
7730 * kern/emu/misc.c (canonicalize_file_name): realpath can still
7731 return NULL for various reasons even if it has a maximum-length
7732 buffer: for example, there might be a symlink loop, or the path
7733 might exceed PATH_MAX. If this happens, return NULL.
7734
7735 2010-05-27 Robert Millan <rmh@gnu.org>
7736
7737 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
7738 partmap module to handle cross-partmap setups.
7739 Reported by Orestes Mas. Gràcies!
7740
7741 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
7742
7743 * util/grub-mkrescue.in: Initialise override_dir rather than
7744 assuming that it's unset or empty in the environment.
7745
7746 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
7747
7748 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
7749 variable index into p_index to suppress a warning with -Wshadow.
7750
7751 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
7752
7753 * INSTALL: Added flex >= 2.5.35 requirement.
7754
7755 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
7758
7759 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 cmostest support.
7762
7763 * commands/i386/cmostest.c: New file.
7764 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
7765 (cmostest_mod_SOURCES): New variable.
7766 (cmostest_mod_CFLAGS): Likewise.
7767 (cmostest_mod_LDFLAGS): Likewise.
7768 * conf/i386-pc.rmk: Likewise.
7769 * docs/grub.texi (Vendor power-on keys): New section.
7770 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
7771 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
7772 and GRUB_BUTTON_CMOS_ADDRESS.
7773 * util/grub.d/00_header.in: Handle powering-on by separate button.
7774
7775 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
7778 Removed drawing_scrollbar argument. All users updated
7779 Fixes #29792.
7780 Reported by Jo Shields
7781
7782 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
7785 buffer since gfxterm handles double repaint.
7786
7787 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
7790 * term/gfxterm.c (real_scroll): Likewise.
7791
7792 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
7795 before calling BIOS.
7796
7797 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 * include/grub/i18n.h: Always enable grub_gettext.
7800
7801 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
7804 partition naming style.
7805
7806 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
7807
7808 * util/grub-mkconfig.in: Fix handling of -o so that it works when
7809 not the first option.
7810
7811 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
7812
7813 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
7814
7815 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
7816
7817 * util/misc.c: Move inclusion of <limits.h> to ...
7818 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
7819
7820 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
7821
7822 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
7823 Fix merge error in NetBSD code.
7824 (find_partition_start) [__NetBSD__]: Likewise.
7825
7826 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
7827
7828 Fix grub-mkrescue usage unit testing.
7829
7830 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
7831
7832 2010-05-18 Christian Franke <franke@computer.org>
7833
7834 * util/grub.d/10_windows.in: Use path names instead of
7835 drive letters to prevent warning from Cygwin 1.7.
7836 Add drivemap command to menuentry if needed.
7837
7838 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
7839
7840 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
7841 gnumach and gnumach.gz.
7842
7843 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 * include/grub/i18n.h (gettext): Inline instead of using #define.
7846 (grub_gettext): Likewise.
7847 (_): Likewise.
7848
7849 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
7852 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
7853 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
7854 (main): Add a slash after pkglibdirroot.
7855
7856 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 * util/grub-install.in: Add missing "in" keyword.
7859
7860 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7861
7862 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
7863 Reported by: Seth Goldberg.
7864
7865 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
7868
7869 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
7870
7871 * configure.ac: Check for Linux device-mapper support.
7872
7873 * util/hostdisk.c (device_is_mapped): New function.
7874 (find_partition_start): New function, partly broken out from
7875 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
7876 device-mapper support added.
7877 (linux_find_partition): Use find_partition_start.
7878 (convert_system_partition_to_system_disk): Add `st' argument.
7879 Support Linux /dev/mapper/* devices if device-mapper support is
7880 available; only DM-RAID devices are understood at present.
7881 (find_system_device): Add `st' argument. Pass it to
7882 convert_system_partition_to_system_disk.
7883 (grub_util_biosdisk_get_grub_dev): Pass stat result to
7884 find_system_device and convert_system_partition_to_system_disk. Use
7885 find_partition_start.
7886
7887 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
7888 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
7889 * util/deviceiter.c [__linux__]: Define MINOR.
7890 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
7891 * util/mkdevicemap.c (grub_putchar): New function.
7892 (grub_getkey): New function.
7893 (grub_refresh): New function.
7894 (main): Set debug=all if -v -v is used.
7895
7896 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
7897
7898 Fix build with non-GNU libcs.
7899
7900 * util/misc.c (canonicalize_file_name): Move to ...
7901 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
7902 grub_make_system_path_relative_to_its_root.
7903
7904 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
7905
7906 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
7907 we handle finding grub-mkimage. Default to finding grub-mkimage in
7908 ${bindir} with program_transform_name applied, and provide a
7909 --grub-mkimage option to override this.
7910
7911 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 Remove grub-mkisofs.
7914
7915 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
7916 (grub_mkisofs_SOURCES): Removed.
7917 (grub_mkisofs_CFLAGS): Removed.
7918 * util/mkisofs/defaults.h: Removed.
7919 * util/mkisofs/eltorito.c: Likewise.
7920 * util/mkisofs/exclude.h: Likewise.
7921 * util/mkisofs/hash.c: Likewise.
7922 * util/mkisofs/include/: Likewise.
7923 * util/mkisofs/include/fctldefs.h: Likewise.
7924 * util/mkisofs/include/mconfig.h: Likewise.
7925 * util/mkisofs/include/prototyp.h: Likewise.
7926 * util/mkisofs/include/statdefs.h: Likewise.
7927 * util/mkisofs/iso9660.h: Likewise.
7928 * util/mkisofs/joliet.c: Likewise.
7929 * util/mkisofs/match.c: Likewise.
7930 * util/mkisofs/match.h: Likewise.
7931 * util/mkisofs/mkisofs.c: Likewise.
7932 * util/mkisofs/mkisofs.h: Likewise.
7933 * util/mkisofs/msdos_partition.h: Likewise.
7934 * util/mkisofs/multi.c: Likewise.
7935 * util/mkisofs/name.c: Likewise.
7936 * util/mkisofs/rock.c: Likewise.
7937 * util/mkisofs/tree.c: Likewise.
7938 * util/mkisofs/write.c: Likewise.
7939
7940 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 Unify grub-mkimage accross platforms.
7943
7944 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
7945 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
7946 (grub_mkelfimage_SOURCES): Removed.
7947 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
7948 (util/grub-mkimage.c_DEPENDENCIES): .. this.
7949 (bin_UTILITIES): Add grub-mkimage.
7950 (grub_mkimage_SOURCES): New variable.
7951 (kernel_img_HEADERS): Remove machine/kernel.h.
7952 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
7953 (pkglib_PROGRAMS): Add kernel.img.
7954 (kernel_img_HEADERS): Add machine/kernel.h.
7955 (kernel_img_FORMAT): Removed.
7956 (bin_UTILITIES): Remove grub-mkimage.
7957 (grub_mkimage_SOURCES): Removed.
7958 (grub_mkimage_CFLAGS): Likewise.
7959 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7960 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
7961 (pkglib_PROGRAMS): Add kernel.img.
7962 (bin_UTILITIES): Remove grub-mkimage.
7963 (grub_mkimage_SOURCES): Removed.
7964 (grub_mkimage_CFLAGS): Likewise.
7965 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7966 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
7967 (pkglib_PROGRAMS): Add kernel.img.
7968 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
7969 (pkglib_PROGRAMS): Add kernel.img.
7970 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
7971 (grub_mkimage_SOURCES): Removed.
7972 (grub_mkimage_CFLAGS): Likewise.
7973 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7974 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
7975 (pkglib_PROGRAMS): Add kernel.img.
7976 (bin_UTILITIES): Remove grub-mkimage.
7977 (grub_mkimage_SOURCES): Removed.
7978 (grub_mkimage_CFLAGS): Likewise.
7979 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7980 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
7981 (grub_mkimage_SOURCES): Removed.
7982 (grub_mkimage_CFLAGS): Likewise.
7983 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7984 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
7985 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
7986 (grub_pe32_optional_header): ... this.
7987 (grub_pe64_optional_header): ... and this. All users updated.
7988 (GRUB_PE32_PE32_MAGIC): Split into ..
7989 (GRUB_PE32_PE32_MAGIC): .. this.
7990 (GRUB_PE32_PE64_MAGIC): .. and this.
7991 (GRUB_PE32_SIGNATURE_SIZE): New definition.
7992 * include/grub/elf.h (PT_GNU_STACK): New definition.
7993 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
7994 * include/grub/i386/efi/kernel.h: Likewise.
7995 * include/grub/i386/kernel.h: Likewise.
7996 * include/grub/i386/pc/kernel.h: Likewise.
7997 * include/grub/i386/qemu/boot.h: Likewise.
7998 * include/grub/mips/kernel.h: Likewise.
7999 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8000 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8001 * include/grub/powerpc/kernel.h: Likewise.
8002 * include/grub/sparc64/ieee1275/boot.h: Likewise.
8003 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8004 * include/grub/sparc64/kernel.h: Likewise.
8005 * include/grub/x86_64/efi/kernel.h: Likewise.
8006 * include/grub/x86_64/kernel.h: Likewise.
8007 * include/grub/offsets.h: New file.
8008 * include/grub/kernel.h (grub_module_info): Split into ...
8009 (grub_module_info32): ... this.
8010 (grub_module_info64): ... and this.
8011 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
8012 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
8013 (grub_boot_blocklist): Moved from here ...
8014 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
8015 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
8016 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
8017 * include/grub/types.h (grub_target_to_host16): Removed.
8018 (grub_target_to_host32): Likewise.
8019 (grub_target_to_host64): Likewise.
8020 (grub_host_to_target16): Likewise.
8021 (grub_host_to_target32): Likewise.
8022 (grub_host_to_target64): Likewise.
8023 (grub_host_to_target_addr): Likewise.
8024
8025 Support grub-mkrescue for efi, coreboot and qemu.
8026
8027 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
8028 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
8029 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
8030 * util/grub-mkrawimage.c: Moved from here ...
8031 * util/grub-mkimage.c: ... here. All users updated.
8032 (ALIGN_ADDR): Use image_target.
8033 (TARGET_NO_FIELD): New const.
8034 (image_target_desc): New type.
8035 (image_targets): New array.
8036 (grub_target_to_host64): Use image_target.
8037 (grub_target_to_host32): Likewise.
8038 (grub_target_to_host16): Likewise.
8039 (grub_host_to_target64): Likewise.
8040 (grub_host_to_target32): Likewise.
8041 (grub_host_to_target16): Likewise.
8042 (grub_host_to_target_addr): Likewise.
8043 (generate_image): Handle multiimage.
8044 (main): Require -O parameter. All users updated.
8045 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
8046 util/efi/grub-mkimage.c
8047 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
8048 New option --rom-directory.
8049 Use xorriso.
8050 * util/i386/efi/grub-mkimage.c: Removed.
8051 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
8052 (grub_target_to_host32): Likewise.
8053 (grub_target_to_host64): Likewise.
8054 (grub_host_to_target16): Likewise.
8055 (grub_host_to_target32): Likewise.
8056 (grub_host_to_target64): Likewise.
8057 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
8058 (grub_target_to_host32): Likewise.
8059 (grub_target_to_host64): Likewise.
8060 (grub_host_to_target16): Likewise.
8061 (grub_host_to_target32): Likewise.
8062 (grub_host_to_target64): Likewise.
8063
8064 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
8065
8066 Source tree is reorganized for emu build.
8067
8068 * include/grub/util/console.h: Move from here...
8069 * include/grub/emu/console.h: ...to here.
8070 * include/grub/util/getroot.h: Move from here...
8071 * include/grub/emu/getroot.h: ...to here.
8072 * include/grub/util/hostdisk.h: Move from here...
8073 * include/grub/emu/hostdisk.h: ...to here.
8074 * util/console.c: Move from here...
8075 * kern/emu/console.c: ...to here.
8076 * util/getroot.c: Move from here...
8077 * kern/emu/getroot.c: ...to here.
8078 * util/grub-emu.c: Move from here...
8079 * kern/emu/main.c: ...to here.
8080 * util/hostdisk.c: Move from here...
8081 * kern/emu/hostdisk.c: ...to here.
8082 * util/hostfs.c: Move from here...
8083 * kern/emu/hostfs.c: ...to here.
8084 * util/mm.c: Move from here...
8085 * kern/emu/mm.c: ...to here.
8086 * util/pci.c: Move from here...
8087 * bus/emu/pci.c: ...to here.
8088 * util/sdl.c: Move from here...
8089 * video/emu/sdl.c: ...to here.
8090 * util/time.c: Move from here...
8091 * kern/emu/time.c: ...to here.
8092 * util/usb.c: Move from here...
8093 * bus/usb/emu/usb.c: ...to here.
8094
8095 * include/grub/emu/misc.h: New header for grub-emu functions.
8096 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
8097
8098 * conf/any-emu.rmk: Rule updates for above renames.
8099 * conf/common.rmk: Likewise.
8100 * conf/i386-pc.rmk: Likewise.
8101 * conf/i386-qemu.rmk: Likewise.
8102 * conf/mips.rmk: Likewise.
8103 * conf/sparc64-ieee1275.rmk: Likewise.
8104 * conf/x86-efi.rmk: Likewise.
8105
8106 * disk/lvm.h: #include updates for above renames.
8107 * util/grub-mkrelpath.c: Likewise.
8108 * util/grub-probe.c: Likewise.
8109 * util/i386/pc/grub-setup.c: Likewise.
8110 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8111 * kern/emu/console.c: Likewise.
8112 * kern/emu/getroot.c: Likewise.
8113 * kern/emu/hostdisk.c: Likewise.
8114 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
8115
8116 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
8117 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
8118 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
8119 * util/misc.c: Remove grub-emu functions.
8120
8121 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 Fix gfxmenu crash.
8124 Reported by: Thorsten Grützmacher.
8125
8126 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
8127 timeout hook.
8128 (circprog_set_property): Register and unregister timeout hook.
8129 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
8130 (label_destroy): Free template. and unregister hook.
8131 (label_set_state): New function.
8132 (label_set_property): Handle templates and hooks.
8133 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
8134 timeout hook.
8135 (progress_bar_set_property): Register and unregister timeout hook.
8136 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
8137 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
8138 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
8139 (update_timeout_visit): Removed.
8140 (update_timeouts): New function.
8141 (redraw_timeouts): Likewise.
8142 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
8143 (grub_gfxmenu_clear_timeout): Likewise.
8144 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
8145 (grub_gfxmenu_timeout_notify): Likewise.
8146 (grub_gfxmenu_timeout_notifications): New external variable.
8147 (grub_gfxmenu_timeout_register): New function.
8148 (grub_gfxmenu_timeout_unregister): Likewise.
8149
8150 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 Transform (broken) vga terminal into (working) vga video driver.
8153
8154 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8155 video/i386/pc/vga.c.
8156 * include/grub/video.h (grub_video_driver_id):
8157 Add GRUB_VIDEO_DRIVER_VGA.
8158 * term/i386/pc/vga.c: Renamed to ...
8159 * video/i386/pc/vga.c: ...this
8160 (DEBUG_VGA): Removed.
8161 (CHAR_WIDTH): Likewise.
8162 (CHAR_HEIGHT): Likewise.
8163 (TEXT_WIDTH): Likewise.
8164 (TEXT_HEIGHT): Likewise.
8165 (DEFAULT_FG_COLOR): Likewise.
8166 (DEFAULT_BG_COLOR): Likewise.
8167 (colored_char): Likewise.
8168 (xpos): Likewise.
8169 (ypos): Likewise.
8170 (cursor_state): Likewise.
8171 (fg_color): Likewise.
8172 (bg_color): Likewise.
8173 (text_buf): Likewise.
8174 (page): Likewise.
8175 (font): Likewise.
8176 (framebuffer): New variable.
8177 (set_read_map): Disabled.
8178 (setup): New variable.
8179 (is_target): Likewise.
8180 (grub_vga_mod_init): Likewise.
8181 (grub_vga_mod_fini): Likewise.
8182 (check_vga_mem): Likewise.
8183 (write_char): Likewise.
8184 (write_cursor): Likewise.
8185 (scroll_up): Likewise.
8186 (grub_vga_putchar): Likewise.
8187 (grub_vga_getcharwidth): Likewise.
8188 (grub_vga_getwh): Likewise.
8189 (grub_vga_getxy): Likewise.
8190 (grub_vga_gotoxy): Likewise.
8191 (grub_vga_cls): Likewise.
8192 (grub_vga_setcolorstate): Likewise.
8193 (grub_vga_setcursor): Likewise.
8194 (grub_video_vga_init): New function.
8195 (grub_video_vga_setup): Likewise.
8196 (grub_video_vga_fini): Likewise.
8197 (update_target): Likewise.
8198 (grub_video_vga_blit_bitmap): Likewise.
8199 (grub_video_vga_blit_render_target): Likewise.
8200 (grub_video_vga_set_active_render_target): Likewise.
8201 (grub_video_vga_get_active_render_target): Likewise.
8202 (grub_video_vga_swap_buffers): Likewise.
8203 (grub_video_vga_set_palette): Likewise.
8204 (grub_video_vga_get_info_and_fini): Likewise.
8205 (grub_vga_term): Removed.
8206 (grub_video_vga_adapter): New variable.
8207 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8208 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8209
8210 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 * video/readers/jpeg.c: Indented.
8213
8214 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 Various jpeg cleanups.
8217
8218 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8219 (grub_jpeg_decode_quan_table): Use sizeof.
8220 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8221
8222 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
8223
8224 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8225 tables. Ignore non-last ac bit.
8226 (grub_jpeg_decode_quan_table): Likewise.
8227
8228 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8229
8230 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8231 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
8232 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8233 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
8234 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8235 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
8236
8237 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
8240 error.
8241
8242 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
8245
8246 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
8249 condition.
8250
8251 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8252
8253 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
8254 part.
8255
8256 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
8259 pointers.
8260
8261 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
8264
8265 2010-05-01 Christian Franke <franke@computer.org>
8266
8267 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
8268 Remove broken Cygwin path conversion.
8269 * util/misc.c: [__CYGWIN__] Add include and define.
8270 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
8271 for Cygwin 1.7.
8272 (make_system_path_relative_to_its_root): Simplify loop, replace early
8273 return by break.
8274 [__CYGWIN__] Add conversion to win32 path.
8275 Include "/" case in trailing slash removal.
8276
8277 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 * kern/main.c (grub_load_config): Fix copy-pasted comment.
8280 Reported by: Seth Goldberg
8281
8282 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * commands/help.c (grub_cmd_help): Fix a typo.
8285 Reported by: Seth Goldberg
8286
8287 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
8290 name and add N_.
8291 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
8292 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
8293 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
8294 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
8295 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
8296 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
8297 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8298 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8299 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8300 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8301 * normal/context.c (GRUB_MOD_INIT): Likewise.
8302 * normal/main.c (GRUB_MOD_INIT): Likewise.
8303 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8304 * term/serial.c (GRUB_MOD_INIT): Likewise.
8305 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8306
8307 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
8310 extra == 0.
8311
8312 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 * commands/iorw.c: New file.
8315 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
8316 (iorw_mod_SOURCES): New variable.
8317 (iorw_mod_CFLAGS): Likewise.
8318 (iorw_mod_LDFLAGS): Likewise.
8319
8320 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 Hotkey support
8323
8324 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
8325 * normal/main.c (hotkey_aliases): New variable.
8326 (grub_normal_add_menu_entry): Parse "--hotkey".
8327 * normal/menu_text.c (run_menu): Handle hotkeys.
8328
8329 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 * kern/i386/coreboot/init.c (grub_machine_init): Call
8332 grub_machine_mmap_init on qemu.
8333
8334 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 * boot/i386/qemu/boot.S: Add a missing .code16.
8337
8338 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 Use LBIO on coreboot.
8341
8342 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
8343 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
8344 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
8345 New declaration.
8346 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
8347 grub_machine_mmap_init on coreboot.
8348 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
8349 GRUB_LINUXBIOS_MEMBER_LINK.
8350 (grub_machine_mmap_iterate): Fix declaration.
8351 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
8352
8353 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 Split coreboot and multiboot ports.
8356
8357 * conf/i386-multiboot.rmk: New file.
8358 * configure.ac: Add multiboot port.
8359 * include/grub/i386/multiboot/boot.h: New file.
8360 * include/grub/i386/multiboot/console.h: Likewise.
8361 * include/grub/i386/multiboot/init.h: Likewise.
8362 * include/grub/i386/multiboot/kernel.h: Likewise.
8363 * include/grub/i386/multiboot/loader.h: Likewise.
8364 * include/grub/i386/multiboot/memory.h: Likewise.
8365 * include/grub/i386/multiboot/serial.h: Likewise.
8366 * include/grub/i386/multiboot/time.h: Likewise.
8367 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
8368 * loader/multiboot.c: Likewise.
8369 * loader/multiboot_mbi2.c: Likewise.
8370 * util/grub-mkrescue.in: Generate multiboot rescue.
8371
8372 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * kern/parser.c (grub_parser_execute): Cope with read-only config.
8375
8376 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 Merge handling of input and output terminals. Fix a hang.
8379
8380 * commands/terminal.c (abstract_terminal): New struct.
8381 (handle_command): New function. Based on grub_cmd_terminal_input.
8382 (grub_cmd_terminal_input): Use handle_command.
8383 (grub_cmd_terminal_output): Use handle_command.
8384
8385 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
8386
8387 Fix comment handling.
8388
8389 * tests/grub_script_comments.in: New testcase.
8390 * conf/tests.rmk: Rules for new testcase.
8391 * script/yylex.l: Updated flex rules.
8392
8393 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8394
8395 * docs/grub.texi (play): Document that zero pitches produce rests.
8396 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8397 if argc is 1.
8398
8399 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8402 autogen issues.
8403
8404 2010-04-26 Christian Franke <franke@computer.org>
8405
8406 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8407 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8408 (grub_get_prefix): Remove function.
8409 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8410 make_system_path_relative_to_its_root ().
8411 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8412
8413 2010-04-24 Christian Franke <franke@computer.org>
8414
8415 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
8416 (kernel_img_LDFLAGS): Remove -static-libgcc.
8417
8418 2010-04-24 Christian Franke <franke@computer.org>
8419
8420 * configure.ac: Do not CHECK_BSS_START_SYMBOL
8421 and CHECK_END_SYMBOL if grub-emu is built.
8422 Unset TARGET_OBJ2ELF if grub-emu is built
8423 without module support.
8424
8425 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
8426
8427 Nilfs2 support.
8428
8429 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
8430 (grub_fstest_SOURCES): Likewise.
8431 (pkglib_MODULES): Add nilfs2.mod.
8432 (nilfs2_mod_SOURCES): New variable.
8433 (nilfs2_mod_CFLAGS): Likewise.
8434 (nilfs2_mod_LDFLAGS): Likewise.
8435 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8436 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8437 * fs/nilfs2.c: New file.
8438
8439 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
8442 is not supported.
8443
8444 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
8445
8446 Add grub-mkconfig support for NetBSD.
8447
8448 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
8449 * util/grub-mkconfig.in: export new NetBSD specific variables.
8450 * po/POTFILES-shell: added 10_netbsd.in.
8451 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
8452
8453 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
8454
8455 Fix emu build with grub-emu-pci and grub-emu-modules.
8456
8457 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
8458 functions.
8459 * include/grub/libpciaccess.h: New file.
8460 * conf/any-emu.rmk: Update kernel headers for emu build.
8461
8462 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
8465
8466 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
8469
8470 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
8473 Retrieve chosen/bootpath if bootpath isn't hardcoded.
8474 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
8475 util/ieee1275/ofpath.c.
8476 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
8477 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
8478 * include/grub/sparc64/ieee1275/boot.h
8479 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
8480 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
8481 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
8482 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
8483 const char *.
8484 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
8485 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
8486 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
8487 install.
8488
8489 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8490
8491 * util/grub-mkconfig.in: Corrected two == equality tests.
8492 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
8493 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
8494 expect a number appended to it.
8495 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
8496 expects a number appended to it.
8497
8498 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
8501
8502 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 * util/hostdisk.c (make_device_name): Change to new partition naming.
8505
8506 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
8509
8510 2010-04-17 Christian Franke <franke@computer.org>
8511
8512 * Makefile.in: Add missing localedir setting.
8513
8514 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
8515
8516 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
8517 mistake in r2156. Noticed by Anthony Fok.
8518
8519 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
8520 @localedir@.
8521 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8522
8523 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
8524
8525 Fix a spurious, uninitialized variable warning.
8526
8527 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
8528 Initialize variable, shdr.
8529 (grub_freebsd_load_elfmodule): Likewise.
8530 (grub_freebsd_load_elf_meta): Likewise.
8531
8532 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
8533
8534 Fix for escaped dollar in double quoted strings.
8535
8536 * script/yylex.l: Updated flex rules.
8537 * conf/tests.rmk: Rule for new testcase.
8538 * tests/grub_script_dollar.in: New testcase.
8539
8540 2010-04-13 Carles Pina i Estany <carles@pina.cat>
8541 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
8542
8543 Enclose all translated strings in grub.cfg in single quotes, and
8544 escape them appropriately (Ubuntu bug #552921).
8545
8546 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
8547 * util/grub.d/10_hurd.in: Use it.
8548 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8549 * util/grub.d/10_linux.in (linux_entry): Likewise.
8550
8551 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 Fix cygwin compilation.
8554
8555 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
8556 * include/grub/misc.h (__register_frame_info)
8557 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
8558 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8559 * kern/misc.c (__register_frame_info)
8560 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
8561 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8562
8563 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
8566
8567 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 Unify libgcc processing.
8570
8571 * Makefile.in (kernel_img_LDFLAGS): New variable.
8572 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
8573 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
8574 overwriting.
8575 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
8576 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
8577 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
8578 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
8579 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
8580 overwriting. Remove -lgcc and -static-libgcc
8581 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
8582 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8583 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8584 (kernel_img_LDFLAGS): Append instead of overwriting.
8585 Remove -lgcc and -static-libgcc
8586 * conf/sparc64-ieee1275.rmk: Likewise.
8587 * include/grub/powerpc/libgcc.h: Move to ...
8588 * include/grub/libgcc.h: .. this.
8589 * include/grub/libgcc.h: Don't export most of the function on x86.
8590 (__bswapsi2): New export.
8591 (__bswapdi2): Likewise.
8592 * include/grub/mips/libgcc.h: Removed.
8593 * include/grub/sparc64/libgcc.h: Likewise.
8594
8595 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
8598 disk_info_msg (conflicts with gettexting into languages with cases).
8599
8600 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8601
8602 Add grub-probe support for NetBSD.
8603
8604 * util/getroot.c (find_root_device): Convert block device to
8605 character device on NetBSD.
8606 * util/probe.c (probe): Require character device on NetBSD.
8607 * util/hostdisk.c: NetBSD specific headers.
8608 (configure_device_driver): new function to tune device driver
8609 parameters (currently only for NetBSD floppy driver).
8610 (grub_util_biosdisk_open): NetBSD specific code (get disk size
8611 via disklabel ioctl).
8612 (open_device): call configure_device_driver on NetBSD.
8613 (convert_system_partition_to_system_disk): NetBSD specific code.
8614 (device_is_wholedisk): Likewise.
8615 (grub_util_biosdisk_get_grub_dev): Likewise.
8616 (make_device_name): Fixed a typo in bsd_part_str.
8617 * configure.ac: check for opendisk() and getrawpartition() on
8618 NetBSD and set LIBUTIL.
8619 * Makefile.in: add LIBUTIL to LIBS.
8620
8621 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8622
8623 Documentation fix.
8624
8625 * util/grub-script-check.c: Better help message.
8626
8627 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8628
8629 Fix FreeBSD build.
8630
8631 * configure.ac: Flex version check.
8632 * conf/common.rmk: Add -Wno-error to sh.mod.
8633 * script/yylex.l: Remove all #pragma.
8634
8635 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * include/grub/util/misc.h (canonicalise_file_name): Add missing
8638 prototype.
8639 Reported by: Seth Goldberg.
8640
8641 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8642
8643 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
8644 Rename "module" to "module2".
8645 Reported by: Seth Goldberg.
8646
8647 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
8650 EXPORT_FUNC.
8651 Reported by: Seth Goldberg.
8652
8653 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * lib/posix_wrap/locale.h: Add missing file.
8656 Reported by: Seth Goldberg.
8657
8658 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 grub-emu module load support.
8661
8662 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
8663 NO_DYNAMIC_MODULES switched to this.
8664 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
8665 (CFLAGS): Likewise.
8666 * conf/any-emu.rmk: Generate symlist.
8667 (kernel_img_HEADERS): Add util/datetime.h.
8668 (kernel_img_HEADERS) [sdl]: Add sdl.h.
8669 (kernel_img_HEADERS) [libusb]: Add libusb.h.
8670 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
8671 kern/$(target_cpu)/cache.S.
8672 * configure.ac (grub-emu-modules): New option.
8673 * genmk.rb: Handle multiple source lists.
8674 * include/grub/sdl.h: New file.
8675 * include/grub/libusb.h: Likewise.
8676 * util/grub-emu.c (main): Hanle (host) root.
8677 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
8678 GRUB_ERR_UNKNOWN_DEVICE.
8679 * util/misc.c: Move mm functions to ...
8680 * util/mm.c: ... here. All users updated.
8681
8682 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
8685 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
8686 missing files.
8687 (maintainer-clean): Remove libgcrypt-grub.
8688
8689 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
8692
8693 2010-04-09 EFI Coder <eficoder@hotmail.com>
8694
8695 * normal/menu_text.c (print_message): Clean up the message and show
8696 the Fn information when on EFI
8697 * term/efi/console.c (grub_console_checkkey): Add F4 support.
8698
8699 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
8702 All users updated.
8703 * normal/crypto.c (read_crypto_list): Likewise.
8704 * normal/dyncmd.c (read_command_list): Likewise.
8705 * normal/term.c (read_terminal_list): Likewise.
8706 * normal/main.c (read_lists): Use explicit prefix.
8707 (read_lists_hook): Use read_lists.
8708 (grub_normal_execute): Likewise.
8709
8710 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
8713 Reported by: Thomas Schmitt.
8714 Add -no-emul-boot to grub-mkisofs parameters.
8715
8716 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * font/font.c: Indented.
8719
8720 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8721
8722 Elif support to GRUB script (by Deepak Vankadaru).
8723
8724 * tests/grub_script_if.in: New testcase.
8725 * conf/tests.rmk: Rule for new testcase.
8726 * script/parser.y: Grammar rules for elif.
8727
8728 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8729
8730 While and until loops support to GRUB script.
8731
8732 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
8733 (grub_script_create_cmdwhile): New function prototype.
8734 (grub_script_execute_cmdwhile): New function prototype.
8735 * script/execute.c (grub_script_execute_cmdwhile): New function.
8736 * script/parser.y (command): New commands.
8737 (whilecmd): New grammar rule.
8738 (untilcmd): New grammar rule.
8739 * script/script.c (grub_script_create_cmdwhile): New function.
8740 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
8741 function.
8742
8743 * tests/grub_script_while1.in: New testcase.
8744 * conf/tests.rmk: Rule for new testcase.
8745
8746 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
8749 as *.jpg.
8750
8751 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
8752
8753 GRUB_BACKGROUND support.
8754
8755 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
8756 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
8757
8758 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 Load fonts and modules for gfxmenu in grub-mkconfig.
8761 Idea by: Mario Vazquez
8762
8763 * util/grub.d/00_header.in: Load pf2 and image modules.
8764
8765 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 grub-mkconfig multiple terminal support.
8768
8769 * util/grub-mkconfig.in: Handle multiple terminals correctly.
8770 * util/grub.d/00_header.in: Likewise.
8771
8772 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 * Makefile.in: Specify files explicitly instead of using $< and $@ since
8775 we use cd $(srcdir).
8776
8777 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
8778
8779 * util/grub.d/10_linux.in: Only use the first word of
8780 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
8781 spaces in GRUB_DISTRIBUTOR.
8782 * util/grub.d/10_kfreebsd.in: Likewise.
8783 * util/grub.d/10_hurd.in: Likewise.
8784
8785 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
8786
8787 Fix unit testing framework for Qemu 0.12.
8788
8789 * tests/util/grub-shell.in: Remove -serial stdio option.
8790
8791 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 POSIX header file wrappers.
8794
8795 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
8796 equivalents.
8797 * lib/posix_wrap/ctype.h: Likewise.
8798 * lib/posix_wrap/errno.h: Likewise.
8799 * lib/posix_wrap/langinfo.h: Likewise.
8800 * lib/posix_wrap/limits.h: Likewise.
8801 * lib/posix_wrap/localcharset.h: Likewise.
8802 * lib/posix_wrap/stdint.h: Likewise.
8803 * lib/posix_wrap/stdio.h: Likewise.
8804 * lib/posix_wrap/stdlib.h: Likewise.
8805 * lib/posix_wrap/string.h: Likewise.
8806 * lib/posix_wrap/sys/types.h: Likewise.
8807 * lib/posix_wrap/unistd.h: Likewise.
8808 * lib/posix_wrap/wchar.h: Likewise.
8809 * lib/posix_wrap/wctype.h: Likewise.
8810 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
8811 (grub_script.yy.h): Likewise.
8812 * script/yylex.l: Remove POSIX emulation #defines.
8813 * Makefile.in (POSIX_CFLAGS): New variable.
8814 (GNULIB_UTIL_CFLAGS): Likewise.
8815
8816 Regexp support.
8817
8818 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
8819 (regexp_mod_SOURCES): New variable.
8820 (regexp_mod_CFLAGS): Likewise.
8821 (regexp_mod_LDFLAGS): Likewise.
8822 * commands/regexp.c: New file.
8823 * gnulib/regcomp.c: New file. Imported from gnulib.
8824 * gnulib/regex.c: Likewise.
8825 * gnulib/regex_internal.c: Likewise.
8826 * gnulib/regex_internal.h: Likewise.
8827 * gnulib/regexec.c: Likewise.
8828 * gnulib/regex.h: Likewise.
8829
8830 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8831
8832 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
8833 unsupported video mode types.
8834
8835 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
8838
8839 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
8842 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
8843
8844 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 Remove unused grub_vga_get_font.
8847
8848 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
8849 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
8850
8851 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8852
8853 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
8854 * include/grub/misc.h: Likewise.
8855
8856 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8857
8858 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
8859 for which failure is fatal.
8860
8861 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8862
8863 * util/grub-install.in: Use mkdir -p to create grub directory.
8864 * util/i386/efi/grub-install.in: Likewise.
8865 * util/ieee1275/grub-install.in: Likewise.
8866
8867 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8868
8869 * Makefile.in (LEX): new variable.
8870
8871 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8872
8873 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
8874 `=' and added double quotes on operands of this equality test.
8875
8876 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * Makefile.in (uninstall): Remove a leftover debug echo.
8879 Reported by: Grégoire Sutre
8880
8881 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 MIPS multiboot2 support.
8884
8885 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
8886 (multiboot2_mod_SOURCES): New variable.
8887 (multiboot2_mod_CFLAGS): Likewise.
8888 (multiboot2_mod_LDFLAGS): Likewise.
8889 (multiboot2_mod_ASFLAGS): Likewise.
8890 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
8891 definition.
8892 (MULTIBOOT_ENTRY_REGISTER): Likewise.
8893 (MULTIBOOT_MBI_REGISTER): Likewise.
8894 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
8895 (MULTIBOOT_ELF32_MACHINE): Likewise.
8896 (MULTIBOOT_ELF64_MACHINE): Likewise.
8897 * include/grub/mips/multiboot.h: New file.
8898 * include/grub/video.h (grub_video_driver_id): New type
8899 GRUB_VIDEO_DRIVER_SM712.
8900 (grub_video_get_info_and_fini): Export.
8901 (grub_video_get_palette): Likewise.
8902 (grub_video_get_driver_id): Likewise.
8903 * include/multiboot2.h: Resynced with spec.
8904 * loader/i386/multiboot.c: Moved from here ...
8905 * loader/multiboot.c: ... here. All users updated.
8906 (grub_multiboot_boot): Use platform-specific macros.
8907 * loader/i386/multiboot_elfxx.c: Moved from here ...
8908 * loader/multiboot_elfxx.c: ... here. All users updated.
8909 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
8910 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
8911 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
8912
8913 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 Import gnulib argp module.
8916
8917 * gnulib/argp-ba.c: New file.
8918 * gnulib/argp-eexst.c: Likewise.
8919 * gnulib/argp-fmtstream.c: Likewise.
8920 * gnulib/argp-fmtstream.h: Likewise.
8921 * gnulib/argp-fs-xinl.c: Likewise.
8922 * gnulib/argp-help.c: Likewise.
8923 * gnulib/argp-namefrob.h: Likewise.
8924 * gnulib/argp-parse.c: Likewise.
8925 * gnulib/argp-pin.c: Likewise.
8926 * gnulib/argp-pv.c: Likewise.
8927 * gnulib/argp-pvh.c: Likewise.
8928 * gnulib/argp-version-etc.c: Likewise.
8929 * gnulib/argp-version-etc.h: Likewise.
8930 * gnulib/argp-xinl.c: Likewise.
8931 * gnulib/argp.h: Likewise.
8932
8933 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 * kern/device.c (grub_device_iterate): Clear errors after failed
8936 opening device.
8937
8938 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
8941 returned by firmware.
8942
8943 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
8946 compilation on coreboot and qemu
8947
8948 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 * include/multiboot2.h: Resync with spec.
8951
8952 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 Multiboot2 tag support
8955
8956 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
8957 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
8958 Remove loader/multiboot_loader.c.
8959 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
8960 (grub_multiboot2_real_boot): Likewise.
8961 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
8962 (grub_get_multiboot_mmap_count): New proto.
8963 (grub_fill_multiboot_mmap): Likewise.
8964 (grub_multiboot_set_video_mode): Likewise.
8965 (grub_multiboot_set_console): Likewise.
8966 (grub_multiboot_load): Likewise.
8967 (grub_multiboot_load_elf): Likewise.
8968 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
8969 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
8970 * include/multiboot.h: Resynced with specification.
8971 * include/multiboot2.h: Resynced with specification.
8972 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
8973 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
8974 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
8975 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
8976 users updated.
8977 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
8978 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
8979 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
8980 Removed.
8981 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
8982 Moved from here...
8983 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
8984 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8985 Moved from here...
8986 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
8987 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
8988 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
8989 All users updated.
8990 * loader/i386/multiboot_mbi2.c: New file.
8991
8992 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 Resync with gnulib.
8995
8996 * Makefile.in (GNULIB_CFLAGS): New variable.
8997 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
8998 (grub_script_check_CFLAGS): New variable.
8999 * gnulib/alloca.h: Resync with gnulib.
9000 * gnulib/error.c: Likewise.
9001 * gnulib/error.h: Likewise.
9002 * gnulib/fnmatch.c: Likewise.
9003 * gnulib/fnmatch_loop.c: Likewise.
9004 * gnulib/getdelim.c: Likewise.
9005 * gnulib/getline.c: Likewise.
9006 * gnulib/getopt.c: Likewise.
9007 * gnulib/getopt1.c: Likewise.
9008 * gnulib/getopt_int.h: Likewise.
9009 * gnulib/gettext.h: Likewise.
9010 * gnulib/progname.c: Likewise.
9011 * gnulib/progname.h: Likewise.
9012
9013 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
9014
9015 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
9016 which is the case with --disabled-nls.
9017
9018 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
9019 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
9020 * util/misc.c: Likewise.
9021 * util/mkisofs/mkisofs.c: Likewise.
9022 * util/mkisofs/mkisofs.h: Likewise.
9023
9024 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 Simplify Apple CC support.
9027
9028 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
9029 Add 0 byte at the end not to have a symbol with empty target.
9030 * mmap/i386/pc/mmap_helper.S: Likewise.
9031 * genmk.rb: Ignore errors 2030 and 2050.
9032 * kern/i386/pc/startup.S: Use LOCAL when possible.
9033
9034 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
9035
9036 Testcase and the fix for final semicolon on cmdline.
9037
9038 * tests/grub_script_final_semicolon.in: New testcase.
9039 * conf/tests.rmk: Rules for the new testcase.
9040 * script/parser.y: Grammar fix.
9041
9042 2010-03-26 BVK Chaitanya <bvk@localhost>
9043
9044 Blank lines testcase for GRUB script.
9045
9046 * tests/grub_script_blanklines.in: New testcase.
9047 * conf/tests.rmk: Rules for the new testcase.
9048
9049 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 Don't use __FILE__.
9052
9053 * genmk.rb: Add -DGRUB_FILE to all C targets.
9054 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
9055 * include/grub/list.h: Likewise.
9056 * include/grub/misc.h: Likewise.
9057 * include/grub/mm.h: Likewise.
9058 * include/grub/test.h: Likewise.
9059 * kern/mm.c: Likewise.
9060 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9061
9062 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 Sunpc partitions support.
9065
9066 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
9067 (grub_fstest_SOURCES): Likewise.
9068 (pkglib_MODULES): Add part_sunpc.mod.
9069 (part_sunpc_mod_SOURCES): New variable.
9070 (part_sunpc_mod_CFLAGS): Likewise.
9071 (part_sunpc_mod_LDFLAGS): Likewise.
9072 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
9073 * partmap/sunpc.c: New file.
9074
9075 2010-03-26 BVK Chaitanya <bvk@localhost>
9076
9077 For loop support to GRUB script.
9078
9079 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
9080 (grub_script_create_cmdfor): New function prototype.
9081 (grub_script_execute_cmdfor): New function prototype.
9082 * script/execute.c (grub_script_execute_cmdfor): New function.
9083 * script/parser.y (command): New for command.
9084 (forcmd): New grammar rule.
9085 * script/script.c (grub_script_create_cmdfor): New function.
9086 * util/grub-script-check.c (grub_script_execute_cmdfor): New
9087 function.
9088 * tests/grub_script_for1.in: New testcase.
9089 * conf/tests.rmk: Rules for new testcase.
9090
9091 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 Nested partitions
9094
9095 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
9096 'partition' is NULL, grub_partition_get_start already does that.
9097 * commands/loadenv.c (check_blocklists): Likewise.
9098 (write_blocklists): Likewise.
9099 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
9100 (grub_fstest_SOURCES): Likewise.
9101 (pkglib_MODULES): Add part_bsd.mod.
9102 (part_bsd_mod_SOURCES): New variable.
9103 (part_bsd_mod_CFLAGS): Likewise.
9104 (part_bsd_mod_LDFLAGS): Likewise.
9105 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
9106 (grub_emu_SOURCES): Likewise.
9107 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9108 * include/grub/bsdlabel.h: New file.
9109 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
9110 'get_name'.
9111 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
9112 (grub_partition_map_list): New variable.
9113 (grub_partition_map_register): Inline.
9114 (grub_partition_map_unregister): Likewise.
9115 (FOR_PARTITION_MAPS): New macro.
9116 (grub_partition_map_iterate): Removed.
9117 (grub_partition_get_start): Handle nested partitions.
9118 * include/grub/msdos_partition.h: Remove bsd-related entries.
9119 (grub_pc_partition): Remove.
9120 * kern/disk.c (grub_disk_close): Free partition data.
9121 (grub_disk_adjust_range): Handle nested partitions.
9122 * kern/partition.c (grub_partition_map_probe): New function.
9123 (grub_partition_probe): Parse name to number, handle subpartitions.
9124 (get_partmap): New function.
9125 (grub_partition_iterate): Handle subpartitions.
9126 (grub_partition_get_name): Likewise.
9127 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
9128 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
9129 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
9130 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
9131 Set 'number'.
9132 (acorn_partition_map_probe): Remove.
9133 (acorn_partition_map_get_name): Likewise.
9134 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
9135 Set 'number'.
9136 Set 'index' to 0 since there can be only one partition entry per sector.
9137 (amiga_partition_map_probe): Remove.
9138 (amiga_partition_map_get_name): Likewise.
9139 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
9140 Set 'number'.
9141 Set 'offset' and 'index' to real positions of partitions.
9142 (apple_partition_map_probe): Remove.
9143 (apple_partition_map_get_name): Likewise.
9144 * partmap/bsdlabel.c: New file.
9145 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
9146 Set 'number'.
9147 Allocate 'data' so it can be correctly freed.
9148 Set 'index' to offset inside sector.
9149 (gpt_partition_map_probe): Remove.
9150 (gpt_partition_map_get_name): Likewise.
9151 * partmap/msdos.c (grub_partition_parse): Remove.
9152 (pc_partition_map_iterate): Don't force raw access.
9153 Set 'number'.
9154 Make 'ext_offset' a local variable.
9155 (pc_partition_map_probe): Remove.
9156 (pc_partition_map_get_name): Remove.
9157 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9158 Set 'number'.
9159 (sun_partition_map_probe): Remove.
9160 (sun_partition_map_get_name): Likewise.
9161 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9162 (grub_pcpart_type): Likewise.
9163 * util/hostdisk.c (open_device): Handle new numbering scheme.
9164 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9165 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9166 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9167 * util/grub-install.in: Insert all subpartition modules.
9168 * util/ieee1275/grub-install.in: Likewise.
9169
9170 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9171
9172 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9173 grammar.
9174
9175 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
9176
9177 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9178
9179 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
9180
9181 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9182 match where 'make install' puts them.
9183 * util/i386/efi/grub-install.in: Likewise.
9184
9185 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
9186
9187 * .bzrignore: Add gentrigtables, grub-script-check,
9188 grub_script_check_init.c, grub_script_check_init.h, and
9189 trigtables.c.
9190
9191 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * kern/parser.c: Indented.
9194
9195 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9198
9199 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9202 alpha_mask_size == 0 case.
9203
9204 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9205
9206 GRUB shell lexer and parser improvements.
9207
9208 * conf/any-emu.rmk: Build rule updates.
9209 * conf/common.rmk: Likewise.
9210 * conf/i386-coreboot.rmk: Likewise.
9211 * conf/i386-efi.rmk: Likewise.
9212 * conf/i386-ieee1275.rmk: Likewise.
9213 * conf/i386-pc.rmk: Likewise.
9214 * conf/powerpc-ieee1275.rmk: Likewise.
9215 * conf/x86_64-efi.rmk: Likewise.
9216
9217 * configure.ac: Configure check for flex.
9218
9219 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9220 types.
9221 (grub_lexer_param): Struct member updates.
9222 (grub_parser_param): Likewise.
9223 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9224 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9225 (grub_script_lexer_init): Prototype update.
9226 (grub_script_lexer_record_start): Likewise.
9227 (grub_script_lexer_record_stop): Likewise.
9228 (grub_script_lexer_yywrap): New function prototype.
9229 (grub_script_lexer_fini): Likewise.
9230 (grub_script_execute_argument_to_string): Removed by...
9231 (grub_script_execute_argument_to_argv): ...better version.
9232
9233 * script/execute.c (ROUND_UPTO): New macro.
9234 (grub_script_execute_cmdline): Out of memory fixes.
9235 (grub_script_execute_menuentry): Likewise.
9236 (grub_script_execute_argument_to_string): Removed. Update all
9237 users by...
9238 (grub_script_execute_argument_to_argv): ...better version.
9239 * script/function.c (grub_script_function_create): Use
9240 grub_script_execute_argument_to_argv instead of
9241 grub_script_execute_argument_to_string.
9242
9243 * script/lexer.c (check_varstate): Removed.
9244 (check_textstate): Removed.
9245 (grub_script_lexer_record_start): Likewise.
9246 (grub_script_lexer_record_stop): Likewise.
9247 (recordchar): Replaced with...
9248 (grub_script_lexer_record): ...new function.
9249 (nextchar): Removed.
9250 (grub_script_lexer_init): Rewritten.
9251 (grub_script_yylex): Rewritten.
9252 (append_newline): New function.
9253 (grub_script_lexer_yywrap): New function.
9254 (grub_script_lexer_fini): New function.
9255 (grub_script_yyerror): Sets error flag.
9256
9257 * script/yylex.l: New file.
9258 (grub_lexer_yyfree): Wrapper for flex yyffre.
9259 (grub_lexer_yyalloc): Likewise.
9260 (grub_lexer_yyrealloc): Likewise.
9261 * script/parser.y: Refactored.
9262
9263 * script/script.c (grub_script_arg_add): Out of memory fixes.
9264 (grub_script_add_arglist): Likewise.
9265 (grub_script_create_cmdline): Likewise.
9266 (grub_script_create_cmdmenu): Likewise.
9267 (grub_script_add_cmd): Likewise.
9268 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
9269 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
9270 unnecessary code.
9271
9272 * tests/grub_script_echo1.in: New testcase.
9273 * tests/grub_script_vars1.in: New testcase.
9274 * tests/grub_script_echo_keywords.in: New testcase.
9275
9276 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 Remove some redundancy in build system.
9279
9280 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
9281 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
9282 (TARGET_LDFLAGS): Add -nostdlib.
9283 (TARGET_IMG_LDFLAGS): Likewise.
9284 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
9285 anything since mmap isn't available.
9286 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
9287 Add util/time.c.
9288 (pkglib_MODULES): Remove reboot.mod.
9289 (reboot_mod_SOURCES): Removed.
9290 (reboot_mod_CFLAGS): Likewise.
9291 (reboot_mod_LDFLAGS): Likewise.
9292 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
9293 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
9294 (DEFSYMFILES): Add kernel_syms.lst.
9295 (kernel_img_HEADERS): Add common headers.
9296 (symlist.c): New target.
9297 (kernel_syms.lst): Likewise.
9298 (pkglib_MODULES): Add memdisk.mod.
9299 (memdisk_mod_SOURCES): New variable.
9300 (memdisk_mod_CFLAGS): Likewise.
9301 (memdisk_mod_LDFLAGS): Likewise.
9302 (pkglib_MODULES): Add reboot.mod.
9303 (reboot_mod_SOURCES): New variable.
9304 (reboot_mod_CFLAGS): Likewise.
9305 (reboot_mod_LDFLAGS): Likewise.
9306 (pkglib_MODULES): Add date.mod.
9307 (date_mod_SOURCES): New variable.
9308 (date_mod_CFLAGS): Likewise.
9309 (date_mod_LDFLAGS): Likewise.
9310 (pkglib_MODULES): Add datehook.mod.
9311 (datehook_mod_SOURCES): New variable.
9312 (datehook_mod_CFLAGS): Likewise.
9313 (datehook_mod_LDFLAGS): Likewise.
9314 (pkglib_MODULES): Add lsmmap.mod.
9315 (lsmmap_mod_SOURCES): New variable.
9316 (lsmmap_mod_CFLAGS): Likewise.
9317 (lsmmap_mod_LDFLAGS): Likewise.
9318 (pkglib_MODULES): Add boot.mod.
9319 (boot_mod_SOURCES): New variable.
9320 (boot_mod_CFLAGS): Likewise.
9321 (boot_mod_LDFLAGS): Likewise.
9322 * conf/i386-coreboot.rmk: Removed redundant parts.
9323 * conf/i386-ieee1275.rmk: Likewise.
9324 * conf/i386-pc.rmk: Likewise.
9325 * conf/mips-yeeloong.rmk: Likewise.
9326 * conf/mips.rmk: Likewise.
9327 * conf/powerpc-ieee1275.rmk: Likewise.
9328 * conf/sparc64-ieee1275.rmk: Likewise.
9329 * conf/x86_64-efi.rmk: Likewise.
9330 * conf/i386-coreboot.rmk: Moved qemu parts ..
9331 * conf/i386-qemu.rmk: ... here
9332 * conf/i386-efi.rmk: Moved common parts to...
9333 * conf/x86-efi.rmk: ... here.
9334 * conf/i386.rmk: Added modules common to all x86 variants.
9335 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
9336 * disk/memdisk.c: Remove grub/machine/kernel.h.
9337 * gensymlist.sh.in: Include symbol.h.
9338 * hook/datehook.c: Correct module name.
9339 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
9340 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
9341 * include/grub/i386/efi/serial.h: New file.
9342 * include/grub/x86_64/efi/serial.h: Likewise.
9343 * util/time.c: Likewise.
9344 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
9345
9346 2010-03-14 Colin King <colin.king@ubuntu.com>
9347 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9348
9349 Shrink the pre-partition-table part of boot.img by eight bytes.
9350
9351 * boot/i386/pc/boot.S (ERR): New macro.
9352 (chs_mode): Use ERR.
9353 (geometry_error): Likewise.
9354 (hd_probe_error): Remove. This is only used once, so we wrwite
9355 it inline instead.
9356 (read_error): Instead of printing read_error_string, just set up
9357 %si and fall through to ...
9358 (error_message): ... this new function, also used by ERR.
9359
9360 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
9361
9362 Speed up consecutive hostdisk operations on the same device.
9363
9364 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
9365 (grub_util_biosdisk_open): Initialise disk->data.
9366 (struct linux_partition_cache): New structure.
9367 (linux_find_partition): Cache partition start positions; these are
9368 expensive to compute on every read and write.
9369 (open_device): Cache open file descriptor in disk->data, so that we
9370 don't have to reopen it and flush the buffer cache for consecutive
9371 operations on the same device.
9372 (grub_util_biosdisk_close): New function.
9373 (grub_util_biosdisk_dev): Set `close' member.
9374
9375 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
9376 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
9377 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9378 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9379 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
9380
9381 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 Compile parts of grub-emu as modules.
9384
9385 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
9386 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
9387 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
9388 (all-local): Add $(GRUB_EMU).
9389 (install-local): Install $(GRUB_EMU).
9390 (uninstall): Uninstall $(GRUB_EMU).
9391 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9392 * kern/dl.c: Likewise.
9393 * commands/sleep.c: Not include machine/time.h.
9394 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9395 (COMMON_CFLAGS): Likewise.
9396 (sbin_UTILITIES): Remove grub-emu.
9397 (grub_emu_SOURCES): Removed.
9398 (kernel_img_RELOCATABLE): New variable.
9399 (pkglib_PROGRAMS): Add kernel.img.
9400 (kernel_img_SOURCES): New variable
9401 (kernel_img_CFLAGS): Likewise.
9402 (kernel_img_LDFLAGS): Likewise.
9403 (TARGET_NO_STRIP): Likewise.
9404 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9405 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9406 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9407 (grub-emu): New target.
9408 (GRUB_EMU): New variable.
9409 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9410 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
9411 * loader/xnu.c: Likewise.
9412 * include/grub/pci.h: Likewise.
9413 * genemuinit.sh: New file.
9414 * genemuinitheader.sh: Likewise.
9415 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
9416 Support TARGET_NO_DYNAMIC_MODULES.
9417 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
9418 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
9419 * disk/loopback.c: Likewise.
9420 * font/font_cmd.c: Likewise.
9421 * partmap/acorn.c: Likewise.
9422 * partmap/amiga.c: Likewise.
9423 * partmap/apple.c: Likewise.
9424 * partmap/gpt.c: Likewise.
9425 * partmap/msdos.c: Likewise.
9426 * partmap/sun.c: Likewise.
9427 * parttool/msdospart.c: Likewise.
9428 * term/gfxterm.c: Likewise.
9429 * video/bitmap.c: Likewise.
9430 * video/readers/jpeg.c: Likewise.
9431 * video/readers/png.c: Likewise.
9432 * video/readers/tga.c: Likewise.
9433 * video/video.c: Likewise.
9434 * util/grub-emu.c (read_command_list): Removed.
9435 (main): Don't call util_init_nls.
9436 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
9437 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
9438
9439 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
9442 date.mod, datehook.mod.
9443 (datetime_mod_SOURCES): New variable.
9444 (datetime_mod_CFLAGS): Likewise.
9445 (datetime_mod_LDFLAGS): Likewise.
9446 (date_mod_SOURCES): Likewise.
9447 (date_mod_CFLAGS): Likewise.
9448 (date_mod_LDFLAGS): Likewise.
9449 (datehook_mod_SOURCES): Likewise.
9450 (datehook_mod_CFLAGS): Likewise.
9451 (datehook_mod_LDFLAGS): Likewise.
9452 * conf/sparc64-ieee1275.rmk: Likewise.
9453 * lib/ieee1275/datetime.c: New file.
9454
9455 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
9458 (ieee1275_fb_mod_SOURCES): New variable.
9459 (ieee1275_fb_mod_CFLAGS): Likewise.
9460 (ieee1275_fb_mod_LDFLAGS): Likewise.
9461 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
9462 New proto.
9463 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
9464 (HEAP_MAX_ADDR): Likewise.
9465 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
9466 type.
9467 Correct stop condition.
9468 (grub_ieee1275_devices_iterate): New function.
9469 * video/ieee1275.c: New file.
9470
9471 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
9474
9475 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
9476 as scratch.
9477 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
9478 SCRATCH_PAD_DISKBOOT as scratch.
9479 (bootit): Pass Openfirmware pointer in %o4.
9480 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
9481 of 0x200000.
9482 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
9483 with util/grub-mkrawimage.c.
9484 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
9485 * include/grub/aout.h (AOUT_MID_SUN): New definition.
9486 (grub_aout_get_type) [GRUB_UTIL]: Removed.
9487 (grub_aout_load) [GRUB_UTIL]: Likewise.
9488 * include/grub/kernel.h (grub_modules_get_end): New proto.
9489 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
9490 (SCRATCH_PAD_BOOT): New definition.
9491 (SCRATCH_PAD_DISKBOOT): Likewise.
9492 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
9493 * include/grub/sparc64/ieee1275/ieee1275.h
9494 (grub_ieee1275_original_stack): New variable
9495 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9496 New definition
9497 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
9498 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
9499 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
9500 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
9501 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
9502 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
9503 (grub_platform_image_format_t): New type.
9504 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
9505 * kern/main.c (grub_modules_get_end)
9506 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
9507 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
9508 (codestart): Switch stacks.
9509 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
9510 variable.
9511 (grub_heap_init): Use grub_modules_get_end.
9512 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
9513 stack.
9514 * util/grub-mkrawimage.c (generate_image): Support sparc64.
9515 (main): Likewise.
9516 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
9517
9518 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
9519
9520 * util/grub-mkrescue.in: Base ISO UUID on UTC.
9521
9522 2010-03-08 Matt Kraai <kraai@ftbfs.org>
9523
9524 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
9525 bug #559005).
9526
9527 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * genmoddep.awk: Output all missing symbols and not only first.
9530
9531 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 * NEWS: Put the date of 1.98 release.
9534
9535 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
9538 ft2build.h.
9539
9540 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
9543 completition in the middle of string.
9544
9545 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * util/grub-mkrescue.in: Use mktemp with explicit template.
9548
9549 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
9552
9553 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
9556 right pointer.
9557
9558 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 Fix FreeBSD compilation.
9561
9562 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
9563 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
9564
9565 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
9568
9569 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
9572
9573 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
9576
9577 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
9578
9579 Support relative image path in theme file.
9580
9581 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
9582 (image_set_property): Handle theme_dir and relative path.
9583
9584 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * configure.ac: Alias amd64 to x86_64.
9587
9588 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 * NEWS: mention multiboot on EFI.
9591
9592 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * kern/main.c (grub_load_modules): Handle errors from init functions of
9595 embeded modules.
9596
9597 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 * normal/autofs.c (autoload_fs_module): Handle errors.
9600
9601 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 Disable linux.mod on qemu-mips since it's not functional and leads
9604 to compilation failure.
9605
9606 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
9607 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
9608 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
9609 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
9610 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
9611 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
9612 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
9613 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
9614 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
9615 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
9616 Reported by: BVK Chaitanya
9617
9618 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
9619
9620 * INSTALL: Add gettext as a dependency and add qemu to a new section
9621 "Prerequisites for make-check".
9622
9623 2010-03-04 Christian Franke <franke@computer.org>
9624
9625 * util/grub-pe2elf.c: Add missing include "progname.h".
9626
9627 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * normal/crypto.c (read_crypto_list): Fix a typo.
9630 Reported by: Seth Goldberg.
9631
9632 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
9635 Reported by: Seth Goldberg.
9636
9637 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
9640 ascii.bitmaps.
9641
9642 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9643
9644 * genmk.rb: Remove terminal*.lst in make clean.
9645 Reported by: Seth Goldberg.
9646
9647 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * util/i386/efi/grub-install.in: Copy gettext files.
9650
9651 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
9654
9655 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 Wait for user entry basing on presence of output rather than on errors.
9658
9659 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
9660 (grub_install_newline_hook): Likewise.
9661 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
9662 * normal/menu.c (show_menu): Check line_counter to determine presence
9663 of output.
9664 * normal/term.c (grub_normal_line_counter): New variable.
9665 (grub_normal_get_line_counter): New function.
9666 (grub_install_newline_hook): Likewise.
9667
9668 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9669
9670 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
9671
9672 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 * configure.ac: Update version to 1.98.
9675
9676 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 * util/grub.d/10_linux.in (linux_entry): Don't default to
9679 gfxpayload=keep if Linux doesn't support video handover.
9680
9681 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 Don't compile video modules on yeeloong since video subsystem is part
9684 of kernel.
9685
9686 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
9687 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
9688 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
9689 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
9690 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
9691 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
9692 * include/grub/bitmap_scale.h: Likewise.
9693 * include/grub/bufio.h: Likewise.
9694 * include/grub/font.h: Likewise.
9695 * include/grub/gfxterm.h: Likewise.
9696 * include/grub/video.h: Likewise.
9697 * include/grub/vbe.h: Don't include video_fb.h.
9698 * video/i386/pc/vbe.c: Include video_fb.h.
9699 * commands/i386/pc/vbetest.c: Include video.h.
9700
9701 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
9702
9703 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
9704 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
9705 default entry if GRUB_SAVEDEFAULT=true. This allows using
9706 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
9707 saving a new default on every boot.
9708
9709 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 * normal/crypto.c (read_crypto_list): Fix a memory leak.
9712 * normal/term.c (read_terminal_list): Likewise.
9713 * normal/main.c (grub_normal_init_page): Likewise.
9714 (grub_normal_read_line_real): Likewise.
9715
9716 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
9719 memory leak.
9720 Reported by: Seth Goldberg.
9721
9722 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
9723
9724 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
9725 duplicate declaration of `start'.
9726
9727 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
9730 filename.
9731 Reported by: Georgy Buranov
9732
9733 2010-02-20 Carles Pina i Estany <carles@pina.cat>
9734
9735 * util/grub-mkrawimage.c (usage): Change string formatting to
9736 improve gettext.
9737
9738 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9739
9740 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
9741 backspace keys.
9742
9743 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
9746 Reported by: Michael Suchanek.
9747
9748 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
9749
9750 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
9751 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
9752
9753 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
9754
9755 Remove any reference to non-free fonts.
9756
9757 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
9758 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
9759 uses non-free components.
9760 * font/font.c (grub_font_get_name): Remove example name.
9761 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
9762 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9763 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
9764 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
9765
9766 2010-02-16 Georgy Buranov <gburanov@gmail.com>
9767
9768 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
9769
9770 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
9773 Double divisor.
9774 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
9775 features.
9776 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
9777
9778 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * gensymlist.sh.in: Use TARGET_CC instead of CC.
9781
9782 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9783
9784 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
9785 * docs/grub.texi (Command-line and menu entry commands): Document play
9786 command.
9787
9788 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9789
9790 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
9791 parse arguments as inline tempo and notes. Move code for playing notes
9792 to...
9793 (play): ... new function.
9794
9795 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9796
9797 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
9798 grub_uint16_t instead of short.
9799 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
9800 disk from little endian to cpu endianness.
9801
9802 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
9803
9804 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
9805 GRUB_TICKS_PER_SECOND instead of 120.
9806
9807 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
9810 escape sequence after \e.
9811
9812 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
9815 non-ASCII characters.
9816
9817 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
9820 set root in single quotes to prevent \, from being unescaped.
9821
9822 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 Prevent unknown commands from stopping menuentry execution.
9825
9826 * script/execute.c (grub_script_execute_cmdline): Print error after
9827 unknown command.
9828
9829 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
9832 Reported by: Pavel Pisa.
9833
9834 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
9837
9838 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 Merge grub_ieee1275_map_physical into grub_map and rename to
9841 grub_ieee1275_map
9842
9843 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
9844 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
9845 Remove.
9846 * kern/ieee1275/openfw.c (grub_map): Rename to ...
9847 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
9848 necessary.
9849 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
9850
9851 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9852
9853 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
9854 opening and not after.
9855
9856 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9857
9858 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
9859 constants.
9860
9861 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
9864 (alloc_phys): Use ALIGN_UP instead of align_addr.
9865
9866 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9867
9868 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
9869
9870 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9871
9872 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
9873
9874 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
9877 verbose dprintf.
9878
9879 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 Fix over-4GiB seek on sparc64.
9882
9883 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
9884 Replace pos_i and pos_lo with pos. All users updated.
9885 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
9886 New constant.
9887 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
9888 Likewise.
9889 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
9890 and pos_lo.
9891
9892 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 * util/grub-mkrawimage.c (main): Call set_program_name.
9895
9896 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 Properly align 64-bit targets.
9899
9900 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
9901 (generate_image): Use ALIGN_ADDR.
9902
9903 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 Properly create cross-endian images.
9906
9907 * include/grub/types.h (grub_host_to_target_addr): New macro
9908 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
9909
9910 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
9913
9914 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
9917
9918 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
9919 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
9920 (grub_linux_boot): Divide by 64K when on VESA.
9921
9922 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 Support GRUB_GFXPAYLOAD_LINUX.
9925
9926 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
9927 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
9928
9929 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
9932 to show messages instead of discarding them.
9933 Process errors after executing command and not before. Keep old method
9934 too as precaution.
9935
9936 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * configure.ac: Check for ft2build.h.
9939
9940 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
9943
9944 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * genkernsyms.sh.in: Use TARGET_CC.
9947
9948 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
9949
9950 * NEWS: Update.
9951
9952 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * include/grub/multiboot2.h: Remove leftover file.
9955 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
9956 * include/grub/partition.h [GRUB_UTIL]: Likewise.
9957
9958 2010-02-07 Yves Blusseau <blusseau@zetam.org>
9959
9960 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
9961
9962 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 Fix warnings in grub-emu when compiling with maximum warning options.
9965
9966 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
9967 (grub_arch_modules_addr): Return 0 and not NULL.
9968 * util/misc.c (ENABLE_RELOCATABLE): New definition.
9969 (xstrdup): Use newstr instead of dup.
9970 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
9971 of disk to dsk to avoid shadowing.
9972 (find_free_slot): Fix prototype.
9973 * util/getroot.c (grub_util_is_dmraid): Make static.
9974 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
9975 Add missing prototype.
9976 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
9977
9978 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * loader/i386/linux.c (grub_linux_setup_video): Handle error
9981 appropriately.
9982
9983 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
9986 code out.
9987
9988 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
9991 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
9992 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
9993 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
9994 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
9995 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
9996
9997 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * include/grub/err.h (grub_err_printf): Don't export.
10000
10001 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
10004
10005 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * include/grub/i18n.h (grub_gettext_dummy): Removed.
10008 * kern/misc.c (grub_gettext_dummy): Make static.
10009
10010 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
10013 by non-valid ones.
10014 * kern/term.c (grub_putchar): Likewise.
10015
10016 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
10019 buggy hook call and memory leak.
10020
10021 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10022
10023 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
10024
10025 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
10028
10029 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
10032 modevar.
10033 Return grub_errno on allocation error.
10034
10035 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
10038
10039 2010-02-06 Yves Blusseau <blusseau@zetam.org>
10040
10041 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
10042 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
10043
10044 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
10047 non-pxe disk.
10048 (grub_pxefs_open): Likewise.
10049
10050 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10051
10052 * util/grub.d/10_hurd.in: Add --class information to menuentries.
10053 * util/grub.d/10_kfreebsd.in: Likewise.
10054 * util/grub.d/10_linux.in: Likewise.
10055
10056 2010-02-06 Colin D Bennett <colin@gibibit.com>
10057
10058 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
10059 (gfxmenu_mod_SOURCES): New variable.
10060 (gfxmenu_mod_CFLAGS): Likewise.
10061 (gfxmenu_mod_LDFLAGS): Likewise.
10062 * include/grub/term.h (grub_term_set_current_output): Declare
10063 argument as const.
10064 * docs/gfxmenu-theme-example.txt: New file.
10065 * gfxmenu/gfxmenu.c: Likewise.
10066 * gfxmenu/gui_box.c: Likewise.
10067 * gfxmenu/gui_canvas.c: Likewise.
10068 * gfxmenu/gui_circular_progress.c: Likewise.
10069 * gfxmenu/gui_image.c: Likewise.
10070 * gfxmenu/gui_label.c: Likewise.
10071 * gfxmenu/gui_list.c: Likewise.
10072 * gfxmenu/gui_progress_bar.c: Likewise.
10073 * gfxmenu/gui_string_util.c: Likewise.
10074 * gfxmenu/gui_util.c: Likewise.
10075 * gfxmenu/icon_manager.c: Likewise.
10076 * gfxmenu/model.c: Likewise.
10077 * gfxmenu/named_colors.c: Likewise.
10078 * gfxmenu/theme_loader.c: Likewise.
10079 * gfxmenu/view.c: Likewise.
10080 * gfxmenu/widget-box.c: Likewise.
10081 * include/grub/gfxmenu_model.h: Likewise.
10082 * include/grub/gfxmenu_view.h: Likewise.
10083 * include/grub/gfxwidgets.h: Likewise.
10084 * include/grub/gui.h: Likewise.
10085 * include/grub/gui_string_util.h: Likewise.
10086 * include/grub/icon_manager.h: Likewise.
10087
10088 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 Agglomerate scrolling in gfxterm.
10091
10092 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
10093 (grub_virtual_screen_setup): Initialise 'total_screen'.
10094 (write_char): Split to ...
10095 (paint_char): ... this ...
10096 (write_char): ... and this.
10097 (paint_char): Handle delayed scrolling.
10098 (draw_cursor): Likewise.
10099 (scroll_up): Split to ...
10100 (real_scroll): ... this ...
10101 (scroll_up): ... and this.
10102 (real_scroll): Handle multi-line scroll and draw below-the-bottom
10103 characters.
10104 (grub_gfxterm_refresh): Call real_scroll.
10105
10106 2010-02-06 Colin D Bennett <colin@gibibit.com>
10107
10108 * include/grub/misc.h (grub_iscntrl): New inline function.
10109 (grub_isalnum): Likewise.
10110 (grub_strtol): Likewise.
10111
10112 2010-02-06 Colin D Bennett <colin@gibibit.com>
10113
10114 * normal/menu_text.c (get_entry_number): Move from here ...
10115 * normal/menu.c (get_entry_number): ... moved here.
10116 * include/grub/menu.h (grub_menu_get_default_entry_index):
10117 New prototype.
10118 * normal/menu.c (grub_menu_get_default_entry_index): New function.
10119 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
10120 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
10121 (grub_menu_viewer_should_return): Likewise.
10122 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
10123 * normal/menu_text.c (run_menu): Enable menu switching.
10124 * normal/menu_viewer.c (should_return): New variable.
10125 (menu_viewer_changed): Likewise.
10126 (grub_menu_viewer_show_menu): Handle menu viewer changes.
10127 (grub_menu_viewer_should_return): New function.
10128 (menuviewer_write_hook): Likewise.
10129 (grub_menu_viewer_init): Likewise.
10130
10131 2010-02-06 Colin D Bennet <colin@gibibit.com>
10132 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 Support for gfxterm in a window.
10135
10136 * include/grub/gfxterm.h: New file.
10137 * include/grub/video.h (struct grub_video_rect): New declaration.
10138 (grub_video_rect_t): Likewise.
10139 * term/gfxterm.c (struct grub_gfxterm_window): New type.
10140 (refcount): New variable.
10141 (render_target): Likewise.
10142 (window): Likewise.
10143 (repaint_callback): Likewise.
10144 (grub_virtual_screen_setup): Use 'render_target'.
10145 (init_window): New function.
10146 (grub_gfxterm_init_window): Likewise.
10147 (grub_gfxterm_init): Check reference counter.
10148 Use init_window.
10149 (destroy_window): New function.
10150 (grub_gfxterm_destroy_window): Likewise.
10151 (grub_gfxterm_fini): Check reference counter.
10152 Use destroy_window.
10153 (redraw_screen_rect): Restore viewport.
10154 Use 'render_target' and 'window'.
10155 Call 'repaint_callback'.
10156 (write_char): Use 'render_target'.
10157 (draw_cursor): Likewise.
10158 (scroll_up): Restore viewport.
10159 Use 'render_target' and 'window'.
10160 Call 'repaint_callback'.
10161 (grub_gfxterm_cls): Likewise.
10162 (grub_gfxterm_refresh): Use 'window'.
10163 (grub_gfxterm_set_repaint_callback): New function.
10164 (grub_gfxterm_background_image_cmd): Use 'window'.
10165 (grub_gfxterm_get_term): New function.
10166 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10167
10168 2010-02-06 Colin D Bennett <colin@gibibit.com>
10169
10170 Bitmap scaling support.
10171
10172 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10173 (bitmap_scale_mod_SOURCES): New variable.
10174 (bitmap_scale_mod_CFLAGS): Likewise.
10175 (bitmap_scale_mod_LDFLAGS): Likewise.
10176 * include/grub/bitmap_scale.h: New file.
10177 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10178 (background_image_cmd_options): New variable.
10179 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10180 (cmd): Rename and change type to ...
10181 (background_image_cmd_handle): ... this. All users updated.
10182 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10183 * video/bitmap_scale.c: New file.
10184
10185 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 SDL support.
10188
10189 * Makefile.in (LIBSDL): New variable.
10190 (enable_grub_emu_sdl): Likewise.
10191 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10192 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10193 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10194 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10195 * util/sdl.c: New file.
10196
10197 2010-02-06 Colin D Bennett <colin@gibibit.com>
10198 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10199
10200 Double buffering support.
10201
10202 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10203 * include/grub/video.h: Update comment.
10204 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10205 New type.
10206 (grub_video_fb_doublebuf_blit_init): New prototype.
10207 * term/gfxterm.c (scroll_up): Support double buffering.
10208 (grub_gfxterm_refresh): Likewise.
10209 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10210 (grub_video_fb_doublebuf_blit_init): Likewise.
10211 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10212 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10213 'displayed_page', 'render_page' and 'update_screen'.
10214 (grub_video_vbe_fini): Free offscreen buffer.
10215 (doublebuf_pageflipping_commit): New function.
10216 (doublebuf_pageflipping_update_screen): Likewise.
10217 (doublebuf_pageflipping_init): Likewise.
10218 (double_buffering_init): Likewise.
10219 (grub_video_vbe_setup): Enable doublebuffering.
10220 (grub_video_vbe_swap_buffers): Implement.
10221 (grub_video_vbe_set_active_render_target): Handle double buffering.
10222 (grub_video_vbe_get_active_render_target): Likewise.
10223 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10224 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10225 (grub_video_vbe_enable_double_buffering): Likewise.
10226 (grub_video_vbe_swap_buffers): Use update_screen.
10227 (grub_video_set_mode): Use double buffering.
10228
10229 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10230
10231 * maintainance/gentrigtables.py: Remove.
10232 * lib/trig.c: Likewise.
10233
10234 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
10235
10236 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
10237 `trigtables.c'.
10238 (trigtables.c): New rule.
10239 (gentrigtables): Likewise.
10240 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
10241
10242 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10243
10244 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
10245 integer constants.
10246
10247 2010-02-06 Colin D Bennet <colin@gibibit.com>
10248
10249 Trigonometry support.
10250
10251 * include/grub/trig.h: New file.
10252 * lib/trig.c: Likewise.
10253 * maintainance/gentrigtables.py: Likewise.
10254 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
10255 (trig_mod_SOURCES): New variable.
10256 (trig_mod_CFLAGS): Likewise.
10257 (trig_mod_LDFLAGS): Likewise.
10258
10259 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
10262 disk devices.
10263
10264 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
10267 error.
10268
10269 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10270
10271 * util/hostdisk.c (open_device): Don't use partition device when reading
10272 before the partition.
10273 (grub_util_biosdisk_read): Don't read from partition and before the
10274 partition in single operation.
10275 (grub_util_biosdisk_write): Don't write to partition and before the
10276 partition in single operation.
10277
10278 2010-02-03 Torsten Landschoff <torsten@debian.org>
10279
10280 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10281 last sectors.
10282
10283 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
10286 CDROM reads.
10287 (grub_biosdisk_write): Refuse to write to CDROM.
10288
10289 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10292
10293 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 * font/font.c (find_glyph): Check that bmp_idx is available before
10296 using it.
10297 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
10298 with (font == NULL).
10299
10300 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
10301
10302 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
10303
10304 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
10305
10306 * include/grub/script_sh.h (sourcecode): Add const qualifier.
10307 * util/grub-script-check.c (getline): Fix empty lines case.
10308
10309 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
10310
10311 * Makefile.in (check): Exit with fail status when one of the tests
10312 fails.
10313 * tests/example_functional_test.c (example_test): Fix reversed assert.
10314 * tests/example_unit_test.c (example_test): Likewise.
10315
10316 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
10317
10318 * util/grub.d/10_linux.in: This script does not use any of the
10319 contents of gettext.sh, only the external command `gettext', so stop
10320 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
10321 the same prefix as GRUB.)
10322 * util/grub.d/10_kfreebsd.in: Likewise.
10323
10324 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
10327 of the line.
10328
10329 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10332 last sectors.
10333
10334 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
10337 having a 4KiB and not 32KiB buffer size.
10338
10339 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10340
10341 * util/hostfs.c: Include `<errno.h>'.
10342 (grub_hostfs_read): Handle errors from fseeko() and fread().
10343
10344 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10345
10346 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
10347 loop when using read hooks on files whose size isn't sector-aligned.
10348
10349 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10350
10351 Remove unused parameter.
10352
10353 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
10354 (grub_iso9660_open): Remove initialization of `data->length'.
10355
10356 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10357
10358 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
10359 memleak conditions.
10360
10361 2010-01-27 Carles Pina i Estany <carles@pina.cat>
10362
10363 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
10364 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
10365
10366 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10367
10368 * util/bin2h.c (usage): Fix warning (space after backslash).
10369
10370 2010-01-26 Carles Pina i Estany <carles@pina.cat>
10371
10372 * font/font.c: Include `grub/fontformat.h.
10373 Remove font file format constants.
10374 (grub_font_load): Use the new macros.
10375 * include/grub/fontformat.h: New file.
10376 * util/grub-mkfont.c: Include `grub/fontformat.c'.
10377 (write_font_pf2): Use the new macros.
10378
10379 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10380
10381 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
10382 does.
10383
10384 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10385
10386 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
10387
10388 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
10389 (_start): Macroify `0x7F'.
10390
10391 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10392 (make_install_device): Use "(pxe)" as fallback prefix when booting
10393 via PXE.
10394
10395 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 * configure.ac: Reset LIBS after check for libgcc symbols.
10398
10399 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
10400
10401 * util/hostdisk.c (open_device): Add trailing newline to debug
10402 message.
10403
10404 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10405
10406 * configure.ac: Check for `limits.h'.
10407 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10408
10409 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10410
10411 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
10412 capitalize error strings.
10413
10414 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
10415
10416 * util/grub.d/10_hurd.in: Add a recovery mode.
10417
10418 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * configure.ac: Check for libgcc symbols with -nostdlib.
10421
10422 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
10423
10424 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
10425
10426 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
10429 stack since heap may be unavailable at that point.
10430 (grub_ofconsole_gotoxy): Likewise.
10431
10432 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 * configure.ac: Check for _restgpr_14_x.
10435 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
10436 and _savegpr_* prototypes.
10437
10438 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
10439
10440 Use generic grub_reboot() for i386-efi.
10441
10442 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
10443 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
10444 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
10445
10446 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
10449 presence of "prefix" variable as it breaks when normal.mod is
10450 embedded.
10451
10452 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
10455 stack since heap is unavailable at that point.
10456
10457 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
10460 (grub_freebsd_bootinfo): Rewritten.
10461 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
10462
10463 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
10466
10467 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
10468
10469 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
10470 domain now.
10471
10472 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
10473
10474 * util/misc.c (make_system_path_relative_to_its_root): Change the work
10475 around for handling "/" to the correct fix. Fix a memory leak. Use
10476 xstrdup instead of strdup.
10477
10478 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10479
10480 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
10481
10482 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 Optimise glyph lookup by Basic Multilingual Plane lookup array.
10485
10486 * font/font.c (struct grub_font): New member 'bmp_idx'.
10487 (font_init): Initialise 'bmp_idx'.
10488 (load_font_index): Fill 'bmp_idx'.
10489 (find_glyph): Make inline. Use bmp_idx for BMP characters.
10490
10491 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10492
10493 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
10494 unnecessary calls.
10495
10496 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10497
10498 Move context handling out of the kernel.
10499
10500 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
10501 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
10502 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
10503 * conf/i386-efi.rmk: Likewise.
10504 * conf/i386-ieee1275.rmk: Likewise.
10505 * conf/i386-pc.rmk: Likewise.
10506 * conf/powerpc-ieee1275.rmk: Likewise.
10507 * conf/sparc64-ieee1275.rmk: Likewise.
10508 * conf/x86_64-efi.rmk: Likewise.
10509 * include/grub/env.h: Include grub/menu.h.
10510 (grub_env_var_type): Removed.
10511 (grub_env_var): Replaced field 'type' with 'global'.
10512 (grub_env_find): New prototype.
10513 (grub_env_context_open): Remove EXPORT_FUNC.
10514 (grub_env_context_close): Likewise.
10515 (grub_env_export): Likewise.
10516 (grub_env_set_data_slot): Removed.
10517 (grub_env_get_data_slot): Likewise.
10518 (grub_env_unset_data_slot): Likewise.
10519 (grub_env_unset_menu): New prototype.
10520 (grub_env_set_menu): Likewise.
10521 (grub_env_get_menu): Likewise.
10522 * include/grub/env_private.h: New file.
10523 * include/grub/normal.h (grub_context_init): New prototype.
10524 (grub_context_fini): Likewise.
10525 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
10526 * normal/context.c (grub_cmd_export): ... to here.
10527 * kern/env.c: Include env_private.h.
10528 (HASHSZ): Moved to include/grub/env_private.h.
10529 (grub_env_context): Likewise.
10530 (grub_env_sorted_var): Likewise.
10531 (current_context): Renamed from this ...
10532 (grub_current_context): ...to this. 'static' removed. All users updated.
10533 (grub_env_find): Removed 'static'.
10534 (grub_env_context_open): Moved to normal/context.c.
10535 (grub_env_context_close): Likewise.
10536 (grub_env_export): Likewise.
10537 (mangle_data_slot_name): Removed.
10538 (grub_env_set_data_slot): Likewise.
10539 (grub_env_get_data_slot): Likewise.
10540 (grub_env_unset_data_slot): Likewise.
10541 * kern/main.c (grub_set_root_dev): Don't export root.
10542 It will be done later.
10543 (grub_main): Don't export prefix.
10544 It will be done later.
10545 * normal/context.c: New file.
10546 * normal/main.c (free_menu): Use grub_env_unset_menu.
10547 (grub_normal_add_menu_entry): Use grub_env_get_menu.
10548 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
10549 (GRUB_MOD_INIT(normal)): Call grub_context_init.
10550 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
10551
10552 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 setpci support.
10555
10556 * commands/setpci.c: New file.
10557 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
10558 (setpci_mod_SOURCES): New variable.
10559 (setpci_mod_CFLAGS): Likewise.
10560 (setpci_mod_LDFLAGS): Likewise.
10561
10562 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 Byte-addressable PCI configuration space.
10565
10566 * bus/pci.c (grub_pci_make_address): Use byte address instead of
10567 dword address.
10568 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
10569 GRUB_PCI_REG_CACHELINE.
10570 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
10571 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
10572 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
10573 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
10574 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
10575 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
10576 grub_pci_make_address.
10577 (lock_rom_area): Likewise.
10578 * commands/lspci.c (grub_lspci_iter): Use macroses
10579 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
10580 of grub_pci_make_address.
10581 * disk/ata.c (grub_ata_pciinit): Likewise.
10582 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
10583 (GRUB_PCI_REG_VENDOR): Likewise.
10584 (GRUB_PCI_REG_DEVICE): Likewise.
10585 (GRUB_PCI_REG_COMMAND): Likewise.
10586 (GRUB_PCI_REG_STATUS): Likewise.
10587 (GRUB_PCI_REG_REVISION): Likewise.
10588 (GRUB_PCI_REG_CLASS): Likewise.
10589 (GRUB_PCI_REG_CACHELINE): Likewise.
10590 (GRUB_PCI_REG_LAT_TIMER): Likewise.
10591 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
10592 (GRUB_PCI_REG_BIST): Likewise.
10593 (GRUB_PCI_REG_ADDRESSES): Likewise.
10594 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10595 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10596 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10597 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10598 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10599 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10600 (GRUB_PCI_REG_CIS_POINTER): Likewise.
10601 (GRUB_PCI_REG_SUBVENDOR): Likewise.
10602 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
10603 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
10604 (GRUB_PCI_REG_CAP_POINTER): Likewise.
10605 (GRUB_PCI_REG_IRQ_LINE): Likewise.
10606 (GRUB_PCI_REG_IRQ_PIN): Likewise.
10607 (GRUB_PCI_REG_MIN_GNT): Likewise.
10608 (GRUB_PCI_REG_MAX_LAT): Likewise.
10609 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
10610 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
10611 * video/efi_uga.c (find_framebuf): Likewise.
10612 * video/sm712.c (grub_video_sm712_setup): Likewise.
10613 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
10614 space.
10615
10616 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10617
10618 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
10619 can be reliably determined to be supported.
10620
10621 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10622
10623 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
10624 that VESA is supported.
10625 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
10626 supported.
10627
10628 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
10631
10632 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10633
10634 * util/misc.c (make_system_path_relative_to_its_root): Work around
10635 special-casing of "/", as previous incarnation of this routine did.
10636
10637 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 Fix any-emu compilation.
10640
10641 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
10642 * grub_bin2h_SOURCES: New variable.
10643
10644 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10645
10646 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
10647
10648 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10649
10650 * util/grub.d/00_header.in: Fix handling of locale_dir.
10651
10652 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10653
10654 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
10655 as possible unifont location (Gentoo).
10656 Reported by: Alexander Brüning
10657
10658 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 Don't try to generate lists for kernel.img.
10661
10662 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
10663 (pkglib_MODULES): Remove kernel.img.
10664 (kernel_img_EXPORTS): Removed.
10665 (kernel_img_RELOCATABLE): New variable.
10666 * conf/x86_64-efi.rmk: Likewise.
10667 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
10668
10669 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10670
10671 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
10672 grub_xasprintf or grub_snprintf.
10673 (grub_vsprintf): Likewise.
10674 (grub_snprintf): New proto.
10675 (grub_vsnprintf): Likewise.
10676 (grub_xasprintf): Likewise.
10677 (grub_xvasprintf): Likewise.
10678 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
10679 (grub_sprintf): Removed.
10680 (grub_vsnprintf): New function.
10681 (grub_snprintf): Likewise.
10682 (grub_xvasprintf): Likewise.
10683 (grub_xasprintf): Likewise.
10684 (grub_vsprintf): Renamed to ...
10685 (grub_vsnprintf_real): ...this. New argument max_len.
10686
10687 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
10688
10689 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
10690 fix grub-script-check warning.
10691
10692 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 * include/grub/font.h (grub_font_load): Fix prototype.
10695
10696 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10697
10698 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
10699
10700 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * include/grub/x86_64/at_keyboard.h: New file.
10703
10704 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 * loader/mips/linux.c: Include missing grub/i18n.h.
10707
10708 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10709
10710 * normal/menu.c (notify_execution_failure): Clarify error message.
10711
10712 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10713
10714 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
10715 return value (and revert all return statements). Update users.
10716
10717 2010-01-20 Dan Merillat <debian@dan.merillat.org>
10718
10719 * kern/device.c (grub_device_iterate): Allocate new part_ent
10720 structure based on sizeof (*p) rather than sizeof (p->next), to
10721 account for structure padding.
10722
10723 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
10724 disk is NULL, which might happen for LVM physical volumes with no
10725 LVM signature.
10726
10727 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10728
10729 * loader/mips/linux.c (grub_cmd_initrd)
10730 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
10731
10732 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10733
10734 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
10735 (grub_video_video_init, grub_video_bitmap_init)
10736 (grub_font_manager_init, grub_term_gfxterm_init)
10737 (grub_at_keyboard_init): New extern declarations.
10738 (grub_machine_init): Initialize gfxterm and at_keyboard.
10739
10740 * kern/main.c (grub_main): Revert grub_printf delay kludge.
10741
10742 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
10743 `gfxterm.mod' into core image.
10744
10745 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10746 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10747 (kernel_img_FORMAT): Copy to ...
10748
10749 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10750 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10751 (kernel_img_FORMAT): ... here, and ...
10752
10753 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10754 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10755 (kernel_img_FORMAT): ... here.
10756
10757 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
10758 and input (at_keyboard) terminals in kernel.
10759 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
10760
10761 (pkglib_MODULES): Remove `pci.mod'.
10762 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
10763 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
10764 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
10765 (at_keyboard_mod_LDFLAGS): Remove variables.
10766
10767 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
10768
10769 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
10770
10771 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
10772
10773 * include/grub/mips/libgcc.h: Only export symbols for functions
10774 that libgcc provides.
10775
10776 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 MIPS support.
10779
10780 * bus/bonito.c: New file.
10781 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
10782 GRUB_PCI_NUM_DEVICES.
10783 * term/i386/pc/serial.c: Move to ...
10784 * term/serial.c: ... here. All users updated.
10785 * util/i386/pc/grub-mkimage.c: Move to ...
10786 * util/grub-mkrawimage.c: ... here. All users updated.
10787 * term/i386/pc/at_keyboard.c: Move to ...
10788 * term/at_keyboard.c: ... here. All users updated.
10789 * conf/mips-qemu-mips.rmk: New file.
10790 * conf/mips-yeeloong.rmk: Likewise.
10791 * conf/mips.rmk: Likewise.
10792 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
10793 mipsel-qemu-mips.
10794 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
10795 to port addresses.
10796 (grub_ata_pciinit): Support CS5536.
10797 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
10798 * font/font_cmd.c (loadfont_command): Open file before passing it to
10799 grub_font_load.
10800 (pseudo_file_read): New function.
10801 (pseudo_file_close): Likewise.
10802 (pseudo_fs): New structure.
10803 (load_font_module): New function.
10804 (GRUB_MOD_INIT(font_manager)): Load embedded font.
10805 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
10806 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
10807 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
10808 * include/grub/i386/at_keyboard.h: Split into ...
10809 * include/grub/at_keyboard.h: ... this ...
10810 * include/grub/i386/at_keyboard.h: ... and this.
10811 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
10812 New prototype.
10813 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
10814 updated.
10815 (grub_elf64_size): Likewise.
10816 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
10817 filename.
10818 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
10819 * include/grub/i386/coreboot/serial.h: Rewritten.
10820 * include/grub/i386/ieee1275/serial.h: Include
10821 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
10822 * include/grub/i386/pc/serial.h: Moved from here ...
10823 * include/grub/serial.h: ... to here. All users updated.
10824 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
10825 (GRUB_PCI_NUM_BUS): Likewise.
10826 (GRUB_PCI_NUM_DEVICES): Likewise.
10827 (grub_pci_device_map_range): Add missing volatile keyword.
10828 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
10829 * include/grub/mips/at_keyboard.h: New file.
10830 * include/grub/mips/cache.h: Likewise.
10831 * include/grub/mips/io.h: Likewise.
10832 * include/grub/mips/kernel.h: Likewise.
10833 * include/grub/mips/libgcc.h: Likewise.
10834 * include/grub/mips/pci.h: Likewise.
10835 * include/grub/mips/qemu-mips/boot.h: Likewise.
10836 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10837 * include/grub/mips/qemu-mips/loader.h: Likewise.
10838 * include/grub/mips/qemu-mips/memory.h: Likewise.
10839 * include/grub/mips/qemu-mips/serial.h: Likewise.
10840 * include/grub/mips/qemu-mips/time.h: Likewise.
10841 * include/grub/mips/relocator.h: Likewise.
10842 * include/grub/mips/time.h: Likewise.
10843 * include/grub/mips/types.h: Likewise.
10844 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
10845 * include/grub/mips/yeeloong/boot.h: Likewise.
10846 * include/grub/mips/yeeloong/kernel.h: Likewise.
10847 * include/grub/mips/yeeloong/loader.h: Likewise.
10848 * include/grub/mips/yeeloong/memory.h: Likewise.
10849 * include/grub/mips/yeeloong/pci.h: Likewise.
10850 * include/grub/mips/yeeloong/serial.h: Likewise.
10851 * include/grub/mips/yeeloong/time.h: Likewise.
10852 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
10853 * kern/elf.c (grub_elf32_size): New parameter. All users
10854 updated.
10855 (grub_elf64_size): Likewise.
10856 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
10857 Load modules before saying "Welcome to GRUB!".
10858 Call grub_refresh after saying "Welcome to GRUB!".
10859 * kern/mips/cache.S: New file.
10860 * kern/mips/cache_flush.S: Likewise.
10861 * kern/mips/dl.c: Likewise.
10862 * kern/mips/init.c: Likewise.
10863 * kern/mips/qemu-mips/init.c: Likewise.
10864 * kern/mips/startup.S: Likewise.
10865 * kern/mips/yeeloong/init.c: Likewise.
10866 * kern/term.c (grub_putcode): Handle NULL terminal.
10867 (grub_getcharwidth): Likewise.
10868 (grub_getkey): Likewise.
10869 (grub_checkkey): Likewise.
10870 (grub_getkeystatus): Likewise.
10871 (grub_getxy): Likewise.
10872 (grub_getwh): Likewise.
10873 (grub_gotoxy): Likewise.
10874 (grub_cls): Likewise.
10875 (grub_setcolorstate): Likewise.
10876 (grub_setcolor): Likewise.
10877 (grub_getcolor): Likewise.
10878 (grub_refresh): Likewise.
10879 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
10880 (write_jump): Add hatch nop.
10881 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
10882 * lib/mips/setjmp.S: New file.
10883 * loader/mips/linux.c: Likewise.
10884 * term/i386/pc/at_keyboard.c: Move from here ...
10885 * term/at_keyboard.c: ... to here.
10886 * term/i386/pc/serial.c: Moved from here ...
10887 * term/serial.c: ... to here. All users updated.
10888 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
10889 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
10890 (serial_translate_key_sequence): Avoid deadlock.
10891 (grub_serial_getkey): Handle backspace.
10892 (grub_serial_putchar): Fix newline handling.
10893 * util/i386/pc/grub-mkimage.c: Move from here ...
10894 * util/grub-mkrawimage.c: ... to here. All users updated.
10895 (generate_image): New parameters 'font_path' and 'format'.
10896 Support embedding font.
10897 Use grub_host_to_target* instead of grub_cpu_to_le*.
10898 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
10899 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
10900 (options): New option "--font".
10901 (usage): Likewise.
10902 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
10903 (main): Handle "--font".
10904 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
10905 (grub_virtual_screen_setup): Set bg_color_display.
10906 (redraw_screen_rect): Use bg_color_display instead of incorrect
10907 bg_color.
10908 (grub_gfxterm_cls): Likewise.
10909 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
10910 Support embedding config file.
10911 (add_segments): Likewise.
10912 (options): New option "--config".
10913 (main): Handle "--config".
10914 * video/sm712.c: New file.
10915
10916 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10917
10918 Fix parallel builds.
10919
10920 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
10921 font.c depend on ascii.h).
10922
10923 2010-01-12 Carles Pina i Estany <carles@pina.cat>
10924
10925 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
10926
10927 2010-01-11 Carles Pina i Estany <carles@pina.cat>
10928
10929 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
10930 By default: disabled.
10931 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
10932 parameter.
10933
10934 2010-01-10 Carles Pina i Estany <carles@pina.cat>
10935
10936 * font/font.c: Update copyright years.
10937 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
10938
10939 2010-01-10 Carles Pina i Estany <carles@pina.cat>
10940
10941 * font/font.c: Include `ascii.h'.
10942 (ASCII_BITMAP_SIZE): New macro.
10943 (ascii_font_glyph): Define.
10944 (ascii_glyph_lookup): New function.
10945 (grub_font_get_string_width): Change comment. If glyph not found, use
10946 ascii_glyph_lookup.
10947 (grub_font_get_glyph_with_fallback): If glyph not available returns
10948 ascii_glyph_lookup.
10949 * util/grub-mkfont.c (file_formats): New enum.
10950 (options): Add `ascii-bitmaps' new option.
10951 (usage): Add `asii-bitmaps' new option.
10952 (write_font_ascii_bitmap): New function.
10953 (write_font): Rename to ...
10954 (write_font_p2): ... this. Remove print_glyphs call.
10955 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
10956 used. Call print_glyphs.
10957 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
10958
10959 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
10960
10961 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
10962 (grub_bin2h_SOURCES): New variable.
10963 * util/bin2h.c: New file.
10964
10965 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * include/multiboot.h: Resynced with spec.
10968 * include/multiboot2.h: Likewise.
10969 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
10970 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
10971
10972 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10973
10974 * include/grub/term.h (grub_term_register_input,
10975 grub_term_register_output): Check return of terminal init()
10976 routines, and abort if errors are raised.
10977
10978 * commands/terminal.c: Update copyright year.
10979
10980 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10981
10982 * commands/terminal.c (grub_cmd_terminal_input)
10983 (grub_cmd_terminal_output): Check return of terminal init()
10984 routines, and abort if errors are raised.
10985
10986 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10987
10988 * include/grub/i386/bsd.h: Fix include pathes.
10989
10990 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 Add missing *BSD copyright headers.
10993
10994 * include/grub/aout.h: Add BSD licence.
10995 * include/grub/i386/bsd.h: Parts under different licences moved to ...
10996 * include/grub/i386/freebsd_linker.h: ... here,
10997 * include/grub/i386/freebsd_reboot.h: ... here,
10998 * include/grub/i386/netbsd_bootinfo.h: ... here,
10999 * include/grub/i386/netbsd_reboot.h: ... here,
11000 * include/grub/i386/openbsd_bootarg.h: ... here,
11001 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
11002 licence to each file.
11003
11004 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11005
11006 * acinclude.m4: Remove `nop' assembly instruction; it's not
11007 implemented by all architectures.
11008
11009 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11010
11011 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
11012 ELILO. This is no longer necessary.
11013
11014 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
11015
11016 Added new tool, grub-scrit-check to verify grub.cfg syntax.
11017
11018 * util/grub-script-check.c: grub-script-check tool.
11019 * conf/common.rmk: Make rules for grub-script-check.
11020
11021 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11022
11023 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
11024 spotting it back in 2008. Shame on me for forgetting he did.
11025
11026 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
11027
11028 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11029
11030 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
11031 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
11032 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
11033 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
11034 (GRUB_VIDEO_TYPE_EFI): Rename to ...
11035 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
11036
11037 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
11038
11039 * include/grub/test.h: Add license header.
11040 * tests/example_functional_test.c: Likewise.
11041 * tests/example_unit_test.c: Likewise.
11042 * tests/lib/functional_test.c: Likewise.
11043 * tests/lib/test.c: Likewise.
11044 * tests/lib/unit_test.c: Likewise.
11045
11046 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 Use flag-based instead of hook-based video mode selection and "auto"
11049 keyword.
11050
11051 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
11052 (grub_video_set_mode): Changed prototype. All users updated.
11053 (grub_video_check_mode_flag): New inline function.
11054 * video/video.c (parse_modespec): New function.
11055 (grub_video_set_mode): Parse flags and keywords.
11056
11057 2010-01-17 Carles Pina i Estany <carles@pina.cat>
11058
11059 * util/misc.c (grub_util_info): Fix the order of the parameters in a
11060 fprintf call.
11061
11062 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
11063
11064 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
11065
11066 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11067
11068 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
11069 string.
11070 * util/grub-emu.c (usage): Likewise.
11071 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
11072 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11073 * util/i386/pc/grub-mkimage.c (usage): Likewise.
11074 * util/i386/pc/grub-setup.c (usage): Likewise.
11075
11076 2010-01-16 Carles Pina i Estany <carles@pina.cat>
11077
11078 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
11079 the message.
11080 (grub_util_info): Likewise.
11081 (grub_util_error): Likewise.
11082 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
11083 and/or new lines in `grub_util_warna', `grub_util_info',
11084 `grub_util_error' calls.
11085 * util/getroot.c: Likewise.
11086 * util/grub-editenv.c: Likewise.
11087 * util/grub-emu.c: Likewise.
11088 * util/grub-fstest.c: Likewise.
11089 * util/grub-mkdevicemap.c: Likewise.
11090 * util/grub-mkfont.c: Likewise.
11091 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11092 * util/grub-mkrelpath.c: Likewise.
11093 * util/grub-pe2elf.c: Likewise.
11094 * util/grub-probe.c: Likewise.
11095 * util/hostdisk.c: Likewise.
11096 * util/i386/efi/grub-mkimage.c: Likewise.
11097 * util/i386/pc/grub-mkimage.c: Likewise.
11098 * util/i386/pc/grub-setup.c: Likewise.
11099 * util/ieee1275/ofpath.c: Likewise.
11100 * util/mkisofs/eltorito.c: Likewise.
11101 * util/mkisofs/rock.c: Likewise.
11102 * util/mkisofs/write.c: Likewise.
11103 * util/raid.c: Likewise.
11104 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11105 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11106
11107 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 Enable multiboot on non-pc.
11110
11111 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
11112 multiboot.mod and multiboot2.mod to ...
11113 * conf/i386.rmk (pkglib_MODULES): ... here.
11114 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
11115 Moved to ...
11116 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
11117 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
11118 Moved to ...
11119 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
11120 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
11121 Moved to ...
11122 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
11123 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
11124 Moved to ...
11125 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
11126 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
11127 relocator.mod.
11128 (ata_mod_SOURCES): Removed.
11129 (ata_mod_CFLAGS): Likewise.
11130 (ata_mod_LDFLAGS): Likewise.
11131 (relocator_mod_SOURCES): Removed.
11132 (relocator_mod_CFLAGS): Likewise.
11133 (relocator_mod_ASFLAGS): Likewise.
11134 (relocator_mod_LDFLAGS): Likewise.
11135 Include i386.mk.
11136 * include/grub/x86_64/multiboot.h: New file.
11137 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
11138 Terminate EFI.
11139
11140 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 Video multiboot support.
11143
11144 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
11145 New prototype.
11146 * include/multiboot.h: Resynced with multiboot specification.
11147 * include/multiboot2.h: Likewise.
11148 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
11149 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
11150 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
11151 (HAS_VGA_TEXT): Likewise.
11152 (accepts_video): New variable.
11153 (grub_multiboot_set_accepts_video): New function.
11154 (grub_multiboot_get_mbi_size): Account for video structures.
11155 (set_video_mode): New function.
11156 (retrieve_video_parameters): Likewise.
11157 (grub_multiboot_make_mbi): Fill video fields.
11158
11159 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 Video driver ids.
11162
11163 * include/grub/video.h (grub_video_driver_id): New type.
11164 (grub_video_adapter): New member 'id'. All users updated.
11165 (grub_video_get_driver_id): New proto.
11166 * video/video.c (grub_video_get_driver_id): New function.
11167
11168 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11169
11170 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11171 `var=val'.
11172
11173 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11174
11175 * normal/cmdline.c (print_completion): Gettextizze.
11176
11177 2001-01-14 Carles Pina i Estany <carles@pina.cat>
11178
11179 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11180
11181 2010-01-14 Carles Pina i Estany <carles@pina.cat>
11182
11183 * gettext/gettext.c (grub_gettext_translate): Push and pop
11184 grub_errno.
11185 (grub_gettext_delete_list): Change comment style.
11186 * kern/err.c (grub_error): Gettextizze.
11187 (grub_fatal): Gettextizze.
11188
11189 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11190
11191 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11192 (grub_linux16_real_boot): ... this.
11193 * kern/i386/loader.S: Likewise.
11194 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11195 (grub_linux16_boot): New function. Switches to text mode and calls
11196 grub_linux16_real_boot().
11197
11198 * loader/i386/bsd.c: Include `<grub/video.h>'.
11199 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11200 text mode before calling grub_unix_real_boot().
11201
11202 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11203 (grub_multiboot_boot): Switch to text mode before calling
11204 grub_relocator32_boot().
11205
11206 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11207 (grub_chainloader_boot): Switch to text mode before calling
11208 grub_chainloader_real_boot().
11209
11210 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11211 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11212
11213 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11214 non-empty value.
11215
11216 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11217 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11218
11219 * util/grub.d/00_header.in: Define a "savedefault" function for use
11220 in menu entries.
11221 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11222
11223 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
11224 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11225
11226 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11227 saved_entry if boot_once is unset.
11228 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11229 previous saved entry (i.e. grub-reboot).
11230
11231 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11232
11233 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
11234
11235 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11236
11237 * util/grub.d/00_header.in: Use `set var=val' rather than plain
11238 `var=val'.
11239 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
11240
11241 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11242
11243 * util/grub-reboot.in: Fix --version output.
11244 * util/grub-set-default.in: Likewise.
11245
11246 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11247
11248 * util/grub.d/00_header.in: Silently ignore zero-sized environment
11249 blocks.
11250
11251 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11252
11253 * util/grub.d/00_header.in: Quote the value assigned to `default',
11254 in case it contains spaces.
11255
11256 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
11257
11258 * util/grub.d/30_os-prober.in: Fix merge error that moved a
11259 `save_default_entry' call from the macosx case to the linux case.
11260
11261 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11262 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
11263
11264 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
11265 in `chosen' environment variable.
11266 * normal/menu_text.c (get_entry_number): Check if the variable
11267 matches the title of a menu entry.
11268 (run_menu): Pass menu to get_entry_number.
11269
11270 * util/grub-reboot.in: New file.
11271 * util/grub-set-default.in: New file.
11272 * conf/common.rmk (grub-reboot): New utility.
11273 (grub-set-default): New utility.
11274
11275 * util/grub-mkconfig_lib.in (save_default_entry): New function.
11276 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
11277 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
11278 move it to `saved_entry' for the next boot. Load environment on
11279 initialisation.
11280 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
11281 * util/grub.d/10_hurd.in: Likewise.
11282 * util/grub.d/10_linux.in (linux_entry): Likewise.
11283 * util/grub.d/10_windows.in: Likewise.
11284 * util/grub.d/30_os-prober.in: Likewise.
11285
11286 * util/grub-install.in: Create environment block.
11287 * util/i386/efi/grub-install.in: Likewise.
11288 * util/ieee1275/grub-install.in: Likewise.
11289 * util/sparc64/ieee1275/grub-install.in: Likewise.
11290
11291 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
11292
11293 Unit testing framework for GRUB.
11294
11295 * Makefile.in: Test framework build rules for 'make check'.
11296 * conf/tests.rmk: Build rules for individual tests and framework.
11297
11298 * include/grub/test.h: Header file for whitebox tests.
11299 * tests/lib/functional_test.c: Framework support for whitebox
11300 functional tests.
11301 * tests/lib/test.c: Common whitebox testing code for unit and
11302 functional tests.
11303 * tests/lib/unit_test.c: Framework support for whitebox unit
11304 tests.
11305
11306 * tests/util/grub-shell-tester.in: Support utility for grub-script
11307 tests.
11308 * tests/util/grub-shell.in: Utility to execute grub-script
11309 commands in a Qemu instance.
11310
11311 * tests/example_functional_test.c: Example whitebox functional
11312 test.
11313 * tests/example_grub_script_test.in: Example grub-script test.
11314 * tests/example_scripted_test.in: Example scripted test.
11315 * tests/example_unit_test.c: Example whitebox unit test.
11316
11317 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
11320 Add loader/i386/multiboot_mbi.c.
11321 (multiboot2_mod_SOURCES): Likewise.
11322 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
11323 (multiboot2_mod_SOURCES): Likewise.
11324 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
11325 (grub_multiboot_make_mbi): Likewise.
11326 (grub_multiboot_free_mbi): Likewise.
11327 (grub_multiboot_init_mbi): Likewise.
11328 (grub_multiboot_add_module): Likewise.
11329 (grub_multiboot_set_bootdev): Likewise.
11330 * loader/i386/multiboot.c (mbi): Removed.
11331 (mbi_dest): Likewise.
11332 (alloc_mbi): New variable.
11333 (grub_multiboot_payload_size): Removed. All users updated.
11334 (grub_multiboot_pure_size): New variable.
11335 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
11336 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
11337 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
11338 (grub_fill_multiboot_mmap): Likewise.
11339 (grub_multiboot_get_bootdev): Likewise.
11340 (grub_multiboot): Use multiboot_mbi functions.
11341 * loader/i386/multiboot_mbi.c: New file.
11342
11343 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
11346 it would result in module crash.
11347
11348 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
11351 (grub_ofconsole_getwh): Split to ...
11352 (grub_ofconsole_getwh): ... this.
11353 (grub_ofconsole_dimensions): ...and this.
11354 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
11355
11356 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
11357
11358 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
11359
11360 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11361
11362 * loader/i386/pc/multiboot2.c: Removed stalled file.
11363
11364 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
11367 Reported by: Grégoire Sutre
11368
11369 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
11370
11371 * util/misc.c (canonicalize_file_name): New function.
11372 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
11373 instead of realpath().
11374
11375 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
11376
11377 * util/grub-install.in (usage): Clarify meaning of --root-directory,
11378 and make it clearer that it's optional. Based on confusion
11379 witnessed on IRC.
11380
11381 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11382
11383 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
11384 in premature implicit newline.
11385
11386 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
11389 which resulted in garbled command line at the end of screen.
11390
11391 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11392
11393 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11394 initialization with similar approach as with other Linux loaders.
11395
11396 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11397
11398 Fix i386-ieee1275 build.
11399
11400 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11401 and grub_term_height() for video_{width,height} initialization.
11402
11403 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11404
11405 Fix grub-emu build.
11406
11407 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11408
11409 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11410 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11411
11412 Support for multiple terminals.
11413
11414 * Makefile.in (pkglib_DATA): terminal.lst.
11415 (terminal.lst): New target.
11416 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
11417 (GRUB_MOD_INIT(handler)): Likewise.
11418 (GRUB_MOD_FINI(handler)): Likewise.
11419 * commands/help.c (grub_cmd_help): Handle multiple terminals.
11420 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
11421 * commands/sleep.c (do_print): Use grub_term_restore_pos.
11422 (grub_cmd_sleep): Use grub_term_save_pos.
11423 * commands/terminal.c: New file.
11424 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
11425 commands/terminal.c and lib/charset.c.
11426 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
11427 (pkglib_MODULES): Add terminal.mod.
11428 (terminal_mod_SOURCES): New variable.
11429 (terminal_mod_CFLAGS): Likewise.
11430 (terminal_mod_LDFLAGS): Likewise.
11431 * genhandlerlist.sh: Don't handle terminals.
11432 * genmk.rb: Generate terminal-*.lst.
11433 * genterminallist.sh: New file.
11434 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
11435 (grub_is_valid_utf8): Likewise.
11436 (grub_utf8_to_ucs4_alloc): Likewise.
11437 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
11438 (grub_menu_register_viewer): Changed argument.
11439 (grub_menu_try_text): New proto.
11440 (grub_gfxmenu_try_hook): New declaration.
11441 * include/grub/normal.h (grub_normal_exit_level): New declaration.
11442 (grub_menu_init_page): Additional argument term.
11443 (grub_normal_init_page): Likewise.
11444 (grub_cmdline_get): Arguments simplified.
11445 (grub_utf8_to_ucs4_alloc): Removed.
11446 (grub_print_ucs4): Additional argument term.
11447 (grub_getstringwidth): Likewise.
11448 (grub_print_message_indented): Likewise.
11449 (grub_menu_text_register_instances): New proto.
11450 (grub_show_menu): Likewise.
11451 (read_terminal_list): Likewise.
11452 (grub_set_more): Likewise.
11453 * include/grub/parser.h: Include handler.h.
11454 * include/grub/reader.h: Rewritten.
11455 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
11456 (GRUB_TERM_WIDTH): Changed to function.
11457 (GRUB_TERM_HEIGHT): Likewise.
11458 (GRUB_TERM_BORDER_WIDTH): Likewise.
11459 (GRUB_TERM_BORDER_HEIGHT): Likewise.
11460 (GRUB_TERM_NUM_ENTRIES): Likewise.
11461 (GRUB_TERM_ENTRY_WIDTH): Likewise.
11462 (GRUB_TERM_CURSOR_X): Likewise.
11463 (grub_term_input_class): Likewise.
11464 (grub_term_output_class): Likewise.
11465 (grub_term_outputs_disabled): New declaration.
11466 (grub_term_inputs_disabled): Likewise.
11467 (grub_term_outputs): Likewise.
11468 (grub_term_inputs): Likewise.
11469 (grub_term_register_input): Rewritten.
11470 (grub_term_register_output): Likewise.
11471 (grub_term_unregister_input): Likewise.
11472 (grub_term_unregister_output): Likewise.
11473 (FOR_ACTIVE_TERM_INPUTS): New macro.
11474 (FOR_DISABLED_TERM_INPUTS): Likewise.
11475 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11476 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11477 * include/grub/terminfo.h: Add oterm argument to all protypes.
11478 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
11479 Use grub_rescue_run.
11480 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
11481 All users updated.
11482 * kern/reader.c: Removed. All users updated.
11483 * kern/rescue_reader.c (grub_rescue_init): Removed.
11484 (grub_rescue_reader): Likewise.
11485 (grub_register_rescue_reader): Likewise.
11486 (grub_rescue_run): New function based on kern/reader.c.
11487 * kern/term.c: Adapted for multiterm.
11488 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
11489 (grub_is_valid_utf8): Likewise.
11490 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
11491 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
11492 right terminal.
11493 * loader/i386/linux.c (grub_linux_boot): Likewise.
11494 * normal/auth.c (grub_username_get): New function.
11495 (grub_auth_check_authentication): Use grub_username_get.
11496 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
11497 * normal/color.c: Adapt for multiterm.
11498 * normal/main.c (read_config_file): Don't use grub_reader_loop.
11499 (grub_normal_init_page): Additional argument term.
11500 (read_lists): Call read_terminal_lists.
11501 (grub_enter_normal_mode): Call grub_cmdline_run.
11502 Handle grub_normal_exit_level.
11503 (grub_cmd_normal): Make reentrant.
11504 (grub_cmd_normal_exit): New function.
11505 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
11506 * normal/menu.c: Adapt for multiterm.
11507 * normal/menu_entry.c: Likewise.
11508 * normal/menu_text.c: Likewise.
11509 * normal/menu_viewer.c: Removed. All users updated.
11510 * normal/term.c: New file.
11511 * util/console.c: Change order of includes to workaround a bug in
11512 ncurses headers.
11513 * term/terminfo.c: New argument oterm on all exported functions.
11514 All users updated.
11515 * util/grub-editenv.c (grub_term_input_class): Removed.
11516 (grub_term_output_class): Likewise.
11517
11518 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11519
11520 Make loader output a bit more user-friendly.
11521
11522 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
11523 is being loaded. Likewise for the Hurd.
11524
11525 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
11526 that kernel of FreeBSD ${version} is being loaded.
11527
11528 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
11529 grub_dprintf().
11530 (grub_cmd_initrd): Likewise.
11531 * util/grub.d/10_linux.in (linux_entry): Print message indicating
11532 that Linux ${version} is being loaded. Likewise for initrd.
11533
11534 2010-01-09 Carles Pina i Estany <carles@pina.cat>
11535
11536 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
11537
11538 2010-01-08 Carles Pina i Estany <carles@pina.cat>
11539
11540 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
11541 (GRUB_MOD_INIT): Gettextizze.
11542 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
11543 (GRUB_MOD_INIT): Gettextizze.
11544 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
11545 (grub_cmd_linux): Capitalise Linux.
11546 (GRUB_MOD_INIT): Gettextizze.
11547 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
11548 (grub_cmd_linux): Capitalise Linux.
11549 (GRUB_MOD_INIT): Gettextizze.
11550 * loader/i386/linux.c: Include `<grub/i18n.h>'.
11551 (grub_cmd_linux): Capitalise Linux.
11552 (GRUB_MOD_INIT): Gettextizze.
11553 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
11554 (GRUB_MOD_INIT): Gettextizze.
11555 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
11556 (grub_cmd_linux): Capitalise Linux.
11557 (GRUB_MOD_INIT): Gettextizze.
11558 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
11559 (grub_cpu_xnu_init): Gettextizze.
11560 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
11561 (GRUB_MOD_INIT): Gettextizze.
11562 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
11563 (GRUB_MOD_INIT): Gettextizze.
11564 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
11565 (grub_linux_load64): Capitalise Linux.
11566 (GRUB_MOD_INIT): Gettextizze.
11567 * loader/xnu.c: Include `<grub/i18n.h>'.
11568 (GRUB_MOD_INIT): Gettextizze.
11569 * po/POTFILES: Add `loader/efi/appleloader.c',
11570 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
11571 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
11572 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
11573 `loader/i386/xnu.c', `loader/multiboot_loader.c',
11574 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
11575 and `loader/xnu.c'.
11576
11577 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11578
11579 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
11580
11581 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11582
11583 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
11584 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
11585 * util/mkisofs/mkisofs.c (main): Readjust --version output.
11586
11587 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11588
11589 Reset Multiboot 2 support. New loader implements the draft in
11590 /branches/multiboot2 and shares as much code as possible with the
11591 production Multiboot 1 implementation.
11592
11593 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
11594 * loader/multiboot2.c: Likewise.
11595 * loader/i386/multiboot_helper.S: Likewise.
11596 * include/multiboot2.h: Replace with latest version from the draft
11597 in /branches/multiboot2.
11598
11599 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
11600 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
11601 and `loader/multiboot2.c'.
11602 (pkglib_MODULES): Add `multiboot2.mod'.
11603 (multiboot2_mod_SOURCES): New variable.
11604 (multiboot2_mod_LDFLAGS): Likewise.
11605 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
11606
11607 * conf/i386-pc.rmk: Likewise.
11608
11609 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
11610 (multiboot_mod_SOURCES): Remove variable.
11611 (multiboot_mod_LDFLAGS): Likewise.
11612 (multiboot_mod_CFLAGS): Likewise.
11613
11614 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
11615 `<multiboot2.h>' instead of `<multiboot.h>'.
11616 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
11617 (MULTIBOOT_HEADER_MAGIC): New macros.
11618
11619 * loader/multiboot_loader.c (module_version_status): Remove variable.
11620 (find_multi_boot2_header): Remove function.
11621 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
11622 logic. Always check for the Multiboot version we're compiling for.
11623 (grub_cmd_module_loader): Likewise.
11624 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
11625 command instead of `multiboot'.
11626
11627 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11628
11629 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
11630 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
11631 all users.
11632
11633 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11634 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 Fix breakage introduced with previous commit.
11637
11638 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
11639 commands.
11640 * normal/handler.c (read_handler_list): Revert part of previous commit
11641 affecting this file.
11642 * normal/main.c (read_lists): Move read_handler_list() call back to ...
11643 (grub_normal_execute): ... here.
11644
11645 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11646
11647 Merge prefix-redefinition-fix branch.
11648
11649 * normal/autofs.c (read_fs_list): Make function capable of being
11650 run multiple times, gracefuly replacing the previous data
11651 structures.
11652 * normal/dyncmd.c (read_command_list): Likewise.
11653 * normal/handler.c (read_handler_list): Likewise.
11654 * normal/main.c (read_lists): New function. Calls all the
11655 list reading functions.
11656 (grub_normal_execute): Use read_lists() instead of calling all
11657 list reading functions explicitly. Register read_lists() as a
11658 variable hook attached to ${prefix}.
11659
11660 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11661
11662 Merge crypto branch.
11663
11664 * Makefile.in (pkglib_DATA): Add crypto.lst.
11665 (crypto.lst): New target.
11666 * commands/hashsum.c: New file.
11667 * commands/password.c (check_password): Use grub_crypto_memcmp.
11668 * commands/password_pbkdf2.c: New file.
11669 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
11670 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
11671 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
11672 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
11673 -I$(srcdir)/lib/libgcrypt_wrap.
11674 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
11675 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
11676 password_pbkdf2.mod.
11677 (crypto_mod_SOURCES): New variable.
11678 (crypto_mod_CFLAGS): Likewise.
11679 (crypto_mod_LDFLAGS): Likewise.
11680 (hashsum_mod_SOURCES): New variable.
11681 (hashsum_mod_CFLAGS): Likewise.
11682 (hashsum_mod_LDFLAGS): Likewise.
11683 (pbkdf2_mod_SOURCES): New variable.
11684 (pbkdf2_mod_CFLAGS): Likewise.
11685 (pbkdf2_mod_LDFLAGS): Likewise.
11686 (password_pbkdf2_mod_SOURCES): New variable.
11687 (password_pbkdf2_mod_CFLAGS): Likewise.
11688 (password_pbkdf2_mod_LDFLAGS): Likewise.
11689 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
11690 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
11691 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
11692 Include conf/gcry.rmk.
11693 * include/grub/auth.h: Rewritten.
11694 * include/grub/crypto.h: New file.
11695 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
11696 * include/grub/normal.h (read_crypto_list): New prototype.
11697 * lib/crypto.c: New file.
11698 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
11699 * lib/pbkdf2.c: Likewise.
11700 * normal/auth.c (grub_auth_strcmp): Removed.
11701 (grub_iswordseparator): Likewise.
11702 (grub_auth_strword): Likewise.
11703 (is_authenticated): Use grub_strword.
11704 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
11705 and grub_strword. Pass entered password to authentication callback.
11706 * normal/crypto.c: New file.
11707 * normal/main.c: Call read_crypto_list.
11708 * util/grub-mkpasswd-pbkdf2.c: New file.
11709 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
11710
11711 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 Fix descent and ascent calculation.
11714
11715 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
11716 (options): New option "asce".
11717 (usage): Likewise.
11718 (add_char): Ignore invalid glyphs for descent calculation.
11719 Calculate ascent from actual content.
11720 (print_glyphs): Use 'asce'.
11721 (write_font): Likewise. Allow ascent override.
11722 (main): Handle "asce" option.
11723
11724 2010-01-06 Carles Pina i Estany <carles@pina.cat>
11725
11726 * kern/err.c: Include `<grub/i18n.h>'.
11727 (grub_print_error): Add full stop. Gettextizze.
11728 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
11729 (grub_bsd_load_elf): Capitalise ELF.
11730 (grub_cmd_freebsd_loadenv): Add `s' in error string.
11731 (grub_cmd_freebsd_module): Likewise.
11732 (grub_cmd_freebsd_module_elf): Likewise.
11733 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
11734
11735 2010-01-06 Carles Pina i Estany <carles@pina.cat>
11736
11737 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
11738 * commands/search_file.c (HELP_MESSAGE): New macro.
11739 * commands/search_label.c (HELP_MESSAGE): Likewise.
11740 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
11741 * po/POTFILES: Add `commands/search_file.c',
11742 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
11743 `commands/search.c'.
11744
11745 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11746
11747 * config.rpath: Update from Gnulib.
11748
11749 2010-01-05 Yves Blusseau <blusseau@zetam.org>
11750
11751 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
11752
11753 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
11754
11755 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
11756
11757 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11758
11759 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
11760 arguments to fread so that we get a return value in bytes, rather
11761 than something that will normally be rounded down to 0.
11762 Adjust error handling to avoid producing garbage when size_t is not
11763 the same size as long long.
11764
11765 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
11766
11767 * util/mkisofs/write.c (padblock_write): Check return value of
11768 fread.
11769
11770 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11771
11772 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
11773 floppy images now.
11774
11775 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
11776
11777 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11778
11779 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
11780 instead of manual alignment.
11781 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
11782 verbose). Avoid attempts to read past end of the device
11783 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
11784 but GRUB_DISK_CACHE_SIZE may exceed that).
11785
11786 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11787
11788 * commands/crc.c (grub_cmd_crc): Abort on read errors.
11789 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
11790 it to upper layer.
11791
11792 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11793
11794 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
11795 New constant.
11796 (grub_efi_piwg_device_path): New structure
11797 (grub_efi_piwg_device_path_t): New type.
11798 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
11799 (devpath_1): Transform to a structure. All users updated.
11800 (devpath_2): Likewise.
11801 (devpath_3): Likewise.
11802 (devpath_4): Likewise.
11803 (devpath_5): Likewise.
11804
11805 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 * loader/efi/appleloader.c: Restored. Update all users.
11808
11809 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11810
11811 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
11812
11813 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
11814 (struct boot_blocklist): Move from here ...
11815 * include/grub/i386/pc/boot.h [ASM_FILE]
11816 (struct grub_boot_blocklist): ... to here. Update all users.
11817 (setup): Only initialize `start' member of `first_block'
11818 structure. Add assert() calls to verify the other members.
11819
11820 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
11821 (generate_image): Fix broken blocklist length initialization.
11822 Add assert() call to verify blocklist `segment' field.
11823
11824 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11825
11826 * loader/efi/appleloader.c: Remove. Update all users.
11827
11828 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11829
11830 * boot/i386/pc/boot.S: Update copyright year.
11831 * boot/i386/pc/cdboot.S: Likewise.
11832 * boot/i386/pc/diskboot.S: Likewise.
11833 * boot/i386/pc/lnxboot.S: Likewise.
11834 * boot/i386/pc/pxeboot.S: Likewise.
11835 * bus/pci.c: Likewise.
11836 * commands/cmp.c: Likewise.
11837 * commands/help.c: Likewise.
11838 * commands/hexdump.c: Likewise.
11839 * commands/i386/pc/halt.c: Likewise.
11840 * commands/i386/pc/play.c: Likewise.
11841 * commands/i386/pc/vbeinfo.c: Likewise.
11842 * commands/ls.c: Likewise.
11843 * commands/test.c: Likewise.
11844 * disk/dmraid_nvidia.c: Likewise.
11845 * disk/i386/pc/biosdisk.c: Likewise.
11846 * disk/ieee1275/nand.c: Likewise.
11847 * disk/ieee1275/ofdisk.c: Likewise.
11848 * disk/lvm.c: Likewise.
11849 * disk/raid.c: Likewise.
11850 * disk/raid6_recover.c: Likewise.
11851 * disk/scsi.c: Likewise.
11852 * fs/affs.c: Likewise.
11853 * fs/cpio.c: Likewise.
11854 * fs/ext2.c: Likewise.
11855 * fs/hfs.c: Likewise.
11856 * fs/iso9660.c: Likewise.
11857 * fs/ntfs.c: Likewise.
11858 * fs/sfs.c: Likewise.
11859 * fs/udf.c: Likewise.
11860 * fs/ufs.c: Likewise.
11861 * fs/xfs.c: Likewise.
11862 * gencmdlist.sh: Likewise.
11863 * genmk.rb: Likewise.
11864 * include/grub/disk.h: Likewise.
11865 * include/grub/efi/api.h: Likewise.
11866 * include/grub/efi/efi.h: Likewise.
11867 * include/grub/efi/pe32.h: Likewise.
11868 * include/grub/elf.h: Likewise.
11869 * include/grub/fs.h: Likewise.
11870 * include/grub/i386/at_keyboard.h: Likewise.
11871 * include/grub/i386/pc/memory.h: Likewise.
11872 * include/grub/i386/pc/vbe.h: Likewise.
11873 * include/grub/i386/pci.h: Likewise.
11874 * include/grub/i386/tsc.h: Likewise.
11875 * include/grub/ieee1275/ieee1275.h: Likewise.
11876 * include/grub/ntfs.h: Likewise.
11877 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
11878 * include/grub/sparc64/libgcc.h: Likewise.
11879 * include/grub/symbol.h: Likewise.
11880 * include/grub/types.h: Likewise.
11881 * include/multiboot2.h: Likewise.
11882 * io/gzio.c: Likewise.
11883 * kern/device.c: Likewise.
11884 * kern/disk.c: Likewise.
11885 * kern/efi/efi.c: Likewise.
11886 * kern/efi/mm.c: Likewise.
11887 * kern/elf.c: Likewise.
11888 * kern/file.c: Likewise.
11889 * kern/i386/dl.c: Likewise.
11890 * kern/i386/pc/init.c: Likewise.
11891 * kern/i386/pc/startup.S: Likewise.
11892 * kern/ieee1275/ieee1275.c: Likewise.
11893 * kern/ieee1275/init.c: Likewise.
11894 * kern/main.c: Likewise.
11895 * kern/mm.c: Likewise.
11896 * kern/powerpc/dl.c: Likewise.
11897 * kern/sparc64/dl.c: Likewise.
11898 * kern/x86_64/dl.c: Likewise.
11899 * lib/hexdump.c: Likewise.
11900 * loader/efi/appleloader.c: Likewise.
11901 * loader/i386/ieee1275/linux.c: Likewise.
11902 * loader/i386/pc/chainloader.c: Likewise.
11903 * loader/i386/pc/linux.c: Likewise.
11904 * loader/i386/pc/multiboot2.c: Likewise.
11905 * loader/ieee1275/multiboot2.c: Likewise.
11906 * loader/multiboot2.c: Likewise.
11907 * loader/multiboot_loader.c: Likewise.
11908 * loader/powerpc/ieee1275/linux.c: Likewise.
11909 * normal/completion.c: Likewise.
11910 * normal/menu_entry.c: Likewise.
11911 * partmap/apple.c: Likewise.
11912 * util/grub.d/10_hurd.in: Likewise.
11913 * util/hostfs.c: Likewise.
11914 * video/readers/png.c: Likewise.
11915
11916 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
11917
11918 * include/grub/misc.h (GNUC_PREREQ): New macro.
11919 (ATTRIBUTE_ERROR): New macro.
11920 * include/grub/list.h (grub_bad_type_cast_real): Use
11921 ATTRIBUTE_ERROR.
11922
11923 2010-01-03 Carles Pina i Estany <carles@pina.cat>
11924
11925 * normal/menu_text.c (print_message): Change messages.
11926
11927 2010-01-03 Carles Pina i Estany <carles@pina.cat>
11928
11929 * normal/menu_entry.c (store_completion): Gettextizze.
11930
11931 2010-01-03 Carles Pina i Estany <carles@pina.cat>
11932
11933 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
11934
11935 2010-01-03 Carles Pina i Estany <carles@pina.cat>
11936
11937 * po/POTFILES: Sort correctly.
11938
11939 2010-01-03 Carles Pina i Estany <carles@pina.cat>
11940
11941 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
11942 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
11943 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
11944 full stop.
11945 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
11946 summary. Gettextizze the strings.
11947 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
11948 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
11949 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
11950 full stop.
11951 (GRUB_MOD_INIT): Remove command name from summary.
11952 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
11953 summary.
11954 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
11955 * term/i386/pc/serial.c (options): Add full stops.
11956 (GRUB_MOD_INIT): Remove command name from the summary.
11957
11958 2010-01-03 Carles Pina i Estany <carles@pina.cat>
11959
11960 * commands/acpi.c: Gettextizze help strings and/or options. Include
11961 `grub/i18n.h' if needed.
11962 * commands/blocklist.c: Likewise.
11963 * commands/boot.c: Likewise.
11964 * commands/cat.c: Likewise.
11965 * commands/cmp.c: Likewise.
11966 * commands/configfile.c: Likewise.
11967 * commands/crc.c: Likewise.
11968 * commands/date.c: Likewise.
11969 * commands/echo.c: Likewise.
11970 * commands/efi/fixvideo.c: Likewise.
11971 * commands/efi/loadbios.c: Likewise.
11972 * commands/gptsync.c: Likewise.
11973 * commands/halt.c: Likewise.
11974 * commands/handler.c: Likewise.
11975 * commands/hdparm.c: Likewise.
11976 * commands/hexdump.c: Likewise.
11977 * commands/i386/cpuid.c: Likewise.
11978 * commands/i386/pc/drivemap.c: Likewise.
11979 * commands/i386/pc/halt.c: Likewise.
11980 * commands/i386/pc/pxecmd.c: Likewise.
11981 * commands/i386/pc/vbeinfo.c: Likewise.
11982 * commands/i386/pc/vbetest.c: Likewise.
11983 * commands/ieee1275/suspend.c: Likewise.
11984 * commands/keystatus.c: Likewise.
11985 * commands/loadenv.c: Likewise.
11986 * commands/ls.c: Likewise.
11987 * commands/lsmmap.c: Likewise.
11988 * commands/lspci.c: Likewise.
11989 * commands/memrw.c: Likewise.
11990 * commands/minicmd.c: Likewise.
11991 * commands/parttool.c: Likewise.
11992 * commands/password.c: Likewise.
11993 * commands/probe.c: Likewise.
11994 * commands/read.c: Likewise.
11995 * commands/reboot.c: Likewise.
11996 * commands/search.c: Likewise.
11997 * commands/sleep.c: Likewise.
11998 * commands/test.c: Likewise.
11999 * commands/true.c: Likewise.
12000 * commands/usbtest.c: Likewise.
12001 * commands/videotest.c: Likewise.
12002 * commands/xnu_uuid.c: Likewise.
12003 * disk/loopback.c: Likewise.
12004 * hello/hello.c: Likewise.
12005 * loader/i386/bsd.c: Likewise.
12006 * term/i386/pc/serial.c: Likewise.
12007 * po/POTFILES: Add new files.
12008
12009 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
12010
12011 * term/i386/pc/at_keyboard.c
12012 (keyboard_controller_wait_untill_ready): Rename to ...
12013 (keyboard_controller_wait_until_ready): ... this. Update all users.
12014
12015 2010-01-01 Carles Pina i Estany <carles@pina.cat>
12016
12017 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
12018 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
12019 string using string width.
12020 * normal/menu_text.c (grub_print_message_indented): Use
12021 grub_print_spaces and not print_spaces.
12022 (print_timeout): Likewise.
12023 (print_spaces): Move to...
12024 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
12025
12026 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
12027
12028 Import from Gnulib.
12029
12030 * gnulib/getdelim.c: New file.
12031 * gnulib/getline.c: Likewise.
12032
12033 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
12034
12035 * include/grub/list.h (grub_assert_fail): Removed.
12036 (grub_bad_type_cast_real): New function.
12037 (grub_bad_type_cast): New macro.
12038 (GRUB_AS_LIST): Use grub_bad_type_cast.
12039 (GRUB_AS_LIST_P): Likewise.
12040 (GRUB_AS_NAMED_LIST): Likewise.
12041 (GRUB_AS_NAMED_LIST_P): Likewise.
12042 (GRUB_AS_PRIO_LIST): Likewise.
12043 (GRUB_AS_PRIO_LIST_P): Likewise.
12044 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
12045
12046 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
12047
12048 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
12049 Fix syntax error.
12050
12051 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
12052
12053 * configure.ac: Check for TARGET_CFLAGS initialization before we
12054 initialize it ourselves (sigh).
12055 Move a few modifications to TARGET_CFLAGS to be unconditional
12056 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
12057 eh_frame)
12058
12059 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
12060 * term/i386/pc/at_keyboard.c
12061 (keyboard_controller_wait_untill_ready): Likewise.
12062 (keyboard_controller_led): Rename `led_status' paramter to avoid
12063 name conflict.
12064
12065 2009-12-28 Carles Pina i Estany <carles@pina.cat>
12066
12067 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
12068 quotes.
12069
12070 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12071
12072 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
12073
12074 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12075
12076 * normal/menu_text.c (grub_print_message_indented): Prevent
12077 past-the-end-of-array dereference.
12078
12079 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12080
12081 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
12082 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
12083
12084 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12085
12086 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
12087 * normal/main.c (grub_normal_read_line): Remove a space from the
12088 default prompt.
12089
12090 2009-12-27 Carles Pina i Estany <carles@pina.cat>
12091
12092 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
12093 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12094 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12095 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12096 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12097 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12098 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12099
12100 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12101
12102 * video/readers/jpeg.c (cmd): Declare.
12103 (grub_cmd_jpegtest): Use `grub_command_t' type.
12104 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12105 Assign to `cmd'.
12106 (GRUB_MOD_FINI): Use `cmd' to unregister.
12107 * video/readers/png.c (cmd): Declare.
12108 (grub_cmd_pngtest): Use `grub_command_t' type.
12109 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12110 Assign to `cmd'.
12111 (GRUB_MOD_FINI): Use `cmd' to unregister.
12112 * video/readers/tga.c (cmd): Declare.
12113 (grub_cmd_tgatest): Use `grub_command_t' type.
12114 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12115 Assign to `cmd'.
12116 (GRUB_MOD_FINI): Use `cmd' to unregister.
12117
12118 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12119
12120 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
12121 stops.
12122 * kern/corecmd.c (grub_register_core_commands): Likewise.
12123 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
12124 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12125 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
12126 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12127 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12128 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
12129 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12130 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
12131 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12132 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12133 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12134 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12135 * normal/handler.c (insert_handler): Likewise.
12136 * normal/main.c (GRUB_MOD_INIT): Likewise.
12137 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12138
12139 2009-12-26 Carles Pina i Estany <carles@pina.cat>
12140
12141 * commands/help.c (grub_cmd_help): Print the command name before the
12142 summary.
12143 (GRUB_MOD_INIT): Remove command name from the summary.
12144 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
12145 string as summary.
12146 * lib/arg.c (find_long): Print the command name before the summary.
12147 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
12148 summary.
12149 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
12150 * commands/cat.c (GRUB_MOD_INIT): Likewise.
12151 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
12152 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12153 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12154 * commands/date.c (GRUB_MOD_INIT): Likewise.
12155 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12156 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12157 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12158 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12159 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12160 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12161 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12162 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12163 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12164 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12165 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12166 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12167 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12168 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12169 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12170 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12171 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12172 * commands/password.c (GRUB_MOD_INIT): Likewise.
12173 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12174 * commands/read.c (GRUB_MOD_INIT): Likewise.
12175 * commands/search.c (GRUB_MOD_INIT): Likewise.
12176 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12177 * commands/test.c (GRUB_MOD_INIT): Likewise.
12178 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12179 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12180 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12181 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12182 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12183 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12184 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12185 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12186 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12187 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12188 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12189 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12190 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12191 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12192
12193 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12194
12195 Use search command for preliminar UUID search.
12196
12197 * commands/search.c: Split into ...
12198 * commands/search_wrap.c: ...this
12199 * commands/search.c: ...and this.
12200 * commands/search_file.c: New file.
12201 * commands/search_label.c: New file.
12202 * commands/search_uuid.c: New file.
12203 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12204 Add commands/search_wrap.c, commands/search_file.c,
12205 commands/search_label.c and commands/search_uuid.c.
12206 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12207 (search_mod_SOURCES): Set to commands/search_wrap.c.
12208 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12209 search_label.mod.
12210 (search_fs_file_mod_SOURCES): New variable.
12211 (search_fs_file_mod_CFLAGS): Likewise.
12212 (search_fs_file_mod_LDFLAGS): Likewise.
12213 (search_label_mod_SOURCES): Likewise.
12214 (search_label_mod_CFLAGS): Likewise.
12215 (search_label_mod_LDFLAGS): Likewise.
12216 (search_fs_uuid_mod_SOURCES): New variable.
12217 (search_fs_uuid_mod_CFLAGS): Likewise.
12218 (search_fs_uuid_mod_LDFLAGS): Likewise.
12219 (fs_file_mod_SOURCES): Removed.
12220 (fs_file_mod_CFLAGS): Likewise.
12221 (fs_file_mod_LDFLAGS): Likewise.
12222 (fs_uuid_mod_SOURCES): Removed.
12223 (fs_uuid_mod_CFLAGS): Likewise.
12224 (fs_uuid_mod_LDFLAGS): Likewise.
12225 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12226 Set to util/grub-install.in.
12227 * disk/fs_file.c: Removed.
12228 * disk/fs_uuid.c: Likewise.
12229 * include/grub/search.h: New file.
12230 * util/grub-install.in: Handle sparc64.
12231 Create and use load.cfg.
12232 * util/sparc64/ieee1275/grub-install.in: Removed.
12233
12234 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
12237 Ignore return status if CF is cleared.
12238 (grub_biosdisk_get_diskinfo_standard): Likewise.
12239
12240 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12241
12242 * term/i386/pc/at_keyboard.c
12243 (keyboard_controller_wait_untill_ready): New function.
12244 (grub_keyboard_controller_write, grub_keyboard_controller_read)
12245 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
12246 for keyboard polling, rather than duplicate the same loop. This
12247 saves a few bytes in code size.
12248
12249 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 Support for (pxe[:server[:gateway]]) syntax and
12252 use environment variable for PXE.
12253
12254 * commands/i386/pc/pxecmd.c (options): Removed.
12255 (print_ip): Removed.
12256 (grub_cmd_pxe): Removed
12257 (grub_cmd_pxe_unload): New function.
12258 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
12259 (grub_pxe_your_ip): Made static.
12260 (grub_pxe_default_server_ip): Likewise.
12261 (grub_pxe_default_gateway_ip): Likewise.
12262 (grub_pxe_blksize): Likewise.
12263 (parse_ip): New function.
12264 (grub_pxe_open): Support server and gateway specification.
12265 (grub_pxe_close): Free disk->data.
12266 (grub_pxefs_open): Use disk->data.
12267 (grub_pxefs_read): Likewise.
12268 (grub_env_write_readonly): New function.
12269 (set_mac_env): Likewise.
12270 (set_env_limn_ro): Likewise.
12271 (parse_dhcp_vendor): Likewise.
12272 (grub_pxe_detect): Set the environment variables.
12273 (set_ip_env): New function.
12274 (write_ip_env): Likewise.
12275 (grub_env_write_pxe_default_server): Likewise.
12276 (grub_env_write_pxe_default_gateway): Likewise.
12277 (grub_env_write_pxe_blocksize): Likewise.
12278 (GRUB_MOD_INIT(pxe)): Set environment variables.
12279 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
12280 (grub_pxe_mac_addr_t): ... this. All users updated.
12281 (grub_pxe_your_ip): Removed.
12282 (grub_pxe_server_ip): Likewise.
12283 (grub_pxe_gateway_ip): Likewise.
12284 (grub_pxe_blksize): Likewise.
12285
12286 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12287
12288 * commands/help.c: Include `<grub/i18n.h>'.
12289 (grub_cmd_help): Gettextizze.
12290 (GRUB_MOD_INIT): Likewise.
12291 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
12292 (GRUB_MOD_INIT): Gettextizze.
12293 * commands/search.c: Include `<grub/i18n.h>'.
12294 (options): Gettextizze.
12295 (GRUB_MOD_INIT): Gettextizze.
12296 * lib/arg.c: Include `<grub/i18n.h>'.
12297 (help_options): Gettextizze.
12298 (find_long): Likewise.
12299 (grub_arg_show_help): Likewise.
12300 * normal/dyncmd.c: Include `<grub/i18n.h>'.
12301 (read_command_list): Gettextizze.
12302 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
12303 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
12304
12305 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12306
12307 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
12308 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
12309 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
12310 (led_status): New variable.
12311 (keyboard_controller_led): New function.
12312 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
12313 update led status for caps lock, num lock and scroll lock.
12314
12315 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
12316
12317 * util/hostdisk.c (open_device): Fix a comment.
12318
12319 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12320
12321 * util/grub-install.in (host_os): New variable.
12322 * util/i386/efi/grub-install.in (host_os): Likewise.
12323
12324 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12325
12326 * util/mkisofs/write.c (padblock_write): Abort when given an
12327 excedingly large embed image, instead of silently truncating it.
12328
12329 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12330
12331 * include/multiboot.h: Indentation fixes.
12332
12333 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12334
12335 * include/multiboot.h (struct multiboot_aout_symbol_table)
12336 (struct multiboot_elf_section_header_table): New structure
12337 declarations (stolen from GRUB Legacy).
12338 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
12339 table information.
12340
12341 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
12342 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
12343 type aliases.
12344
12345 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12346
12347 * include/multiboot.h: Make comments src2texi-friendly.
12348
12349 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12350
12351 For consistency with [multiboot]/docs/boot.S.
12352
12353 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
12354 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
12355 (MULTIBOOT_MAGIC2): Rename from this ...
12356 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
12357
12358 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12359
12360 * include/multiboot.h: Remove `<grub/types.h>'.
12361 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
12362 types. Update all users.
12363
12364 2009-12-25 Carles Pina i Estany <carles@pina.cat>
12365
12366 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
12367 `couldn't' and `can not' by `cannot'.
12368 * commands/i386/pc/drivemap.c: Likewise.
12369 * disk/ata.c: Likewise.
12370 * disk/ieee1275/nand.c: Likewise.
12371 * fs/affs.c: Likewise.
12372 * fs/fat.c: Likewise.
12373 * fs/hfs.c: Likewise.
12374 * fs/hfsplus.c: Likewise.
12375 * fs/iso9660.c: Likewise.
12376 * fs/jfs.c: Likewise.
12377 * fs/minix.c: Likewise.
12378 * fs/reiserfs.c: Likewise.
12379 * fs/sfs.c: Likewise.
12380 * fs/udf.c: Likewise.
12381 * fs/ufs.c: Likewise.
12382 * fs/xfs.c: Likewise.
12383 * loader/powerpc/ieee1275/linux.c: Likewise.
12384 * loader/sparc64/ieee1275/linux.c: Likewise.
12385 * util/grub-probe.c: Likewise.
12386 * util/misc.c: Likewise.
12387
12388 2009-12-24 Carles Pina i Estany <carles@pina.cat>
12389
12390 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
12391 grub_errno calls.
12392 * commands/acpi.c: Likewise.
12393 * commands/blocklist.c: Likewise.
12394 * commands/efi/loadbios.c: Likewise.
12395 * commands/i386/pc/drivemap.c: Likewise.
12396 * commands/loadenv.c: Likewise.
12397 * commands/memrw.c: Likewise.
12398 * commands/password.c: Likewise.
12399 * commands/videotest.c: Likewise.
12400 * disk/ata.c: Likewise.
12401 * disk/ata_pthru.c: Likewise.
12402 * disk/dmraid_nvidia.c: Likewise.
12403 * disk/ieee1275/nand.c: Likewise.
12404 * disk/ieee1275/ofdisk.c: Likewise.
12405 * disk/loopback.c: Likewise.
12406 * disk/lvm.c: Likewise.
12407 * disk/mdraid_linux.c: Likewise.
12408 * disk/raid.c: Likewise.
12409 * disk/raid6_recover.c: Likewise.
12410 * disk/scsi.c: Likewise.
12411 * efiemu/main.c: Likewise.
12412 * efiemu/mm.c: Likewise.
12413 * efiemu/pnvram.c: Likewise.
12414 * efiemu/symbols.c: Likewise.
12415 * font/font.c: Likewise.
12416 * fs/cpio.c: Likewise.
12417 * fs/hfsplus.c: Likewise.
12418 * fs/iso9660.c: Likewise.
12419 * fs/jfs.c: Likewise.
12420 * fs/minix.c: Likewise.
12421 * fs/ntfs.c: Likewise.
12422 * fs/ntfscomp.c: Likewise.
12423 * fs/reiserfs.c: Likewise.
12424 * fs/ufs.c: Likewise.
12425 * fs/xfs.c: Likewise.
12426 * gettext/gettext.c: Likewise.
12427 * include/grub/auth.h: Likewise.
12428 * kern/elf.c: Likewise.
12429 * kern/file.c: Likewise.
12430 * kern/ieee1275/init.c: Likewise.
12431 * kern/ieee1275/mmap.c: Likewise.
12432 * kern/ieee1275/openfw.c: Likewise.
12433 * kern/powerpc/dl.c: Likewise.
12434 * kern/sparc64/dl.c: Likewise.
12435 * lib/arg.c: Likewise.
12436 * loader/i386/bsd.c: Likewise.
12437 * loader/i386/bsdXX.c: Likewise.
12438 * loader/i386/efi/linux.c: Likewise.
12439 * loader/i386/efi/xnu.c: Likewise.
12440 * loader/i386/ieee1275/linux.c: Likewise.
12441 * loader/i386/linux.c: Likewise.
12442 * loader/i386/multiboot.c: Likewise.
12443 * loader/i386/pc/linux.c: Likewise.
12444 * loader/i386/pc/multiboot2.c: Likewise.
12445 * loader/i386/xnu.c: Likewise.
12446 * loader/ieee1275/multiboot2.c: Likewise.
12447 * loader/macho.c: Likewise.
12448 * loader/machoXX.c: Likewise.
12449 * loader/multiboot2.c: Likewise.
12450 * loader/multiboot_loader.c: Likewise.
12451 * loader/powerpc/ieee1275/linux.c: Likewise.
12452 * loader/sparc64/ieee1275/linux.c: Likewise.
12453 * loader/xnu.c: Likewise.
12454 * loader/xnu_resume.c: Likewise.
12455 * mmap/i386/pc/mmap.c: Likewise.
12456 * normal/menu_viewer.c: Likewise.
12457 * partmap/acorn.c: Likewise.
12458 * partmap/amiga.c: Likewise.
12459 * partmap/apple.c: Likewise.
12460 * script/lexer.c: Likewise.
12461 * term/gfxterm.c: Likewise.
12462 * term/i386/pc/serial.c: Likewise.
12463 * term/i386/pc/vga.c: Likewise.
12464 * term/ieee1275/ofconsole.c: Likewise.
12465 * term/terminfo.c: Likewise.
12466 * video/bitmap.c: Likewise.
12467 * video/efi_gop.c: Likewise.
12468 * video/efi_uga.c: Likewise.
12469 * video/fb/video_fb.c: Likewise.
12470 * video/i386/pc/vbe.c: Likewise.
12471 * video/readers/tga.c: Likewise.
12472 * video/video.c: Likewise.
12473
12474 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
12475
12476 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
12477 * commands/lspci.c: Likewise.
12478 * commands/probe.c: Likewise.
12479 * commands/xnu_uuid.c: Likewise.
12480 * conf/i386-coreboot.rmk: Likewise.
12481 * conf/i386-efi.rmk: Likewise.
12482 * conf/i386-ieee1275.rmk: Likewise.
12483 * conf/i386-pc.rmk: Likewise.
12484 * conf/powerpc-ieee1275.rmk: Likewise.
12485 * conf/sparc64-ieee1275.rmk: Likewise.
12486 * conf/x86_64-efi.rmk: Likewise.
12487 * fs/i386/pc/pxe.c: Likewise.
12488 * gettext/gettext.c: Likewise.
12489 * include/grub/efi/graphics_output.h: Likewise.
12490 * include/grub/i386/pc/memory.h: Likewise.
12491 * kern/env.c: Likewise.
12492 * kern/i386/qemu/startup.S: Likewise.
12493 * lib/i386/pc/biosnum.c: Likewise.
12494 * lib/i386/relocator.c: Likewise.
12495 * lib/i386/relocator_asm.S: Likewise.
12496 * lib/relocator.c: Likewise.
12497 * loader/i386/bsd.c: Likewise.
12498 * loader/i386/multiboot.c: Likewise.
12499 * loader/i386/pc/chainloader.c: Likewise.
12500 * loader/i386/xnu.c: Likewise.
12501 * loader/xnu.c: Likewise.
12502 * normal/main.c: Likewise.
12503 * normal/menu_text.c: Likewise.
12504 * util/getroot.c: Likewise.
12505 * util/grub-mkconfig_lib.in: Likewise.
12506 * util/grub.d/00_header.in: Likewise.
12507 * util/i386/pc/grub-mkimage.c: Likewise.
12508 * util/mkisofs/eltorito.c: Likewise.
12509 * util/mkisofs/exclude.h: Likewise.
12510 * util/mkisofs/hash.c: Likewise.
12511 * util/mkisofs/iso9660.h: Likewise.
12512 * util/mkisofs/joliet.c: Likewise.
12513 * util/mkisofs/mkisofs.c: Likewise.
12514 * util/mkisofs/mkisofs.h: Likewise.
12515 * util/mkisofs/multi.c: Likewise.
12516 * util/mkisofs/name.c: Likewise.
12517 * util/mkisofs/rock.c: Likewise.
12518 * util/mkisofs/tree.c: Likewise.
12519 * util/mkisofs/write.c: Likewise.
12520 * video/efi_gop.c: Likewise.
12521
12522 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
12525 size counting.
12526
12527 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12528
12529 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
12530 * genmk.rb (class SCRIPT): Modify the target file instead of source.
12531
12532 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
12535 (GRUB_MOD_INIT(memrw)): Update help line.
12536
12537 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12538
12539 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
12540 Use grub_extcmd_t. All users updated.
12541 (options): New variable.
12542 (grub_cmd_read): Restructure for readability. Support "-v" option.
12543 (grub_cmd_write): Restructure for readability.
12544
12545 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12546
12547 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
12548
12549 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12550
12551 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
12552 with the actual contents of the correspondending make variable.
12553 * util/grub-mkrescue.in (pkglib_DATA): New variable.
12554 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
12555 specifying `*.lst' and `efiemu??.o'
12556
12557 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12558
12559 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
12560 after function name.
12561 Noticed by Rene Engelhard <rene@debian.org>.
12562
12563 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
12566 (options): New variable.
12567 (iospace): Likewise.
12568 (grub_lspci_iter): List IO spaces if "-i" was given.
12569 (grub_cmd_lspci): Parse options.
12570 (GRUB_MOD_INIT(lspci)): Use extcmd.
12571 (GRUB_MOD_FINI(lspci)): Likewise.
12572
12573 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
12574
12575 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
12576 `function' keyword.
12577 Patch by Tony Mancill <tmancill@debian.org>.
12578
12579 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
12582 (grub_uhci_portstatus): Likewise.
12583 (grub_uhci_portstatus): Add necessary delay.
12584 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
12585
12586 2009-12-21 Carles Pina i Estany <carles@pina.cat>
12587
12588 * commands/acpi.c (options): Fix capitalizations and/or full stops.
12589 (GRUB_MOD_INIT): Likewise.
12590 * commands/boot.c (GRUB_MOD_INIT): Likewise.
12591 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
12592 * commands/echo.c (options): Fix capitalizations and/or full stops.
12593 * commands/efi/loadbios.c (enable_rom_area): Likewise.
12594 (enable_rom_area): Likewise.
12595 (GRUB_MOD_INIT): Likewise.
12596 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12597 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
12598 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12599 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
12600 * commands/hexdump.c (options): Likewise.
12601 * commands/i386/cpuid.c (options): Likewise.
12602 (GRUB_MOD_INIT): Likewise.
12603 * commands/i386/pc/drivemap.c (options): Likewise.
12604 (GRUB_MOD_INIT): Likewise.
12605 * commands/i386/pc/halt (options): Likewise.
12606 (GRUB_MOD_INIT): Likewise.
12607 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12608 * commands/i386/pc/pxecmd.c (options): Likewise.
12609 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
12610 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
12611 * commands/keystatus.c (options): Likewise.
12612 (GRUB_MOD_INIT): Likewise.
12613 * commands/loadenv.c (options): Likewise.
12614 * commands/ls.c (options): Likewise.
12615 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12616 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12617 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12618 * commands/parttool.c (helpmsg): Likewise.
12619 * commands/probe.c (options): Likewise.
12620 * commands/read.c (GRUB_MOD_INIT): Likewise.
12621 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
12622 * commands/search.c (options): Likewise.
12623 * commands/sleep.c (options): Likewise.
12624 * commands/test.c (GRUB_MOD_INIT): Likewise.
12625 * commands/true.c (GRUB_MOD_INIT): Likewise.
12626 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
12627 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
12628 * lib/arg.c (help_options): Likewise.
12629 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
12630 `$(XGETTEXT)'.
12631 * po/POTFILES: Add `commands/loadenv.c'.
12632
12633 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
12634
12635 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
12636 instead of specifying them explicit.
12637
12638 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12639
12640 * NEWS: Add grub-probe support for GNU/Hurd.
12641
12642 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12643
12644 * NEWS: gettext was added after 1.97.
12645
12646 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12647
12648 * util/mkisofs/msdos_partition.h: New file (based on
12649 include/grub/msdos_partition.h).
12650 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
12651 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
12652 (ld_options, main): Recognize --protective-msdos-label.
12653 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
12654 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
12655 (padblock_write): If `use_protective_msdos_label' is set, patch a
12656 protective DOS-style label in the output image.
12657
12658 * util/grub-mkrescue.in: Use --protective-msdos-label.
12659
12660 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12661
12662 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
12663 boot.
12664
12665 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12666
12667 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
12668 variables.
12669 (ld_options, main): Recognize `--embedded-boot'.
12670 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
12671 declarations.
12672 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
12673 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
12674 (padblock_write): Likewise. Rewrite to support embedded boot image.
12675
12676 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
12677 for BIOS-based disk boot instead of only ElTorito.
12678
12679 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12680
12681 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
12682 build (not needed for bootstrap).
12683
12684 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12685
12686 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
12687 from i386-pc build (not needed for bootstrap).
12688 Rewrite a pair of strings.
12689
12690 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12691
12692 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
12693
12694 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
12697
12698 2009-12-21 Andreas Born <futur.andy@googlemail.com>
12699
12700 * kern/env.c (grub_env_context_open): Mark exported variable for
12701 reexport.
12702
12703 2009-12-21 Andreas Born <futur.andy@googlemail.com>
12704
12705 * kern/env.c (grub_env_export): Create nonexistent variables before
12706 exporting.
12707
12708 2009-12-20 Carles Pina i Estany <carles@pina.cat>
12709
12710 * include/grub/auth.h: Include `<grub/i18n.h>'.
12711 (GRUB_GET_PASSWORD): Gettextizze string.
12712 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
12713 menu_text.c.
12714 (grub_utf8_to_ucs4_alloc): Fix indentation.
12715 (grub_print_ucs4): Likewise.
12716 (grub_getstringwidth): Likewise.
12717 (print_message_indented): New declaration.
12718 * normal/auth.c: Include `<grub/i18n.h>'.
12719 (grub_auth_check_authentication): Gettexttize string.
12720 * normal/cmdline.c: Include `<grub/i18n.h>'.
12721 (grub_cmdline_get): Gettextizze.
12722 * normal/color.c: Include `<grub/i18n.h>'.
12723 (grub_parse_color_name_pair): Gettexttize strings.
12724 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
12725 string (use `print_message_indented').
12726 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
12727 `include/grub/normal.h'.
12728 (print_message_indented): Renamed to ...
12729 (grub_print_message_indented): ... this. Remove `static' qualifer (now
12730 used in normal/main.c).
12731 (print_message): Use `grub_print_message_indented' instead of
12732 `print_message_indented'.
12733 (print_timeout): Likewise.
12734 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
12735 (grub_normal_print_device_info): Gettexttize strings.
12736 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
12737
12738 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12739
12740 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
12741 of arguments. Return number of tokens and not arguments. All users
12742 updated.
12743
12744 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12745
12746 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
12747 non-MSDOS paritions.
12748
12749 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 * include/grub/types.h (UNUSED): Removed since it conflicts with
12752 NetBSD headers. All users changed to direct __attribute__ ((unused)).
12753 Reported by Grégoire Sutre.
12754
12755 2009-12-19 Carles Pina i Estany <carles@pina.cat>
12756
12757 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
12758 (grub_print_ucs4_alloc): Likewise.
12759 (grub_getstringwidth): Likewise.
12760 * normal/main.c (grub_normal_init_page): Gettextize version string.
12761 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
12762 (getstringwidth): Renamed to ...
12763 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
12764 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
12765 (grub_print_ucs4): Remove `static' qualifer (now used in
12766 normal/main.c).
12767 * po/POTFILES: Add normal/main.c.
12768
12769 2009-12-19 Carles Pina i Estany <carles@pina.cat>
12770
12771 * normal/menu_text.c (STANDARD_MARGIN): New macro.
12772 (print_message_indented): Add `margin_left' and `margin_right'
12773 parameters.
12774 (print_message): Update `print_message_indented' calls. Adds '\n' to the
12775 strings.
12776 (print_timeout): Use `print_message_indented' to print the message.
12777 Deletes `second_stage' parameter.
12778 (run_menu): Update `print_timeout' calls.
12779
12780 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12781
12782 Fix console palette on OpenFirmware.
12783
12784 * term/ieee1275/ofconsole.c (MAX): Removed.
12785 (colors): Redone based on VGA palette.
12786 (grub_ofconsole_setcolor): Discard brightness bit since only 8
12787 colors are supported.
12788 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
12789
12790 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12791
12792 Fix potential EfiEmu double prepare.
12793
12794 * efiemu/main.c (prepared): New variable
12795 (grub_efiemu_unload): Set prepare to '0'.
12796 (grub_efiemu_prepare): Return if already prepared. Set prepared.
12797
12798 set_virtual_address_map support.
12799
12800 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
12801 prototype.
12802 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
12803 prototype.
12804 (grub_efiemu_crc32): Likewise.
12805 (grub_efiemu_crc64): Likewise.
12806 (grub_efiemu_set_virtual_address_map): Likewise.
12807 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
12808 New definition.
12809 (grub_autoefi_set_virtual_address_map): Likewise.
12810 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
12811 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
12812 Restructure flow to accomodate it.
12813 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
12814 (grub_efiemu_crc): Recompute CRC32.
12815 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
12816 (efiemu_ptv_relocated): ... this. Made global. All users updated.
12817 * efiemu/symbols.c (relocated_handle): New variable.
12818 (grub_efiemu_free_syms): Free relocated_handle.
12819 (grub_efiemu_alloc_syms): Allocate relocated_handle.
12820 (grub_efiemu_write_sym_markers): New function.
12821 (grub_efiemu_set_virtual_address_map): Likewise.
12822
12823 Newer XNU parameters.
12824
12825 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
12826 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
12827 (grub_xnu_fill_devicetree): New prototype.
12828 (grub_xnu_heap_real_start): New variable.
12829 * loader/xnu.c (get_name_ptr): New function.
12830 (grub_xnu_load_driver): Fill namelen and name.
12831
12832 64-bit xnu support.
12833
12834 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
12835 and 'loader/macho64.c'.
12836 * conf/i386-pc.rmk: Likewise.
12837 * conf/x86_64-efi.rmk: Likewise.
12838 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
12839 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
12840 * include/grub/macho.h (grub_macho_segment64): New structure.
12841 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
12842 (grub_macho_size32): ... to this.
12843 (grub_macho32_get_entry_point): Renamed from ...
12844 (grub_macho_get_entry_point32): ... to this.
12845 (grub_macho_contains_macho64): New prototype.
12846 (grub_macho_size64): Likewise.
12847 (grub_macho_get_entry_point64): Likewise.
12848 (grub_macho32_load): Renamed from ...
12849 (grub_macho_load32): ... to this.
12850 (grub_macho32_filesize): Renamed from ...
12851 (grub_macho_filesize32): ... to this.
12852 (grub_macho32_readfile): Renamed from ...
12853 (grub_macho_readfile32): ... to this.
12854 (grub_macho_filesize64): New prototype.
12855 (grub_macho_readfile64): Likewise.
12856 (grub_macho_parse32): Likewise.
12857 (grub_macho_parse64): Likewise.
12858 * loader/macho.c: Split into ...
12859 * loader/machoXX.c: ... and this. Replace 32 with XX.
12860 * loader/macho32.c: New file.
12861 * loader/macho64.c: Likewise.
12862 * loader/xnu.c (grub_xnu_is_64bit): New variable.
12863 (grub_cmd_xnu_kernel): Make 32-bit only.
12864 (grub_cmd_xnu_kernel64): New function.
12865 (grub_xnu_load_driver): Support Mach-O 64.
12866 (grub_cmd_xnu_mkext): Likewise.
12867 * util/grub.d/30_os-prober.in (osx_entry): New function.
12868 Generate entries for 64-bit boot too.
12869
12870 Eliminate ad-hoc tree format in XNU and EfiEmu.
12871
12872 * efiemu/main.c (grub_efiemu_prepare): Update comment.
12873 * efiemu/pnvram.c: Rewritten to use environment variables.
12874 All users updated.
12875
12876 Inline utf16_to_utf8.
12877
12878 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
12879 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
12880 All users updated.
12881 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
12882
12883 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
12884 * commands/usbtest.c (grub_usb_get_string): ... move here.
12885 (usb_print_str): Fix error handling.
12886 * include/grub/usb.h (grub_usb_get_string): Remove.
12887
12888 UTF-8 to UTF-16 transformation.
12889
12890 * conf/common.rmk (pkglib_MODULES): Add charset.mod
12891 (charset_mod_SOURCES): New variable.
12892 (charset_mod_CFLAGS): Likewise.
12893 (charset_mod_LDFLAGS): Likewise.
12894 * include/grub/utf.h: New file.
12895 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
12896
12897 Support for device properties.
12898
12899 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
12900 (grub_xnu_devprop_device_header): Likewise.
12901 (grub_xnu_devprop_device_descriptor): Likewise.
12902 (grub_xnu_devprop_add_device): New prototype.
12903 (grub_xnu_devprop_remove_device): Likewise.
12904 (grub_xnu_devprop_remove_property): Likewise.
12905 (grub_xnu_devprop_add_property_utf8): Likewise.
12906 (grub_xnu_devprop_add_property_utf16): Likewise.
12907 (grub_cpu_xnu_init): Likewise.
12908 (grub_cpu_xnu_fini): Likewise.
12909 (grub_cpu_xnu_unload): Likewise.
12910 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
12911 (property_descriptor): Likewise.
12912 (devices): New variable.
12913 (grub_xnu_devprop_remove_property): New function.
12914 (grub_xnu_devprop_add_device): Likewise.
12915 (grub_xnu_devprop_remove_device): Likewise.
12916 (grub_xnu_devprop_add_property): Likewise.
12917 (grub_xnu_devprop_add_property_utf8): Likewise.
12918 (grub_xnu_devprop_add_property_utf16): Likewise.
12919 (hextoval): Likewise.
12920 (grub_cpu_xnu_fill_devprop): Likewise.
12921 (grub_cmd_devprop_load): Likewise.
12922 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
12923 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
12924 (cmd_devprop_load): New variable.
12925 (grub_cpu_xnu_init): New function.
12926 (grub_cpu_xnu_fini): Likewise.
12927 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
12928 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
12929 (grub_cmd_xnu_devtree): Likewise.
12930 (hextoval): New function.
12931 (unescape): Likewise.
12932 (grub_xnu_fill_devicetree): Likewise.
12933
12934 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
12935 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
12936
12937 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 Workaround for broken ATI VBE.
12940
12941 * video/i386/pc/vbe.c (last_set_mode): New variable.
12942 (grub_vbe_set_video_mode): Set 'last_set_mode'.
12943 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
12944 (grub_video_vbe_setup): Don't check for reserved flag.
12945
12946 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
12947
12948 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
12949 the `find' command.
12950
12951 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 UUID support for HFS.
12954
12955 * fs/hfs.c (grub_hfs_uuid): New function.
12956 (grub_hfs_fs): New value .uuid.
12957 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
12958
12959 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
12960
12961 Fix a segfault with parsing unknown long options.
12962
12963 * util/grub-mkrelpath.c (options): Zero terminate it.
12964
12965 2009-12-13 Carles Pina i Estany <carles@pina.cat>
12966
12967 * include/grub/misc.h (grub_puts): New declaration.
12968 (grub_puts_): Likewise.
12969 * kern/misc.c (grub_puts): New definition.
12970 (grub_puts_): Likewise.
12971
12972 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12973
12974 * util/grub-probe.c (probe): Improve error message.
12975
12976 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12977
12978 * loader/i386/multiboot_elfxx.c
12979 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
12980 initialization.
12981
12982 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 Relocator framework
12985
12986 * loader/i386/xnu_helper.S: Removed. All users updated.
12987 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
12988 (relocator_mod_SOURCES): New variable.
12989 (relocator_mod_CFLAGS): Likewise.
12990 (relocator_mod_LDFLAGS): Likewise.
12991 (relocator_mod_ASFLAGS): Likewise.
12992 * conf/x86_64.rmk: Likewise.
12993 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
12994 (grub_multiboot_payload_entry_offset): Likewise.
12995 (grub_multiboot_forward_relocator): Likewise.
12996 (grub_multiboot_forward_relocator_end): Likewise.
12997 (grub_multiboot_backward_relocator): Likewise.
12998 (grub_multiboot_backward_relocator_end): Likewise.
12999 (grub_multiboot_payload_eip): New variable.
13000 (grub_multiboot_payload_orig): Likewise.
13001 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
13002 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
13003 * include/grub/i386/memory.h
13004 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
13005 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
13006 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
13007 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
13008 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
13009 * include/grub/i386/relocator.h: New file.
13010 * include/grub/x86_64/relocator.h: Likewise.
13011 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
13012 (XNU_RELOCATOR): New macro.
13013 (grub_xnu_launcher_start): Remove.
13014 (grub_xnu_launcher_end): Likewise.
13015 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
13016 (grub_xnu_heap_real_start): Remove.
13017 (grub_xnu_heap_start): Change to void *. All users updated.
13018 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
13019 * lib/i386/relocator.c: New file.
13020 * lib/i386/relocator_asm.S: Likewise.
13021 * lib/i386/relocator_backward.S: Likewise.
13022 * lib/mips/relocator.c: Likewise.
13023 * lib/mips/relocator_asm.S: Likewise.
13024 * lib/relocator.c: Likewise.
13025 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
13026 (entry): Removed.
13027 (playground): Likewise.
13028 (grub_multiboot_payload_orig): New variable.
13029 (grub_multiboot_payload_dest): Likewise.
13030 (grub_multiboot_payload_size): Likewise.
13031 (grub_multiboot_payload_eip): Likewise.
13032 (grub_multiboot_payload_esp): Likewise.
13033 (grub_multiboot_boot): Use grub_relocator32_boot.
13034 (grub_multiboot_unload): Free relocators.
13035 (grub_multiboot): Setup stack. Use relocators.
13036 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
13037 (grub_multiboot_load_elfXX): Use relocators.
13038 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
13039 (grub_multiboot_payload_size): Likewise.
13040 (grub_multiboot_payload_dest): Likewise.
13041 (grub_multiboot_payload_entry_offset): Likewise.
13042 (grub_multiboot_forward_relocator): Likewise.
13043 (grub_multiboot_backward_relocator): Likewise.
13044 (grub_multiboot_real_boot): Likewise.
13045 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
13046 (grub_xnu_entry_point): Likewise.
13047 (grub_xnu_arg1): Likewise.
13048 (grub_xnu_stack): Likewise.
13049 (grub_xnu_launch): Removed.
13050 (grub_xnu_boot_resume): New function.
13051 (grub_xnu_boot): Use relocators.
13052 * loader/i386/xnu_helper.S: Removed.
13053 * loader/xnu.c (grub_xnu_heap_start): New variable.
13054 (grub_xnu_heap_size): Likewise.
13055 (grub_xnu_heap_malloc): Use relocators.
13056 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
13057
13058 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13059
13060 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
13061 anything.
13062
13063 2009-12-13 Carles Pina i Estany <carles@pina.cat>
13064
13065 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
13066 GRUB_ERR_NONE before calling grub_env_set.
13067
13068 2009-12-12 Robert Millan <rmh@aybabtu.com>
13069
13070 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
13071 * genmk.rb (video): New variable.
13072 (CLEANFILES, VIDEOFILES): Add #{video}.
13073 (#{video}): New target rule.
13074 * genvideolist.sh: New file.
13075 * Makefile.in (pkglib_DATA): Add video.lst.
13076 (video.lst): New target rule.
13077 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
13078 `video.lst'.
13079 * util/grub.d/30_os-prober.in: Replace `vbe' with
13080 ${GRUB_VIDEO_BACKEND}.
13081
13082 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
13083
13084 * THANKS: Add David Miller.
13085
13086 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 libpciaccess support.
13089
13090 * Makefile.in (LIBPCIACCESS): New variable.
13091 (enable_grub_emu_pci): Likewise.
13092 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
13093 util/pci.c and commands/lspci.c.
13094 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
13095 * configure.ac (grub-emu-pci): New option.
13096 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
13097 (grub_pci_device_unmap_range): Likewise.
13098 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
13099 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
13100 (grub_pci_address_t) [!GRUB_UTIL]: New type.
13101 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
13102 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
13103 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
13104 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
13105 * include/grub/pciutils.h: New file.
13106 * util/pci.c: Likewise.
13107
13108 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
13109
13110 * util/misc.c: Don't include <errno.h> twice.
13111
13112 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
13113
13114 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
13115 name in an error message.
13116 (grub_biosdisk_rw): Likewise.
13117
13118 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 Eliminate NTFS 4Gib barrier.
13121
13122 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
13123 (read_run_data): Likewise.
13124 (grub_ntfs_read_run_list): Likewise.
13125 (grub_ntfs_read_block): Likewise.
13126 (grub_ntfs_iterate_dir): Likewise.
13127 (read_mft): Likewise.
13128 (read_data): Likewise.
13129 Use COM_LOG_LEN.
13130 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
13131 to avoid 64-bit division
13132 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
13133 (grub_ntfs_rlst): Use grub_disk_addr_t.
13134
13135 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 Eliminate grub-fstest 4Gib barrier.
13138
13139 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
13140 (read_file): Fix error reporting.
13141
13142 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 Eliminate hexdump 4Gib barrier.
13145
13146 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
13147 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
13148
13149 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
13152 Fixes amarsh bug.
13153
13154 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13155
13156 Remove miscellaneous files in distclean target.
13157
13158 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13159
13160 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
13161
13162 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13163 if they're already set. This resolves the conflict between my
13164 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13165 fixing the --grub-probe option again.
13166 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13167 change on 2009-10-06, so that we now once again source
13168 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13169
13170 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13171
13172 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13173 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13174 `util/devicemap.c'.
13175
13176 2009-12-08 Carles Pina i Estany <carles@pina.cat>
13177
13178 * include/grub/misc.h (grub_printf_): New declaration.
13179 * kern/misc.c (grub_printf_): New definition.
13180 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13181 instead of `grub_printf' and `_'.
13182 * normal/menu_entry.c (store_completion): Likewise.
13183 (run): Likewise.
13184 (grub_menu_entry_run): Likewise.
13185 * normal/menu_text.c (grub_wait_after_message): Likewise.
13186 (notify_booting): Likewise.
13187 (notify_fallback): Likewise.
13188 (notify_execution_failure): Likewise.
13189
13190 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
13191
13192 * configure.ac: Check for vasprintf.
13193 * util/misc.c (asprintf): Move allocation from here ...
13194 (vasprintf): ... to here. New function.
13195 (xasprintf): New function.
13196 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13197 prototypes.
13198 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13199 * util/grub-mkfont.c (write_font): Likewise.
13200 * util/grub-probe.c (probe): Likewise.
13201 * util/hostdisk.c (make_device_name): Likewise.
13202
13203 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
13204
13205 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13206 anything even prefixed with 'cdrom' as a cdrom.
13207
13208 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
13209
13210 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13211 mount points.
13212
13213 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13214
13215 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13216 grub_gettext_msg_list.
13217 (grub_gettext_gettranslation_from_position): Return const char *
13218 and not char *.
13219 (grub_gettext_translate): Add the translated strings into a list,
13220 returns from the list if existing there.
13221 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13222 (grub_gettext_delete_list): Delete the list.
13223 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13224 lang environment variable is changed.
13225 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13226
13227 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 Rename kernel.mod to kernel.img.
13230
13231 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
13232 (kernel_mod_EXPORTS): Rename to ...
13233 (kernel_img_EXPORTS): ... this.
13234 (kernel_mod_SOURCES): Rename to ...
13235 (kernel_img_SOURCES): ... this.
13236 (kernel_mod_HEADERS): Rename to ...
13237 (kernel_img_HEADERS): ... this. All users updated.
13238 (kernel_mod_CFLAGS): Rename to ...
13239 (kernel_img_CFLAGS): ... this.
13240 (kernel_mod_ASFLAGS): Rename to ...
13241 (kernel_img_ASFLAGS): ... this.
13242 (kernel_mod_LDFLAGS): Rename to ...
13243 (kernel_img_LDFLAGS): ... this.
13244 * conf/x86_64-efi.rmk: Likewise.
13245 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
13246 (read_kernel_image): ... this. All users updated.
13247 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
13248
13249 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13250
13251 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
13252 (print_spaces): New function.
13253 (grub_print_ucs4): New function.
13254 (getstringwidth): New function.
13255 (print_message_indented): New function.
13256 (print_message): Gettexttize strings using print_message_indented.
13257 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
13258 width.
13259 (get_entry_number): Gettextize and uses dynamic terminal width.
13260 (notify_booting, notify_fallback, notify_execution_failure):
13261 Gettextize.
13262 * normal/menu_entry.c (store_completion): Cleanup the gettextized
13263 string.
13264 (run): Likewise.
13265 (grub_menu_entry_run): Likewise.
13266 * PO/POTFILES: Add normal/menu_entry.c.
13267
13268 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
13271
13272 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13273
13274 * util/grub-install.in: Install gettext .mo files.
13275 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
13276
13277 2009-12-05 Carles Pina i Estany <carles@pina.cat>
13278
13279 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
13280 grub_dprintf.
13281
13282 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
13283
13284 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
13285 non-firmware-dependant one in realmode.S takes precedence.
13286
13287 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
13288
13289 * commands/halt.c: Replace misc arch-specific headers with
13290 `<grub/misc.h>'.
13291 * commands/reboot.c: Likewise.
13292 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
13293 `<grub/misc.h>'.
13294 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
13295 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
13296 (kernel_img_SOURCES): ... to here.
13297
13298 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13299 * include/grub/i386/pc/init.h: Likewise.
13300 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13301 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13302
13303 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
13304
13305 * include/grub/i386/halt.h: Remove.
13306 * include/grub/i386/reboot.h: Likewise.
13307
13308 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
13309
13310 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
13311
13312 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
13313 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
13314 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
13315 "progname.h"
13316 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13317 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13318 (usage): Add missing comma in printf.
13319
13320 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
13321
13322 Use the same reboot approach on i386 coreboot and qemu as we do on
13323 BIOS.
13324
13325 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
13326 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
13327 * kern/i386/reboot.c: Remove.
13328 * include/grub/i386/reboot.h (grub_reboot): Export function.
13329 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
13330 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
13331 0xf000:0xfff0 instead of 0xffff:0x0000.
13332 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
13333 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
13334
13335 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
13336
13337 Fix $srcdir != $objdir build.
13338
13339 * Makefile.in (po/%.po): Rewrite as ...
13340 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
13341
13342 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
13343
13344 Fix GNU/Hurd grub-install crash.
13345 * util/grub-probe.c (probe): Try to access `path' only when it is not
13346 NULL.
13347
13348 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 Correct module naming.
13351
13352 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13353 (GRUB_MOD_INIT(efi_uga)): ... to this
13354 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13355 (GRUB_MOD_FINI(efi_uga)): ... to this
13356 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13357 (GRUB_MOD_INIT(efi_gop)): ... to this
13358 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13359 (GRUB_MOD_FINI(efi_gop)): ... to this
13360
13361 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
13362
13363 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
13364 translatable.
13365 (usage): Translate `arg' strings using gettext().
13366 Thanks to Jordi Mallach for the suggestion.
13367
13368 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 GOP support. Based on patch from Bean
13371 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13372
13373 * video/efi_gop.c: New file.
13374 * include/grub/efi/graphics_output.h: Likewise.
13375 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
13376 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13377 variables.
13378 * conf/x86_64-efi.rmk: Likewise.
13379
13380 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13381
13382 Rename efi_fb to efi_uga.
13383
13384 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13385 'efi_uga.mod'.
13386 (efi_fb_mod_SOURCES): Rename this ...
13387 (efi_uga_mod_SOURCES): ... to this.
13388 (efi_fb_mod_CFLAGS): Rename this ...
13389 (efi_uga_mod_CFLAGS): ... to this.
13390 (efi_fb_mod_LDFLAGS): Rename this ...
13391 (efi_uga_mod_LDFLAGS): ... to this.
13392 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13393 'efi_uga.mod'.
13394 (efi_fb_mod_SOURCES): Rename this ...
13395 (efi_uga_mod_SOURCES): ... to this.
13396 (efi_fb_mod_CFLAGS): Rename this ...
13397 (efi_uga_mod_CFLAGS): ... to this.
13398 (efi_fb_mod_LDFLAGS): Rename this ...
13399 (efi_uga_mod_LDFLAGS): ... to this.
13400 * video/efi_fb.c: Move this ...
13401 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13402
13403 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13404
13405 * po/README: New file. Explain our PO file workflow.
13406
13407 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13408
13409 * po/ChangeLog: Remove. Move relevant entries back to ...
13410 * ChangeLog: ... here.
13411 * po/ca.po: Remove (now handled by TLP).
13412 * po/id.po: Likewise.
13413 * po/zh_CN.po: Likewise.
13414 * Makefile.in (LINGUAS): Initialize in a way that supports
13415 empty set.
13416
13417 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13418
13419 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
13420 reliing on po/LINGUAS.
13421 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
13422 (po/%.po): ... this.
13423
13424 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13425
13426 * util/i386/efi/grub-mkimage.c: Include "progname.h".
13427 (main): Use `program_name' instead of nonexistent `progname'.
13428
13429 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13430
13431 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13432 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
13433
13434 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13435
13436 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
13437 commit.
13438 * conf/i386-efi.rmk: Likewise.
13439 * conf/i386-ieee1275.rmk: Likewise.
13440 * conf/powerpc-ieee1275.rmk: Likewise.
13441 * conf/sparc64-ieee1275.rmk: Likewise.
13442 * conf/x86_64-efi.rmk: Likewise.
13443
13444 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13445
13446 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
13447
13448 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
13449
13450 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
13451
13452 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13453
13454 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
13455 (grub_mkdevicemap_SOURCES): New variable.
13456 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
13457 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
13458 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
13459 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
13460 (grub_mkdevicemap_SOURCES): Remove.
13461 * conf/i386-efi.rmk: Likewise.
13462 * conf/i386-ieee1275.rmk: Likewise.
13463 * conf/i386-pc.rmk: Likewise.
13464 * conf/powerpc-ieee1275.rmk: Likewise.
13465 * conf/sparc64-ieee1275.rmk: Likewise.
13466 * conf/x86_64-efi.rmk: Likewise.
13467 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
13468 (usage): Fix strings to use `program_name'.
13469 (main): Initialize gettext.
13470 * util/grub-editenv.c: Likewise.
13471 * util/grub-emu.c: Likewise.
13472 * util/grub-fstest.c: Likewise.
13473 * util/grub-mkdevicemap.c: Likewise.
13474 * util/grub-mkfont.c: Likewise.
13475 * util/grub-mkrelpath.c: Likewise.
13476 * util/grub-pe2elf.c: Likewise.
13477 * util/grub-probe.c: Likewise.
13478 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13479 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13480 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13481
13482 * util/misc.c: Include `"progname.h"'.
13483 (progname): Remove variable.
13484 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
13485
13486 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13487
13488 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
13489 printf and print a newline after the menuentry header line.
13490 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13491
13492 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
13493
13494 autoconf >= 2.60 support $(localedir).
13495
13496 * INSTALL: Note that autoconf 2.60 is required.
13497 * configure.ac (AC_PREREQ): Bump to 2.60.
13498 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
13499 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13500
13501 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
13502
13503 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
13504 aclocal is run.
13505
13506 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13507
13508 * normal/main.c (grub_normal_read_line): Fix off-by-one
13509 buffer overflow.
13510
13511 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13512
13513 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
13514 "parser.grub" in grub_command_execute() call.
13515
13516 2009-11-24 Carles Pina i Estany <carles@pina.cat>
13517
13518 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
13519 * conf/i386-efi.rmk: Likewise.
13520 * conf/i386-ieee1275.rmk: Likewise.
13521 * conf/i386-pc.rmk: Likewise.
13522 * conf/powerpc-ieee1275.rmk: Likewise.
13523 * conf/sparc64-ieee1275.rmk: Likewise.
13524 * conf/x86_64-efi.rmk: Likewise.
13525 * gettext/gettex.c: Include <grub/i18n.h>.
13526 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
13527 here ...
13528 * include/grub/i18n.h: ... to here
13529 * include/grub/i18n.h: ... to here.
13530 * kern/misc.c: Include <grub/i18n.h>
13531 (grub_gettext_dummy): Move above user.
13532
13533 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13534
13535 * util/Makefile.in (install-local): Convert a `for' into a normal
13536 shell expansion.
13537
13538 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
13539
13540 * autogen.sh: Add automake call.
13541 * config.guess: Remove.
13542 * config.sub: Likewise.
13543 * install-sh: Likewise.
13544
13545 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13546
13547 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
13548
13549 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13550
13551 * util/Makefile.in (install-local): Convert a make `$(foreach)'
13552 function to a normal shell `for'.
13553
13554 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13555
13556 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13557
13558 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13559
13560 * util/grub-mkrelpath.c: New file.
13561 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
13562 (grub_mkrelpath_SOURCES): New variable.
13563 * include/grub/util/misc.h: New function prototype.
13564 * util/misc.c (make_system_path_relative_to_its_root): New function.
13565
13566 * util/grub-mkconfig_lib.in (bindir): New variable.
13567 (grub_mkrelpath): Likewise.
13568 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
13569
13570 * util/probe.c (probe): Make the file path relative to its root.
13571 Change a info message to use the GRUB path. Enable again the
13572 check if we can read the file with GRUB facilities.
13573
13574 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
13575 to its root.
13576
13577 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13578
13579 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
13580 platform.
13581
13582 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13583
13584 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
13585 strncmp().
13586
13587 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
13588
13589 * util/getroot.c (grub_util_is_dmraid): New function.
13590 (grub_util_get_dev_abstraction): Treat dmraid and multipath
13591 devices as normal ones, not as LVM.
13592
13593 2009-11-23 Carles Pina i Estany <carles@pina.cat>
13594
13595 * conf/common.rmk: Add grub-gettext_lib target and updates
13596 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
13597 LDFLAGS.
13598 * gettext/gettext.c: New file. (Reads mo files).
13599 * include/grub/file.h (grub_file_pread): New prototype.
13600 * include/grub/i18n.h (_): New prototype.
13601 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
13602 prototypes.
13603 * kern/misc.c (grub_gettext_dummy): New function.
13604 * normal/menu_text.c: Include <grub/i18n.h>.
13605 * normal/menu_text.c (print_timeout): Gettexttize string.
13606 * normal/menu_text.c (print_message): Gettexttize string.
13607 * po/POTFILES: Add `normal/menu_text.c'.
13608 * po/ca.po: Add new translations.
13609 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
13610 gettext module and defines locale_dir and lang in grub.cfg.
13611 * NEWS: Add gettext support.
13612
13613 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13614
13615 * util/hostdisk.c: Include `<grub/i18n.h>'.
13616 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
13617 (make_device_name): Rewrite using asprintf.
13618 (convert_system_partition_to_system_disk): Replace 0 with NULL.
13619 (find_system_device): If a device is not found, generate one just
13620 by reusing the OS path name.
13621 (read_device_map): Make it permissible for device.map not to exist.
13622
13623 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13624
13625 * script/sh/execute.c: Move from here ...
13626 * script/execute.c: ... to here. Update all users.
13627 * script/sh/function.c: Move from here ...
13628 * script/function.c: ... to here. Update all users.
13629 * script/sh/lexer.c: Move from here ...
13630 * script/lexer.c: ... to here. Update all users.
13631 * script/sh/main.c: Move from here ...
13632 * script/main.c: ... to here. Update all users.
13633 * script/sh/parser.y: Move from here ...
13634 * script/parser.y: ... to here. Update all users.
13635 * script/sh/script.c: Move from here ...
13636 * script/script.c: ... to here. Update all users.
13637
13638 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13639
13640 * configure.ac: Detect all `emu' platforms. Define
13641 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
13642 --enable-grub-emu logic. Disable include/grub/machine
13643 symlink on `emu' platforms.
13644
13645 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
13646 * gensymlist.sh.in: Likewise.
13647
13648 * include/grub/i386/coreboot/machine.h: Remove file.
13649 * include/grub/i386/efi/machine.h: Likewise.
13650 * include/grub/i386/ieee1275/machine.h: Likewise.
13651 * include/grub/i386/pc/machine.h: Likewise.
13652 * include/grub/i386/qemu/machine.h: Likewise.
13653 * include/grub/powerpc/ieee1275/machine.h: Likewise.
13654 * include/grub/sparc64/ieee1275/machine.h: Likewise.
13655 * include/grub/x86_64/efi/machine.h: Likewise.
13656
13657 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
13658 * commands/halt.c: Likewise.
13659 * commands/reboot.c: Likewise.
13660 * include/grub/autoefi.h: Likewise.
13661 * include/grub/i386/at_keyboard.h: Likewise.
13662 * include/grub/i386/kernel.h: Likewise.
13663 * include/grub/i386/loader.h: Likewise.
13664 * include/grub/i386/pc/memory.h: Likewise.
13665 * kern/dl.c: Likewise.
13666 * kern/i386/coreboot/init.c: Likewise.
13667 * loader/i386/bsd.c: Likewise.
13668 * loader/i386/linux.c: Likewise.
13669 * loader/multiboot_loader.c: Likewise.
13670 * term/i386/pc/serial.c: Likewise.
13671 * term/usb_keyboard.c: Likewise.
13672
13673 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
13674 `<grub/machine/machine.h>'
13675 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
13676 * util/misc.c: Remove `<grub/machine/machine.h>' and
13677 `<grub/machine/time.h>'.
13678
13679 * Makefile.in (enable_grub_emu): Remove variable.
13680 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
13681
13682 * conf/any-emu.rmk: New file.
13683 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
13684 (grub_emu_init.c): Move from here ...
13685 * conf/any-emu.rmk: ... to here.
13686
13687 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
13688 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
13689 * conf/any-emu.rmk: ... to here.
13690
13691 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13692
13693 * include/grub/parser.h (grub_parser_register): Document need
13694 of `name' parameter.
13695 * normal/main.c (grub_normal_read_line): Simplify prompt string.
13696 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
13697 "sh" to "grub".
13698
13699 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13700
13701 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
13702 `$(XGETTEXT)'.
13703 * include/grub/i18n.h (N_): New macro.
13704 * util/mkisofs/mkisofs.h: Likewise.
13705 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
13706 around N_().
13707 (usage): Use gettext() to translate help strings when printing them.
13708
13709 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13710
13711 Based on patch from Bean
13712 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13713
13714 * video/efi_fb.c: New file.
13715 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
13716 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13717 variables.
13718 * conf/x86_64-efi.rmk: Likewise.
13719
13720 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
13721
13722 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
13723 * util/i386/pc/grub-setup.c: Likewise.
13724
13725 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13726
13727 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
13728 <hurd/fs.h>
13729 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
13730 file_get_storage_info to implement grub_guess_root_device.
13731
13732 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
13733
13734 * Makefile.in (target): Use make's builtin $(shell) function
13735 instead of calling directly $(SHELL) to create the locale directories,
13736 inside the $(foreach) function.
13737
13738 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
13739
13740 * util/grub-mkrescue.in: Print an error and usage if output option
13741 has not been given.
13742
13743 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
13744
13745 Patch from Loïc Minier <loic.minier@ubuntu.com>.
13746 * util/grub.d/30_os-prober.in: Cope with Linux entries where
13747 root and /boot are on different devices.
13748
13749 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13750
13751 Fix build for srcdir != objdir.
13752
13753 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
13754 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
13755 $(srcdir).
13756 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
13757 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
13758 reference for input.
13759
13760 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13761
13762 * util/grub-mkrescue.in: Use source directory direcly (without copiing
13763 or hardlinking it). Remove -J option, Joliet is not compatible with
13764 multiple source directories.
13765
13766 2009-11-21 Carles Pina i Estany <carles@pina.cat>
13767 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13768
13769 * util/grub-mkrescue.in: Recognize `--override-directory' option.
13770 (process_input_dir): New function. Process an arbitrary input
13771 directory.
13772 Misc adjustments to support both "override mode" and system-wide mode.
13773
13774 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
13775
13776 * configure.ac (UNIFONT_BDF): Rename to ...
13777 (FONT_SOURCE): ... this. Update all users.
13778
13779 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
13780
13781 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
13782 to the list of unifont files to look for.
13783
13784 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13785
13786 Patch from Joe Auricchio <jauricchio@gmail.com>
13787 * commands/minicmd.c (grub_mini_cmd_clear): New function.
13788 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
13789 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
13790
13791 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
13792
13793 * Makefile.in (install-local): Add a missing backslash.
13794
13795 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
13796
13797 * include/grub/x86_64/io.h: New file.
13798
13799 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13800
13801 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
13802 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
13803 Include `"progname.h"'.
13804 (main): Initialize gettext.
13805 * util/i386/pc/grub-setup.c: Gettexttize.
13806 * util/i386/pc/grub-mkimage.c: Likewise.
13807
13808 * Makefile.in (po/*.po): Redefine as ...
13809 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
13810
13811 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
13812
13813 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13814
13815 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
13816 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
13817 (program_name): Remove.
13818 (main): Initialize gettext support.
13819 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
13820 Include `<libintl.h>'.
13821 (_): New macro.
13822
13823 * util/mkisofs/eltorito.c: Gettexttize.
13824 * util/mkisofs/joliet.c: Likewise.
13825 * util/mkisofs/mkisofs.c: Likewise.
13826 * util/mkisofs/multi.c: Likewise.
13827 * util/mkisofs/rock.c: Likewise.
13828 * util/mkisofs/tree.c: Likewise.
13829 * util/mkisofs/write.c: Likewise.
13830
13831 * po/POTFILES: Update with new files.
13832
13833 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13834
13835 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
13836 * util/mkisofs/iso9660.h: Likewise.
13837 * util/mkisofs/joliet.c: Likewise.
13838 * util/mkisofs/mkisofs.c: Likewise.
13839 * util/mkisofs/mkisofs.h: Likewise.
13840 * util/mkisofs/rock.c: Likewise.
13841 * util/mkisofs/tree.c: Likewise.
13842 * util/mkisofs/write.c: Likewise.
13843
13844 * util/mkisofs/eltorito.c (rcsid): Remove.
13845 * util/mkisofs/hash.c: Likewise.
13846 * util/mkisofs/joliet.c: Likewise.
13847 * util/mkisofs/name.c: Likewise.
13848 * util/mkisofs/rock.c: Likewise.
13849 * util/mkisofs/tree.c: Likewise.
13850 * util/mkisofs/write.c: Likewise.
13851
13852 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13853
13854 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
13855 instead of static allocation.
13856 * util/mkisofs/match.h: Likewise.
13857
13858 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13859
13860 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
13861 and `util/grub.d/10_linux.in'.
13862 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
13863 translatable Shell files.
13864
13865 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13866
13867 * Makefile.in ($(srcdir)/aclocal.m4): New target.
13868
13869 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13870
13871 * INSTALL: Document Automake is needed for bootstrap.
13872 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
13873 * util/grub.d/10_kfreebsd.in (bindir): New variable.
13874 Add gettext initialization.
13875 (kfreebsd_entry): Make menuentry output translatable.
13876
13877 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13878
13879 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
13880 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
13881 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
13882 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
13883 (LINGUAS): Auto-generate using `po/LINGUAS'.
13884 * po/LINGUAS: New file.
13885
13886 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13887
13888 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
13889 other things).
13890 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
13891 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
13892 bindtextdomain() calls for gettext initialization.
13893
13894 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13895
13896 * gnulib/progname.c: New file (imported from Gnulib).
13897 * gnulib/progname.h: Likewise.
13898 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13899 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
13900 (usage): Replace `progname' with `program_name'.
13901 (main): Use set_program_name() for program name initialization.
13902
13903 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13904
13905 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
13906 from here ...
13907 * Makefile.in (CPPFLAGS): ... to here.
13908
13909 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13910
13911 * aclocal.m4: Move from here ...
13912 * acinclude.m4: ... to here.
13913 * autogen.sh: Add call to `aclocal'.
13914 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
13915
13916 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13917
13918 * Makefile.in (CLEANFILES): Add `po/*.mo'.
13919 (LINGUAS): New variable.
13920 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
13921 (install-local): Install MO files.
13922 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
13923 * include/grub/i18n.h: New file.
13924 * po/POTFILES: New file.
13925 * po/ca.po: New file.
13926 * util/grub.d/10_linux.in (bindir): New variable.
13927 Add gettext initialization.
13928 (linux_entry): Make menuentry output translatable.
13929 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
13930 (usage): Make --help output translatable.
13931 (main): Initialize gettext.
13932
13933 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13934
13935 * import_gcry.py: New file (written by Vladimir with minor
13936 adjustments).
13937 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
13938 ciphers.
13939 * INSTALL: Document that Python is required for bootstrap.
13940
13941 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13942
13943 Import ciphers from libgcrypt 1.4.4.
13944
13945 * lib/libgcrypt/cipher/ChangeLog
13946 * lib/libgcrypt/cipher/ac.c
13947 * lib/libgcrypt/cipher/arcfour.c
13948 * lib/libgcrypt/cipher/bithelp.h
13949 * lib/libgcrypt/cipher/blowfish.c
13950 * lib/libgcrypt/cipher/camellia-glue.c
13951 * lib/libgcrypt/cipher/camellia.c
13952 * lib/libgcrypt/cipher/camellia.h
13953 * lib/libgcrypt/cipher/cast5.c
13954 * lib/libgcrypt/cipher/cipher.c
13955 * lib/libgcrypt/cipher/crc.c
13956 * lib/libgcrypt/cipher/des.c
13957 * lib/libgcrypt/cipher/dsa.c
13958 * lib/libgcrypt/cipher/ecc.c
13959 * lib/libgcrypt/cipher/elgamal.c
13960 * lib/libgcrypt/cipher/hash-common.c
13961 * lib/libgcrypt/cipher/hash-common.h
13962 * lib/libgcrypt/cipher/hmac-tests.c
13963 * lib/libgcrypt/cipher/md.c
13964 * lib/libgcrypt/cipher/md4.c
13965 * lib/libgcrypt/cipher/md5.c
13966 * lib/libgcrypt/cipher/primegen.c
13967 * lib/libgcrypt/cipher/pubkey.c
13968 * lib/libgcrypt/cipher/rfc2268.c
13969 * lib/libgcrypt/cipher/rijndael-tables.h
13970 * lib/libgcrypt/cipher/rijndael.c
13971 * lib/libgcrypt/cipher/rmd.h
13972 * lib/libgcrypt/cipher/rmd160.c
13973 * lib/libgcrypt/cipher/rsa.c
13974 * lib/libgcrypt/cipher/seed.c
13975 * lib/libgcrypt/cipher/serpent.c
13976 * lib/libgcrypt/cipher/sha1.c
13977 * lib/libgcrypt/cipher/sha256.c
13978 * lib/libgcrypt/cipher/sha512.c
13979 * lib/libgcrypt/cipher/tiger.c
13980 * lib/libgcrypt/cipher/twofish.c
13981 * lib/libgcrypt/cipher/whirlpool.c
13982
13983 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13984
13985 Fix build for systems without error().
13986
13987 * gnulib/error.c: New file (imported from Gnulib).
13988 * gnulib/error.h: Likewise.
13989 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
13990 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
13991 (this variable is now used by error()).
13992
13993 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
13994
13995 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
13996 instead of relying that char is signed.
13997
13998 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13999
14000 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
14001 blocksize different from specified.
14002 (grub_pxefs_read): Likewise.
14003
14004 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
14005
14006 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
14007
14008 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
14009 (grub_ata_readwrite): Likewise. Update 2 format strings.
14010 (grub_atapi_read): Likewise.
14011
14012 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
14013 * conf/i386.rmk (pkglib_MODULES): ... to here ...
14014 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
14015 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
14016 (ata_mod_LDFLAGS): Move from here ...
14017 * conf/i386.rmk: ... to here ...
14018 * conf/x86_64-efi.rmk: ... and here.
14019 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
14020 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
14021
14022 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14023
14024 Relicense multiboot.h, with RMS' blessing.
14025
14026 * include/multiboot.h: Change to X11 license.
14027
14028 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
14029
14030 Support --version in grub-mkisofs.
14031
14032 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
14033 (OPTION_VERSION): New macro.
14034 (ld_options): Recognize --version.
14035 (usage): Move `program_name' from here ...
14036 (program_name): ... to here. Add `static' qualifier.
14037 (main): Recognize `OPTION_VERSION'.
14038
14039 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
14040
14041 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
14042 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
14043
14044 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14045
14046 Fix help2man generation for mkisofs.
14047
14048 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
14049 (usage): Send output to stdout (rather than stderr).
14050
14051 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14052
14053 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
14054 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14055 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
14056 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14057 (bin_SCRIPTS): Add `grub-mkfloppy'.
14058 (grub_mkfloppy_SOURCES): New variable.
14059
14060 * util/grub-mkrescue.in: New file.
14061 * util/i386/pc/grub-mkfloppy.in: New file.
14062
14063 * util/i386/coreboot/grub-mkrescue.in: Remove.
14064 * util/i386/pc/grub-mkrescue.in: Remove.
14065
14066 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14067
14068 * include/grub/multiboot.h (struct grub_multiboot_header): Move
14069 from here ...
14070 * include/multiboot.h (struct multiboot_header): ... to here. Update
14071 all users.
14072 * include/grub/multiboot.h (struct grub_multiboot_info): Move
14073 from here ...
14074 * include/multiboot.h (struct multiboot_info): ... to here. Update
14075 all users.
14076 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
14077 from here ...
14078 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
14079 Update all users.
14080 * include/grub/multiboot.h (struct grub_mod_list): Move
14081 from here ...
14082 * include/multiboot.h (struct multiboot_mod_list): ... to here.
14083 Update all users.
14084
14085 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14086
14087 * include/multiboot2.h (multiboot_word): Rename from this ...
14088 (multiboot2_word): ... to this. Update all users.
14089 (multiboot_header): Rename from this ...
14090 (multiboot2_header): ... to this. Update all users.
14091 (multiboot_tag_header): Rename from this ...
14092 (multiboot2_tag_header): ... to this. Update all users.
14093 (multiboot_tag_start): Rename from this ...
14094 (multiboot2_tag_start): ... to this. Update all users.
14095 (multiboot_tag_name): Rename from this ...
14096 (multiboot2_tag_name): ... to this. Update all users.
14097 (multiboot_tag_module): Rename from this ...
14098 (multiboot2_tag_module): ... to this. Update all users.
14099 (multiboot_tag_memory): Rename from this ...
14100 (multiboot2_tag_memory): ... to this. Update all users.
14101 (multiboot_tag_unused): Rename from this ...
14102 (multiboot2_tag_unused): ... to this. Update all users.
14103 (multiboot_tag_end): Rename from this ...
14104 (multiboot2_tag_end): ... to this. Update all users.
14105
14106 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14107
14108 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
14109 this platform we should support Multiboot1 first.
14110
14111 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14112 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
14113 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
14114
14115 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14116
14117 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
14118 of write calls (converting them to fwrite() if they aren't already).
14119 (get_torito_desc): Likewise.
14120 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
14121
14122 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14123
14124 * util/i386/pc/grub-install.in: Move from here ...
14125 * util/grub-install.in: ... to here. Update all users.
14126
14127 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
14128
14129 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
14130
14131 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14132
14133 Support for El Torito without floppy emulation.
14134
14135 * util/mkisofs/eltorito.c: Include `<errno.h>'.
14136 (init_boot_catalog): Improve error handling.
14137 (get_torito_desc): Don't use floppy emulation unless requested by
14138 user. Patch boot information table when requested via
14139 `-boot-info-table'.
14140 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
14141 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
14142 (use_boot_info_table): New variables.
14143 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
14144 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
14145 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
14146 `--eltorito-emul-floppy'.
14147 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
14148 and `OPTION_ELTORITO_EMUL_FLOPPY'.
14149 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
14150 (use_boot_info_table, get_731): New prototypes.
14151 * util/mkisofs/write.c (get_731): New function.
14152
14153 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
14154
14155 Fix the generation of the man page.
14156
14157 * util/pc/i386/grub-install.in: Source
14158 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14159
14160 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14161
14162 Large file support for grub-mkisofs.
14163
14164 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14165 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14166 (session_start): Upgrade type to `uint64_t'. Update all users.
14167 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14168 (struct directory_entry): Upgrade type of `starting_block' and
14169 `size' to `uint64_t'. Update all users.
14170 (struct deferred): Remove unused structure.
14171 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14172 Update all users.
14173 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14174 file is larger than `UINT32_MAX'.
14175 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14176 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14177 return value.
14178 (struct deferred_write): Upgrade type of `extent' and `size' to
14179 `uint64_t'. Update all users.
14180 (last_extent_written): Upgrade type to `uint64_t'. Update all
14181 users.
14182 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14183 Update all users. Upgrade type of `remain' to `int64_t' and
14184 `use' to `size_t'. Use error() to handle fread() errors.
14185 (write_files): Rely on write_one_file() rather than calling
14186 xfwrite() directly.
14187
14188 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
14189
14190 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14191
14192 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14193
14194 * util/mkisofs/fnmatch.c: Remove.
14195 * util/mkisofs/getopt1.c: Likewise.
14196 * util/mkisofs/getopt.c: Likewise.
14197 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14198 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14199 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14200 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14201 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14202
14203 * configure.ac: Detect `mingw32msvc' host_os.
14204 Check for lstat(), getuid() and getgid().
14205
14206 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14207 instances of `u_char' with `uint8_t'.
14208
14209 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14210 [!HAVE_GETUID] (getuid): New function (stub).
14211 [!HAVE_GETGID] (getgid): Likewise.
14212 [!HAVE_LSTAT] (lstat): Likewise.
14213 [!S_IROTH] (S_IROTH): New macro (dummy).
14214 [!S_IRGRP] (S_IRGRP): Likewise.
14215
14216 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14217
14218 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14219 conditional expression).
14220
14221 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14222
14223 Import from Gnulib.
14224
14225 * gnulib/fnmatch.c: New file.
14226 * gnulib/fnmatch.h: Likewise.
14227 * gnulib/fnmatch_loop.c: Likewise.
14228 * gnulib/getopt.c: Likewise.
14229 * gnulib/getopt.h: Likewise.
14230 * gnulib/getopt1.c: Likewise.
14231 * gnulib/getopt_int.h: Likewise.
14232 * gnulib/gettext.h: Likewise.
14233
14234 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14235
14236 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
14237 * normal/handler.c (read_handler_list): Likewise.
14238
14239 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14240
14241 Misc cleanup.
14242
14243 * kern/command.c (grub_register_command_prio): Use
14244 grub_zalloc() instead of explicitly zeroing data.
14245 * kern/list.c: Include `<grub/mm.h>'.
14246 (grub_named_list_find): Replace `0' with `NULL'.
14247 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
14248 (fs_module_list): Change type to `grub_named_list_t'. Update all
14249 users.
14250 * normal/dyncmd.c (read_command_list): Add space between function
14251 call and parenthesis.
14252 * normal/handler.c (read_handler_list): Likewise.
14253
14254 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14255
14256 * normal/auth.c (punishment_delay): Moved from here ...
14257 (grub_auth_strcmp): ... to here (inside function).
14258
14259 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14260
14261 * include/grub/list.h (struct grub_named_list): Remove `const'
14262 qualifier from `name'.
14263 (struct grub_prio_list): Likewise.
14264
14265 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14266
14267 * normal/auth.c: Include `<grub/time.h>'.
14268 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
14269
14270 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14271
14272 * normal/auth.c (punishment_delay): New variable.
14273 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
14274 (grub_auth_check_authentication): Punish failed login attempts with
14275 an incremental (2^N) delay.
14276
14277 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14278
14279 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
14280 path with $(srcdir).
14281
14282 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14283
14284 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
14285
14286 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14287
14288 * util/i386/coreboot/grub-mkrescue.in: New file.
14289 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
14290 variables.
14291
14292 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
14293 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
14294 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14295 requirements.
14296 * util/mkisofs/defaults.h: New file.
14297 * util/mkisofs/eltorito.c: Likewise.
14298 * util/mkisofs/exclude.h: Likewise.
14299 * util/mkisofs/fnmatch.c: Likewise.
14300 * util/mkisofs/getopt.c: Likewise.
14301 * util/mkisofs/getopt1.c: Likewise.
14302 * util/mkisofs/hash.c: Likewise.
14303 * util/mkisofs/include/fctldefs.h: Likewise.
14304 * util/mkisofs/include/mconfig.h: Likewise.
14305 * util/mkisofs/include/prototyp.h: Likewise.
14306 * util/mkisofs/include/statdefs.h: Likewise.
14307 * util/mkisofs/iso9660.h: Likewise.
14308 * util/mkisofs/joliet.c: Likewise.
14309 * util/mkisofs/match.c: Likewise.
14310 * util/mkisofs/match.h: Likewise.
14311 * util/mkisofs/mkisofs.c: Likewise.
14312 * util/mkisofs/mkisofs.h: Likewise.
14313 * util/mkisofs/multi.c: Likewise.
14314 * util/mkisofs/name.c: Likewise.
14315 * util/mkisofs/rock.c: Likewise.
14316 * util/mkisofs/tree.c: Likewise.
14317 * util/mkisofs/write.c: Likewise.
14318
14319 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14320
14321 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
14322 being insecure.
14323
14324 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14325
14326 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
14327 `grub-mkimage' (and use $0 when possible).
14328
14329 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14330
14331 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
14332 error message for excessively large memory map.
14333
14334 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14335
14336 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
14337 executable bit.
14338
14339 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14340
14341 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
14342 message for coreboot users.
14343
14344 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
14345
14346 Fix build with GNU gold.
14347
14348 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
14349 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
14350 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
14351 link addresses.
14352 * aclocal.m4: Likewise.
14353
14354 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
14355
14356 * configure.ac (AC_PREREQ): Bump to 2.59d.
14357 * INSTALL: Make it more clear when Autoconf and Ruby are
14358 needed and when to run `./autogen.sh'.
14359
14360 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
14361
14362 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
14363 OSes.
14364
14365 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14366
14367 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
14368
14369 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14370
14371 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
14372 giving it to GNU Mach.
14373
14374 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14375
14376 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
14377 GNU partition number to get internal GRUB partition number.
14378
14379 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14380
14381 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
14382 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
14383
14384 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
14385
14386 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
14387 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
14388 case.
14389
14390 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
14391
14392 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14393
14394 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14395
14396 Fix build problem.
14397
14398 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14399 `-isystem=$(srcdir)/include'.
14400
14401 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14402
14403 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14404 checked (grub-install doesn't currently rely on it).
14405
14406 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14407
14408 Revert SVN r2660.
14409
14410 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
14411 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14412 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
14413 * conf/i386-ieee1275.rmk: Likewise.
14414 * conf/i386-pc.rmk: Likewise.
14415 * conf/powerpc-ieee1275.rmk: Likewise.
14416 * conf/sparc64-ieee1275.rmk: Likewise.
14417 * conf/x86_64-efi.rmk: Likewise.
14418
14419 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14420
14421 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
14422
14423 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14424
14425 * include/grub/misc.h: Stop checking for APPLE_CC.
14426
14427 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14428
14429 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
14430 doesn't cause an infinite call loop.
14431
14432 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
14433
14434 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
14435 strings.
14436
14437 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14438
14439 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
14440 variable.
14441 * Makefile.in: Likewise.
14442
14443 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14444
14445 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
14446
14447 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14448
14449 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
14450
14451 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14452
14453 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
14454
14455 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14456
14457 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
14458 from here ...
14459 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
14460
14461 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14462
14463 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
14464 in $(MAKEINFO) invocation. This makes it clear in output that
14465 errors are being ignored.
14466
14467 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14468
14469 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
14470 from here ...
14471 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14472 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
14473 * conf/i386-ieee1275.rmk: Likewise.
14474 * conf/i386-pc.rmk: Likewise.
14475 * conf/powerpc-ieee1275.rmk: Likewise.
14476 * conf/sparc64-ieee1275.rmk: Likewise.
14477 * conf/x86_64-efi.rmk: Likewise.
14478
14479 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14480
14481 * util/grub-editenv.c (main): If only a command is given, use
14482 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
14483 (usage): FILENAME is now optional and has a default.
14484
14485 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
14486
14487 Improve grub-mkconfig performance when there are several menu
14488 entries on a single filesystem.
14489
14490 * util/grub.d/10_linux.in (linux_entry): Cache the output of
14491 prepare_grub_to_access_device.
14492 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14493 * util/grub.d/30_os-prober.in: Likewise.
14494
14495 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14496
14497 * util/grub.d/10_freebsd.in: Remove.
14498 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
14499 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
14500
14501 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14502
14503 * docs/grub.cfg: Fix example usage of *BSD loaders.
14504
14505 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14506
14507 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
14508 grub_util_error() call.
14509
14510 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14511
14512 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
14513 `reserved_first_sector' member.
14514 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
14515 `reserved_first_sector' to 1.
14516 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
14517 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
14518 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
14519 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
14520 filesystems which begin at first sector.
14521 (options): New option --skip-fs-probe.
14522 (main): Handle --skip-fs-probe and pass it to setup().
14523
14524 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14525
14526 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
14527 (memset): Fix function prototype.
14528
14529 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14530 2009-10-25 Vasily Averin <vvs@parallels.com>
14531
14532 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
14533 `dirent.direntlen == 0'.
14534
14535 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14536
14537 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
14538 `cpio'.
14539 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
14540
14541 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14542
14543 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
14544 `__trampoline_setup' and `__ucmpdi2'.
14545 * include/grub/powerpc/libgcc.h: Only export symbols for functions
14546 that libgcc provides.
14547
14548 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14549
14550 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
14551 * include/grub/sparc64/libgcc.h (memset): Likewise.
14552 * include/grub/misc.h (memset, memcmp): New function prototypes.
14553
14554 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14555
14556 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
14557 `cpio'.
14558 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
14559
14560 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14561
14562 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
14563 * docs/grub.cfg: Compensate for recent change in multiboot
14564 loader (since 2009-08-14 it won't pass filename to payload).
14565 * util/grub.d/10_hurd.in: Likewise.
14566
14567 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
14568
14569 * config.guess: Update to latest version from config git
14570 repository.
14571 * config.sub: Likewise.
14572
14573 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
14574
14575 Fix build on sparc64.
14576
14577 * configure.ac: Perform checks for libgcc symbols before
14578 adding `-nostdlib' to LDFLAGS.
14579
14580 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 Let user specify OpenBSD root device.
14583
14584 * loader/i386/bsd.c (openbsd_root): New variable.
14585 (openbsd_opts): New option 'root'.
14586 (OPENBSD_ROOT_ARG): New macro.
14587 (grub_openbsd_boot): Use 'openbsd_root'.
14588 (grub_cmd_openbsd): Fill 'openbsd_root'.
14589
14590 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14591
14592 * NEWS: Misc adjustments.
14593
14594 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14595
14596 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
14597
14598 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14599
14600 * configure.ac: Bump version to 1.97.
14601
14602 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
14603
14604 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
14605 -mno-3dnow on x86 architectures. Some toolchains enable these
14606 features by default, but they rely on registers that aren't enabled
14607 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
14608
14609 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
14610
14611 Make entry text a bit more readable.
14612
14613 * util/grub.d/10_linux.in: Add `with' before `Linux'.
14614
14615 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14616
14617 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
14618
14619 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
14622 operations.
14623
14624 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * configure.ac: Add missing dollar.
14627
14628 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
14631
14632 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
14633 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
14634 exports.
14635 * include/grub/sparc64/libgcc.h: Likewise. Use
14636 preprocessor conditionals.
14637
14638 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14639
14640 * conf/common.rmk (grub-dumpbios): Remove rule.
14641 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
14642 * util/grub-dumpbios.in: Remove file.
14643
14644 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14645
14646 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
14647 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
14648
14649 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
14650 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
14651 users.
14652
14653 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
14654 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
14655 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
14656 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
14657 users.
14658
14659 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
14660
14661 * term/tparm.c: Switch to GPLv3.
14662
14663 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14664
14665 * include/grub/i386/cpuid.h: Add header protection.
14666
14667 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14668
14669 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
14670
14671 * include/grub/i386/cpuid.h: New file.
14672 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
14673 (has_longmode): Rename to ...
14674 (grub_cpuid_has_longmode): ... this. Update all users. Remove
14675 `static' attribute.
14676 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
14677 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
14678 on a CPU that doesn't implement AMD64 instruction set.
14679
14680 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
14681
14682 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
14683 that version.texi is rebuilt on version number changes.
14684
14685 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
14686
14687 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
14688 Fixes bug #27602.
14689
14690 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
14691
14692 * util/i386/pc/grub-install.in: Source
14693 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
14694 that the --grub-probe option will work.
14695 * util/sparc64/ieee1275/grub-install.in: Likewise.
14696
14697 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
14698
14699 * configure.ac: Bump version to 1.97~beta4.
14700
14701 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
14702
14703 Resync grub-mkdevicemap in x86_64-efi.
14704
14705 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
14706 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
14707 `util/devicemap.c'.
14708
14709 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
14710
14711 * util/grub-editenv.c (create_envblk_file): Write new block with a
14712 .new suffix and then rename it into place, to ensure atomic
14713 creation.
14714
14715 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
14716
14717 Do not automatically install headers.
14718
14719 * Makefile.in (include_DATA): Remove. Update all users.
14720
14721 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
14722
14723 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
14724 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
14725
14726 * util/osdetect.lua: Remove.
14727 * script/lua/lauxlib.c: Likewise.
14728 * script/lua/ldebug.c: Likewise.
14729 * script/lua/grub_main.c: Likewise.
14730 * script/lua/lauxlib.h: Likewise.
14731 * script/lua/ldebug.h: Likewise.
14732 * script/lua/ltablib.c: Likewise.
14733 * script/lua/liolib.c: Likewise.
14734 * script/lua/lstrlib.c: Likewise.
14735 * script/lua/lualib.h: Likewise.
14736 * script/lua/ldo.c: Likewise.
14737 * script/lua/ldump.c: Likewise.
14738 * script/lua/ldo.h: Likewise.
14739 * script/lua/loslib.c: Likewise.
14740 * script/lua/lundump.c: Likewise.
14741 * script/lua/grub_lib.c: Likewise.
14742 * script/lua/ldblib.c: Likewise.
14743 * script/lua/lundump.h: Likewise.
14744 * script/lua/lmem.c: Likewise.
14745 * script/lua/grub_lib.h: Likewise.
14746 * script/lua/lmathlib.c: Likewise.
14747 * script/lua/lstate.c: Likewise.
14748 * script/lua/ltm.c: Likewise.
14749 * script/lua/lvm.c: Likewise.
14750 * script/lua/lmem.h: Likewise.
14751 * script/lua/lstate.h: Likewise.
14752 * script/lua/ltm.h: Likewise.
14753 * script/lua/ltable.c: Likewise.
14754 * script/lua/lvm.h: Likewise.
14755 * script/lua/llex.c: Likewise.
14756 * script/lua/lgc.c: Likewise.
14757 * script/lua/grub_lua.h: Likewise.
14758 * script/lua/loadlib.c: Likewise.
14759 * script/lua/lfunc.c: Likewise.
14760 * script/lua/lopcodes.c: Likewise.
14761 * script/lua/lparser.c: Likewise.
14762 * script/lua/ltable.h: Likewise.
14763 * script/lua/llex.h: Likewise.
14764 * script/lua/lgc.h: Likewise.
14765 * script/lua/lfunc.h: Likewise.
14766 * script/lua/lbaselib.c: Likewise.
14767 * script/lua/lopcodes.h: Likewise.
14768 * script/lua/lparser.h: Likewise.
14769 * script/lua/lzio.c: Likewise.
14770 * script/lua/linit.c: Likewise.
14771 * script/lua/lobject.c: Likewise.
14772 * script/lua/llimits.h: Likewise.
14773 * script/lua/lstring.c: Likewise.
14774 * script/lua/lzio.h: Likewise.
14775 * script/lua/lapi.c: Likewise.
14776 * script/lua/lcode.c: Likewise.
14777 * script/lua/lua.h: Likewise.
14778 * script/lua/lobject.h: Likewise.
14779 * script/lua/lstring.h: Likewise.
14780 * script/lua/lapi.h: Likewise.
14781 * script/lua/lcode.h: Likewise.
14782 * script/lua/luaconf.h: Likewise.
14783
14784 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
14785
14786 * docs/grub.texi (Command-line and menu entry commands): Document
14787 date and echo commands.
14788
14789 2009-09-24 Pavel Roskin <proski@gnu.org>
14790
14791 * include/grub/kernel.h (struct grub_module_header): Remove
14792 `grub_module_header_types'. Make `type' unsigned. Make `size'
14793 32-bit on all platforms.
14794 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
14795 8-bit field. Use grub_host_to_target32() for `size'.
14796 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
14797 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
14798 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
14799
14800 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14801
14802 Fix "lost keypress" bug in at_keyboard.
14803
14804 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
14805 Checks for readyness of input buffer (without flushing it).
14806 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
14807 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
14808
14809 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14810
14811 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
14812 size check within GRUB_MACHINE_PCBIOS section.
14813
14814 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14815
14816 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
14817 return value.
14818 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
14819 KEYBOARD_ISREADY check.
14820 (grub_at_keyboard_checkkey): Rename to ...
14821 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
14822 Remove gratuitous cast.
14823
14824 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
14825
14826 * configure.ac: Call AC_PROG_MKDIR_P.
14827 * Makefile.in (docs/stamp-vti): Create docs directory. Create
14828 version.texi in $(builddir) rather than $(srcdir).
14829 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
14830 to makeinfo's @include search path.
14831
14832 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
14833
14834 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
14835
14836 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
14837
14838 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
14839 for `*.dpkg-new'.
14840
14841 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
14842
14843 Build info documentation. Some code borrowed from Automake.
14844
14845 * configure.ac: Check for makeinfo.
14846 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
14847 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
14848 docs/version.texi.
14849 (MOSTLYCLEANFILES): Add vti.tmp.
14850 (docs/version.texi, docs/stamp-vti): Update automatically.
14851 (docs/grub.info): Build info documentation. Use --force and ignore
14852 errors for now.
14853 (all-local): Add $(INFOS).
14854 (install-local): Install info files.
14855 (uninstall): Uninstall info files.
14856 * docs/version.texi: Remove from revision control. This file is
14857 automatically generated on build now.
14858 * gendistlist.sh: Add `*.info'.
14859
14860 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
14861
14862 * kern/term.c: Fix indentation.
14863
14864 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
14865
14866 * util/hostdisk.c: Fix a comment.
14867
14868 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
14869
14870 Fix regression introduced in r2539.
14871
14872 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
14873 to 0xA1.
14874
14875 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
14876
14877 * util/grub.d/30_os-prober.in: Don't throw away stderr from
14878 os-prober. Under normal operation, it does not print anything to
14879 stderr; if it does, we need to debug it, and throwing away stderr
14880 makes that excessively difficult.
14881
14882 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
14883
14884 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
14885
14886 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
14887
14888 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
14889 AC_LANG_PROGRAM from autoconf.
14890 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
14891 prototypes (fixes warning).
14892
14893 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
14894 `--disable-werror' was used.
14895
14896 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
14897
14898 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
14899 uninitialized `lastaddr'.
14900
14901 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14902
14903 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
14904
14905 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
14906
14907 * commands/test.c (get_fileinfo): Return immediately if
14908 grub_fs_probe fails.
14909
14910 2009-09-14 José Martínez <xosemp@gmail.com>
14911
14912 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
14913
14914 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
14915
14916 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
14917 output.
14918
14919 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
14920
14921 * configure.ac: Remove --enable-grub-pe2elf. Only build
14922 grub-pe2elf when needed by the build system itself.
14923 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
14924
14925 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14926
14927 * configure.ac: Bump version to 1.97~beta3.
14928 * docs/version.texi: Likewise.
14929
14930 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14931
14932 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
14933 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
14934 from here ...
14935 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
14936 (grub_linux_setup_video): ... to here (with some adjustments).
14937
14938 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14939
14940 Fix memory corruption issue (spotted by Colin Watson).
14941
14942 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
14943 causing returned size to be stored in an incorrect memory location.
14944 Fix use of uninitialized value when storing the returned size.
14945
14946 2009-09-12 Yves Blusseau <blusseau@zetam.org>
14947
14948 Change clean rules to properly remove files
14949
14950 * genmk.rb: add new clean rules
14951 * Makefile.in (clean): add the new targets
14952 (mostlyclean): likewise
14953
14954 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
14955
14956 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
14957 to grub_uint64_t.
14958 * fs/ntfs.c (init_file): Understand 64-bit sizes for
14959 non-resident files.
14960
14961 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
14962
14963 * configure.ac: Don't look for help2man when cross-compiling. Fixes
14964 part of bug #27349.
14965
14966 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
14967
14968 * util/grub-mkconfig.in: Make the created config mode 400 and
14969 print a warning if it fails.
14970
14971 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
14972
14973 * util/grub.d/40_custom.in: Ask user to type custom entries below
14974 comment, rather than below 'exec tail' line.
14975
14976 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
14977
14978 * util/grub.d/40_custom.in: Make sure that the explanatory text is
14979 visible in grub.cfg.
14980
14981 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
14982
14983 * util/grub.d/40_custom.in: Make it a little clearer how to use this
14984 file.
14985
14986 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
14987
14988 * docs/grub.cfg: Add an example menu entry for memtest86+.
14989
14990 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
14991
14992 * config.guess: Update to latest version from config git.
14993 * config.sub: Likewise.
14994
14995 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
14996
14997 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
14998 unknown-command case. Fixes bug #27320.
14999
15000 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
15001
15002 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
15003 `help' if the command exists.
15004
15005 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
15006
15007 * INSTALL: Require GCC 4.1.3 or later.
15008
15009 2009-09-06 Yves Blusseau <blusseau@zetam.org>
15010
15011 * Makefile.in (RMKFILES): add i386-qemu.rmk
15012 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
15013 $(srcdir)/stamp-h.in
15014
15015 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
15016
15017 * util/grub-probe.c (probe): Comment out buggy codepath, which
15018 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
15019 should be re-enabled after 1.97.
15020
15021 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
15022
15023 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
15024 find searches for.
15025
15026 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15027
15028 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
15029 unnecessary calls to grub_error.
15030
15031 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
15032
15033 * NEWS: Mention `keystatus' and Unicode fonts.
15034
15035 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
15036
15037 * configure.ac: Bump version to 1.97~beta2.
15038 * docs/version.texi: Likewise.
15039
15040 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15041
15042 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
15043 containing unwind information in some cases where it previously did
15044 not. Use -fno-dwarf2-cfi-asm if available to restore the old
15045 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
15046 discussion.
15047
15048 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
15049
15050 Embedding loadenv module into grub-emu
15051
15052 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
15053 commands/loadenv.c
15054 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
15055 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
15056 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
15057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
15058 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
15059 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
15060
15061 2009-09-03 Magnus Granberg <zorry@ume.nu>
15062
15063 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
15064 include -fPIE in the default specs.
15065 * configure.ac: Check if pie_possible is yes and add -fno-PIE
15066 to TARGET_CFLAGS.
15067
15068 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
15069
15070 * INSTALL: Note that GNU Bison 2.3 or later is required.
15071
15072 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
15073
15074 * kern/i386/pc/startup.S: Fix typo.
15075
15076 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
15079 according to GCS.
15080
15081 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15082
15083 * docs/grub.texi (Naming convention): Describe one-based partition
15084 numbering.
15085 (Device syntax): Likewise.
15086 (File name syntax): Likewise.
15087 (Block list syntax): Likewise.
15088 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
15089 menu.lst.
15090 (File name syntax): Likewise.
15091 (Command-line and menu entry commands): Document acpi, blocklist,
15092 crc, export, insmod, keystatus, ls, set, and unset commands.
15093
15094 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15095
15096 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
15097 to avoid implying that only one of --shift, --ctrl, or --alt may be
15098 used.
15099
15100 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
15101
15102 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
15103 rather than comparing against S_IFREG, which will almost never work.
15104
15105 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15106
15107 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
15108 (write_blocklists): Likewise.
15109
15110 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
15111
15112 * script/lua/grub_lua.h (fputs): Supply a format string as the first
15113 argument to grub_printf.
15114
15115 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
15116
15117 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
15118 non GNU test.
15119
15120 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15121
15122 * kern/file.c (grub_file_read): Spelling fix
15123
15124 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15125
15126 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
15127 loading of headers in some cases.
15128
15129 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
15130
15131 * configure.ac: Bump version to 1.97~beta1.
15132 * docs/version.texi: Likewise.
15133
15134 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * include/grub/i386/xnu.h: Add license header.
15137 include grub/err.h explicitly.
15138
15139 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15140
15141 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
15142 to `ufs' in the vfs.root.mountfrom kernel parameter.
15143
15144 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15145
15146 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
15147
15148 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
15149 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
15150
15151 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
15152 `ARRAY_SIZE' macro.
15153
15154 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15155
15156 * kern/file.c (grub_file_read): Check offset.
15157 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15158 * fs/jfs.c (grub_jfs_read_file): Likewise.
15159 * fs/ntfs.c (grub_ntfs_read): Likewise.
15160 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15161 * fs/minix.c (grub_minix_read_file): Correct offset check.
15162 * fs/ufs.c (grub_ufs_read_file): Likewise.
15163
15164 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15165
15166 * term/i386/pc/console.c (bios_data_area): Cast
15167 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15168
15169 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15170
15171 1-bit optimised blitters.
15172
15173 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15174 prototype.
15175 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15176 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15177 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15178 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15179 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15180 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15181 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15182 function.
15183 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15184 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15185 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15186 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15187 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15188 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15189 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15190 when possible.
15191 * video/video.c (grub_video_get_blit_format): Return
15192 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15193
15194 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15195
15196 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15197 the first argument to grub_printf.
15198
15199 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
15200 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15201
15202 Add `getkeystatus' terminal method. Add a new `keystatus' command
15203 to query it.
15204
15205 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15206 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15207 modifier key bitmasks.
15208 (struct grub_term_input): Add `getkeystatus' member.
15209 (grub_getkeystatus): Add prototype.
15210 * kern/term.c (grub_getkeystatus): New function.
15211
15212 * include/grub/i386/pc/memory.h
15213 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15214 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15215 Data Area layout.
15216 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15217 (grub_console_term_input): Set `getkeystatus' member.
15218 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15219 constants.
15220 (grub_usb_keyboard_getreport): Likewise.
15221 (grub_usb_keyboard_checkkey): Likewise.
15222 (grub_usb_keyboard_getkeystatus): New function.
15223 (grub_usb_keyboard_term): Set `getkeystatus' member.
15224
15225 * commands/keystatus.c: New file.
15226 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15227 (keystatus_mod_SOURCES): New variable.
15228 (keystatus_mod_CFLAGS): Likewise.
15229 (keystatus_mod_LDFLAGS): Likewise.
15230 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
15231 commands/keystatus.c.
15232 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15233 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15234 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15235 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15236 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15237 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15238
15239 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15240
15241 Split befs.mod and afs.mod into *_be.mod and *.mod
15242
15243 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
15244 (grub_fstest_SOURCES): Likewise.
15245 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
15246 (afs_be_mod_SOURCES): New variable.
15247 (afs_be_mod_CFLAGS): Likewise.
15248 (afs_be_mod_LDFLAGS): Likewise.
15249 (befs_be_mod_SOURCES): Likewise.
15250 (befs_be_mod_CFLAGS): Likewise.
15251 (befs_be_mod_LDFLAGS): Likewise.
15252 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
15253 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15254 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15255 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15256 (grub_emu_SOURCES): Likewise.
15257 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15258 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15259 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15260 * fs/afs_be.c: New file.
15261 * fs/befs_be.c: New file.
15262 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
15263 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
15264 (U16): Replaced with ...
15265 (grub_afs_to_cpu16): ...this. All users updated.
15266 (U32): Replaced with ...
15267 (grub_afs_to_cpu32): ...this. All users updated.
15268 (U64): Replaced with ...
15269 (grub_afs_to_cpu64): ...this. All users updated.
15270 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
15271 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
15272 (grub_afs_validate_sblock): Check only one endianness.
15273 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15274 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15275 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15276 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15277 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15278 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15279 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15280 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15281
15282 2009-08-26 Bean <bean123ch@gmail.com>
15283
15284 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
15285 64-bit number.
15286 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15287 (grub_xfs_inode_block): Change return type to grub_uint64_t.
15288 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
15289
15290 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15291
15292 NetBSD memory map support.
15293
15294 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
15295 (grub_netbsd_btinfo_mmap_header): New structure.
15296 (grub_netbsd_btinfo_mmap_entry): Likewise.
15297 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
15298
15299 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15300
15301 Enable bsd.mod on coreboot.
15302
15303 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
15304 (bsd_mod_SOURCES): New variable.
15305 (bsd_mod_CFLAGS): Likewise.
15306 (bsd_mod_LDFLAGS): Likewise.
15307 (bsd_mod_ASFLAGS): Likewise.
15308 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
15309 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
15310
15311 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15312
15313 Cleanup NetBSD root support.
15314
15315 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
15316 grub_bsd_get_device.
15317 Fix typo.
15318
15319 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
15320
15321 * util/grub.d/00_header.in: Move check for the video backend of
15322 gfxterm from here ...
15323 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
15324 a suitable video backend.
15325
15326 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 Fix breakage in grub-setup.
15329
15330 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
15331 "msdos_partition_map".
15332
15333 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15334
15335 Fix breakage in normal/auth.c.
15336
15337 * normal/auth.c (grub_iswordseparator): New function.
15338
15339 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15340
15341 Authentication support.
15342
15343 * commands/password.c: New file.
15344 * conf/common.rmk (pkglib_MODULES): Add password.mod.
15345 (password_mod_SOURCES): New variable.
15346 (password_mod_CFLAGS): Likewise.
15347 (password_mod_LDFLAGS): Likewise.
15348 (normal_mod_SOURCES): Add normal/auth.c.
15349 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
15350 normal/auth.c.
15351 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15352 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15353 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15355 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15356 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15357 * include/grub/auth.h: New file.
15358 * include/grub/err.h (grub_err_t): New enum value
15359 GRUB_ERR_ACCESS_DENIED.
15360 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
15361 'users'.
15362 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
15363 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
15364 users updated.
15365 * normal/auth.c: New file.
15366 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
15367 (grub_cmdline_run): Don't allow to go to command line without
15368 authentication.
15369 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
15370 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
15371 menuentry without superuser rights.
15372 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
15373 user isn't a superuser.
15374
15375 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 Save space by inlining misc.c functions.
15378
15379 * kern/misc.c (grub_iswordseparator): Made static.
15380 * kern/misc.c (grub_strcat): Moved from here ...
15381 * include/grub/misc.h (grub_strcat): ... here. Inlined.
15382 * kern/misc.c (grub_strncat): Moved from here ...
15383 * include/grub/misc.h (grub_strncat): ... here. Inlined.
15384 * kern/misc.c (grub_strcasecmp): Moved from here ...
15385 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
15386 * kern/misc.c (grub_strncasecmp): Moved from here ...
15387 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
15388 * kern/misc.c (grub_isalpha): Moved from here ...
15389 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
15390 * kern/misc.c (grub_isdigit): Moved from here ...
15391 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15392 * kern/misc.c (grub_isgraph): Moved from here ...
15393 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15394 * kern/misc.c (grub_tolower): Moved from here ...
15395 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15396
15397 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15398
15399 * script/sh/function.c (grub_script_function_find): Cut error message
15400 not to flood terminal.
15401 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15402 limit.
15403 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15404
15405 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
15406
15407 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15408 `report' grub_uint8_t *.
15409 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15410 Use a 50-millisecond timeout rather than just repeating
15411 grub_usb_keyboard_getreport 50 times.
15412 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
15413
15414 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 Rename *_partition_map to part_*
15417
15418 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
15419 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
15420 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
15421 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
15422 All users updated.
15423 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
15424 All users updated.
15425 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
15426 * util/grub-probe.c (probe_partmap): Don't transform partition name
15427 to get module name.
15428
15429 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15430
15431 Fix OpenBSD and NetBSD support.
15432
15433 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
15434 memory address conflict.
15435 (OPENBSD_MMAP_ACPI): New definition.
15436 (OPENBSD_MMAP_NVS): Likewise.
15437 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
15438 and OPENBSD_MMAP_NVS.
15439 Add memory map terminator
15440 Explicit cast when calling grub_unix_real_boot.
15441 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
15442
15443 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15444
15445 Let user specify NetBSD root device.
15446
15447 * loader/i386/bsd.c (netbsd_root): New variable.
15448 (netbsd_opts): New option 'root'.
15449 (NETBSD_ROOT_ARG): New macro.
15450 (grub_netbsd_boot): Use 'netbsd_root'.
15451 (grub_bsd_unload): Free 'netbsd_root'.
15452 (grub_cmd_netbsd): Fill 'netbsd_root'.
15453
15454 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15455
15456 Support for 64-bit NetBSD.
15457
15458 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
15459 point when booting non-FreeBSD.
15460
15461 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15462
15463 Support --no-smp and --no-acpi for NetBSD.
15464
15465 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
15466 (NETBSD_AB_NOACPI): Likewise.
15467 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
15468 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
15469
15470 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15471
15472 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
15473 errors.
15474 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
15475 errors. Call grub_error when needed.
15476
15477 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15478
15479 * commands/search.c (search_fs): Try searching without autoload first.
15480 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15481 filesystem module explicitly for faster booting.
15482
15483 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15484
15485 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
15486
15487 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
15488
15489 * util/grub.d/30_os-prober.in: Disable os-prober if
15490 `GRUB_DISABLE_OS_PROBER' was set to true.
15491
15492 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
15493
15494 * partmap/pc.c: Rename to ...
15495 * partmap/msdos.c: ... this. Update all users.
15496 (grub_pc_partition_map): Rename to ...
15497 (grub_msdos_partition_map): ... this. Update all users.
15498
15499 * parttool/pcpart.c: Rename to ...
15500 * parttool/msdospart.c: ... this. Update all users.
15501
15502 * include/grub/pc_partition.h: Rename to ...
15503 * include/grub/msdos_partition.h: ... this. Update all users.
15504 (grub_pc_partition_bsd_entry): Rename to ...
15505 (grub_msdos_partition_bsd_entry): ... this. Update all users.
15506 (grub_pc_partition_disk_label): Rename to ...
15507 (grub_msdos_partition_disk_label): ... this. Update all users.
15508 (grub_pc_partition_entry): Rename to ...
15509 (grub_msdos_partition_entry): ... this. Update all users.
15510 (grub_pc_partition_mbr): Rename to ...
15511 (grub_msdos_partition_mbr): ... this. Update all users.
15512 (grub_pc_partition): Rename to ...
15513 (grub_msdos_partition): ... this. Update all users.
15514 (grub_pc_partition_is_empty): Rename to ...
15515 (grub_msdos_partition_is_empty): ... this. Update all users.
15516 (grub_pc_partition_is_extended): Rename to ...
15517 (grub_msdos_partition_is_extended): ... this. Update all users.
15518 (grub_pc_partition_is_bsd): Rename to ...
15519 (grub_msdos_partition_is_bsd): ... this. Update all users.
15520
15521 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
15522 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
15523 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
15524 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
15525 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
15526 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
15527 (gpt_mod_LDFLAGS): Rename to ...
15528 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
15529 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
15530 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
15531 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
15532 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
15533 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
15534 (part_gpt_mod_LDFLAGS): ... this.
15535 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
15536 `pcpart.mod' to `msdospart.mod'.
15537 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
15538 to ...
15539 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
15540 (msdospart_mod_LDFLAGS): ... this.
15541
15542 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
15545 (openbsd_opts): Likewise.
15546 (netbsd_opts): Likewise.
15547 (freebsd_flags): Added 0 terminator.
15548 (openbsd_flags): Likewise.
15549 (netbsd_flags): Likewise.
15550 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
15551 (grub_cmd_freebsd): Transformed into extended command.
15552 (grub_cmd_openbsd): Likewise.
15553 (grub_cmd_netbsd): Likewise.
15554 (cmd_freebsd): Changed type to grub_extcmd_t.
15555 (cmd_openbsd): Likewise.
15556 (cmd_netbsd): Likewise.
15557 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
15558 grub_cmd_openbsd as extended commands.
15559 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
15560 cmd_netbsd and cmd_openbsd
15561
15562 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15563
15564 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
15565
15566 2009-08-21 Pavel Roskin <proski@gnu.org>
15567
15568 * Makefile.in (install-local): When checking if a file is in the
15569 build directory, use "test -e" to detect symlinks.
15570
15571 * Makefile.in (install-local): Remove all files in
15572 $(DESTDIR)$(pkglibdir) before installing new files there.
15573
15574 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
15575
15576 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
15577 grub-mkelfimage.
15578
15579 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
15580
15581 * util/grub-mkconfig.in: Don't use gfxterm by default if not
15582 explicitly specified by the user.
15583
15584 2009-08-18 Pavel Roskin <proski@gnu.org>
15585
15586 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
15587 grub_uint8_t pointer for data.
15588 * include/grub/fbutil.h (struct grub_video_fbblit_info):
15589 Likewise.
15590 * video/fb/fbutil.c: Remove unnecessary casts.
15591
15592 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15593
15594 VBE cleanup.
15595
15596 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
15597 (grub_vbe_set_video_mode): Save active mode info
15598 only after setting the mode.
15599 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
15600 second argument.
15601
15602 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15603
15604 Rename variables for clarity.
15605
15606 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
15607 (active_vbe_mode_info): ... this. All users updated.
15608 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
15609 All users updated.
15610 (initial_mode): Rename to ...
15611 (initial_vbe_mode): ... this. All users updated.
15612 (mode_in_use): Rename to ..
15613 (vbe_mode_in_use): ... this. All users updated.
15614 (mode_list): Rename to ..
15615 (vbe_mode_list): ... this. All users updated.
15616 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
15617 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
15618 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
15619 'mode_list_size' to 'vbe_mode_list_size'.
15620 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
15621 'best_mode_info' to 'best_vbe_mode_info' and
15622 'best_mode' to 'best_vbe_mode'
15623
15624 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
15625
15626 Remove duplicate grub_video_fb_get_video_ptr.
15627
15628 * include/grub/fbutil.h (get_data_ptr): Rename to ...
15629 (grub_video_fb_get_video_ptr): ... this.
15630 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
15631 * video/fb/fbutil.c: Add comment about addressing.
15632 (get_data_ptr): Rename to ...
15633 (grub_video_fb_get_video_ptr): ... this. All users updated.
15634 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
15635
15636 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15637
15638 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
15639 grub_dprintf() that was just added.
15640
15641 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15642
15643 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
15644 (DEFAULT_VIDEO_MODE): Remove macros.
15645 (grub_linux_boot): Remove assumption that Linux has FB support,
15646 and use "text" as default video mode.
15647
15648 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
15651 grub_dprintf.
15652 * fs/fat.c (grub_fat_read_data): Likewise.
15653
15654 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
15657 payload.
15658 (grub_module): Likewise.
15659
15660 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15661
15662 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
15663 mbi->cmdline but free playground.
15664
15665 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15666
15667 Handle group offset on UFS1.
15668
15669 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
15670 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
15671
15672 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 Split ufs.mod into ufs1.mod and ufs2.mod.
15675
15676 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
15677 (grub_fstest_SOURCES): Likewise.
15678 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
15679 (ufs_mod_SOURCES): Remove.
15680 (ufs_mod_CFLAGS): Likewise.
15681 (ufs_mod_LDFLAGS): Likewise.
15682 (ufs1_mod_SOURCES): New variable.
15683 (ufs1_mod_CFLAGS): Likewise.
15684 (ufs1_mod_LDFLAGS): Likewise.
15685 (ufs2_mod_SOURCES): New variable.
15686 (ufs2_mod_CFLAGS): Likewise.
15687 (ufs2_mod_LDFLAGS): Likewise.
15688 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
15689 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15690 Likewise.
15691 (grub_emu_SOURCES): Likewise.
15692 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15693 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15694 (grub_setup_SOURCES): Likewise.
15695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15696 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
15697 (grub_setup_SOURCES): Likewise.
15698 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15699 Likewise.
15700 * fs/ufs2.c: New file.
15701 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
15702
15703 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 Framebuffer split.
15706
15707 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
15708 subsystem at the end.
15709 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
15710 (video_fb_mod_SOURCES): New variable.
15711 (video_fb_mod_CFLAGS): Likewise.
15712 (video_fb_mod_LDFLAGS): Likewise.
15713 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
15714 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
15715 * video/i386/pc/vbeblit.c: Moved from here ...
15716 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
15717 * video/i386/pc/vbefill.c: Moved from here ...
15718 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
15719 * video/i386/pc/vbeutil.c: Moved from here ...
15720 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
15721 * include/grub/i386/pc/vbeblit.h: Moved from here ...
15722 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
15723 * include/grub/i386/pc/vbefill.h: Moved from here ...
15724 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
15725 * include/grub/i386/pc/vbeutil.h: Moved from here ...
15726 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
15727 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
15728 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
15729 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
15730 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
15731 (grub_video_adapter): Added 'get_info_and_fini'.
15732 (grub_video_get_info_and_fini): New prototype.
15733 (grub_video_set_mode): make modestring const char *.
15734 * loader/i386/linux.c (grub_linux_setup_video): Use
15735 grub_video_get_info_and_fini.
15736 (grub_linux_boot): Move modesetting just before booting.
15737 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
15738 grub_video_get_info_and_fini.
15739 * video/i386/pc/vbe.c: Moved framebuffer part ...
15740 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
15741 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
15742 grub_video_fbstd_colors and grub_video_fb_set_palette.
15743 (grub_video_vbe_init): Clear 'framebuffer' variable and use
15744 grub_video_fb_init.
15745 (grub_video_vbe_fini): Use grub_video_fb_fini.
15746 (grub_video_vbe_setup): Use framebuffer.render_target instead of
15747 render_target and use grub_video_fb_set_active_render_target and
15748 grub_video_fb_set_palette.
15749 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
15750 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
15751 (grub_video_vbe_adapter): Use framebuffer.
15752 * video/video.c (grub_video_get_info_and_fini): New function.
15753 (grub_video_set_mode): Make modestring const char *.
15754 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
15755 values are already initialised.
15756
15757 2009-08-14 Pavel Roskin <proski@gnu.org>
15758
15759 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
15760 ABS and APPLE_CC.
15761 * boot/i386/pc/diskboot.S: Likewise.
15762 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
15763 sectors allow compilation on MacOSX.
15764 * conf/i386-pc.rmk: Enable unconditional compilation of
15765 lnxboot.img.
15766
15767 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
15768
15769 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
15770 * util/grub.d/00_header.in: Enter interruptible sleep if
15771 GRUB_HIDDEN_TIMEOUT is set.
15772
15773 2009-08-13 Yves Blusseau <blusseau@zetam.org>
15774
15775 * include/grub/symbol.h: Add the LOCAL macro.
15776 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
15777 starting with "L_".
15778
15779 2009-08-13 Pavel Roskin <proski@gnu.org>
15780
15781 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
15782 any modern compilers we support.
15783
15784 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
15785 Use local labels starting with "L_" so that Apple assembler
15786 knows they are local.
15787
15788 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
15789
15790 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
15791 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
15792 (bsd_kernel_types): ... this enum.
15793
15794 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
15795 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
15796 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
15797
15798 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
15799 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
15800 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
15801 messages.
15802
15803 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
15804
15805 * util/grub-dumpdevtree: Moved from here ...
15806 * util/i386/efi/grub-dumpdevtree: ... to here.
15807 (hexify): New function. Converts a string to its hex version.
15808 Generate hex versions of "efi" and "device-properties" by calling
15809 hexify() on the ASCII strings rather than by hardcoding numbers.
15810
15811 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
15812
15813 * fs/jfs.c: Update copyright year.
15814
15815 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
15816
15817 * util/grub.d/00_header.in: Fix a comment.
15818 * util/grub.d/10_linux.in: Likewise.
15819 * util/grub.d/10_windows.in: Likewise.
15820 * util/grub.d/10_hurd.in: Likewise.
15821
15822 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
15823
15824 * util/grub-mkconfig.in: Allow the user to specify the used font
15825 with GRUB_FONT.
15826
15827 2009-08-08 Pavel Roskin <proski@gnu.org>
15828
15829 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
15830 available, xfs.mod needs it now.
15831
15832 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
15833 the "g" modifier in sed when the intention is to strip something
15834 once. This fixes comparison of kernels with multiple dashes.
15835
15836 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
15837 on it. Add missing space before closing bracket. Fix
15838 misleading formatting.
15839
15840 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15841
15842 * docs/grub.texi: Major overhaul. Remove all sections that are
15843 specific to GRUB Legacy, or mostly composed of Legacy-specific
15844 information.
15845
15846 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15847
15848 * docs/version.texi: New file. Provides version information for
15849 grub.texi.
15850
15851 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15852
15853 * docs/grub.texi: Update CVS information to SVN.
15854 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
15855
15856 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
15857
15858 * util/grub-mkconfig.in: Remove a wrong `fi'.
15859
15860 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
15861
15862 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
15863 (grub_jfs_uuid): New function.
15864 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
15865
15866 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
15867
15868 * util/grub-mkconfig_lib.in (font_path): Move the functionality
15869 of it to ...
15870 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
15871 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
15872
15873 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15874
15875 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
15876 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
15877 Update all users.
15878
15879 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
15880 not just "vmlinu[zx]".
15881 Moved from here ...
15882 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
15883 all users.
15884
15885 * util/grub.d/10_linux.in (find_latest): Moved from here ...
15886 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
15887 all users.
15888
15889 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15890
15891 * util/grub.d/10_freebsd.in: Use an absolute device path for
15892 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
15893
15894 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
15895
15896 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
15897 handling of multiple abstraction modules.
15898
15899 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
15900
15901 Fix a bug resulting in black screen when loading Linux using a
15902 packed video mode.
15903
15904 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
15905 function.
15906
15907 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
15908 (grub_vbe_bios_getset_dac_palette_width): New function.
15909 (grub_vbe_bios_get_dac_palette_width)
15910 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
15911 grub_vbe_bios_getset_dac_palette_width()).
15912
15913 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
15914 check for return status.
15915 (grub_vbe_get_video_mode_info): When getting information for a packed
15916 mode (<= 8 bpp), obtain DAC palette width using
15917 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
15918 {red,green,blue}_mark_size.
15919
15920 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
15921
15922 * commands/search.c (options): Fix help output to match actual code.
15923
15924 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
15925
15926 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
15927 of homegrown code.
15928
15929 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15930
15931 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
15932 on XFS or ReiserFS.
15933
15934 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15935
15936 Support Apple partition map with sector size different from 512 bytes.
15937
15938 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
15939 (apple_partition_map_iterate): Respect 'aheader.blocksize'
15940 and 'apart.partmap_size'.
15941
15942 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15943 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
15944
15945 Fix cpuid command.
15946
15947 * commands/i386/cpuid.c (options): New variable.
15948 (grub_cmd_cpuid): Return real error.
15949 (GRUB_MOD_INIT(cpuid)): Declare options.
15950
15951 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
15952
15953 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
15954 valid.
15955
15956 2009-07-31 Bean <bean123ch@gmail.com>
15957
15958 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
15959 log2_inode.
15960 (grub_fshelp_node): Move inode field to the end.
15961 (grub_xfs_data): Remove inode field.
15962 (grub_xfs_inode_block): Calculate inode size using sblock.
15963 (grub_xfs_inode_offset): Likewise.
15964 (grub_xfs_read_inode): Calculate inode size using sblock.
15965 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
15966 (grub_xfs_iterate_dir): Calculate inode size using sblock.
15967 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
15968 to match inode size.
15969 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
15970 not accessible when data is null.
15971 (grub_xfs_open): Likewise.
15972
15973 2009-07-31 Bean <bean123ch@gmail.com>
15974
15975 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
15976 Don't change pv->disk if it's already set.
15977
15978 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
15979 (grub_raid_register): ... here.
15980 (grub_raid_rescan): Removed.
15981
15982 * include/grub/raid.h (grub_raid_rescan): Removed.
15983
15984 * util/grub-fstest.c: Remove include file <grub/raid.h>.
15985 (fstest): Replace grub_raid_rescan with module fini function followed
15986 by init function.
15987
15988 * util/grub-probe.c: Add include file <grub/raid.h>.
15989 (probe_raid_level): New function.
15990 (probe): Detect abstraction by walking the disk device, support two
15991 level of abstraction (LVM on RAID) when detecting partition map.
15992
15993 2009-07-31 Pavel Roskin <proski@gnu.org>
15994
15995 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
15996 to grub_zalloc(), it was erroneous.
15997 Reported by Bean <bean123ch@gmail.com>
15998
15999 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
16000
16001 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
16002 embedding zone, not only the first one.
16003
16004 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
16005
16006 * term/gfxterm.c (clear_char): New function.
16007 (grub_virtual_screen_setup): Use clear_char.
16008 (scroll_up): Likewise.
16009 (grub_virtual_screen_cls): Likewise.
16010
16011 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
16012
16013 * util/deviceiter.c (get_acceleraid_disk_name): New static
16014 function.
16015 (grub_util_iterate_devices): Handle Accelraid devices.
16016 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
16017
16018 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
16019
16020 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
16021 separator for the suggested gfxpayload string (';' collides with the
16022 parser and needs escaping).
16023
16024 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16025
16026 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
16027 Clear direction flag before jumping to OS.
16028 (grub_multiboot2_real_boot): Likewise.
16029
16030 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16031
16032 * util/i386/pc/grub-install: Fix parsing of --disk-module
16033 option.
16034
16035 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
16036
16037 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
16038 when embedding.
16039
16040 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
16041
16042 * util/grub-mkconfig.in (package_version): New variable.
16043 Use it do display the version.
16044
16045 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16046
16047 * kern/file.c (grub_file_open): Revert to previous check with
16048 grub_errno.
16049
16050 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16051
16052 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
16053 from help line. It's out of sync with code.
16054
16055 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16056
16057 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
16058 entries on failed boot.
16059
16060 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
16061
16062 * kern/file.c (grub_file_open): Fix an error check.
16063
16064 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
16067 partition map couldn't be identified.
16068
16069 2009-07-23 Pavel Roskin <proski@gnu.org>
16070
16071 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
16072 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
16073 case of little endian words becomes just an optimization.
16074 Respect const modifier.
16075 (md5_final): Use code that doesn't depend on endianness.
16076
16077 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
16078 to avoid loss of upper bits if align is unsigned and shorter
16079 than addr.
16080
16081 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 UUID support for UFS
16084
16085 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
16086 (grub_ufs_uuid): New function.
16087 (grub_ufs_fs): add .uuid
16088
16089 2009-07-21 Pavel Roskin <proski@gnu.org>
16090
16091 * kern/dl.c (grub_dl_check_header): Make static.
16092
16093 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
16094
16095 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
16096 add drivemap for Vista. It breaks Windows 7.
16097
16098 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16099
16100 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
16101 128 bytes
16102
16103 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16104
16105 Add BFS support
16106
16107 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
16108 (grub_fstest_SOURCES): Likewise.
16109 (pkglib_MODULES): Add befs.mod.
16110 (befs_mod_SOURCES): New variable.
16111 (befs_mod_CFLAGS): Likewise.
16112 (befs_mod_LDFLAGS): Likewise.
16113 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16114 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16115 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16116 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16117 (grub_setup_SOURCES): Likewise.
16118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16119 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16120 (grub_setup_SOURCES): Likewise.
16121 * fs/befs.c: New file.
16122 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
16123 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
16124 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
16125 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
16126 (B_KEY_INDEX_ALIGN): New declaration.
16127 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
16128 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
16129 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
16130 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
16131 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
16132 (grub_afs_mount) [MODE_BFS]: Likewise.
16133 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
16134 (grub_afs_fs): Use GRUB_AFS_FSNAME
16135 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
16136 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
16137 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
16138 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
16139
16140 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
16141
16142 * util/getroot.c (find_root_device): Add support for MacOSX.
16143 * util/hostdisk.c: Likewise.
16144
16145 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 * font/font.c (find_glyph): Check whether a font is present to avoid
16148 segmentation fault.
16149
16150 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
16151
16152 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16153
16154 2009-07-20 Pavel Roskin <proski@gnu.org>
16155
16156 * configure.ac: Trim excessively wordy excuses.
16157
16158 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 Add symlink, mtime and label support to AtheFS.
16161
16162 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16163 (grub_afs_iterate_dir): Handle symlinks.
16164 (grub_afs_open): Use grub_afs_read_symlink.
16165 (grub_afs_dir): Likewise.
16166 Pass mtime.
16167 (grub_afs_label): New function.
16168 (grub_afs_fs): Add grub_afs_label.
16169 (grub_afs_read_symlink): New function.
16170
16171 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16172
16173 Fix AtheFS support.
16174
16175 * fs/afs.c: Fix comments style.
16176 (grub_afs_blockrun): Declare as packed.
16177 (grub_afs_datastream): Likewise.
16178 (grub_afs_bnode): Likewise.
16179 (grub_afs_btree): Likewise.
16180 (grub_afs_sblock): Likewise.
16181 Declare `name' as char.
16182 (grub_afs_inode): Declare as packed.
16183 Change void *vnode to grub_uint32_t unused.
16184 (grub_afs_iterate_dir): Check that key_size is positive.
16185 (grub_afs_mount): Don't read superblock twice.
16186 (grub_afs_dir): Don't free node in case of error,
16187 grub_fshelp_find_file already handles this.
16188 (grub_afs_open): Likewise.
16189
16190 2009-07-19 Pavel Roskin <proski@gnu.org>
16191
16192 * Makefile.in: Remove LIBLZO and enable_lzo.
16193 * conf/i386-pc.rmk: Remove lzo support.
16194 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16195 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16196 support.
16197 * kern/i386/pc/lzo1x.S: Remove.
16198 * kern/i386/pc/startup.S: Remove lzo support.
16199 * util/i386/pc/grub-mkimage.c: Likewise.
16200
16201 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16202
16203 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16204 * fs/xfs.c (grub_xfs_dir): Likewise.
16205 * fs/afs.c (grub_afs_dir): Likewise.
16206 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16207 (grub_iso9660_open): Likewise.
16208 * fs/jfs.c (grub_jfs_open): Likewise.
16209 * fs/ext2.c (grub_ext2_dir): Likewise.
16210 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16211 * script/sh/lexer.c (grub_script_yylex): Likewise.
16212
16213 2009-07-16 Pavel Roskin <proski@gnu.org>
16214
16215 * configure.ac: Never add "-c" to CFLAGS.
16216
16217 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16218
16219 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16220 grub_cv_cc_efiemu should be used.
16221
16222 * configure.ac: Typo fixes.
16223
16224 * kern/mm.c (grub_zalloc): New function.
16225 (grub_debug_zalloc): Likewise.
16226 * include/grub/mm.h: Declare grub_zalloc() and
16227 grub_debug_zalloc().
16228 * util/misc.c (grub_zalloc): New function.
16229 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
16230 instead of grub_malloc(), remove unneeded initializations.
16231 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
16232 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
16233 * commands/parttool.c (grub_cmd_parttool): Likewise.
16234 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16235 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
16236 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
16237 * disk/usbms.c (grub_usbms_finddevs): Likewise.
16238 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
16239 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
16240 (grub_cmd_efiemu_pnvram): Likewise.
16241 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
16242 * fs/iso9660.c (grub_iso9660_mount): Likewise.
16243 (grub_iso9660_iterate_dir): Likewise.
16244 * fs/jfs.c (grub_jfs_opendir): Likewise.
16245 * fs/ntfs.c (list_file): Likewise.
16246 (grub_ntfs_mount): Likewise.
16247 * kern/disk.c (grub_disk_open): Likewise.
16248 * kern/dl.c (grub_dl_load_core): Likewise.
16249 * kern/elf.c (grub_elf_file): Likewise.
16250 * kern/env.c (grub_env_context_open): Likewise.
16251 (grub_env_set): Likewise.
16252 (grub_env_set_data_slot): Likewise.
16253 * kern/file.c (grub_file_open): Likewise.
16254 * kern/fs.c (grub_fs_blocklist_open): Likewise.
16255 * loader/i386/multiboot.c (grub_module): Likewise.
16256 * loader/xnu.c (grub_xnu_create_key): Likewise.
16257 (grub_xnu_create_value): Likewise.
16258 * normal/main.c (grub_normal_add_menu_entry): Likewise.
16259 (read_config_file): Likewise.
16260 * normal/menu_entry.c (make_screen): Likewise.
16261 * partmap/sun.c (sun_partition_map_iterate): Likewise.
16262 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
16263 * script/sh/script.c (grub_script_parse): Likewise.
16264 * video/bitmap.c (grub_video_bitmap_create): Likewise.
16265 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16266 * video/readers/png.c (grub_png_output_byte): Likewise.
16267 (grub_video_reader_png): Likewise.
16268
16269 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 Enable all targets that can be built by default
16272
16273 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
16274 grub-mkfont and grub-fstest if they can be built
16275
16276 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 Fix hang and segmentation fault in grub-emu-usb
16279
16280 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
16281 * util/usb.c (grub_libusb_devices): likewise
16282 (grub_libusb_init): rename to ...
16283 (GRUB_MOD_INIT (libusb)):...this
16284 (grub_libusb_fini): rename to ..
16285 (GRUB_MOD_FINI (libusb)):...this
16286 * disk/usbms.c (grub_usbms_transfer): fix retry logic
16287 * include/grub/disk.h (grub_raid_init): removed, it's useless
16288 (grub_raid_fini): likewise
16289 (grub_lvm_init): likewise
16290 (grub_lvm_fini): likewise
16291 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
16292 by grub_init_all
16293
16294 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 Fix libusb
16297
16298 * Makefile.in (LIBUSB): new macro
16299 * genmk.rb (Utility/print_tail): new method
16300 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
16301 (top level): call util.print_tail at the end.
16302
16303 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16304
16305 Make FreeBSD accept zpool.cache
16306
16307 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
16308 type is /boot/zfs/zpool.cache
16309
16310 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16311
16312 Fix 64-bit efiemu
16313
16314 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
16315 correct wrong typedef
16316 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
16317
16318 2009-07-15 Pavel Roskin <proski@gnu.org>
16319
16320 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
16321 * kern/disk.c (struct grub_disk_cache): Likewise.
16322
16323 * commands/probe.c (options): Typo fix.
16324
16325 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
16326 Increase to 0x5a to accommodate FAT32. Adjust other offsets
16327 accordingly.
16328 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
16329
16330 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
16331 the end of "Error" to make the message more readable.
16332
16333 * boot/i386/pc/boot.S (kernel_segment): Remove.
16334 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
16335 for destination.
16336
16337 * boot/i386/pc/boot.S (boot_version): Remove.
16338 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16339 Remove.
16340
16341 * include/grub/i386/pc/boot.h: Sort all offsets.
16342 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
16343 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
16344 * boot/i386/pc/boot.S: Assert location of every offset listed in
16345 include/grub/i386/pc/boot.h.
16346
16347 2009-07-13 Pavel Roskin <proski@gnu.org>
16348
16349 * include/grub/i386/coreboot/machine.h: Rename
16350 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
16351 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
16352 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
16353
16354 * kern/dl.c: Force native word size to suppress warnings when
16355 compiling grub-emu.
16356
16357 * kern/device.c (grub_device_iterate): Change struct part_ent to
16358 hold the name, not a pointer to it. Use one grub_malloc() per
16359 partition, not two. Free partition_name if grub_malloc() fails.
16360 Set ents to NULL only before grub_partition_iterate() is called.
16361
16362 2009-07-11 Bean <bean123ch@gmail.com>
16363
16364 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
16365 childname.
16366
16367 2009-07-10 Bean <bean123ch@gmail.com>
16368 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
16369
16370 * kern/ieee1275/openfw.c (grub_children_iterate)
16371 (grub_devalias_iterate): Fix size evaluation for property or path
16372 strings, which was broken since r2132.
16373
16374 2009-07-07 Pavel Roskin <proski@gnu.org>
16375
16376 * commands/search.c (search_file): Merge into ...
16377 (search_fs): ... this. Accept search type as argument.
16378 (grub_cmd_search): Pass search type to search_fs().
16379
16380 * include/grub/util/console.h: New file.
16381 * util/console.c: Use it instead of grub/machine/console.h.
16382 * util/grub-emu.c: Likewise.
16383
16384 * lib/arg.c (find_long_option): Remove.
16385 (find_long): Add `len' argument, make `s' const char *.
16386 (grub_arg_parse): Parse long options in place, not in a
16387 temporary buffer.
16388
16389 2009-07-06 Pavel Roskin <proski@gnu.org>
16390
16391 * commands/search.c (search_fs): Fix potential NULL pointer
16392 dereference.
16393
16394 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16395 function pointer.
16396
16397 2009-07-06 Daniel Mierswa <impulze@impulze.org>
16398
16399 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16400 comparison.
16401
16402 2009-07-05 Pavel Roskin <proski@gnu.org>
16403
16404 * include/grub/i386/linux.h (struct linux_kernel_params):
16405 Restore padding3, it's still needed.
16406
16407 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16408 FreeBSD.
16409 * util/osdetect.lua: Likewise.
16410
16411 2009-07-05 Bean <bean123ch@gmail.com>
16412
16413 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
16414
16415 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
16416 (grub_lua_getenv): Likewise.
16417 (grub_lua_setenv): Likewise.
16418 (save_errno): New function.
16419 (push_result): Likewise.
16420 (grub_lua_enum_device): Likewise.
16421 (grub_lua_enum_file): Likewise.
16422 (grub_lua_file_open): Likewise.
16423 (grub_lua_file_close): Likewise.
16424 (grub_lua_file_seek): Likewise.
16425 (grub_lua_file_read): Likewise.
16426 (grub_lua_file_getline): Likewise.
16427 (grub_lua_file_getsize): Likewise.
16428 (grub_lua_file_getpos): Likewise.
16429 (grub_lua_file_eof): Likewise.
16430 (grub_lua_file_exist): Likewise.
16431 (grub_lua_add_menu): Likewise.
16432
16433 * script/lua/grub_lua.h (isupper): New inline function.
16434 (islower): Likewise.
16435 (ispunct): Likewise.
16436 (isxdigit): Likewise.
16437 (strcspn): Change to normal function.
16438 (strpbkr): New function declaration.
16439 (memchr): Likewise.
16440
16441 * script/lua/grub_main.c (scan_str): New function.
16442 (strcspn): Likewise.
16443 (strpbrk): Likewise.
16444 (memchr): Likewise.
16445
16446 * script/lua/linit.c (lualibs): Enable the string library.
16447
16448 * util/osdetect.lua: New file.
16449
16450 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
16451
16452 * include/grub/i386/linux.h (struct linux_kernel_params): Add
16453 `capabilities' member.
16454
16455 2009-07-02 Pavel Roskin <proski@gnu.org>
16456
16457 * genparttoollist.sh: Add missing newline at the end.
16458
16459 2009-07-01 Pavel Roskin <proski@gnu.org>
16460
16461 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
16462
16463 * util/hostdisk.c (open_device): Remove `const' from
16464 `sysctl_size', as sysctlbyname() can change it (in this case it
16465 doesn't actually happen).
16466
16467 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
16468 using signed long int constants.
16469
16470 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
16471 constant to avoid a warning on FreeBSD.
16472
16473 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
16474 where it's needed.
16475
16476 * Makefile.in: Install include/grub/machine symlink.
16477
16478 * Makefile.in: When installing symlinks, use "cp -fR", which
16479 works on FreeBSD and MacOSX.
16480 From Yves Blusseau <cl7m42e02@sneakemail.com>
16481
16482 * kern/dl.c (grub_dl_resolve_symbol): Make static.
16483 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
16484
16485 * util/misc.c: Move grub_reboot() and grub_halt() ...
16486 * util/grub-emu.c: ... here. Make main_env static.
16487 * include/grub/util/misc.h: Remove main_env.
16488
16489 * kern/mm.c: Use correct format to print size_t.
16490
16491 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
16492 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
16493 * kern/powerpc/dl.c: Likewise.
16494 * kern/sparc64/dl.c: Likewise.
16495 * kern/x86_64/dl.c: Likewise.
16496
16497 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16498
16499 Fix grub-emu build on sparc64-ieee1275.
16500
16501 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
16502 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
16503
16504 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16505
16506 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
16507 (grub_reboot, grub_halt): New functions.
16508
16509 * util/i386/pc/misc.c: Delete. Update all users.
16510 * util/sparc64/ieee1275/misc.c: Likewise.
16511 * util/powerpc/ieee1275/misc.c: Likewise.
16512
16513 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16514
16515 * conf/i386.rmk (setjmp_mod_SOURCES)
16516 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
16517 * conf/common.rmk (setjmp_mod_SOURCES)
16518 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
16519 to use $(target_cpu).
16520 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
16521 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
16522 * conf/powerpc-ieee1275.rmk: Likewise.
16523 * conf/sparc64-ieee1275.rmk: Likewise.
16524
16525 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
16526 $(target_cpu) for kern/$(target_cpu)/dl.c.
16527 * conf/i386-efi.rmk: Likewise.
16528 * conf/i386-ieee1275.rmk: Likewise.
16529 * conf/x86_64-efi.rmk: Likewise.
16530 * conf/i386-coreboot.rmk: Likewise.
16531 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
16532 $(target_cpu) for kern/$(target_cpu)/dl.c and for
16533 kern/$(target_cpu)/cache.S.
16534 * conf/sparc64-ieee1275.rmk: Likewise.
16535
16536 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16537
16538 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
16539 type to `grub_uint8_t', and adjust `padding9' accordingly.
16540
16541 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16542
16543 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
16544
16545 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
16546 assembly in final jump, using register constraints.
16547
16548 (grub_linux_boot): For text mode, initialize `have_vga' using
16549 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
16550
16551 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
16552 right before the final jump.
16553
16554 Set `video_mode' to 0x3.
16555
16556 Document initialization of `video_page', `video_mode' and
16557 `video_ega_bx'.
16558
16559 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16560
16561 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
16562 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
16563 and set GRUB_LINUX_FLAG_QUIET appropriately.
16564
16565 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16566
16567 Fix build on Debian / sparc.
16568
16569 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
16570
16571 2009-06-28 Pavel Roskin <proski@gnu.org>
16572
16573 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
16574 fix a warning.
16575
16576 * util/grub.d/10_linux.in: Match SUSE style initrd names.
16577
16578 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16579
16580 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
16581 `err'.
16582
16583 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16584
16585 Revert r2338.
16586
16587 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
16588 file can't be opened. grub_file_open() is already supposed to set
16589 grub_errno / grub_errmsg appropriately.
16590 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16591
16592 2009-06-27 Pavel Roskin <proski@gnu.org>
16593 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16594
16595 * include/grub/dl.h: Include grub/elf.h.
16596 (struct grub_dl): Add symtab field.
16597 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
16598 GRUB_MODULES_MACHINE_READONLY.
16599 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
16600 of the header for read-only modules.
16601 (grub_dl_unload): Free mod->symtab for read-only modules.
16602 * kern/i386/dl.c: Use mod->symtab.
16603 * kern/powerpc/dl.c: Likewise.
16604 * kern/sparc64/dl.c: Likewise.
16605 * kern/x86_64/dl.c: Likewise.
16606
16607 * conf/i386-qemu.rmk: New file.
16608 * kern/i386/qemu/startup.S: Likewise.
16609 * kern/i386/qemu/mmap.c: Likewise.
16610 * boot/i386/qemu/boot.S: Likewise.
16611 * include/grub/i386/qemu/time.h: Likewise.
16612 * include/grub/i386/qemu/serial.h: Likewise.
16613 * include/grub/i386/qemu/kernel.h: Likewise.
16614 * include/grub/i386/qemu/console.h: Likewise.
16615 * include/grub/i386/qemu/boot.h: Likewise.
16616 * include/grub/i386/qemu/init.h: Likewise.
16617 * include/grub/i386/qemu/machine.h: Likewise.
16618 * include/grub/i386/qemu/loader.h: Likewise.
16619 * include/grub/i386/qemu/memory.h: Likewise.
16620
16621 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
16622 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
16623 [qemu] (pkglib_IMAGES): Add `boot.img'.
16624 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
16625 [qemu] (boot_img_FORMAT): New variables.
16626 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
16627 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
16628 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
16629 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16630 [qemu] (kernel_img_FORMAT): New variables.
16631
16632 * configure.ac: Recognise `i386-qemu'.
16633
16634 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
16635 (for no compression).
16636 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
16637 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
16638 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
16639 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
16640 ifdefs).
16641
16642 2009-06-27 Pavel Roskin <proski@gnu.org>
16643
16644 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
16645 read.
16646 * efiemu/prepare32.c: Likewise.
16647 * efiemu/prepare64.c: Likewise.
16648
16649 2009-06-26 Pavel Roskin <proski@gnu.org>
16650
16651 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
16652 * include/grub/elf.h: Define symbols without "32" or "64" based
16653 on GRUB_TARGET_WORDSIZE.
16654 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
16655 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
16656 ELF definitions.
16657 * efiemu/loadcore64.c: Likewise.
16658 * loader/i386/bsd32.c: Likewise.
16659 * loader/i386/bsd64.c: Likewise.
16660 * kern/dl.c: Remove own ELF definitions.
16661 * util/i386/efi/grub-mkimage.c: Likewise.
16662
16663 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
16664
16665 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
16666 segment 0x0 unconditionally, because the reference generated by
16667 GAS is an absolute address.
16668
16669 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16670
16671 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
16672 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
16673
16674 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16675
16676 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
16677 indexes. Check for -f explicitly.
16678 (search_file): Improve error message.
16679 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
16680
16681 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16682
16683 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
16684 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
16685
16686 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16687
16688 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
16689 * conf/i386-ieee1275.rmk: Likewise.
16690 * conf/i386-coreboot.rmk: Likewise.
16691
16692 * kern/i386/pc/startup.S (grub_stop): Remove function.
16693 * kern/i386/ieee1275/startup.S: Likewise.
16694 * kern/i386/coreboot/startup.S: Likewise.
16695 * kern/i386/misc.S (grub_stop): New function.
16696
16697 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16698
16699 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
16700 * kern/i386/realmode.S (real_to_prot): ... to here.
16701
16702 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16703
16704 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
16705 with `kernel.img'.
16706 (kernel_elf_SOURCES): Rename to ...
16707 (kernel_img_SOURCES): ... this.
16708 (kernel_elf_HEADERS): Rename to ...
16709 (kernel_img_HEADERS): ... this. Update all users.
16710 (kernel_elf_ASFLAGS): Rename to ...
16711 (kernel_img_ASFLAGS): ... this.
16712 (kernel_elf_CFLAGS): Rename to ...
16713 (kernel_img_CFLAGS): ... this.
16714 (kernel_elf_LDFLAGS): Rename to ...
16715 (kernel_img_LDFLAGS): ... this.
16716 * conf/i386-coreboot.rmk: Likewise.
16717 * conf/powerpc-ieee1275.rmk: Likewise.
16718
16719 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
16720 with "kernel.img".
16721
16722 2009-06-21 Pavel Roskin <proski@gnu.org>
16723
16724 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
16725 to match nested functions.
16726 * loader/sparc64/ieee1275/linux.c: Likewise.
16727
16728 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
16729
16730 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16731
16732 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
16733 all i386 platforms.
16734
16735 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16736
16737 Fix asm file handling on ELF, and remove workarounds.
16738
16739 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
16740 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
16741 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
16742 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
16743
16744 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
16745
16746 Load BSD ELF modules
16747
16748 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
16749 and loader/i386/bsd64.c
16750 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
16751 (FREEBSD_MODTYPE_ELF_MODULE): New definition
16752 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
16753 (grub_freebsd_load_elfmodule32): New declaration
16754 (grub_freebsd_load_elfmoduleobj64): Likewise
16755 (grub_freebsd_load_elf_meta32): Likewise
16756 (grub_freebsd_load_elf_meta64): Likewise
16757 (grub_freebsd_add_meta): Likewise
16758 (grub_freebsd_add_meta_module): Likewise
16759 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
16760 (grub_freebsd_add_meta_module): Likewise and move module-specific
16761 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
16762 (grub_cmd_freebsd): Add elf-kernel specific parts
16763 based on grub_freebsd_add_meta_module
16764 (grub_cmd_freebsd_module): Add type parsing moved from
16765 grub_freebsd_add_meta_module
16766 (grub_cmd_freebsd_module_elf): New function
16767 (cmd_freebsd_module_elf): New variable
16768 (GRUB_MOD_INIT): Register freebsd_module_elf
16769 * loader/i386/bsd32.c: New file
16770 * loader/i386/bsd64.c: Likewise
16771 * loader/i386/bsdXX.c: Likewise
16772 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
16773 (grub_elf64_load): Likewise
16774 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
16775 All users updated
16776 (grub_elf64_load_hook_t): Likewise
16777
16778 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
16779
16780 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
16781 variable.
16782 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
16783 don't write a menu entry for recovery mode.
16784
16785 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
16786
16787 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
16788 after it's no longer needed.
16789
16790 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
16791
16792 * include/grub/i386/loader.h (grub_linux_prot_size)
16793 (grub_linux_tmp_addr, grub_linux_real_addr)
16794 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
16795 GRUB_MACHINE_PCBIOS.
16796 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
16797 common grub_util_info() call to ...
16798 (generate_image): ... here.
16799 Fix use of uninitialized memory, comparison of signed with
16800 unsigned integers and memory leak.
16801 Remove bogus module address message.
16802
16803 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16804
16805 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
16806 grub_raid_register
16807 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
16808
16809 2009-06-19 Pavel Roskin <proski@gnu.org>
16810
16811 * configure.ac: Remove stray AC_MSG_CHECKING.
16812
16813 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
16814
16815 * disk/scsi.c (grub_scsi_open): use continue instead of big if
16816
16817 2009-06-18 Pavel Roskin <proski@gnu.org>
16818
16819 * conf/common.rmk: Add fs_file.mod.
16820 * disk/fs_file.c: New file.
16821 * include/grub/disk.h (enum grub_disk_dev_id): Add
16822 GRUB_DISK_DEVICE_FILE_ID.
16823
16824 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16825
16826 Fix build with Apple's toolchain. Part 2
16827
16828 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
16829 a fake start
16830
16831 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16832
16833 Fix build with Apple's toolchain. Part 1
16834
16835 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
16836 for long calls
16837 * configure.ac: remove a leftover AC_MSG_RESULT
16838 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
16839 Apple's toolchain
16840
16841 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16842
16843 Fix warnings
16844
16845 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
16846 (decomp_block): initialize ch
16847 use grub_memcpy instead of memcpy
16848
16849 2009-06-17 Pavel Roskin <proski@gnu.org>
16850
16851 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
16852 version, use declarations needed to use vga_text as the startup
16853 console.
16854
16855 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
16856 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
16857 the kernel.
16858 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
16859 and grub_at_keyboard_fini(), it's done on module load and
16860 unload.
16861
16862 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
16863
16864 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
16865 file can't be found.
16866 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16867
16868 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
16869
16870 Fix newline handling
16871
16872 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
16873 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
16874 (grub_script_yylex): don't segfault on unterminated script
16875 newline terminates command and variable
16876
16877 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
16878
16879 avoid double grub_adjust_range call. Bug reported by David Simner
16880
16881 * kern/disk.c (grub_disk_write): change to raw disk access before
16882 calling disk_read
16883
16884 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
16885
16886 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
16887 spaces, for the benefit of help2man.
16888 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16889
16890 2009-06-16 Pavel Roskin <proski@gnu.org>
16891
16892 * kern/i386/halt.c: Include grub/machine/init.h.
16893 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
16894
16895 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
16896
16897 * util/grub.d/30_os-prober.in: Use ${root} in the generated
16898 drivemap menuentry.
16899
16900 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
16901
16902 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
16903 `echo' command.
16904
16905 2009-06-16 Pavel Roskin <proski@gnu.org>
16906
16907 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
16908 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
16909 save %dx, we only need %dl and we never change it.
16910 * boot/i386/pc/cdboot.S: Don't set the root drive.
16911 * boot/i386/pc/pxeboot.S: Likewise.
16912 * include/grub/i386/pc/boot.h: Remove
16913 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
16914 GRUB_BOOT_MACHINE_DRIVE_CHECK.
16915 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
16916 * kern/i386/pc/init.c (make_install_device): Remove references
16917 to grub_root_drive.
16918 * kern/i386/pc/startup.S: Likewise.
16919 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
16920
16921 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16922
16923 xnu_uuid command
16924
16925 * commands/xnu_uuid.c: new file
16926 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
16927 (xnu_uuid_mod_SOURCES): new variable
16928 (xnu_uuid_mod_CFLAGS): likewise
16929 (xnu_uuid_mod_LDFLAGS): likewise
16930 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16931 * conf/i386-ieee1275.rmk: likewise
16932 * conf/i386-pc.rmk: likewise
16933 * conf/powerpc-ieee1275.rmk: likewise
16934 * conf/sparc64-ieee1275.rmk: likewise
16935 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
16936
16937 2009-06-16 Pavel Roskin <proski@gnu.org>
16938
16939 * configure.ac: Avoid '==' in test command, it's not portable.
16940
16941 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16942
16943 Probe command
16944
16945 * commands/probe.c: new file
16946 * conf/common.rmk (pkglib_MODULES): add probe.mod
16947 (probe_mod_SOURCES): new variable
16948 (probe_mod_CFLAGS): likewise
16949 (probe_mod_LDFLAGS): likewise
16950 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16951 * conf/i386-ieee1275.rmk: likewise
16952 * conf/i386-pc.rmk: likewise
16953 * conf/powerpc-ieee1275.rmk: likewise
16954 * conf/sparc64-ieee1275.rmk: likewise
16955
16956 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
16957
16958 Fix handling of string like \"hello\" and "a
16959 b"
16960
16961 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
16962 (grub_script_yylex): fix parsing of quoting, escaping and newline
16963
16964 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
16965
16966 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
16967 handling
16968
16969 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
16970
16971 * util/grub-mkconfig.in: Fix parsing of --output option.
16972
16973 2009-06-12 Pavel Roskin <proski@gnu.org>
16974
16975 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
16976 genmk.rb don't need to be generated or installed.
16977
16978 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16979
16980 * commands/i386/pc/drivemap_int13h.S: add more comments
16981
16982 2009-06-11 Pavel Roskin <proski@gnu.org>
16983
16984 * Makefile.in (uninstall): Uninstall manuals.
16985
16986 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
16987 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
16988 and update-grub_lib in two places.
16989 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
16990
16991 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
16992 a compiler warning.
16993
16994 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
16995 `entry_lo' to fix variable shadowing.
16996
16997 2009-06-11 Christian Franke <franke@computer.org>
16998
16999 * kern/misc.c (__enable_execute_stack): Add missing return type
17000 to prevent gcc warning.
17001
17002 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17003
17004 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
17005
17006 2009-06-11 Pavel Roskin <proski@gnu.org>
17007
17008 * Makefile.in: Don't rely on any scripts being executable.
17009 Always use $(SHELL) to run shell scripts.
17010
17011 * configure.ac: Always define ___main if using -nostdlib. This
17012 fixes tests on Cygwin.
17013
17014 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
17015
17016 UDF fix
17017
17018 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
17019 is in bytes and not in blocks
17020
17021 2009-06-11 Pavel Roskin <proski@gnu.org>
17022
17023 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
17024 warning.
17025
17026 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
17027
17028 * util/grub.d/30_os-prober.in: Fix a comment. Source
17029 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
17030 to set the root device. Place drivemap command in the generated
17031 chain entry.
17032
17033 2009-06-11 Pavel Roskin <proski@gnu.org>
17034
17035 * configure.ac: Remove host_m32. Issues with 64-bit utilities
17036 have long been resolved.
17037
17038 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
17039
17040 * util/grub.d/10_linux.in: Capitalise "Linux".
17041
17042 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
17043
17044 2009-06-11 Pavel Roskin <proski@gnu.org>
17045
17046 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
17047 fix a gcc warning and ensure that the function won't ever exit.
17048
17049 * kern/i386/ieee1275/init.c: Add missing prototype for
17050 grub_stop_floppy().
17051
17052 * loader/ieee1275/multiboot2.c [__i386__]: Include
17053 grub/cpu/multiboot.h.
17054
17055 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
17056 casts to short - they are not portable and cause warnings. Fix
17057 use of uninitialized values in input_buf. Use ARRAY_SIZE.
17058
17059 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
17060
17061 Drivemap fixes
17062
17063 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
17064 new function
17065 (grub_get_root_biosnumber_saved): new variable
17066 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
17067 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
17068 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
17069 %dx after the call if necessary
17070 * conf/common.rmk (pkglib_MODULES): remove boot.mod
17071 (boot_mod_SOURCES): remove
17072 (boot_mod_CFLAGS): remove
17073 (boot_mod_LDFLAGS): remove
17074 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
17075 (boot_mod_SOURCES): new variable
17076 (boot_mod_CFLAGS): likewise
17077 (boot_mod_LDFLAGS): likewise
17078 * conf/i386-efi.rmk: likewise
17079 * conf/i386-ieee1275.rmk: likewise
17080 * conf/i386-pc.rmk: likewise
17081 * conf/powerpc-ieee1275.rmk: likewise
17082 * conf/sparc64-ieee1275.rmk: likewise
17083 * conf/x86_64-efi.rmk: likewise
17084 * include/grub/i386/pc/biosnum.h: new file
17085 * lib/i386/pc/biosnum.c: likewise
17086 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
17087 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
17088 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
17089
17090 2009-06-10 Pavel Roskin <proski@gnu.org>
17091
17092 * io/gzio.c (test_header): Don't reuse one buffer for all data.
17093 Use separate variables. Read only the file size at the end, but
17094 not the checksum that we don't use.
17095
17096 * kern/file.c (grub_file_read): Use void pointer for the buffer.
17097 Adjust all callers.
17098
17099 * kern/ieee1275/openfw.c: Remove libc includes.
17100 * kern/ieee1275/cmain.c: Likewise.
17101 * include/grub/ieee1275/ieee1275.h: Likewise.
17102
17103 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
17104 compiler warnings.
17105
17106 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17107
17108 * Makefile.in: Remove all trailing whitespace.
17109 * conf/i386-pc.rmk: Likewise.
17110 * conf/powerpc-ieee1275.rmk: Likewise.
17111 * conf/sparc64-ieee1275.rmk: Likewise.
17112 * docs/grub.texi: Likewise.
17113 * docs/texinfo.tex: Likewise.
17114 * disk/fs_uuid.c: Likewise.
17115 * disk/lvm.c: Likewise.
17116 * disk/scsi.c: Likewise.
17117 * disk/ata.c: Likewise.
17118 * disk/ieee1275/ofdisk.c: Likewise.
17119 * disk/i386/pc/biosdisk.c: Likewise.
17120 * disk/host.c: Likewise.
17121 * disk/raid.c: Likewise.
17122 * disk/efi/efidisk.c: Likewise.
17123 * disk/usbms.c: Likewise.
17124 * disk/memdisk.c: Likewise.
17125 * disk/loopback.c: Likewise.
17126 * kern/powerpc/dl.c: Likewise.
17127 * kern/device.c: Likewise.
17128 * kern/dl.c: Likewise.
17129 * kern/sparc64/dl.c: Likewise.
17130 * kern/ieee1275/ieee1275.c: Likewise.
17131 * kern/term.c: Likewise.
17132 * kern/fs.c: Likewise.
17133 * kern/i386/dl.c: Likewise.
17134 * kern/i386/pc/startup.S: Likewise.
17135 * kern/i386/pc/init.c: Likewise.
17136 * kern/i386/pc/mmap.c: Likewise.
17137 * kern/i386/pc/lzo1x.S: Likewise.
17138 * kern/i386/ieee1275/init.c: Likewise.
17139 * kern/i386/realmode.S: Likewise.
17140 * kern/i386/tsc.c: Likewise.
17141 * kern/partition.c: Likewise.
17142 * kern/corecmd.c: Likewise.
17143 * kern/file.c: Likewise.
17144 * kern/efi/efi.c: Likewise.
17145 * kern/efi/init.c: Likewise.
17146 * kern/efi/mm.c: Likewise.
17147 * kern/main.c: Likewise.
17148 * kern/err.c: Likewise.
17149 * kern/env.c: Likewise.
17150 * kern/disk.c: Likewise.
17151 * kern/generic/millisleep.c: Likewise.
17152 * kern/generic/rtc_get_time_ms.c: Likewise.
17153 * kern/misc.c: Likewise.
17154 * kern/parser.c: Likewise.
17155 * genmk.rb: Likewise.
17156 * configure.ac: Likewise.
17157 * boot/i386/pc/diskboot.S: Likewise.
17158 * boot/i386/pc/pxeboot.S: Likewise.
17159 * boot/i386/pc/boot.S: Likewise.
17160 * boot/i386/pc/lnxboot.S: Likewise.
17161 * boot/i386/pc/cdboot.S: Likewise.
17162 * parttool/pcpart.c: Likewise.
17163 * video/readers/tga.c: Likewise.
17164 * video/video.c: Likewise.
17165 * video/bitmap.c: Likewise.
17166 * lib/envblk.c: Likewise.
17167 * lib/i386/setjmp.S: Likewise.
17168 * fs/xfs.c: Likewise.
17169 * fs/afs.c: Likewise.
17170 * fs/fat.c: Likewise.
17171 * fs/ntfs.c: Likewise.
17172 * fs/udf.c: Likewise.
17173 * fs/affs.c: Likewise.
17174 * fs/iso9660.c: Likewise.
17175 * fs/hfs.c: Likewise.
17176 * fs/fshelp.c: Likewise.
17177 * fs/ext2.c: Likewise.
17178 * fs/jfs.c: Likewise.
17179 * fs/reiserfs.c: Likewise.
17180 * fs/hfsplus.c: Likewise.
17181 * fs/minix.c: Likewise.
17182 * fs/cpio.c: Likewise.
17183 * fs/sfs.c: Likewise.
17184 * fs/ufs.c: Likewise.
17185 * efiemu/prepare.c: Likewise.
17186 * efiemu/loadcore_common.c: Likewise.
17187 * efiemu/runtime/efiemu.sh: Likewise.
17188 * efiemu/runtime/efiemu.S: Likewise.
17189 * efiemu/runtime/efiemu.c: Likewise.
17190 * efiemu/pnvram.c: Likewise.
17191 * efiemu/main.c: Likewise.
17192 * efiemu/i386/pc/cfgtables.c: Likewise.
17193 * efiemu/i386/loadcore64.c: Likewise.
17194 * efiemu/i386/loadcore32.c: Likewise.
17195 * efiemu/loadcore.c: Likewise.
17196 * efiemu/symbols.c: Likewise.
17197 * efiemu/mm.c: Likewise.
17198 * include/grub/autoefi.h: Likewise.
17199 * include/grub/datetime.h: Likewise.
17200 * include/grub/term.h: Likewise.
17201 * include/grub/hfs.h: Likewise.
17202 * include/grub/lvm.h: Likewise.
17203 * include/grub/i386/tsc.h: Likewise.
17204 * include/grub/i386/linux.h: Likewise.
17205 * include/grub/i386/xnu.h: Likewise.
17206 * include/grub/i386/efiemu.h: Likewise.
17207 * include/grub/i386/pc/biosdisk.h: Likewise.
17208 * include/grub/i386/pc/memory.h: Likewise.
17209 * include/grub/i386/pc/vbe.h: Likewise.
17210 * include/grub/parttool.h: Likewise.
17211 * include/grub/video.h: Likewise.
17212 * include/grub/memory.h: Likewise.
17213 * include/grub/fs.h: Likewise.
17214 * include/grub/partition.h: Likewise.
17215 * include/grub/xnu.h: Likewise.
17216 * include/grub/efi/api.h: Likewise.
17217 * include/grub/efi/pe32.h: Likewise.
17218 * include/grub/efi/memory.h: Likewise.
17219 * include/grub/multiboot.h: Likewise.
17220 * include/grub/usbdesc.h: Likewise.
17221 * include/grub/multiboot2.h: Likewise.
17222 * include/grub/acpi.h: Likewise.
17223 * include/grub/efiemu/efiemu.h: Likewise.
17224 * include/grub/disk.h: Likewise.
17225 * include/grub/ieee1275/ieee1275.h: Likewise.
17226 * include/grub/net.h: Likewise.
17227 * include/grub/machoload.h: Likewise.
17228 * include/grub/macho.h: Likewise.
17229 * include/multiboot.h: Likewise.
17230 * genmoddep.awk: Likewise.
17231 * normal/main.c: Likewise.
17232 * normal/menu_entry.c: Likewise.
17233 * normal/menu_viewer.c: Likewise.
17234 * normal/completion.c: Likewise.
17235 * normal/cmdline.c: Likewise.
17236 * normal/misc.c: Likewise.
17237 * normal/datetime.c: Likewise.
17238 * bus/usb/usbtrans.c: Likewise.
17239 * bus/usb/ohci.c: Likewise.
17240 * bus/usb/uhci.c: Likewise.
17241 * bus/usb/usb.c: Likewise.
17242 * mmap/efi/mmap.c: Likewise.
17243 * mmap/i386/pc/mmap_helper.S: Likewise.
17244 * mmap/i386/pc/mmap.c: Likewise.
17245 * mmap/i386/mmap.c: Likewise.
17246 * mmap/i386/uppermem.c: Likewise.
17247 * mmap/mmap.c: Likewise.
17248 * commands/acpi.c: Likewise.
17249 * commands/echo.c: Likewise.
17250 * commands/blocklist.c: Likewise.
17251 * commands/loadenv.c: Likewise.
17252 * commands/usbtest.c: Likewise.
17253 * commands/boot.c: Likewise.
17254 * commands/parttool.c: Likewise.
17255 * commands/search.c: Likewise.
17256 * commands/cat.c: Likewise.
17257 * commands/i386/pc/play.c: Likewise.
17258 * commands/i386/pc/drivemap.c: Likewise.
17259 * commands/i386/pc/vbeinfo.c: Likewise.
17260 * commands/i386/pc/acpi.c: Likewise.
17261 * commands/i386/pc/vbetest.c: Likewise.
17262 * commands/ls.c: Likewise.
17263 * commands/cmp.c: Likewise.
17264 * commands/test.c: Likewise.
17265 * commands/efi/acpi.c: Likewise.
17266 * commands/gptsync.c: Likewise.
17267 * commands/help.c: Likewise.
17268 * partmap/amiga.c: Likewise.
17269 * partmap/apple.c: Likewise.
17270 * partmap/acorn.c: Likewise.
17271 * partmap/pc.c: Likewise.
17272 * partmap/sun.c: Likewise.
17273 * partmap/gpt.c: Likewise.
17274 * script/sh/lexer.c: Likewise.
17275 * script/sh/function.c: Likewise.
17276 * font/font.c: Likewise.
17277 * font/font_cmd.c: Likewise.
17278 * loader/powerpc/ieee1275/linux.c: Likewise.
17279 * loader/efi/chainloader.c: Likewise.
17280 * loader/multiboot_loader.c: Likewise.
17281 * loader/macho.c: Likewise.
17282 * loader/i386/multiboot.c: Likewise.
17283 * loader/i386/linux.c: Likewise.
17284 * loader/i386/pc/linux.c: Likewise.
17285 * loader/i386/pc/multiboot2.c: Likewise.
17286 * loader/i386/pc/chainloader.c: Likewise.
17287 * loader/i386/pc/xnu.c: Likewise.
17288 * loader/i386/bsd_trampoline.S: Likewise.
17289 * loader/i386/efi/linux.c: Likewise.
17290 * loader/i386/multiboot_elfxx.c: Likewise.
17291 * loader/i386/bsd_helper.S: Likewise.
17292 * loader/i386/bsd.c: Likewise.
17293 * loader/i386/linux_trampoline.S: Likewise.
17294 * loader/i386/xnu_helper.S: Likewise.
17295 * loader/i386/xnu.c: Likewise.
17296 * loader/i386/bsd_pagetable.c: Likewise.
17297 * loader/i386/multiboot_helper.S: Likewise.
17298 * loader/xnu.c: Likewise.
17299 * loader/xnu_resume.c: Likewise.
17300 * io/gzio.c: Likewise.
17301 * term/efi/console.c: Likewise.
17302 * term/terminfo.c: Likewise.
17303 * term/ieee1275/ofconsole.c: Likewise.
17304 * term/i386/pc/serial.c: Likewise.
17305 * term/i386/pc/vesafb.c: Likewise.
17306 * term/i386/pc/vga.c: Likewise.
17307 * term/usb_keyboard.c: Likewise.
17308 * term/gfxterm.c: Likewise.
17309 * aclocal.m4: Likewise.
17310 * util/lvm.c: Likewise.
17311 * util/grub.d/30_os-prober.in: Likewise.
17312 * util/grub.d/10_hurd.in: Likewise.
17313 * util/console.c: Likewise.
17314 * util/grub-macho2img.c: Likewise.
17315 * util/grub-probe.c: Likewise.
17316 * util/hostfs.c: Likewise.
17317 * util/i386/pc/grub-mkimage.c: Likewise.
17318 * util/i386/pc/grub-setup.c: Likewise.
17319 * util/i386/efi/grub-mkimage.c: Likewise.
17320 * util/grub-mkconfig.in: Likewise.
17321 * util/raid.c: Likewise.
17322 * util/resolve.c: Likewise.
17323 * util/grub-mkdevicemap.c: Likewise.
17324 * util/grub-emu.c: Likewise.
17325 * util/getroot.c: Likewise.
17326 * util/hostdisk.c: Likewise.
17327 * util/usb.c: Likewise.
17328 * util/grub-editenv.c: Likewise.
17329 * util/misc.c: Likewise.
17330
17331 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
17332
17333 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
17334 `genparttoollist.sh'.
17335 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
17336 Add `*.sh' to the list find searches for and change `mdate.sh'
17337 to `mdate-sh'.
17338
17339 2009-06-10 Pavel Roskin <proski@gnu.org>
17340
17341 * include/grub/multiboot2.h: Provide compatibility defines for
17342 multiboot2.h.
17343 * include/multiboot2.h: Include stdint.h only if needed, using
17344 angle brackets.
17345 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
17346 grub/multiboot2.h.
17347 * loader/ieee1275/multiboot2.c: Likewise.
17348 * loader/multiboot2.c: Likewise.
17349 * loader/multiboot_loader.c: Likewise.
17350
17351 * configure.ac: Use -nostdlib when probing for the target. It
17352 should not be required to have libc for the target.
17353
17354 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
17355 they fail without libc headers for the target.
17356 * include/grub/powerpc/libgcc.h: Use weak attribute for all
17357 exports.
17358 * include/grub/sparc64/libgcc.h: Likewise. Don't use
17359 preprocessor conditionals.
17360
17361 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
17362 build system doesn't need to be aware of the tar.c internals.
17363
17364 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
17365
17366 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
17367
17368 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
17369
17370 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
17371 disk limit to 26 for IDE, Virtio, Xen and SCSI.
17372
17373 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
17374
17375 * util/i386/pc/grub-install.in: Change the error message if UUIDs
17376 aren't available if ata.mod gets used.
17377
17378 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
17379
17380 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
17381 initialising controller.
17382 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17383
17384 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17385
17386 * util/i386/pc/grub-install.in: Add a parameter --disk-module
17387 to choose between ata and biosdisk module on i386-pc.
17388
17389 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
17390
17391 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17392 Subclass and Programming Interface fields in terms of the 3 byte
17393 Class Code register.
17394 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17395
17396 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17397 interface is OHCI. Add grub_dprintf for symmetry with
17398 bus/usb/uhci.c.
17399 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17400 interface is UHCI. Add interf variable for programming
17401 interface. Print interface with class/subclass.
17402
17403 * bus/usb/ohci.c: Set interf with correct field.
17404
17405 * bus/usb/uhci.c: Remove unneeded doubled lines.
17406 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17407 Remove whitespace inside comment.
17408
17409 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17410
17411 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
17412 as fallback an equivalent option without depth.
17413
17414 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17415
17416 Not fail if unable to retrieve C/H/S on LBA disks
17417
17418 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
17419 if unable to retrieve C/H/S on LBA disks
17420
17421 2009-06-08 Pavel Roskin <proski@gnu.org>
17422
17423 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
17424 about aliasing.
17425
17426 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17427
17428 * Makefile.in (uninstall): Remove all $lib_DATA files.
17429
17430 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17431
17432 Bugfix: install on partitionless device
17433
17434 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
17435 is a whole disk
17436
17437 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17438
17439 * Makefile.in (uninstall): Remove all $include_DATA files.
17440
17441 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
17442
17443 * commands/true.c: New file. Implement the true and false commands.
17444 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
17445 (true_mod_SOURCES): New variable.
17446 (true_mod_CFLAGS): Likewise.
17447 (true_mod_LDFLAGS): Likewise.
17448
17449 2009-06-05 Colin D Bennett <colin@gibibit.com>
17450
17451 Optimized font character lookup using binary search instead of linear
17452 search. Fonts now are required to have the character index ordered by
17453 code point.
17454
17455 * font/font.c (load_font_index): Verify that fonts have ordered
17456 character indices.
17457 (find_glyph): Use binary search instead of linear search to find a
17458 character in a font.
17459
17460 2009-06-05 Michael Scherer <misc@mandriva.org>
17461
17462 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
17463 uses case sensitive btree.
17464 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
17465 only for case insensitive filesystems.
17466
17467 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
17468
17469 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
17470 * conf/common.rmk (search_mod_CFLAGS): likewise
17471
17472 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17473
17474 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
17475 compensate a compiler bug
17476
17477 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17478
17479 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
17480 instead of '\b'
17481
17482 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17483
17484 Definitions for creating asm symbols with Apple's CC
17485
17486 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
17487 [APPLE_CC] (VARIABLE): likewise
17488
17489 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17490
17491 Disable lnxboot.img when compiled
17492 with Apple's CC
17493
17494 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
17495 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
17496 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
17497 [! APPLE_CC] (CODE_LENG): skip
17498 [! APPLE_CC] (setup_sects): likewise
17499 [! APPLE_CC]: skip filling
17500
17501 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17502
17503 Address in trampolines based on 32-bit registers when compiled
17504 with Apple's CC
17505
17506 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
17507 for addresses
17508 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
17509
17510 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17511
17512 Avoid aliases when compiling with Apple's CC for PCBIOS machine
17513
17514 * kern/misc.c [APPLE_CC] (memcpy): new function
17515 [APPLE_CC] (memmove): likewise
17516 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
17517 (memcpy): define alias conditionally on !APPLE_CC
17518 (memset): likewise
17519 (abort): likewise
17520 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
17521 APPLE_CC are defined
17522 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
17523 (grub_assert_fail): make prototype conditional
17524
17525 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17526
17527 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
17528
17529 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
17530 grub-macho2img
17531 (CLEANFILES): add grub-macho2img
17532 (grub_macho2img_SOURCES): new variable
17533 * kern/i386/pc/startup.S (bss_start): new variable
17534 (bss_end): likewise
17535 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
17536 * util/grub-macho2img.c: new file
17537
17538 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17539
17540 Use objconv when compiling with Apple's CC
17541
17542 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
17543 (efiemu64.o): likewise
17544 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
17545 when compiling with Apple's CC
17546 (efiemu64_s.o): likewise
17547 * configure.ac: check for objconv when compiling with Apple's CC
17548 * genmk.rb: use objconv for modules when compiled with Apple's CC
17549
17550 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17551
17552 Define segment as well as section when compiling with
17553 Apple's CC
17554
17555 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
17556 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
17557 (efiemu_convert_pointer): likewise
17558 (efiemu_set_virtual_address_map): likewise
17559 (efiemu_convert_pointer): likewise
17560 (efiemu_getcrc32): likewise
17561 (init_crc32_table): likewise
17562 (reflect): likewise
17563 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
17564 (GRUB_MOD_DEP): likewise
17565
17566 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17567
17568 Allow a compilation without -mcmodel=large
17569
17570 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
17571 when compiled without -mcmodel=large
17572 (filter_memory_map): remove memory post 4 GiB when compiled
17573 without -mcmodel=large
17574 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
17575 TARGET_CFLAGS when -mcmodel=large isn't supported
17576
17577 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17578
17579 Remove nested functions in efiemu core
17580
17581 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
17582
17583 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17584
17585 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
17586
17587 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
17588 temporary storage
17589 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
17590 using Apple's CC
17591 (grub_cpu_is_tsc_supported): likewise
17592 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
17593
17594 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 Absolute addressing through constant with Apple's cc
17597
17598 * kern/i386/pc/startup.S: Define necessary constants
17599 and address through it when using ABS with Apple's CC
17600 * boot/i386/pc/diskboot.S: likewise
17601 * boot/i386/pc/boot.S: likewise
17602 * boot/i386/pc/lnxboot.S: likewise
17603 * boot/i386/pc/cdboot.S: likewise
17604 * mmap/i386/pc/mmap_helper.S: likewise
17605 * commands/i386/pc/drivemap_int13h.S: likewise
17606
17607 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17608
17609 Check if compiler is apple cc
17610
17611 * Makefile.in (ASFLAGS): new variable
17612 (TARGET_ASFLAGS): likewise
17613 (TARGET_MODULE_FORMAT): likewise
17614 (TARGET_APPLE_CC): likewise
17615 (OBJCONV): likewise
17616 (TARGET_IMG_CFLAGS): likewise
17617 (TARGET_CPPFLAGS): add includedir
17618 * configure.ac: call grub_apple_cc and grub_apple_target_cc
17619 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
17620 Check for linker script only if compiler isn't Apple's CC
17621 (TARGET_MODULE_FORMAT): set
17622 (TARGET_APPLE_CC): likewise
17623 (TARGET_ASFLAGS): likewise
17624 (ASFLAGS): likewise
17625 Check for objcopy only if compiler isn't Apple's CC
17626 Check for BSS symbol only if compiler isn't Apple's CC
17627 * genmk.rb: adapt nm options if we use Apple's utils
17628 * aclocal.m4 (grub_apple_cc): new test
17629 (grub_apple_target_cc): likewise
17630
17631 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17632
17633 Simplify sed expressions and improve awk
17634
17635 * Makefile.in (install-local): simplify sed expression
17636 * gencmdlist.sh: likewise
17637 * genmoddep.awk: avoid adding module as a dependency of itself
17638
17639 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17640
17641 Add missing start symbols
17642
17643 * boot/i386/pc/boot.S: add start
17644 * boot/i386/pc/pxeboot.S: likewise
17645
17646 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17647
17648 Fix wrong assumptions with grub-mkimage on EFI
17649
17650 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
17651 (relocate_addresses): consider both r_addend and value at offset
17652 (make_mods_section): zerofill modinfo and header
17653 (convert_elf): write prefix here
17654
17655 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17656
17657 Use .asciz instead of .string
17658
17659 * i386/pc/diskboot.S: use .asciz instead of .string
17660 * i386/pc/boot.S: likewise
17661 * include/grub/dl.h (GRUB_MOD_DEP): likewise
17662 (GRUB_MOD_NAME): likewise
17663
17664 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17665
17666 gfxpayload support
17667
17668 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
17669 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
17670 (grub_video_setup): remove
17671 (grub_video_set_mode): new prototype
17672 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
17673 (vid_mode): remove
17674 (linux_vesafb_res): compile only on PCBIOS
17675 (grub_linux_boot): support gfxpayload
17676 * loader/i386/pc/xnu.c (video_hook): new function
17677 (grub_xnu_set_video): support gfxpayload
17678 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
17679 (DEFAULT_VIDEO_HEIGHT): likewise
17680 (DEFAULT_VIDEO_FLAGS): likewise
17681 (DEFAULT_VIDEO_MODE): new definition
17682 (video_hook): new function
17683 (grub_gfxterm_init): use grub_video_set_mode
17684 * util/grub.d/30_os-prober.in: remove explicit modesetting before
17685 loading xnu
17686 * video/video.c (grub_video_setup): removed
17687 (grub_video_set_mode): new function based on grub_gfxterm_init and
17688 grub_video_setup
17689
17690 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17691
17692 Avoid calling biosdisk in drivemap
17693
17694 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
17695 (revparse_biosdisk): likewise
17696 (list_mappings): derive name from id directly
17697 (grub_cmd_drivemap): use tryparse_diskstring
17698
17699 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17700
17701 Script fixes
17702
17703 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
17704 (grub_lexer_param): add tokenonhold
17705 (grub_script_create_cmdline): remove cmdline. All callers updated
17706 (grub_script_function_create): make functionname
17707 grub_script_arg. All callers updated
17708 (grub_script_execute_argument_to_string): new prototype
17709 * kern/parser.c (state_transitions): reorder
17710 (grub_parser_cmdline_state): fix a bug and make more compact
17711 * script/sh/execute.c (grub_script_execute_argument_to_string):
17712 make global
17713 (grub_script_execute_cmdline): use new format
17714 * script/sh/function.c (grub_script_function_create): make functionname
17715 grub_script_arg. All callers updated
17716 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
17717 (grub_script_yylex): remove
17718 (grub_script_yylex2): renamed to ...
17719 (grub_script_yylex): ...renamed
17720 parse the expressions like a${b}c
17721 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
17722 (GRUB_PARSER_TOKEN_VAR): remove
17723 (GRUB_PARSER_TOKEN_NAME): likewise
17724 ("if"): declare as typeless
17725 ("while"): likewise
17726 ("function"): likewise
17727 ("else"): likewise
17728 ("then"): likewise
17729 ("fi"): likewise
17730 (text): remove
17731 (argument): likewise
17732 (script): accept empty scripts and make exit on error
17733 (arguments): use GRUB_PARSER_TOKEN_ARG
17734 (function): likewise
17735 (command): move error handling to script
17736 (menuentry): move grub_script_lexer_ref before
17737 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
17738 argument. All callers updated
17739
17740 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17741
17742 Prevent GRUB from probing floppies during boot.
17743
17744 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
17745 * commands/search.c (options): Add --no-floppy.
17746 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
17747 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
17748 --no-floppy when searching for UUIDs.
17749
17750 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17751
17752 Simplify the code duplication in commands/search.c.
17753
17754 * commands/search.c (search_label, search_fs_uuid): Merge into ...
17755 (search_fs): ... this. Update all users.
17756
17757 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
17758
17759 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
17760
17761 2009-05-28 Pavel Roskin <proski@gnu.org>
17762
17763 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
17764 Remove the original symlink explicitly.
17765
17766 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
17767 just one slash. That's how grub_fshelp_find_file() does it.
17768
17769 2009-05-26 Pavel Roskin <proski@gnu.org>
17770
17771 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
17772 to `str'.
17773
17774 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
17775 possibly unused.
17776
17777 2009-05-25 Christian Franke <franke@computer.org>
17778
17779 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
17780 register.
17781 (grub_atapi_identify): Add wait after drive select.
17782 (grub_ata_identify): Do more strict status register check before
17783 calling grub_atapi_identify (). Suppress error message if status
17784 register is 0x00 after command failure. Add status register
17785 check after PIO read to avoid bogus identify due to stuck DRQ.
17786 Thanks to Pavel Roskin for testing.
17787 (grub_device_initialize): Remove unsafe status register check.
17788 Thanks to 'phcoder' for problem report and patch.
17789 Prevent sign extension in debug message.
17790
17791 2009-05-23 Colin D Bennett <colin@gibibit.com>
17792
17793 Cleaned up `include/grub/normal.h'. Grouped prototypes by
17794 definition file, and functions defined in `normal/menu.c' have had
17795 their prototypes moved to `include/grub/menu.h' for consistency.
17796
17797 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
17798 from normal.h.
17799 (grub_menu_get_entry): Likewise.
17800 (grub_menu_get_timeout): Likewise.
17801 (grub_menu_set_timeout): Likewise.
17802 (grub_menu_execute_entry): Likewise.
17803 (grub_menu_execute_with_fallback): Likewise.
17804 (grub_menu_entry_run): Likewise.
17805
17806 * include/grub/normal.h: Re-ordered and grouped function
17807 prototypes by file that the function is defined in.
17808 (grub_menu_execute_callback): Removed; moved to menu.h.
17809 (grub_menu_get_entry): Likewise.
17810 (grub_menu_get_timeout): Likewise.
17811 (grub_menu_set_timeout): Likewise.
17812 (grub_menu_execute_entry): Likewise.
17813 (grub_menu_execute_with_fallback): Likewise.
17814 (grub_menu_entry_run): Likewise.
17815 (grub_menu_addentry): Renamed from this ...
17816 (grub_normal_add_menu_entry): ... to this.
17817
17818 * normal/main.c (grub_menu_addentry): Renamed from this ...
17819 (grub_normal_add_menu_entry): ... to this.
17820
17821 * script/sh/execute.c (grub_script_execute_menuentry): Update
17822 reference to renamed grub_menu_addentry function.
17823
17824 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
17825
17826 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
17827
17828 2009-05-22 Pavel Roskin <proski@gnu.org>
17829
17830 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
17831 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
17832 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
17833 compiling for the i386 targets, but not for the utilities.
17834
17835 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
17836 to grub_uint8_t.
17837 (grub_root_drive): Likewise.
17838 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
17839 remove alignment.
17840 (grub_root_drive): Change size to byte.
17841 (grub_start_addr): Remove.
17842 (grub_end_addr): Likewise.
17843 (grub_apm_bios_info): Likewise.
17844
17845 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
17846
17847 * normal/i386: Remove.
17848 * normal/powerpc: Likewise.
17849 * normal/sparc64: Likewise.
17850 * normal/x86_64: Likewise.
17851
17852 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
17855 * loader/i386/linux_trampoline.S: Fix indentation
17856 * loader/i386/xnu_helper.S: Likewise
17857
17858 2009-05-18 Colin D Bennett <colin@gibibit.com>
17859
17860 Display error messages when parsing a Lua statement fails.
17861 Previously, executing a syntactically invalid statement like
17862 ")foo" or "bar;" would silently fail.
17863
17864 * script/lua/grub_main.c (handle_lua_error): New function.
17865 (grub_lua_parse_line): Improved reporting of Lua parser and
17866 execution errors.
17867
17868 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17869
17870 Remove -Werror which causes build to fail on some systems
17871
17872 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
17873 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
17874 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
17875
17876 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17877
17878 trampoline for linux on 64-bit platform
17879
17880 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
17881 loader/i386/efi/linux_trampoline.S
17882 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
17883 declaration
17884 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
17885 here
17886 * loader/i386/linux_trampoline.S: moved here
17887 * loader/i386/efi/linux.c (allocate_pages): reserve space for
17888 trampoline
17889 (jumpvector): removed
17890 (grub_linux_trampoline_start): new declaration
17891 (grub_linux_trampoline_end): likewise
17892 (grub_linux_boot): use trampoline when on 64-bit platform
17893 * loader/i386/linux.c: likewise
17894
17895 2009-05-16 Pavel Roskin <proski@gnu.org>
17896
17897 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
17898 const to avoid a warning.
17899 (grub_lua_setenv): Likewise.
17900 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
17901 lmsg to fix a warning.
17902
17903 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
17904
17905 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
17906 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17907 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
17908 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17909 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17910 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17911 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17912 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17913
17914 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
17915
17916 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
17917
17918 2009-05-16 Bean <bean123ch@gmail.com>
17919
17920 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
17921 (lua_mod_SOURCES): New variable.
17922 (lua_mod_CFLAGS): Likewise.
17923 (lua_mod_LDFLAGS): Likewise.
17924
17925 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
17926 (setjmp_mod_SOURCES): New variable.
17927 (setjmp_mod_CFLAGS): Likewise.
17928 (setjmp_LDFLAGS): Likewise.
17929
17930 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
17931 (setjmp_mod_SOURCES): New variable.
17932 (setjmp_mod_CFLAGS): Likewise.
17933 (setjmp_LDFLAGS): Likewise.
17934
17935 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17936 (setjmp_mod_SOURCES): New variable.
17937 (setjmp_mod_CFLAGS): Likewise.
17938 (setjmp_LDFLAGS): Likewise.
17939
17940 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17941 (setjmp_mod_SOURCES): New variable.
17942 (setjmp_mod_CFLAGS): Likewise.
17943 (setjmp_LDFLAGS): Likewise.
17944
17945 * normal/i386/setjmp.S: Moved from here ...
17946 * lib/i386/setjmp.S: ... Moved here
17947 * normal/x86_64/setjmp.S: Moved from here ...
17948 * lib/x86_64/setjmp.S: ... Moved here
17949 * normal/powerpc/setjmp.S: Moved from here ...
17950 * lib/powerpc/setjmp.S: ... Moved here
17951 * normal/sparc64/setjmp.S: Moved from here ...
17952 * lib/sparc64/setjmp.S: ... Moved here
17953
17954 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
17955 returns_twice in mingw.
17956
17957 * script/lua/grub_lib.c: New file.
17958 * script/lua/grub_lib.h: Likewise.
17959 * script/lua/grub_lua.h: Likewise.
17960 * script/lua/grub_main.c: Likewise.
17961 * script/lua/lapi.c: Likewise.
17962 * script/lua/lapi.h: Likewise.
17963 * script/lua/lauxlib.c: Likewise.
17964 * script/lua/lauxlib.h: Likewise.
17965 * script/lua/lbaselib.c: Likewise.
17966 * script/lua/lcode.c: Likewise.
17967 * script/lua/lcode.h: Likewise.
17968 * script/lua/ldblib.c: Likewise.
17969 * script/lua/ldebug.c: Likewise.
17970 * script/lua/ldebug.h: Likewise.
17971 * script/lua/ldo.c: Likewise.
17972 * script/lua/ldo.h: Likewise.
17973 * script/lua/ldump.c: Likewise.
17974 * script/lua/lfunc.c: Likewise.
17975 * script/lua/lfunc.h: Likewise.
17976 * script/lua/lgc.c: Likewise.
17977 * script/lua/lgc.h: Likewise.
17978 * script/lua/linit.c: Likewise.
17979 * script/lua/liolib.c: Likewise.
17980 * script/lua/llex.c: Likewise.
17981 * script/lua/llex.h: Likewise.
17982 * script/lua/llimits.h: Likewise.
17983 * script/lua/lmathlib.c: Likewise.
17984 * script/lua/lmem.c: Likewise.
17985 * script/lua/lmem.h: Likewise.
17986 * script/lua/loadlib.c: Likewise.
17987 * script/lua/lobject.c: Likewise.
17988 * script/lua/lobject.h: Likewise.
17989 * script/lua/lopcodes.c: Likewise.
17990 * script/lua/lopcodes.h: Likewise.
17991 * script/lua/loslib.c: Likewise.
17992 * script/lua/lparser.c: Likewise.
17993 * script/lua/lparser.h: Likewise.
17994 * script/lua/lstate.c: Likewise.
17995 * script/lua/lstate.h: Likewise.
17996 * script/lua/lstring.c: Likewise.
17997 * script/lua/lstring.h: Likewise.
17998 * script/lua/lstrlib.c: Likewise.
17999 * script/lua/ltable.c: Likewise.
18000 * script/lua/ltable.h: Likewise.
18001 * script/lua/ltablib.c: Likewise.
18002 * script/lua/ltm.c: Likewise.
18003 * script/lua/ltm.h: Likewise.
18004 * script/lua/lua.h: Likewise.
18005 * script/lua/luaconf.h: Likewise.
18006 * script/lua/lualib.h: Likewise.
18007 * script/lua/lundump.c: Likewise.
18008 * script/lua/lundump.h: Likewise.
18009 * script/lua/lvm.c: Likewise.
18010 * script/lua/lvm.h: Likewise.
18011 * script/lua/lzio.c: Likewise.
18012 * script/lua/lzio.h: Likewise.
18013
18014 2009-05-16 Bean <bean123ch@gmail.com>
18015
18016 * include/grub/kernel.h (grub_module_header_types): Add type
18017 OBJ_TYPE_CONFIG.
18018
18019 * kern/main.c (grub_load_config): New function.
18020 (grub_main): Call grub_load_config to read boot config.
18021
18022 * grub-mkimage (generate_image): New parameter config_path.
18023 (options): New option --config.
18024 (main): Parse --config option, and pass it to generate_image.
18025
18026 2009-05-14 Christian Franke <franke@computer.org>
18027
18028 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
18029 This fixes build on Cygwin.
18030
18031 2009-05-14 Pavel Roskin <proski@gnu.org>
18032
18033 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
18034 jump. This saves two bytes, so the typical case of 2 swapped
18035 drives would fit 32 bytes.
18036
18037 2009-05-13 Pavel Roskin <proski@gnu.org>
18038
18039 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
18040 grub_uint32_t to avoid a warning.
18041
18042 * loader/i386/linux.c (allocate_pages): When assigning
18043 real_mode_mem, cast through grub_size_t to fix a warning. The
18044 code already makes sure that the value would fit a pointer.
18045 (grub_linux_setup_video): Cast render_target->data to
18046 grub_size_t to fix a warning.
18047
18048 2009-05-13 Javier Martín <lordhabbit@gmail.com>
18049
18050 * commands/i386/pc/drivemap.c: New file - implement drivemap
18051 command.
18052 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
18053 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
18054
18055 2009-05-13 Pavel Roskin <proski@gnu.org>
18056
18057 * util/i386/pc/grub-setup.c (setup): Remove unused variable
18058 embedding_area_exists.
18059
18060 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
18061
18062 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
18063 it easier to understand / work with.
18064 Improve warning messages for cases where there's no embedding area,
18065 or when it is too small (or core.img too large).
18066
18067 2009-05-13 Pavel Roskin <proski@gnu.org>
18068
18069 * loader/i386/pc/multiboot2.c: Add necessary includes for
18070 grub_multiboot2_real_boot().
18071
18072 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
18073 PX record is always little-endian. We only need the lower 2
18074 bytes of the mode.
18075
18076 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
18077 facilitate code reuse.
18078 (grub_cpio_mount): Use "struct head", not a char buffer. This
18079 fixes a warning reported by gcc 4.4.
18080
18081 * kernel/disk.c (grub_disk_read): Use void pointer for the
18082 buffer.
18083 (grub_disk_write): Use const void pointer for the buffer.
18084 Adjust all callers. Remove unnecessary casts.
18085
18086 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
18087
18088 * util/i386/pc/grub-install.in: Update copyright year.
18089
18090 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18091
18092 gptsync
18093
18094 * commands/gptsync.c: new file
18095 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
18096 (gptsync_mod_SOURCES): new variable
18097 (gptsync_mod_CFLAGS): likewise
18098 (gptsync_mod_LDFLAGS): likewise
18099 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
18100 new definition
18101 (GRUB_PC_PARTITION_TYPE_HFS): likewise
18102 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
18103 * conf/i386-ieee1275.rmk: likewise
18104 * conf/i386-pc.rmk: likewise
18105 * conf/powerpc-ieee1275.rmk: likewise
18106
18107 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18108
18109 Fixed grub-emu
18110
18111 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
18112 (grub_dl_ref): likewise
18113
18114 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
18115
18116 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
18117 split in two functions (one for msdos and one for gpt).
18118
18119 2009-05-08 Pavel Roskin <proski@gnu.org>
18120
18121 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
18122 not modified.
18123
18124 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
18125 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
18126 Initialize them with -1. Add sanity check for bad1. Eliminate
18127 nerr variable.
18128
18129 2009-05-08 David S. Miller <davem@davemloft.net>
18130
18131 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
18132
18133 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
18134
18135 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
18136 existence.
18137
18138 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
18139
18140 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18141 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
18142
18143 2009-05-05 David S. Miller <davem@davemloft.net>
18144
18145 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
18146
18147 2009-05-05 Pavel Roskin <proski@gnu.org>
18148
18149 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
18150 of grub_dl_ref() and grub_dl_unref().
18151 * commands/parttool.c: Remove preprocessor conditionals around
18152 grub_dl_ref() and grub_dl_unref().
18153 * fs/affs.c: Likewise.
18154 * fs/afs.c: Likewise.
18155 * fs/cpio.c: Likewise.
18156 * fs/ext2.c: Likewise.
18157 * fs/fat.c: Likewise.
18158 * fs/hfs.c: Likewise.
18159 * fs/hfsplus.c: Likewise.
18160 * fs/iso9660.c: Likewise.
18161 * fs/jfs.c: Likewise.
18162 * fs/minix.c: Likewise.
18163 * fs/ntfs.c: Likewise.
18164 * fs/reiserfs.c: Likewise.
18165 * fs/sfs.c: Likewise.
18166 * fs/udf.c: Likewise.
18167 * fs/ufs.c: Likewise.
18168 * fs/xfs.c: Likewise.
18169 * include/grub/dl.h: Likewise.
18170 * loader/xnu.c: Likewise.
18171
18172 2009-05-04 Pavel Roskin <proski@gnu.org>
18173
18174 * commands/acpi.c: Remove unused variable my_mod.
18175 * partmap/amiga.c: Likewise.
18176 * partmap/apple.c: Likewise.
18177 * partmap/gpt.c: Likewise.
18178 * partmap/pc.c: Likewise.
18179 * partmap/sun.c: Likewise.
18180 * term/gfxterm.c: Likewise.
18181 * term/i386/pc/vesafb.c: Likewise.
18182 * term/i386/pc/vga.c: Likewise.
18183
18184 2009-05-04 David S. Miller <davem@davemloft.net>
18185
18186 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18187 pointer args to grub_ieee1275_get_property().
18188
18189 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18190
18191 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18192 devices, and do not traverse down under controller nodes.
18193
18194 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18195 (grub_ofdisk_open): Use it to un-escape "," characters.
18196 * kern/disk.c (find_part_sep): New.
18197 (grub_disk_open): Use it to find the first non-escaped ','
18198 character in the disk name.
18199 * util/ieee1275/devicemap.c (escape_of_path): New.
18200 (grub_util_emit_devicemap_entry): Use it.
18201 * util/sparc64/ieee1275/grub-install.in: Update script to
18202 strip partition specifiers properly by not triggering on
18203 '\' escaped ',' characters.
18204
18205 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18206
18207 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18208 to 0x300.
18209 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18210 resolutions.
18211 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18212 on documentation from Wikipedia).
18213
18214 2009-05-04 Pavel Roskin <proski@gnu.org>
18215
18216 * disk/ata.c: Spelling fixes.
18217 * disk/raid.c: Likewise.
18218 * disk/usbms.c: Likewise.
18219 * disk/dmraid_nvidia.c: Likewise.
18220 * kern/ieee1275/openfw.c: Likewise.
18221 * kern/ieee1275/init.c: Likewise.
18222 * kern/ieee1275/cmain.c: Likewise.
18223 * boot/i386/pc/cdboot.S: Likewise.
18224 * video/readers/png.c: Likewise.
18225 * video/i386/pc/vbe.c: Likewise.
18226 * fs/udf.c: Likewise.
18227 * fs/hfs.c: Likewise.
18228 * fs/reiserfs.c: Likewise.
18229 * efiemu/runtime/efiemu.c: Likewise.
18230 * efiemu/main.c: Likewise.
18231 * efiemu/mm.c: Likewise.
18232 * include/grub/elf.h: Likewise.
18233 * include/grub/xnu.h: Likewise.
18234 * include/grub/usbdesc.h: Likewise.
18235 * include/grub/usb.h: Likewise.
18236 * include/grub/script_sh.h: Likewise.
18237 * include/grub/lib/LzmaEnc.h: Likewise.
18238 * include/grub/efiemu/efiemu.h: Likewise.
18239 * include/grub/command.h: Likewise.
18240 * normal/menu.c: Likewise.
18241 * normal/main.c: Likewise.
18242 * normal/datetime.c: Likewise.
18243 * bus/usb/uhci.c: Likewise.
18244 * mmap/i386/uppermem.c: Likewise.
18245 * mmap/mmap.c: Likewise.
18246 * commands/acpi.c: Likewise.
18247 * commands/test.c: Likewise.
18248 * partmap/apple.c: Likewise.
18249 * font/font.c: Likewise.
18250 * loader/sparc64/ieee1275/linux.c: Likewise.
18251 * loader/macho.c: Likewise.
18252 * loader/i386/bsd_trampoline.S: Likewise.
18253 * loader/i386/bsd.c: Likewise.
18254 * loader/xnu.c: Likewise.
18255 * term/i386/pc/vesafb.c: Likewise.
18256 * term/usb_keyboard.c: Likewise.
18257 * util/resolve.c: Likewise.
18258 * util/getroot.c: Likewise.
18259
18260 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18261
18262 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
18263
18264 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18265
18266 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
18267 build error.
18268
18269 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18270
18271 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
18272 parameter only available on BIOS.
18273
18274 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18275
18276 Removed wrong semicolon in declaration
18277
18278 * grub/misc.h (grub_dprintf): remove semicolon
18279
18280 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18281
18282 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
18283 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
18284 is done by grub_cmd_linux() now).
18285 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
18286 restore video to text mode.
18287 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
18288 indicates lack of "vga=" parameter. "vga=0" is mapped to
18289 `GRUB_LINUX_VID_MODE_NORMAL'.
18290
18291 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
18292
18293 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
18294 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
18295 and `normal/script.c'. Add `kern/rescue_reader.c',
18296 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
18297 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
18298 `grub_script.tab.c'.
18299
18300 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18301 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18303 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18304 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18305
18306 * Makefile.in: Remove duplicated 2008 in Copyright line.
18307
18308 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18309
18310 * util/misc.c (grub_util_warn): New function. Emits a warning
18311 unconditionally.
18312 * include/grub/util/misc.h (grub_util_warn): New declaration.
18313
18314 * util/i386/pc/grub-install.in: Understand --force and pass it down
18315 to grub-setup.
18316
18317 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
18318 down to setup().
18319 (setup): Improve error messages and add warnings when requested to
18320 install in odd layouts. Refuse to install using blocklists unless
18321 --force was set.
18322
18323 2009-05-04 martin f. krafft <madduck@madduck.net>
18324
18325 * disk/raid.c (grub_raid_scan_device): Improve debug message.
18326
18327 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18328
18329 Updated copyright year
18330
18331 * fs/hfsplus.c: updated copyright year
18332
18333 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18334
18335 HFS+ UUID
18336
18337 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
18338 in the space previously used by unused3
18339 (grub_hfsplus_uuid): new function
18340 (grub_hfsplus_fs): added uuid field
18341
18342 2009-05-03 Pavel Roskin <proski@gnu.org>
18343
18344 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
18345 suppress warnings. It's no longer needed.
18346 * disk/host.c: Likewise.
18347 * disk/ata_pthru.c: Likewise.
18348 * disk/loopback.c: Likewise.
18349 * hook/datehook.c: Likewise.
18350 * parttool/pcpart.c: Likewise.
18351 * fs/i386/pc/pxe.c: Likewise.
18352 * fs/ntfscomp.c: Likewise.
18353 * efiemu/main.c: Likewise.
18354 * mmap/mmap.c: Likewise.
18355 * commands/crc.c: Likewise.
18356 * commands/hexdump.c: Likewise.
18357 * commands/hdparm.c: Likewise.
18358 * commands/acpi.c: Likewise.
18359 * commands/echo.c: Likewise.
18360 * commands/minicmd.c: Likewise.
18361 * commands/blocklist.c: Likewise.
18362 * commands/memrw.c: Likewise.
18363 * commands/loadenv.c: Likewise.
18364 * commands/usbtest.c: Likewise.
18365 * commands/lsmmap.c: Likewise.
18366 * commands/boot.c: Likewise.
18367 * commands/parttool.c: Likewise.
18368 * commands/configfile.c: Likewise.
18369 * commands/search.c: Likewise.
18370 * commands/ieee1275/suspend.c: Likewise.
18371 * commands/cat.c: Likewise.
18372 * commands/i386/pc/pxecmd.c: Likewise.
18373 * commands/i386/pc/play.c: Likewise.
18374 * commands/i386/pc/halt.c: Likewise.
18375 * commands/i386/pc/vbeinfo.c: Likewise.
18376 * commands/i386/pc/vbetest.c: Likewise.
18377 * commands/lspci.c: Likewise.
18378 * commands/date.c: Likewise.
18379 * commands/handler.c: Likewise.
18380 * commands/ls.c: Likewise.
18381 * commands/test.c: Likewise.
18382 * commands/cmp.c: Likewise.
18383 * commands/efi/loadbios.c: Likewise.
18384 * commands/efi/fixvideo.c: Likewise.
18385 * commands/halt.c: Likewise.
18386 * commands/help.c: Likewise.
18387 * commands/reboot.c: Likewise.
18388 * hello/hello.c: Likewise.
18389 * script/sh/main.c: Likewise.
18390 * loader/xnu.c: Likewise.
18391 * term/terminfo.c: Likewise.
18392 * term/i386/pc/serial.c: Likewise.
18393 * term/usb_keyboard.c: Likewise.
18394
18395 2009-05-03 David S. Miller <davem@davemloft.net>
18396
18397 * normal/menu.c: Include grub/parser.h
18398
18399 2009-05-03 Pavel Roskin <proski@gnu.org>
18400
18401 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18402 not char*.
18403 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18404 Suggested by Javier Martín <lordhabbit@gmail.com>
18405
18406 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18407 efiemu??.o doesn't exist.
18408 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18409 copying.
18410
18411 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
18412
18413 FreeBSD 64-bit support
18414
18415 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
18416 and loader/i386/bsd_trampoline.S
18417 (bsd_mod_ASFLAGS): new variable
18418 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
18419 (FREEBSD_MODTYPE_KERNEL64): likewise
18420 (grub_bsd64_trampoline_start): likewise
18421 (grub_bsd64_trampoline_end): likewise
18422 (grub_bsd64_trampoline_selfjump): likewise
18423 (grub_bsd64_trampoline_gdt): likewise
18424 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
18425 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
18426 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
18427 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18428 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
18429 of "attrib" member
18430 * loader/i386/bsd_pagetable.c: new file
18431 * loader/i386/bsd_trampoline.S: likewise
18432 * loader/i386/bsd.c (ALIGN_QWORD): new macro
18433 (ALIGN_VAR): likewise
18434 (entry_hi): new variable
18435 (kern_end_mdofs): likewise
18436 (is_64bit): likewise
18437 (grub_freebsd_add_meta): use ALIGN_VAR
18438 (grub_e820_mmap): new declaration
18439 (grub_freebsd_add_mmap): new function
18440 (grub_freebsd_add_meta_module): support 64 bit kernels
18441 (grub_freebsd_list_modules): use ALIGN_VAR
18442 (gdt_descriptor): new declaration
18443 (grub_freebsd_boot): support 64 bit kernels
18444 (grub_bsd_elf64_hook): new function
18445 (grub_bsd_load_elf): support elf64
18446
18447 2009-05-03 Bean <bean123ch@gmail.com>
18448
18449 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
18450 after we get the result of if statement.
18451
18452 2009-05-03 Bean <bean123ch@gmail.com>
18453
18454 * Makefile.in (enable_efiemu): New variable.
18455
18456 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
18457 set.
18458 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
18459 path.
18460 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
18461 path, add -mno-red-zone option.
18462 (efiemu64_s.o): Likewise.
18463 (efiemu64.o): Use macro $^ for source file.
18464
18465 * configure.ac (--enable-efiemu): New option.
18466
18467 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18468
18469 xnu support
18470
18471 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
18472 (pkglib_MODULES): add xnu.mod
18473 (xnu_mod_SOURCES): new variable
18474 (xnu_mod_CFLAGS): likewise
18475 (xnu_mod_LDFLAGS): likewise
18476 (xnu_mod_ASFLAGS): likewise
18477 * conf/i386-pc.rmk: likewise
18478 * conf/x86_64-efi.rmk: likewise
18479 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
18480 new declaration
18481 * include/grub/i386/macho.h: new file
18482 * include/grub/i386/xnu.h: likewise
18483 * include/grub/macho.h: likewise
18484 * include/grub/machoload.h: likewise
18485 * include/grub/x86_64/macho.h: likewise
18486 * include/grub/x86_64/xnu.h: likewise
18487 * include/grub/xnu.h: likewise
18488 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
18489 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
18490 * loader/i386/efi/xnu.c: new file
18491 * loader/i386/pc/xnu.c: likewise
18492 * loader/i386/xnu.c: likewise
18493 * loader/i386/xnu_helper.S: likewise
18494 * loader/macho.c: likewise
18495 * loader/xnu.c: likewise
18496 * loader/xnu_resume.c: likewise
18497 * util/grub-dumpdevtree: likewise
18498 * include/grub/i386/pit.h: include grub/err.h
18499 (grub_pit_wait): export
18500 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
18501
18502 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18503
18504 Efiemu
18505
18506 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
18507 _linux_efi, linux_efi.
18508 new files in grub-emu
18509 new targets efiemu32.o and efiemu64.o
18510 * loader/linux_normal_efiemu.c: likewise
18511 * loader/i386/efi/linux.c: added preliminary efiemu support
18512 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
18513 files to copy
18514 * include/grub/autoefi.h: new file
18515 * include/grub/i386/efiemu.h: likewise
18516 * include/grub/i386/pc/efiemu.h: likewise
18517 * include/grub/efi/api.h: add LL suffix when necessary
18518 new definitions relating to tables
18519 * include/grub/efiemu/efiemu.h: new file
18520 * include/grub/efiemu/runtime.h: likewise
18521 * efiemu/prepare.c: likewise
18522 * efiemu/loadcore_common.c: likewise
18523 * efiemu/loadcore64.c: likewise
18524 * efiemu/runtime/efiemu.sh: likewise
18525 * efiemu/runtime/efiemu.S: likewise
18526 * efiemu/runtime/efiemu.c: likewise
18527 * efiemu/runtime/config.h: likewise
18528 * efiemu/prepare32.c: likewise
18529 * efiemu/main.c: likewise
18530 * efiemu/modules/pnvram.c: likewise
18531 * efiemu/modules/i386: likewise
18532 * efiemu/modules/i386/pc: likewise
18533 * efiemu/modules/acpi.c: likewise
18534 * efiemu/i386/pc/cfgtables.c: likewise
18535 * efiemu/i386/loadcore64.c: likewise
18536 * efiemu/i386/loadcore32.c: likewise
18537 * efiemu/prepare64.c: likewise
18538 * efiemu/loadcore.c: likewise
18539 * efiemu/symbols.c: likewise
18540 * efiemu/mm.c: likewise
18541 * efiemu/loadcore32.c: likewise
18542
18543 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 ACPI spoofing
18546
18547 * commands/acpi.c: new file
18548 * commands/i386/pc/acpi.c: likewise
18549 * commands/efi/acpi.c: likewise
18550 * include/grub/acpi.h: likewise
18551 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
18552 (acpi_mod_SOURCES): new variable
18553 (acpi_mod_CFLAGS): likewise
18554 (acpi_mod_LDFLAGS): likewise
18555 * conf/i386-efi.rmk: likewise
18556 * conf/x86_64-efi.rmk: likewise
18557
18558 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18559
18560 Missing part from mmap patch
18561
18562 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
18563 (grub_mmap_unregister)
18564 (grub_mmap_free_and_unregister): use grub_mmap_register
18565
18566 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18567
18568 Mmap services
18569
18570 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
18571 * loader/i386/linux.c (find_mmap_size): likewise
18572 (allocate_pages): likewise
18573 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
18574 (grub_fill_multiboot_mmap): likewise
18575 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
18576 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
18577 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
18578 (OPENBSD_MMAP_RESERVED): likewise
18579 * include/grub/i386/pc/memory.h: include grub/memory.h
18580 (grub_lower_mem): removed
18581 (grub_upper_mem): likewise
18582 (GRUB_MACHINE_MEMORY_ACPI): new definition
18583 (GRUB_MACHINE_MEMORY_NVS): likewise
18584 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
18585 (GRUB_MACHINE_MEMORY_HOLE): likewise
18586 (grub_machine_mmap_register): likewise
18587 (grub_machine_mmap_unregister): likewise
18588 (grub_machine_get_upper): likewise
18589 (grub_machine_get_lower): likewise
18590 (grub_machine_get_post64): likewise
18591 * include/grub/i386/efi/memory.h: new file
18592 * include/grub/x86_64/efi/memory.h: likewise
18593 * include/grub/efi/memory.h: likewise
18594 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
18595 (mmap_mod_SOURCES): new variable
18596 (mmap_mod_LDFLAGS): likewise
18597 (mmap_mod_ASFLAGS): likewise
18598 * conf/i386-coreboot.rmk: likewise
18599 * conf/i386-ieee1275.rmk: likewise
18600 * conf/i386-efi.rmk: likewise
18601 * conf/x86_64-efi.rmk: likewise
18602 * include/grub/types.h (UINT_TO_PTR): new macro
18603 (PTR_TO_UINT32): likewise
18604 (PTR_TO_UINT64): likewise
18605 * include/grub/memory.h: new file
18606 * mmap/i386/pc/mmap.c: likewise
18607 * mmap/i386/pc/mmap_helper.S: likewise
18608 * mmap/i386/uppermem.c: likewise
18609 * mmap/mmap.c: likewise
18610 * mmap/efi/mmap.c: likewise
18611 * kern/i386/coreboot/init.c (grub_machine_init): don't use
18612 grub_upper_mem
18613 * kern/i386/pc/init.c (grub_lower_mem): removed variable
18614 (grub_upper_mem): likewise
18615 (grub_machine_init): don't use grub_upper_mem,
18616 make grub_lower_mem local
18617 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
18618 grub_mmap_iterate and grub_mmap_get_upper
18619 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
18620
18621 2009-05-02 Bean <bean123ch@gmail.com>
18622
18623 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
18624 script/sh/parser.y.
18625 (pkglib_MODULES): Add normal.mod and sh.mod.
18626 (normal_SOURCES): New variable.
18627 (normal_mod_CFLAGS): Likewise.
18628 (normal_mod_LDFLAGS): Likewise.
18629 (sh_mod_SOURCES): Likewise.
18630 (sh_mod_CFLAGS): Likewise.
18631 (sh_mod_LDFLAGS): Likewise.
18632
18633 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
18634 script/sh/lexer.c_DEPENDENCIES.
18635 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
18636 kern/rescue_reader.c and kern/rescue_parser.c.
18637 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
18638 (grub_emu_SOURCES): Change source files.
18639 (pkglib_MODULES): Remove normal.mod.
18640 (normal_SOURCES): Removed.
18641 (normal_mod_CFLAGS): Likewise.
18642 (normal_mod_LDFLAGS): Likewise.
18643 * conf/i386-coreboot.rmk: Likewise.
18644 * conf/i386-efi.rmk: Likewise.
18645 * conf/i386-ieee1276.rmk: Likewise.
18646 * conf/powerpc-ieee1275.rmk: Likewise.
18647 * conf/sparc64-ieee1275.rmk: Likewise.
18648 * conf/x86_64-efi.rmk: Likewise.
18649
18650 * include/grub/command.h (grub_command_execute): New inline function.
18651
18652 * include/grub/menu.h (grub_menu_entry): Removed commands field.
18653
18654 * include/grub/normal.h: Remove <grub/setjmp.h>.
18655 (grub_fs_module_list): Moved to normal/autofs.c.
18656 (grub_exit_env): Removed.
18657 (grub_command_execute): Likewise.
18658 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
18659 parameter script.
18660 (read_command_list): New function declaration.
18661 (read_fs_list): Likewise.
18662
18663 * include/parser.h: Include <grub/reader.h>.
18664 (grub_parser_split_cmdline): Change type of getline parameter.
18665 (grub_parser): New structure.
18666 (grub_parser_class): New variable.
18667 (grub_parser_execute): New function declaration.
18668 (grub_register_rescue_parser): Likewise.
18669 (grub_parser_register): New inline function.
18670 (grub_parser_unregister): Likewise.
18671 (grub_parser_get_current): Likewise.
18672 (grub_parser_set_current): Likewise.
18673
18674 * include/grub/reader.h: New file.
18675 * kern/reader.c: Likewise.
18676 * kern/rescue_parser.c: Likewise.
18677 * kern/rescue_reader.c: Likewise.
18678 * normal/autofs.c: Likewise.
18679 * normal/dyncmd.c: Likewise.
18680
18681 * include/grub/rescue.h: Removed.
18682 * normal/command.h: Likewise.
18683
18684 * include/grub/script.h: Moved to ...
18685 * include/grub/script_sh.h: ... Moved here.
18686 * normal/execute.c: Moved to ...
18687 * script/sh/execute.c: ... Moved here.
18688 * normal/function.c: Moved to ...
18689 * script/sh/function.c: ... Moved here.
18690 * normal/lexer.c: Moved to ...
18691 * script/sh/lexer.c: ... Moved here.
18692 * normal/parser.y: Moved to ...
18693 * script/sh/parser.y: ... Moved here.
18694 * normal/script.c: Moved to ...
18695 * script/sh/script.c: ... Moved here.
18696
18697 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
18698 <grub/reader.h>.
18699 (grub_exit_env): Removed.
18700 (fs_module_list): Moved to normal/autofs.c.
18701 (grub_file_getline): Don't handle comment here.
18702 (free_menu): Skip removed field entry->commands.
18703 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
18704 script parameter.
18705 (read_config_file): Removed nested parameter, change getline function.
18706 (grub_enter_normal_mode): Removed.
18707 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
18708 (read_command_list): Likewise.
18709 (autoload_fs_module): Moved to normal/autofs.c.
18710 (read_fs_list): Likewise.
18711 (reader_nested): New variable.
18712 (grub_normal_execute): Run parser.sh to switch to sh parser.
18713 (grub_cmd_rescue): Removed.
18714 (cmd_normal): Removed.
18715 (grub_cmd_normal): Unregister itself at the beginning. Don't register
18716 rescue command.
18717 (grub_cmdline_run): New function.
18718 (grub_normal_reader_init): Likewise.
18719 (grub_normal_read_line): Likewise.
18720 (grub_env_write_pager): Likewise.
18721 (cmdline): New variable.
18722 (grub_normal_reader): Likewise.
18723 (GRUB_MOD_INIT): Register normal reader and set as current, register
18724 pager hook, register normal command with grub_register_command_prio,
18725 so that it won't show up in command.lst.
18726 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
18727 grub_fs_autoload_hook.
18728
18729 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
18730 (grub_menu_execute_entry): Replace grub_script_execute with
18731 grub_parser_execute, change parameter to grub_command_execute.
18732
18733 * normal/menu_text.c: Remove <grub/script.h>.
18734
18735 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
18736 and <grub/parser.h>.
18737 (run): Change editor_getline to use new parser interface. Change
18738 parameter to grub_command_execute.
18739
18740 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
18741 <grub/reader.h> and <grub/parser.h>.
18742 (grub_load_normal_mode): Execute normal command.
18743 (grub_main): Call grub_register_core_commands,
18744 grub_register_rescue_parser and grub_register_rescue_reader, use
18745 grub_reader_loop to enter input loop.
18746
18747 * kern/parser.c (grub_parser_split_cmdline): Change type of
18748 getline parameter.
18749 (grub_parser_class): New variable.
18750 (grub_parser_execute): New function.
18751
18752 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
18753 * loader/multiboot2.c: Likewise.
18754 * loader/sparc64/ieee1275/linux.c: Likewise.
18755
18756 * util/grub-emu.c (read_command_list): New dummy function.
18757
18758 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18759
18760 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
18761 count to 16 for CCISS and IDA.
18762
18763 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18764
18765 * normal/menu_text.c (grub_wait_after_message): Print a newline
18766 after waiting for user input.
18767
18768 * loader/i386/linux.c: Include `<grub/normal.h>'.
18769 (grub_cmd_linux): Improve the error message about `ask' mode, by
18770 waiting for user input so it's not missed (we can do this, since
18771 user requested interaction).
18772
18773 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18774
18775 Added missing lst to grub-mkrescue
18776
18777 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
18778 and ${input_dir}/parttool.lst
18779
18780 2009-04-30 David S. Miller <davem@davemloft.net>
18781
18782 * util/hostdisk.c (device_is_wholedisk): New function.
18783 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
18784 zero only if device_is_wholedisk() returns true.
18785
18786 * util/hostdisk.c (convert_system_partition_to_system_disk):
18787 Handle virtual disk devices named /dev/vdiskX as found on sparc
18788 and powerpc.
18789
18790 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
18791 lettered partition specifier is found, convert to numbered.
18792
18793 2009-04-29 David S. Miller <davem@davemloft.net>
18794
18795 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
18796 * include/grub/sparc64/ieee1275/memory.h: Likewise.
18797
18798 * normal/command.c: Add missing newline at end of file.
18799
18800 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
18801 warnings.
18802 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
18803 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
18804 grub_ofdisk_read): Likewise, and deal similarly with the fact that
18805 ihandles have a 32-bit type but need to be stored in a "void *".
18806
18807 2009-04-28 Pavel Roskin <proski@gnu.org>
18808
18809 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
18810 not disk. Adjust all dependencies.
18811 (grub_fs_uuid_close): Use grub_device_close(), not
18812 grub_disk_close().
18813
18814 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
18815 parent's partition, don't copy it by reference, as it gets freed
18816 on close.
18817
18818 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18819
18820 Preboot hooks support
18821
18822 * commands/boot.c (struct grub_preboot_t): new declaration
18823 (preboots_head): new variable
18824 (preboots_tail): likewise
18825 (grub_loader_register_preboot_hook): new function
18826 (grub_loader_unregister_preboot_hook): likewise
18827 (grub_loader_set): launch preboot hooks
18828 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
18829 (grub_loader_register_preboot_hook): new declaration
18830 (grub_loader_unregister_preboot_hook): likewise
18831
18832 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 Warning fix
18835
18836 * disk/scsi.c (grub_scsi_open): added missing cast when
18837 calling grub_dprintf
18838
18839 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
18840
18841 Bug and warning fixes
18842
18843 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
18844 declaration
18845 * commands/test.c (test_parse): fixed bug with file tests and corrected
18846 declaration of find_file
18847
18848 2009-04-26 Pavel Roskin <proski@gnu.org>
18849
18850 * Makefile.in: Don't install empty manual pages if help2man is
18851 missing. Use help2man option for output, not shell redirection.
18852
18853 2009-04-26 David S. Miller <davem@davemloft.net>
18854
18855 * util/grub-mkdevicemap.c (make_device_map): Add missing
18856 NESTED_FUNC_ATTR to process_device().
18857
18858 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18859
18860 Test command
18861
18862 * commands/test.c: rewritten to use bash-like test
18863
18864 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18865
18866 Parttool autoloading and improvements
18867
18868 * Makefile.in (pkglib_DATA): add parttool.lst
18869 (parttool.lst): new target
18870 * genmk.rb: generate parttool-*
18871 (CLEANFILES): add #{parttool}
18872 (PARTTOOLFILES): new variable
18873 * genparttoollist.sh: new file
18874 * parttool/pcpart.c (grub_pcpart_boot): more feedback
18875 (grub_pcpart_type): likewise
18876 * commands/parttool.c (helpmsg): new variable
18877 (grub_cmd_parttool): output help if not enough arguments are supplied
18878 autoload modules
18879 (GRUB_MOD_INIT(parttool)): use helpmsg
18880
18881 2009-04-24 David S. Miller <davem@davemloft.net>
18882
18883 Avoiding opening same device multiple times in device iterator.
18884
18885 * kern/device.c: (grub_device_iterate): Define struct part_ent,
18886 and use it to build a list of partitions in iterate_disk() and
18887 iterate_partition().
18888
18889 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
18890 on disk->data.
18891
18892 * disk/ieee1275/nand.c (grub_nand_iterate): Return
18893 grub_devalias_iterate() result instead of unconditional 0.
18894 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
18895 Also, capture hook return value, either directly or via
18896 grub_children_iterate(), and propagate to caller.
18897 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
18898 grub_children_iterate): Return value is now 'int' instead of
18899 'grub_err_t'.
18900 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
18901 like a proper iterator, stopping when hooks return non-zero.
18902 (grub_devalias_iterate): Likewise.
18903
18904 2009-04-23 David S. Miller <davem@davemloft.net>
18905
18906 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
18907
18908 2009-04-22 David S. Miller <davem@davemloft.net>
18909
18910 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
18911 is larger than address_cells, use that value for address_cells too.
18912
18913 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
18914 IEEE1275_MAX_PATH_LEN): Define.
18915 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
18916 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
18917 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
18918 'devtype'. Explicitly NULL terminate devalias expansion.
18919
18920 * util/sparc64/ieee1275/misc.c: New file.
18921 * util/sparc64/ieee1275/grub-setup.c: New file.
18922 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
18923 * util/sparc64/ieee1275/grub-mkimage.c: New file.
18924 * util/sparc64/ieee1275/grub-install.in: New file.
18925 * util/ieee1275/ofpath.c: New file.
18926 * util/ieee1275/devicemap.c: New file.
18927 * util/devicemap.c: New file.
18928 * util/deviceiter.c: New file.
18929 * kern/sparc64/ieee1275/init.c: New file.
18930 * include/grub/util/ofpath.h: New file.
18931 * include/grub/util/deviceiter.h: New file.
18932 * util/grub-mkdevicemap.c: Include deviceiter.h.
18933 Implement using grub_util_emit_devicemap_entry and
18934 grub_util_iterate_devices.
18935 * conf/i386-corebook.rmk: Build util/deviceiter.c and
18936 util/devicemap.c into grub-mkdevicemap
18937 * conf/i386-efi.rmk: Likewise.
18938 * conf/i386-ieee1275.rmk: Likewise.
18939 * conf/i386-pc.rmk: Likewise.
18940 * conf/powerpc-ieee1275.rmk: Likewise.
18941 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
18942 images and installation utilities. Build kernel as image
18943 instead of as elf binary. Use common rules as much as possible.
18944
18945 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18946
18947 Correct GPT definition
18948
18949 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
18950 of "attrib" member
18951
18952 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
18953
18954 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
18955
18956 2009-04-19 David S. Miller <davem@davemloft.net>
18957
18958 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
18959 (grub_rescue_cmd_linux): Rename to...
18960 (grub_cmd_linux): and fix prototype.
18961 (grub_rescue_cmd_initrd): Rename to...
18962 (grub_cmd_initrd): and fix prototype.
18963 (cmd_linux, cmd_initrd): New.
18964 (GRUB_MOD_INIT(linux)): Use grub_register_command().
18965 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
18966
18967 2009-04-17 Pavel Roskin <proski@gnu.org>
18968
18969 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
18970 format.
18971 (grub_ohci_transfer): Likewise.
18972
18973 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
18974
18975 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
18976 return without a value. Fix inconsistent indentation.
18977
18978 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
18979 match struct grub_fs.
18980
18981 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
18982 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
18983 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
18984 * commands/lspci.c (grub_lspci_iter): Likewise.
18985
18986 2009-04-16 Bean <bean123ch@gmail.com>
18987
18988 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
18989 value.
18990
18991 2009-04-15 Pavel Roskin <proski@gnu.org>
18992
18993 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
18994 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
18995 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
18996 definitions.
18997
18998 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
18999
19000 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
19001 that no multiple data or metadata areas are supported and `Unknown
19002 metadata header'.
19003
19004 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19005
19006 Move loader out of the kernel
19007
19008 * kern/loader.c: moved to ...
19009 * commands/boot.c: ... moved here
19010 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
19011 * commands/boot.c (grub_cmd_boot): moved here. All users updated
19012 * include/grub/kernel.h (grub_machine_fini): export
19013 * include/grub/loader.h (grub_loader_is_loaded): update declaration
19014 (grub_loader_set): likewise
19015 (grub_loader_unset): likewise
19016 (grub_loader_boot): likewise
19017 * conf/common.rmk: new module boot.mod
19018 (pkglib_MODULES): add boot.mod
19019 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
19020 (grub_emu_SOURCES): likewise
19021 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
19022 (grub_emu_SOURCES): likewise
19023 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
19024 (grub_emu_SOURCES): likewise
19025 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
19026 (grub_emu_SOURCES): likewise
19027 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
19028 (grub_emu_SOURCES): likewise
19029 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
19030 (grub_emu_SOURCES): likewise
19031 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
19032 (grub_emu_SOURCES): likewise
19033
19034 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19035
19036 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
19037
19038 * kern/misc.c (grub_itoa): Removed function
19039 (grub_ltoa): likewise
19040 (grub_vsprintf): use grub_lltoa
19041
19042 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
19043
19044 Restore grub-emu
19045
19046 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
19047 * conf/i386-coreboot.rmk: likewise
19048 * conf/i386-ieee1275.rmk: likewise
19049 * conf/powerpc-ieee1275.rmk: likewise
19050
19051 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
19052
19053 * INSTALL: Add that `./autogen.sh' needs to be run before
19054 `./configure.'.
19055
19056 2009-04-14 Bean <bean123ch@gmail.com>
19057
19058 * Makefile.in (pkglib_DATA): Add handler.lst.
19059 (handler.lst): New rule.
19060
19061 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
19062 * conf/i386-coreboot.rmk: Likewise.
19063 * conf/i386-ieee1275.rmk: Likewise.
19064 * conf/i386-efi.rmk: Likewise.
19065 * conf/x86_64-efi.rmk: Likewise.
19066 * conf/powerpc-ieee1275.rmk: Likewise.
19067 * conf/sparc64-ieee1275.rmk: Likewise.
19068
19069 * genhandlerlist.sh: New file.
19070
19071 * genmk.rb: Add rules to generate handler.lst.
19072
19073 * include/grub/normal.h (grub_file_getline): New function definition.
19074 (read_handler_list): Likewise.
19075 (free_handler_list): Likewise.
19076
19077 * include/grub/term.h (grub_term_register_input): Add name parameter
19078 for auto generation of handler.lst.
19079 (grub_term_register_output): Likewise.
19080
19081 * normal/handler.c: New file.
19082
19083 * normal/main.c (get_line): Renamed to grub_file_getline.
19084 (read_config_file): Use the newly renamed grub_file_getline.
19085 (read_command_list): Likewise.
19086 (read_fs_list): Likewise.
19087 (grub_normal_execute): Call read_handler_list to parse handler.lst.
19088 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
19089
19090 * term/efi/console.c (grub_console_init): Add name parameter for auto
19091 generation of handler.lst.
19092 * term/gfxterm.c: Likewise.
19093 * term/i386/pc/at_keyboard.c: Likewise.
19094 * term/i386/pc/console.c: Likewise.
19095 * term/i386/pc/serial.c: Likewise.
19096 * term/i386/pc/vesafb.c: Likewise.
19097 * term/i386/pc/vga.c: Likewise.
19098 * term/i386/pc/vga_text.c: Likewise.
19099 * term/ieee1275/ofconsole.c: Likewise.
19100 * term/usb_keyboard.c: Likewise.
19101
19102 2009-04-14 Bean <bean123ch@gmail.com>
19103
19104 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
19105 properly with null character.
19106
19107 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19108
19109 * configure: Remove.
19110 * config.h.in: Likewise.
19111 * stamp-h.in: Likewise.
19112 * DISTLIST: Likewise.
19113 * conf/common.mk: Likewise.
19114 * conf/i386-coreboot.mk: Likewise.
19115 * conf/i386-efi.mk: Likewise.
19116 * conf/i386-ieee1275.mk: Likewise.
19117 * conf/i386.mk: Likewise.
19118 * conf/i386-pc.mk: Likewise.
19119 * conf/powerpc-ieee1275.mk: Likewise.
19120 * conf/sparc64-ieee1275.mk: Likewise.
19121 * conf/x86_64-efi.mk: Likewise.
19122
19123 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
19124 develop on GRUB.
19125
19126 2009-04-14 John Stanley <jpsinthemix@verizon.net>
19127 David S. Miller <davem@davemloft.net>
19128
19129 * util/hostdisk.c (make_device_name): Fix buffer length
19130 calculations.
19131
19132 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
19133
19134 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
19135 <sys/param.h> and <sys/sysctl.h>.
19136 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
19137 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
19138 opening the device and reset them afterwards.
19139
19140 2009-04-13 Pavel Roskin <proski@gnu.org>
19141
19142 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
19143 Reported by John Stanley <jpsinthemix@verizon.net>
19144
19145 2009-04-13 Robert Millan <rmh@aybabtu.com>
19146
19147 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
19148 that name for menuentries when appropriate.
19149
19150 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19151
19152 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19153
19154 2009-04-13 Robert Millan <rmh@aybabtu.com>
19155
19156 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19157 to Linux, simply abort telling the user it's no longer supported.
19158
19159 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19160
19161 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
19162 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
19163 `freebsd_loadenv' only when devices.hints exist.
19164
19165 2009-04-13 Pavel Roskin <proski@gnu.org>
19166
19167 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19168
19169 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
19170
19171 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19172 partition number.
19173 (grub_drive): Likewise.
19174
19175 2009-04-13 David S. Miller <davem@davemloft.net>
19176
19177 * kern/sparc64/ieee1275/ieee1275.c: New file.
19178 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19179 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19180 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19181 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19182 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19183 grub_ieee1275_alloc_physmem): Declare new exported functions.
19184
19185 * include/grub/sparc64/ieee1275/loader.h: New file.
19186 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19187 * include/grub/sparc64/kernel.h: Likewise.
19188 * loader/sparc64/ieee1275/linux.c: Likewise.
19189
19190 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19191 (grub_fstest_SOURCES): Likewise.
19192
19193 * util/hostdisk.c (make_device_name): Do not make any assumptions
19194 about the length of drive names.
19195
19196 * kern/dl.c (grub_dl_load_file): Close file immediately when
19197 we are done using it.
19198
19199 2009-04-12 David S. Miller <davem@davemloft.net>
19200
19201 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19202 values. Noticed by Pavel Roskin.
19203
19204 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19205 target compiler.
19206
19207 * genmk.rb: Add more flexible image type specification, also
19208 pass --strip-unneeded to objcopy.
19209 * conf/i386-pc.rmk: Use *_FORMAT.
19210 * conf/i386-pc.mk: Rebuilt.
19211
19212 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19213 (OFDISK_HASH_SZ): Define.
19214 (ofdisk_hash): New hash table.
19215 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19216 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19217 instead of device phandle which is not unique.
19218
19219 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19220 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19221 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19222 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19223 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19224 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19225 GRUB_KERNEL_MACHINE_DATA_END): Define.
19226 (grub_kernel_image_size, grub_total_module_size): Declare.
19227
19228 2009-04-12 Pavel Roskin <proski@gnu.org>
19229
19230 * configure.ac: Change the logic when we check for target tools.
19231 Do it when the target is specified and it's different from the
19232 specified value of the host.
19233
19234 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
19235
19236 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
19237 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
19238 GNU/kFreeBSD. Check if a device is a character device. Use
19239 DIOCGMEDIASIZE to get the size.
19240 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
19241 support for GNU/kFreeBSD.
19242 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
19243 is a character device instead of a block device. Add support for
19244 FreeBSD device names.
19245
19246 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
19247 is a character device instead of a block device.
19248
19249 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
19250 is a character device instead of a block device.
19251
19252 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
19253
19254 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
19255 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
19256 FreeBSD. Check if a device is a character device. Use
19257 DIOCGMEDIASIZE to get the size.
19258 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
19259 support for FreeBSD.
19260 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
19261 is a character device instead of a block device. Add support for
19262 FreeBSD device names.
19263
19264 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
19265 a character device instead of a block device.
19266 (grub_util_check_char_device): New function.
19267
19268 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
19269 a character device instead of a block device.
19270
19271 * include/grub/util/getroot.h (grub_util_check_char_device): New
19272 prototype.
19273
19274 2009-04-11 David S. Miller <davem@davemloft.net>
19275
19276 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
19277 static libgcc.
19278 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
19279 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
19280 function, if present.
19281 (__bswapdi2): Likewise.
19282
19283 * include/grub/sparc64/ieee1275/boot.h: New file.
19284 * boot/sparc64/ieee1275/boot.S: Likewise.
19285 * boot/sparc64/ieee1275/diskboot.S: Likewise.
19286
19287 * kern/misc.c (grub_ltoa): New function.
19288 (grub_vsprintf): Use it to format 'long' integers.
19289
19290 2009-04-10 David S. Miller <davem@davemloft.net>
19291
19292 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
19293 slots are of type grub_ieee1275_cell_t.
19294 (grub_nand_read): Likewise.
19295 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
19296 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
19297 macros are used to compare values in arg/ret block of the call.
19298 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19299 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
19300 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
19301 grub_ieee1275_instance_to_path, grub_ieee1275_write,
19302 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
19303 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
19304 grub_ieee1275_close, grub_ieee1275_set_property,
19305 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
19306 grub_ieee1275_cell_t.
19307 * kern/ieee1275/openfw.c (grub_map): Likewise.
19308 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
19309 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
19310
19311 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
19312 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
19313 (grub_devalias_iterate): Likewise.
19314
19315 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19316
19317 UFS improvements
19318
19319 * fs/ufs.c (INODE_NBLOCKS): new definition
19320 (struct grub_ufs_dirent): added fields for non-BSD dirents
19321 (grub_ufs_get_file_block): fixed double indirect handling
19322 (grub_ufs_lookup_symlink): use more robust way to determine whether
19323 symlink is inline
19324 (grub_ufs_find_file): support for non-BSD dirents
19325 (grub_ufs_dir): support for non-BSD dirents
19326
19327 2009-04-10 Bean <bean123ch@gnail.com>
19328
19329 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
19330 attribute, otherwise the size would be wrong for i386 platform.
19331
19332 * include/grub/pci.h (grub_pci_read_word): New inline function.
19333 (grub_pci_read_byte): Likewise.
19334 (grub_pci_write): Likewise.
19335 (grub_pci_write_word): Likewise.
19336 (grub_pci_write_byte): Likewise.
19337
19338 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
19339
19340 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
19341 (find_framebuf): Scan pci to locate the frame buffer address.
19342
19343 * commands/efi/fixvideo.c: New file.
19344
19345 * commands/efi/loadbios.c: Likewise.
19346
19347 * commands/memrw.c: Likewise.
19348
19349 * util/grub-dumpbios.in: Likewise.
19350
19351 * conf/common.rmk (grub-dumpbios): New utility.
19352 (pkglib_MODULES): New module memrw.mod.
19353 (memrw_mod_SOURCE): New macro.
19354 (memrw_mod_CFLAGS): Likewise.
19355 (memrw_mod_LDFLAGS): Likewise.
19356
19357 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
19358 fixvideo.mod.
19359 (loadbios_mod_SOURCE): New macro.
19360 (loadbios_mod_CFLAGS): Likewise.
19361 (loadbios_mod_LDFLAGS): Likewise.
19362 (fixvideo_mod_SOURCE): Likewise.
19363 (fixvideo_mod_CFLAGS): Likewise.
19364 (fixvideo_mod_LDFLAGS): Likewise.
19365
19366 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
19367 fixvideo.mod.
19368 (loadbios_mod_SOURCE): New macro.
19369 (loadbios_mod_CFLAGS): Likewise.
19370 (loadbios_mod_LDFLAGS): Likewise.
19371 (fixvideo_mod_SOURCE): Likewise.
19372 (fixvideo_mod_CFLAGS): Likewise.
19373 (fixvideo_mod_LDFLAGS): Likewise.
19374
19375 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
19376
19377 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
19378
19379 2009-04-07 David S. Miller <davem@davemloft.net>
19380
19381 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
19382 support for R_SPARC_OLO10 relocations. Fix compile warning for
19383 R_SPARC_WDISP30 case.
19384 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
19385
19386 2009-04-06 Pavel Roskin <proski@gnu.org>
19387
19388 * include/grub/misc.h (ARRAY_SIZE): New macro.
19389 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
19390 New macro.
19391 * loader/i386/linux.c (allocate_pages): Use free_pages().
19392 (grub_linux_unload): Don't use free_pages().
19393 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19394 wrong index. Treat all other modes as text modes.
19395 (grub_cmd_linux): Initialize vid_mode unconditionally to
19396 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19397
19398 * commands/help.c (print_command_help): Use cmd->prio, not
19399 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19400
19401 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19402
19403 Parttool
19404
19405 * parttool/pcpart.c: new file
19406 * commands/parttool.c: likewise
19407 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19408 (parttool_mod_SOURCES): new variable
19409 (parttool_mod_CFLAGS): likewise
19410 (parttool_mod_LDFLAGS): likewise
19411 (pcpart_mod_SOURCES): likewise
19412 (pcpart_mod_CFLAGS): likewise
19413 (pcpart_mod_LDFLAGS): likewise
19414 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
19415 and parttool/pcpart.c
19416 * conf/i386-efi.rmk: likewise
19417 * conf/i386-ieee1275.rmk: likewise
19418 * conf/i386-pc.rmk: likewise
19419 * conf/powerpc-ieee1275.rmk: likewise
19420 * conf/sparc64-ieee1275.rmk: likewise
19421 * conf/x86_64-ieee1275.rmk: likewise
19422
19423 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19424
19425 Support for mtime and further expandability of dir command
19426
19427 * include/grub/lib/datetime.h: moved to ...
19428 * include/grub/datetime.h: ... moved here and added
19429 declaration of grub_unixtime2datetime. All users updated
19430 * include/grub/fs.h: new syntax for dir and mtime functions in
19431 struct grub_fs
19432 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
19433 and GRUB_FSHELP_FLAGS_MASK
19434 * commands/ls.c (grub_ls_list_files): Write mtime in long format
19435 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
19436 (grub_ext2_mtime): new function
19437 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
19438 (grub_hfsplus_mtime): new function
19439 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
19440 (GRUB_UFS_ATTR_FILE): likewise
19441 (GRUB_UFS_ATTR_LNK): likewise
19442 (struct grub_ufs_sblock): new fields mtime
19443 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
19444 all users updated
19445 (grub_ufs_dir): mtime support
19446 (grub_ufs_mtime): new function
19447 * fs/affs.c (grub_affs_dir): use new dir syntax
19448 * fs/afs.c (grub_afs_dir): likewise
19449 * fs/cpio.c (grub_cpio_dir): likewise
19450 * fs/fat.c (grub_fat_find_dir): likewise
19451 * fs/hfs.c (grub_hfs_dir): likewise
19452 * fs/iso9660.c (grub_iso9660_dir): likewise
19453 * fs/jfs.c (grub_jfs_dir): likewise
19454 * fs/minix.c (grub_minix_dir): likewise
19455 * fs/ntfs.c (grub_ntfs_dir): likewise
19456 * fs/reiserfs.c (grub_reiserfs_dir): likewise
19457 * fs/sfs.c (grub_sfs_dir): likewise
19458 * fs/xfs.c (grub_xfs_dir): likewise
19459 * util/hostfs.c (grub_hostfs_dir): likewise
19460 * lib/datetime.c: moved to ...
19461 * normal/datetime.c: ... moved here
19462 (grub_unixtime2datetime): new function
19463 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
19464 * normal/completion.c (iterate_dir): use new dir syntax
19465 * normal/misc.c (grub_normal_print_device_info): tell the
19466 last modification time of a volume
19467 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
19468 * conf/common.rmk: added lib/datetime.c to ls.mod
19469 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
19470 (normal_mod_SOURCES): likewise
19471 (datetime_mod_SOURCES): Removed lib/datetime.c
19472 * conf/i386-efi.rmk: likewise
19473 * conf/i386-ieee1275.rmk: likewise
19474 * conf/i386-pc.rmk: likewise
19475 * conf/powerpc-ieee1275.rmk: likewise
19476 * conf/sparc64-ieee1275.rmk: likewise
19477 * conf/x86_64-efi.rmk: likewise
19478
19479 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19480
19481 Trim trailing spaces in FAT label and support mtools-like labels
19482
19483 * fs/fat.c (grub_fat_iterate_dir): New function based
19484 on grub_fat_find_dir
19485 (grub_fat_find_dir): use grub_fat_iterate_dir
19486 (grub_fat_label): likewise
19487
19488 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19489
19490 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
19491 and command.h
19492 remove extraneous kernel_elf_HEADERS
19493
19494 2009-04-04 Bean <bean123ch@gnail.com>
19495
19496 * include/grub/util/misc.h: Add dummy function fsync for mingw.
19497
19498 * util/misc.c: Likewise.
19499
19500 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19501
19502 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
19503 instead of grub_printf.
19504
19505 2009-04-03 Robert Millan <rmh@aybabtu.com>
19506
19507 * loader/i386/linux.c (grub_linux_setup_video): Fill
19508 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
19509 values from `mode info' structure instead of hardcoded
19510 values.
19511
19512 2009-04-01 Pavel Roskin <proski@gnu.org>
19513
19514 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
19515 unused now.
19516 * genmk.rb: Likewise.
19517 * configure.ac: Likewise.
19518
19519 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
19520
19521 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
19522 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
19523
19524 2009-04-01 David S. Miller <davem@davemloft.net>
19525
19526 * normal/sparc64/setjmp.S: Fix setjmp implementation.
19527 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
19528 (grub_setjmp): Mark with 'returns_twice' attribute.
19529 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
19530 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
19531 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
19532
19533 2009-04-01 Robert Millan <rmh@aybabtu.com>
19534
19535 Reapply fix from 2008-07-28 which was accidentally reverted; also
19536 perform the same fix to a similar check in same function.
19537
19538 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19539 with the same number are found, just use issue a warning with
19540 grub_dprintf(), as this error has been reported to be non-fatal.
19541
19542 2009-03-31 Pavel Roskin <proski@gnu.org>
19543
19544 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
19545 for cross-compilation.
19546
19547 2009-03-30 Robert Millan <rmh@aybabtu.com>
19548
19549 Fix i386-ieee1275 build.
19550
19551 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
19552 Remove declaration.
19553
19554 2009-03-30 Pavel Roskin <proski@gnu.org>
19555
19556 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
19557 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
19558 zero-terminated, rely only on the strlen value. Fix comparison
19559 of strings differing in length.
19560
19561 2009-03-30 Robert Millan <rmh@aybabtu.com>
19562
19563 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
19564 checking for abi version. Improve error messages on BIOS to notify
19565 user about `linux16' command.
19566
19567 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 Leak fixes
19570
19571 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
19572 in case of collision
19573 * disk/scsi.c (grub_scsi_open): free scsi in case of error
19574
19575 2009-03-29 Robert Millan <rmh@aybabtu.com>
19576
19577 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
19578 set `vid_mode' accordingly.
19579 (grub_linux_boot): Process `vid_mode' and set video mode.
19580
19581 2009-03-29 Robert Millan <rmh@aybabtu.com>
19582
19583 * util/grub.d/10_linux.in (linux_entry): New function.
19584 Factorize generation of Linux boot entries.
19585
19586 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
19587
19588 Make the format of Environment Block plain text. The boot loader
19589 part is not tested well yet.
19590
19591 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
19592 (buffer): Removed.
19593 (envblk): Likewise.
19594 (usage): Remove "info" and "clear". Add "unset". Update the
19595 description of "set", as this does not delete variables any
19596 longer.
19597 (create_envblk_file): Complete rewrite.
19598 (open_envblk_file): Likewise.
19599 (cmd_info): Removed.
19600 (cmd_list): Likewise.
19601 (cmd_set): Likewise.
19602 (cmd_clear): Likewise.
19603 (list_variables): New function.
19604 (write_envblk): Likewise.
19605 (set_variables): Likewise.
19606 (unset_variables): Likewise.
19607 (main): Complete rewrite.
19608
19609 * commands/loadenv.c (buffer): Removed.
19610 (envblk): Likewise.
19611 (open_envblk_file): New function.
19612 (read_envblk_file): Complete rewrite.
19613 (grub_cmd_load_env): Likewise.
19614 (grub_cmd_list_env): Likewise.
19615 (struct blocklist): New struct.
19616 (free_blocklists): New function.
19617 (check_blocklists): Likewise.
19618 (write_blocklists): Likewise.
19619 (grub_cmd_save_env): Complete rewrite.
19620
19621 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
19622 a plain text signature.
19623 (GRUB_ENVBLK_MAXLEN): Removed.
19624 (struct grub_envblk): Complete rewrite.
19625 (grub_envblk_find): Removed.
19626 (grub_envblk_insert): Likewise.
19627 (grub_envblk_open): New prototype.
19628 (grub_envblk_set): Likewise.
19629 (grub_envblk_delete): Put const to VALUE.
19630 (grub_envblk_iterate): Put const to NAME and VALUE.
19631 (grub_envblk_close): New prototype.
19632 (grub_envblk_buffer): New inline function.
19633 (grub_envblk_size): Likewise.
19634
19635 * lib/envblk.c: Include grub/mm.h.
19636 (grub_env_find): Removed.
19637 (grub_envblk_open): New function.
19638 (grub_envblk_close): Likewise.
19639 (escaped_value_len): Likewise.
19640 (find_next_line): Likewise.
19641 (grub_envblk_insert): Removed.
19642 (grub_envblk_set): New function.
19643 (grub_envblk_delete): Complete rewrite.
19644 (grub_envblk_iterate): Likewise.
19645
19646 2009-03-28 Robert Millan <rmh@aybabtu.com>
19647
19648 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
19649 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
19650 variables. Use 16-bit loader.
19651 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
19652 loader.
19653 * kern/i386/loader.S (grub_linux_boot): Rename to ...
19654 (grub_linux16_boot): ... this. Update all users.
19655 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
19656 (grub_linux_boot): ... this. Update all users.
19657
19658 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
19659 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
19660 commands to `linux16' and `initrd16'.
19661 (GRUB_MOD_FINI(linux)): Rename to ...
19662 (GRUB_MOD_FINI(linux16)): ... this.
19663
19664 2009-03-24 Pavel Roskin <proski@gnu.org>
19665
19666 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
19667 not just for compilation.
19668
19669 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
19670
19671 Move multiboot helper out of kernel
19672
19673 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
19674 `loader/i386/multiboot_helper.S'.
19675 * conf/i386-coreboot.rmk: Likewise
19676 * conf/i386-ieee1275.rmk: Likewise
19677
19678 * kern/i386/loader.S: Move multiboot helpers from here...
19679 * loader/i386/multiboot_helper.S: ...moved here
19680 * include/grub/i386/loader.h: Move declarations of multiboot
19681 helpers from here...
19682 * include/grub/i386/multiboot.h: ...moved here
19683 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
19684
19685 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19686
19687 * kern/env.c (grub_env_context_open): Added an argument to specify
19688 whether a new context inherits exported variables from current
19689 one. This is useful when making a sandbox to interpret a config
19690 file.
19691 All callers updated.
19692
19693 * include/grub/env.h (grub_env_context_open): Updated the prototype.
19694
19695 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19696
19697 * kern/env.c (grub_env_context_close): Fix memory leaks.
19698
19699 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19700
19701 * normal/main.c (grub_normal_execute): Added an argument
19702 BATCH to specify if an interactive interface should be provided
19703 after reading a config file.
19704 All callers updated.
19705 (read_command_list): Prevent being executed twice.
19706 (read_fs_list): Likewise.
19707
19708 * include/grub/normal.h (grub_normal_execute): Updated the
19709 prototype.
19710
19711 2009-03-22 Pavel Roskin <proski@gno.org>
19712
19713 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
19714 _start.
19715 * kern/i386/pc/startup.S: Likewise.
19716 * kern/i386/efi/startup.S: Likewise.
19717 * kern/i386/ieee1275/startup.S: Likewise.
19718 * kern/i386/coreboot/startup.S: Likewise.
19719 * kern/x86_64/efi/startup.S: Likewise.
19720
19721 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
19722 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
19723 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
19724
19725 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
19726
19727 Bugfixes in multiboot for bugs uncovered by solaris kernel.
19728
19729 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
19730 limit detection.
19731 Use vaddr of correct segment for entry_point.
19732
19733 2009-03-21 Bean <bean123ch@gmail.com>
19734
19735 * commands/blocklist.c: Add include file <grub/command.h>, remove
19736 <grub/normal.h> and <grub/arg.h>.
19737 (grub_cmd_blocklist): Use the new command interface.
19738 (GRUB_MOD_INIT): Likewise.
19739 (GRUB_MOD_FINI): Likewise.
19740 * commands/boot.c: Likewise.
19741 * commands/cat.c: Likewise.
19742 * commands/cmp.c: Likewise.
19743 * commands/configfile.c: Likewise.
19744 * commands/crc.c: Likewise.
19745 * commands/echo.c: Likewise.
19746 * commands/halt.c: Likewise.
19747 * commands/handler.c: Likewise.
19748 * commands/hdparm.c: Likewise.
19749 * commands/help.c: Likewise.
19750 * commands/hexdump.c: Likewise.
19751 * commands/loadenv.c: Likewise.
19752 * commands/ls.c: Likewise.
19753 * commands/lsmmap.c: Likewise.
19754 * commands/lspci.c: Likewise.
19755 * commands/loadenv.c: Likewise.
19756 * commands/read.c: Likewise.
19757 * commands/reboot.c: Likewise.
19758 * commands/search.c: Likewise.
19759 * commands/sleep.c: Likewise.
19760 * commands/test.c: Likewise.
19761 * commands/usbtest.c: Likewise.
19762 * commands/videotest.c: Likewise.
19763 * commands/i386/cpuid.c: Likewise.
19764 * commands/i386/pc/halt.c: Likewise.
19765 * commands/i386/pc/play.c: Likewise.
19766 * commands/i386/pc/pxecmd.c: Likewise.
19767 * commands/i386/pc/vbeinfo.c: Likewise.
19768 * commands/i386/pc/vbetest.c: Likewise.
19769 * commands/ieee1275/suspend.c: Likewise.
19770 * disk/loopback.c: Likewise.
19771 * font/font_cmd.c: Likewise.
19772 * hello/hello.c: Likewise.
19773 * loader/efi/appleloader.c: Likewise.
19774 * loader/efi/chainloader.c: Likewise.
19775 * loader/i386/bsd.c: Likewise.
19776 * loader/i386/efi/linux.c: Likewise.
19777 * loader/i386/ieee1275/linux.c: Likewise.
19778 * loader/i386/linux.c: Likewise.
19779 * loader/i386/pc/chainloader.c: Likewise.
19780 * loader/i386/pc/linux.c: Likewise.
19781 * loader/powerpc/ieee1275/linux.c: Likewise.
19782 * loader/multiboot_loader.c: Likewise.
19783 * term/gfxterm.c: Likewise.
19784 * term/i386/pc/serial.c: Likewise.
19785 * term/terminfo.c: Likewise.
19786
19787 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
19788 * term/i386/pc/vga.c: Likewise.
19789 * video/readers/jpeg.c: Likewise.
19790 * video/readers/png.c: Likewise.
19791 * video/readers/tga.c: Likewise.
19792
19793 * util/grub-fstest (cmd_loopback): Removed.
19794 (cmd_blocklist): Likewise.
19795 (cmd_ls): Likewise.
19796 (grub_register_command): Likewise.
19797 (grub_unregister_command): Likewise.
19798 (execute_command): Use grub_command_find to locate command and execute
19799 it.
19800
19801 * include/grub/efi/chainloader.h: Removed.
19802 * loader/efi/chainloader_normal.c: Likewise.
19803 * loader/i386/bsd_normal.c: Likewise.
19804 * loader/i386/pc/chainloader_normal.c: Likewise.
19805 * loader/i386/pc/multiboot_normal.c: Likewise.
19806 * loader/linux_normal.c: Likewise.
19807 * loader/multiboot_loader_normal.c: Likewise.
19808 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
19809
19810 * gencmdlist.sh: Scan new registration command grub_register_extcmd
19811 and grub_register_command_p1.
19812
19813 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
19814 kern/command.c, lib/arg.c and commands/extcmd.c.
19815 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
19816 (minicmd_mod_SOURCES): New variable.
19817 (minicmd_mod_CFLAGS): Likewise.
19818 (minicmd_mod_LDFLAGS): Likewise.
19819 (extcmd_mod_SOURCES): Likewise.
19820 (extcmd_mod_CFLAGS): Likewise.
19821 (extcmd_mod_LDFLAGS): Likewise.
19822 (boot_mod_SOURCES): Removed.
19823 (boot_mod_CFLAGS): Likewise.
19824 (boot_mod_LDFLAGS): Likewise.
19825
19826 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
19827 kern/corecmd.c.
19828 (kernel_img_HEADERS): Add command.h.
19829 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
19830 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
19831 and lib/arg.c.
19832 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
19833 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
19834 remove the corresponding normal mode command.
19835 (normal_mod_SOURCES): Remove normal/arg.c.
19836 * conf/i386-coreboot.rmk: Likewise.
19837 * conf/i386-efi.rmk: Likewise.
19838 * conf/i386-ieee1275.rmk: Likewise.
19839 * conf/powerpc-ieee1275.rmk: Likewise.
19840 * conf/x86_64-efi.rmk: Likewise.
19841
19842 * include/grub/arg.h: Move from here ...
19843 * include/grub/lib/arg.h: ... to here.
19844
19845 * normal/arg.c: Move from here ...
19846 * lib/arg.c: ... to here.
19847
19848 * commands/extcmd.c: New file.
19849 * commands/minicmd.c: Likewise.
19850 * include/grub/command.h: Likewise.
19851 * include/grub/extcmd.h: Likewise.
19852 * kern/command.c: Likewise.
19853 * kern/corecmd.c: Likewise.
19854
19855 * kern/list.c (grub_list_iterate): Return int instead of void.
19856 (grub_list_insert): New function.
19857 (grub_prio_list_insert): Likewise.
19858
19859 * kern/rescue.c (grub_rescue_command): Removed.
19860 (grub_rescue_command_list): Likewise.
19861 (grub_rescue_register_command): Likewise.
19862 (grub_rescue_unregister_command): Likewise.
19863 (grub_rescue_cmd_boot): Move to minicmd.c
19864 (grub_rescue_cmd_help): Likewise.
19865 (grub_rescue_cmd_info): Likewise.
19866 (grub_rescue_cmd_boot): Likewise.
19867 (grub_rescue_cmd_testload): Likewise.
19868 (grub_rescue_cmd_dump): Likewise.
19869 (grub_rescue_cmd_rmmod): Likewise.
19870 (grub_rescue_cmd_lsmod): Likewise.
19871 (grub_rescue_cmd_exit): Likewise.
19872 (grub_rescue_print_devices): Moved to corecmd.c.
19873 (grub_rescue_print_files): Likewise.
19874 (grub_rescue_cmd_ls): Likewise.
19875 (grub_rescue_cmd_insmod): Likewise.
19876 (grub_rescue_cmd_set): Likewise.
19877 (grub_rescue_cmd_unset): Likewise.
19878 (attempt_normal_mode): Use grub_command_find to get normal module.
19879 (grub_enter_rescue_mode): Use grub_register_core_commands to register
19880 commands, remove grub_rescue_register_command calls.
19881
19882 * normal/command.c (grub_register_command): Removed.
19883 (grub_unregister_command): Likewise.
19884 (grub_command_find): Likewise.
19885 (grub_iterate_commands): Likewise.
19886 (rescue_command): Likewise.
19887 (export_command): Moved to corecmd.c.
19888 (set_command): Removed.
19889 (unset_command): Likewise.
19890 (insmod_command): Likewise.
19891 (rmmod_command): Likewise.
19892 (lsmod_command): Likewise.
19893 (grub_command_init): Likewise.
19894
19895 * normal/completion.c (iterate_command): Use cmd->prio to check for
19896 active command.
19897 (complete_arguments): Use grub_extcmd_t structure to find options.
19898 (grub_normal_do_completion): Change function grub_iterate_commands to
19899 grub_command_iterate.
19900
19901 * normal/execute.c (grub_script_execute_cmd): No need to parse
19902 argument here.
19903
19904 * normal/main.c (grub_dyncmd_dispatcher): New function.
19905 (read_command_list): Register unload commands as dyncmd.
19906 (grub_cmd_normal): Use new command interface, register rescue,
19907 unregister normal at entry, register normal, unregister rescue at exit.
19908
19909 * include/grub/list.h (grub_list_test_t): New type.
19910 (grub_list_iterate): Return int instead of void.
19911 (grub_list_insert): New function.
19912 (GRUB_AS_NAMED_LIST_P): New macro.
19913 (GRUB_AS_PRIO_LIST): Likewise.
19914 (GRUB_AS_PRIO_LIST_P): Likewise.
19915 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
19916 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
19917 (grub_prio_list): New structure.
19918 (grub_prio_list_insert): New function.
19919 (grub_prio_list_remove): New inline function.
19920
19921 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
19922 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
19923 (GRUB_COMMAND_FLAG_MENU): Likewise.
19924 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19925 (GRUB_COMMAND_FLAG_TITLE): Likewise.
19926 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19927 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
19928 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
19929 (grub_command): Likewise.
19930 (grub_register_command): Likewise.
19931 (grub_command_find): Likewise.
19932 (grub_iterate_commands): Likewise.
19933 (grub_command_init): Likewise.
19934 (grub_arg_parse): Likewise.
19935 (grub_arg_show_help): Likewise.
19936
19937 * include/grub/rescue.h (grub_rescue_register_command): Removed.
19938 (grub_rescue_unregister_command): Likewise.
19939
19940 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
19941 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
19942 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
19943
19944 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
19945 grub_rescue_cmd_initrd.
19946 * include/grub/i386/loader.h: Likewise.
19947 * include/grub/x86_64/loader.h: Likewise.
19948
19949 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
19950
19951 2009-03-21 Bean <bean123ch@gmail.com>
19952
19953 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
19954 instead of stat in mingw environment.
19955
19956 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
19957
19958 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
19959
19960 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
19961 AC_CONFIG_LINKS.
19962
19963 2009-03-21 Bean <bean123ch@gmail.com>
19964
19965 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
19966 out of range error.
19967
19968 2009-03-18 Michel Dänzer <michel@daenzer.net>
19969
19970 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
19971 checking inode flags for EXT4_EXTENTS_FLAG.
19972
19973 2009-03-18 Robert Millan <rmh@aybabtu.com>
19974
19975 * loader/i386/linux.c: Include `<grub/video.h>' and
19976 `<grub/i386/pc/vbe.h>'..
19977 (grub_linux_setup_video): New function. Loosely based on the EFI one.
19978 (grub_linux32_boot): Attempt to configure video settings with
19979 grub_linux_setup_video().
19980 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
19981 to avoid grub_console_fini() which would step out of graphical mode
19982 unconditionally.
19983
19984 2009-03-14 Robert Millan <rmh@aybabtu.com>
19985
19986 Fix build on powerpc.
19987 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
19988
19989 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
19990
19991 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
19992 background image command.
19993
19994 2009-03-12 Colin D Bennett <colin@gibibit.com>
19995
19996 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
19997 (grub_gfxterm_putchar): Extract pairs of identical calls to
19998 draw_cursor out of conditional blocks.
19999
20000 2009-03-11 Pavel Roskin <proski@gnu.org>
20001
20002 * fs/hfs.c (grub_hfs_strncasecmp): New function.
20003 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
20004
20005 2009-03-11 Robert Millan <rmh@aybabtu.com>
20006
20007 * loader/i386/multiboot_elfxx.c
20008 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
20009
20010 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
20011
20012 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
20013 `kern/handler.c'.
20014
20015 2009-03-11 Robert Millan <rmh@aybabtu.com>
20016
20017 * loader/i386/multiboot.c (code_size): New variable.
20018 (grub_multiboot): Define offsets by adding to `code_size' rather
20019 than subtracting from `grub_multiboot_payload_size'. Provide
20020 4-byte alignment to MBI and others by increasing
20021 `boot_loader_name_length' appropriately.
20022
20023 * loader/i386/multiboot_elfxx.c
20024 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
20025
20026 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
20027
20028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
20029 `fs/ext2.c'.
20030
20031 2009-03-08 Robert Millan <rmh@aybabtu.com>
20032
20033 Make loader/i386/linux.c usable on i386-pc again.
20034
20035 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
20036 memory to heap.
20037 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
20038 `#error' stanza.
20039
20040 2009-03-07 Bean <bean123ch@gmail.com>
20041
20042 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
20043 allocation.
20044
20045 2009-03-06 Robert Millan <rmh@aybabtu.com>
20046
20047 Fix display issue on terminals with screen size other than 80x25
20048 (e.g. gfxterm with resolution higher than 640x480).
20049
20050 * normal/main.c (grub_normal_init_page): Display title text in a
20051 position relative to the center of the terminal instead of relying
20052 on a hardcoded offset.
20053
20054 2009-03-04 Robert Millan <rmh@aybabtu.com>
20055
20056 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
20057 installed.
20058
20059 * Makefile.in (host_kernel): New variable.
20060 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
20061 scripts instead of just the windows one.
20062 * configure.ac: Initialize and AC_SUBST `host_kernel'.
20063
20064 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20065
20066 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
20067 `kern/handler.c'.
20068 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20069 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20070 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20072 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20073 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20074
20075 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20076
20077 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
20078 or if there's no space for the disk label and print the partition number on a
20079 invalid magic.
20080
20081 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
20082
20083 * util/misc.c: Include <time.h>.
20084 (grub_millisleep): New function.
20085
20086 2009-03-04 Bean <bean123ch@gmail.com>
20087
20088 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
20089 another option -mno-red-zone.
20090
20091 * commands/handler.c: Change module description.
20092
20093 * kern/handler.c: Add missing space at the end of description line.
20094
20095 * kern/list.c: Likewise.
20096
20097 2009-03-03 Robert Millan <rmh@aybabtu.com>
20098
20099 Move more components to the relocation area, and fix mbi pointer
20100 handling to use the destination rather than the origin (thanks to
20101 Vladimir Serbinenko for spotting).
20102
20103 * loader/i386/multiboot.c (mbi_dest): New variable.
20104 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
20105 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
20106 relocation area.
20107
20108 2009-03-01 Bean <bean123ch@gmail.com>
20109
20110 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
20111 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
20112 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
20113 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
20114
20115 * loader/i386/efi/linux.c (acpi_guid): New variable.
20116 (acpi_guid): Likewise.
20117 (EBDA_SEG_ADDR): New constant.
20118 (LOW_MEM_ADDR): Likewise.
20119 (FAKE_EBDA_SEG): Likewise.
20120 (fake_bios_data): New function.
20121 (grub_linux_boot): Call fake_bios_data.
20122
20123 2009-03-01 Bean <bean123ch@gmail.com>
20124
20125 * commands/terminal.c: Removed.
20126
20127 * commands/handler.c: New file.
20128
20129 * include/grub/list.h: Likewise.
20130
20131 * include/grub/handler.h: Likewise.
20132
20133 * kern/list.c: Likewise.
20134
20135 * kern/handler.c: Likewise.
20136
20137 * kern/term.h: Include header file <grub/handler.h>.
20138 (grub_term_input): Move next field to the beginning.
20139 (grub_term_output): Likewise.
20140 (grub_term_input_class): New variable.
20141 (grub_term_output_class): Likewise.
20142 (grub_term_register_input): Changed to inline function.
20143 (grub_term_register_output): Likewise.
20144 (grub_term_unregister_input): Likewise.
20145 (grub_term_unregister_output): Likewise.
20146 (grub_term_set_current_input): Likewise.
20147 (grub_term_set_current_output): Likewise.
20148 (grub_term_get_current_input): Likewise.
20149 (grub_term_get_current_output): Likewise.
20150 (grub_term_iterate_input): Removed.
20151 (grub_term_iterate_output): Likewise.
20152
20153 * kern/term.c (grub_term_list_input): Removed.
20154 (grub_term_list_output): Likewise.
20155 (grub_term_input_class): New variable.
20156 (grub_term_output_class): Likewise.
20157 (grub_cur_term_input): Change variable as macro.
20158 (grub_cur_term_output): Likewise.
20159 (grub_term_register_input): Removed.
20160 (grub_term_register_output): Likewise.
20161 (grub_term_unregister_input): Likewise.
20162 (grub_term_unregister_output): Likewise.
20163 (grub_term_set_current_input): Likewise.
20164 (grub_term_set_current_output): Likewise.
20165 (grub_term_iterate_input): Likewise.
20166 (grub_term_iterate_output): Likewise.
20167 (grub_term_get_current_input): Likewise.
20168 (grub_term_get_current_output): Likewise.
20169
20170 * util/grub-editenv.c: Include header file <grub/handler.h>.
20171 (grub_term_get_current_input): Removed.
20172 (grub_term_get_current_output): Likewise.
20173 (grub_term_input_class): New variable.
20174 (grub_term_output_class): Likewise.
20175
20176 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20177 (grub_term_get_current_output): Likewise.
20178 (grub_term_input_class): New variable.
20179 (grub_term_output_class): Likewise.
20180
20181 * util/grub-probe.c (grub_term_get_current_input): Removed.
20182 (grub_term_get_current_output): Likewise.
20183 (grub_term_input_class): New variable.
20184 (grub_term_output_class): Likewise.
20185
20186 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20187 (grub_term_get_current_output): Likewise.
20188 (grub_term_input_class): New variable.
20189 (grub_term_output_class): Likewise.
20190
20191 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20192 (terminal_mod_SOURCES): Likewise.
20193 (terminal_mod_CFLAGS): Likewise.
20194 (terminal_mod_LDFLAGS): Likewise.
20195
20196 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20197 handler.c.
20198 (kernel_img_SOURCES): Add list.c and handler.c.
20199 (kernel_img_HEADERS): Add list.h and handler.h.
20200
20201 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20202 handler.c.
20203 (kernel_mod_SOURCES): Add list.c and handler.c.
20204 (kernel_mod_HEADERS): Add list.h and handler.h.
20205
20206 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20207 handler.c.
20208 (kernel_elf_SOURCES): Add list.c and handler.c.
20209 (kernel_elf_HEADERS): Add list.h and handler.h.
20210
20211 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20212 handler.c.
20213 (kernel_elf_SOURCES): Add list.c and handler.c.
20214 (kernel_elf_HEADERS): Add list.h and handler.h.
20215
20216 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20217 handler.c.
20218 (kernel_mod_SOURCES): Add list.c and handler.c.
20219 (kernel_mod_HEADERS): Add list.h and handler.h.
20220
20221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20222 handler.c.
20223 (kernel_elf_SOURCES): Add list.c and handler.c.
20224 (kernel_elf_HEADERS): Add list.h and handler.h.
20225
20226 2009-02-27 Robert Millan <rmh@aybabtu.com>
20227
20228 Factorize elf32 / elf64 code in Multiboot loader. This will
20229 prevent it from getting out of sync again.
20230
20231 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
20232 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
20233 grub_multiboot_load_elf64): Move from here ...
20234 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
20235 grub_multiboot_load_elf): ... to here (new file).
20236
20237 2009-02-27 Robert Millan <rmh@aybabtu.com>
20238
20239 * util/grub.d/10_linux.in: Rename "single-user mode" to
20240 "recovery mode".
20241
20242 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
20243
20244 Don't leak in SCSI code.
20245 * disk/scsi.c (grub_scsi_close): free `scsi'.
20246
20247 2009-02-27 Robert Millan <rmh@aybabtu.com>
20248
20249 * loader/i386/pc/multiboot.c: Move from here ...
20250 * loader/i386/multiboot.c: ... to here. Update all users.
20251
20252 2009-02-27 Robert Millan <rmh@aybabtu.com>
20253
20254 Patch from Alexandre Bique <bique.alexandre@gmail.com>
20255 * util/i386/pc/grub-setup.c (setup): Fix directory path.
20256
20257 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
20258
20259 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
20260 b-tree.
20261
20262 2009-02-27 Robert Millan <rmh@aybabtu.com>
20263
20264 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
20265 `0x' qualifier as 0 when base is specified as parameter).
20266
20267 2009-02-24 Bean <bean123ch@gmail.com>
20268
20269 * configure.ac: Check for -mcmodel=large in x86_64 target.
20270
20271 * include/grub/efi/api.h (efi_call_10): New macro.
20272 (efi_wrap_10): New function.
20273
20274 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
20275 (GRUB_PE32_REL_BASED_HIGH): Likewise.
20276 (GRUB_PE32_REL_BASED_LOW): Likewise.
20277 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
20278 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
20279 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
20280 (GRUB_PE32_REL_BASED_SECTION): Likewise.
20281 (GRUB_PE32_REL_BASED_REL): Likewise.
20282 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
20283 (GRUB_PE32_REL_BASED_DIR64): Likewise.
20284 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
20285
20286 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
20287 issue.
20288
20289 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
20290 (efi_wrap_10): New function.
20291
20292 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
20293
20294 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
20295 MB/MBP model (NV chipset).
20296 (devdata_devs): Add devpath_5 to the list.
20297
20298 * load/i386/efi/linux.c (video_base): Remove variable.
20299 (RGB_MASK): New macro.
20300 (RGB_MAGIC): Likewise.
20301 (LINE_MIN): Likewise.
20302 (LINE_MAX): Likewise.
20303 (FBTEST_STEP): Likewise.
20304 (FBTEST_COUNT): Likewise.
20305 (fb_list): New variable.
20306 (grub_find_video_card): Remove function.
20307 (find_framebuf): New function.
20308 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
20309 line length.
20310
20311 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
20312 problem for x86_64.
20313
20314 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
20315
20316 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
20317
20318 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
20319 coding tool name.
20320
20321 2009-02-22 Robert Millan <rmh@aybabtu.com>
20322
20323 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
20324 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
20325 in our relocation, instead of using it directly from heap. Also
20326 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
20327
20328 2009-02-21 Robert Millan <rmh@aybabtu.com>
20329
20330 Implement USB keyboard support (based on patch by Marco Gerards)
20331
20332 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
20333 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
20334 (usb_keyboard_mod_LDFLAGS): New variables.
20335
20336 * term/usb_keyboard.c: New file.
20337
20338 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20339
20340 Corrected wrong declaration
20341
20342 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
20343
20344 2009-02-14 Christian Franke <franke@computer.org>
20345
20346 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
20347 (grub_lspci_iter): Print class code and programming interface byte.
20348
20349 2009-02-14 Christian Franke <franke@computer.org>
20350
20351 * gendistlist.sh: Ignore `.svn' directories.
20352
20353 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
20354
20355 * fs/fat.c: Add 2009 to Copyright line.
20356
20357 2009-02-14 Christian Franke <franke@computer.org>
20358
20359 * commands/hdparm.c: New file. Provides `hdparm' command
20360 which sends ATA commands via grub_disk_ata_pass_through ().
20361
20362 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
20363
20364 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
20365 and <grub/cpu/io.h> to include/grub/ata.h.
20366 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
20367 (GRUB_CDROM_SECTOR_SIZE): Remove.
20368 (GRUB_ATA_*): Move to include/grub/ata.h.
20369 (GRUB_ATAPI_*): Likewise.
20370 (enum grub_ata_commands): Likewise.
20371 (enum grub_ata_timeout_milliseconds): Likewise.
20372 (struct grub_ata_device): Likewise.
20373 (grub_ata_regset): Likewise.
20374 (grub_ata_regget): Likewise.
20375 (grub_ata_regset2): Likewise.
20376 (grub_ata_regget2): Likewise.
20377 (grub_ata_check_ready): Likewise.
20378 (grub_ata_wait_not_busy): Remove static, exported in
20379 include/grub/ata.h.
20380 (grub_ata_wait_drq): Likewise.
20381 (grub_ata_pio_read): Likewise.
20382
20383 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
20384 function for hdparm.mod.
20385
20386 * include/grub/ata.h: New file, contains declarations from
20387 disk/ata.c.
20388 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
20389
20390 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
20391 (grub_disk_ata_pass_through): New exported variable.
20392
20393 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20394
20395 2009-02-13 Colin D Bennett <colin@gibibit.com>
20396
20397 Support multiple fallback entries, and provide an API to support
20398 executing default+fallback menu entries. Renamed the `terminal' menu
20399 viewer to `text'.
20400
20401 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20402 variable declaration.
20403 (grub_menu_execute_callback): New structure declaration.
20404 (grub_menu_execute_callback_t): New typedef.
20405 (grub_menu_execute_with_fallback): New function declaration.
20406 (grub_menu_get_entry): Likewise.
20407 (grub_menu_get_timeout): Likewise.
20408 (grub_menu_set_timeout): Likewise.
20409
20410 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
20411
20412 * normal/menu.c (grub_wait_after_message): Moved to
20413 `normal/menu_text.c'.
20414 (draw_border): Likewise.
20415 (print_message): Likewise.
20416 (print_entry): Likewise.
20417 (print_entries): Likewise.
20418 (grub_menu_init_page): Likewise.
20419 (get_entry_number): Likewise.
20420 (print_timeout): Likewise.
20421 (run_menu): Likewise.
20422 (grub_menu_execute_entry): Likewise.
20423 (show_text_menu): Likewise.
20424 (get_and_remove_first_entry_number): New function.
20425 (grub_menu_execute_with_fallback): Likewise.
20426 (get_entry): Renamed to ...
20427 (grub_menu_get_entry): .. this and made it global.
20428 (get_timeout): Renamed to ...
20429 (grub_menu_get_timeout): ... this and made it global.
20430 (set_timeout): Renamed to ...
20431 (grub_menu_set_timeout): ... this and made it global.
20432 (grub_normal_terminal_menu_viewer): Renamed to ...
20433 (grub_normal_text_menu_viewer): ... this.
20434
20435 * normal/menu_text.c: New file. Extracted text-menu-specific code
20436 from normal/menu.c.
20437
20438 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
20439 (normal_mod_SOURCES): Likewise.
20440
20441 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20442 (normal_mod_SOURCES): Likewise.
20443
20444 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20445 (normal_mod_SOURCES): Likewise.
20446
20447 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
20448 (normal_mod_SOURCES): Likewise.
20449
20450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20451 (normal_mod_SOURCES): Likewise.
20452
20453 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20454 (normal_mod_SOURCES): Likewise.
20455
20456 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20457 (normal_mod_SOURCES): Likewise.
20458
20459 2009-02-11 Robert Millan <rmh@aybabtu.com>
20460
20461 * util/grub.d/00_header.in: Update old reference to `font' command.
20462
20463 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
20464
20465 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
20466
20467 Based on patch from Javier Martín.
20468
20469 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20470
20471 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
20472 to avoid false positives with FAT.
20473 (grub_fstest_SOURCES): Likewise.
20474 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20475 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20477 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20478 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20479 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20480
20481 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
20482
20483 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
20484 bpb.version_specific.fat12_or_fat16.fstype and
20485 bpb.version_specific.fat32.fstype.
20486
20487 2009-02-08 Robert Millan <rmh@aybabtu.com>
20488
20489 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
20490
20491 2009-02-08 Robert Millan <rmh@aybabtu.com>
20492
20493 * Makefile.in (host_os, host_cpu): New variables.
20494 (target_os): Remove. Update all users.
20495
20496 2009-02-08 Marco Gerards <marco@gnu.org>
20497
20498 * Makefile.in (enable_grub_emu_usb): New variable.
20499 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
20500 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
20501 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
20502 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
20503 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
20504 `usbtest.mod' and `usbms.mod'.
20505 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
20506 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
20507 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
20508 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
20509 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
20510 variables.
20511
20512 * disk/usbms.c: New file.
20513
20514 * include/grub/usb.h: Likewise.
20515
20516 * include/grub/usbtrans.h: Likewise.
20517
20518 * include/grub/usbdesc.h: Likewise.
20519
20520 * bus/usb/usbtrans.c: Likewise.
20521
20522 * bus/usb/ohci.c: Likewise.
20523
20524 * bus/usb/uhci.c: Likewise.
20525
20526 * bus/usb/usbhub.c: Likewise.
20527
20528 * bus/usb/usb.c: Likewise.
20529
20530 * commands/usbtest.c: Likewise.
20531
20532 * util/usb.c: Likewise.
20533
20534 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
20535
20536 * configure.ac: Test for libusb presence.
20537
20538 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
20539
20540 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
20541
20542 * kern/mm.c: Add more comments.
20543
20544 2009-02-08 Robert Millan <rmh@aybabtu.com>
20545
20546 Patch from Javier Martín.
20547 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
20548 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
20549
20550 2009-02-08 Robert Millan <rmh@aybabtu.com>
20551
20552 * fs/cpio.c: Split tar functionality to ...
20553 * fs/tar.c: ... here (new file). Update all users.
20554
20555 2009-02-07 Robert Millan <rmh@aybabtu.com>
20556
20557 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
20558 backward-incompatible features.
20559
20560 Based on patch from Javier Martín, with some adjustments.
20561
20562 2009-02-07 Michael Scherer <misc@mandriva.org>
20563
20564 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
20565
20566 2009-02-07 Robert Millan <rmh@aybabtu.com>
20567
20568 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
20569 position of `disk/lvm.c' to ensure grub_init_all() always picks it
20570 after the RAID stuff.
20571
20572 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
20573
20574 Fixes problem when running vbetest command as reported by
20575 Vladimir Serbinenko <phcoder@gmail.com>.
20576
20577 * (grub_vbe_set_video_mode): Fixed problem with text modes.
20578
20579 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
20580
20581 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
20582 /dev/md/NpN style mdraid devices.
20583
20584 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20585
20586 * util/unifont2pff.rb: Remove.
20587
20588 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20589
20590 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
20591 `#'.
20592
20593 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
20594
20595 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
20596 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20597 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20598 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20600 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20601 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20602
20603 2009-02-02 Christian Franke <franke@computer.org>
20604
20605 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
20606
20607 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
20608
20609 * INSTALL: Note that we now require at least autoconf 2.59 and
20610 that LZO is optional.
20611
20612 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20613
20614 Base on patch on bug #24154 created by Tomas Tintera
20615 <trosos@seznam.cz>.
20616
20617 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
20618
20619 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20620
20621 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
20622 <bero@arklinux.org>.
20623
20624 * normal/parser.y (script_init): Add missing semicolon.
20625
20626 2009-01-31 Colin D Bennett <colin@gibibit.com>
20627
20628 * normal/main.c: Add include to grub/menu_viewer.h.
20629 (free_menu_entry_classes): Added.
20630 (grub_normal_menu_addentry): Added class property handling.
20631 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
20632 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
20633
20634 * normal/menu_viewer.c: New file.
20635
20636 * normal/menu.c (run_menu_entry): Renamed to ...
20637 (grub_menu_execute_entry): ... this and made it as global.
20638 (grub_menu_run): Renamed to ...
20639 (show_text_menu): ... this and made it local.
20640 (show_text_menu): Adapt to new function names.
20641 (grub_normal_terminal_menu_viewer): New global variable.
20642
20643 * include/grub/menu.h: New file.
20644
20645 * include/grub/menu_viewer.h: New file.
20646
20647 * include/grub/normal.h: Added include to grub/menu.h.
20648 (grub_menu_entry): Moved to include/grub/menu.h.
20649 (grub_menu_entry_t): Likewise.
20650 (grub_menu): Likewise.
20651 (grub_menu_t): Likewise.
20652 (grub_normal_terminal_menu_viewer): Added.
20653 (grub_menu_execute_entry): Likewise.
20654 (grub_menu_run): Removed.
20655
20656 * DISTLIST: Added include/grub/menu.h.
20657 Added include/grub/menu_viewer.h.
20658 Added normal/menu_viewer.c.
20659
20660 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
20661
20662 * normal/execute.c (grub_script_execute_menuentry): Changed to use
20663 arglist for menutitle arguments.
20664
20665 * normal/main.c (grub_normal_menu_addentry): Likewise.
20666
20667 * normal/parser.y (menuentry): Likewise.
20668
20669 * normal/script.c (grub_script_create_cmdmenu): Likewise.
20670
20671 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
20672 (grub_script_create_cmdmenu): Likewise.
20673
20674 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
20675
20676 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
20677 changes.
20678
20679 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
20680
20681 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
20682
20683 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
20684
20685 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20686
20687 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20688
20689 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20690
20691 2009-01-30 Christian Franke <franke@computer.org>
20692
20693 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
20694 in option help text.
20695
20696 2009-01-27 Pavel Roskin <proski@gnu.org>
20697
20698 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
20699
20700 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20701
20702 * commands/lsmmap.c: Add include to grub/machine/memory.h.
20703
20704 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
20705
20706 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
20707 unregister function.
20708
20709 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20710
20711 * disk/scsi.c (grub_scsi_read): Fix sign problem.
20712
20713 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
20714
20715 * util/grub-mkfont.c (usage): Fix typo.
20716
20717 * util/elf/grub-mkimage.c (load_modules): Fix warning.
20718
20719 2009-01-26 Daniel Mierswa <impulze@impulze.org>
20720
20721 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
20722
20723 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
20724
20725 * kern/misc.c (grub_strcasecmp): New function.
20726 (grub_strcasecmp): Use grub_size_t instead of int for length.
20727 Fix return value.
20728 * include/grub/misc.h: Update function prototypes.
20729
20730 2009-01-26 Robert Millan <rmh@aybabtu.com>
20731
20732 * configure.ac: Fix cross-compilation check.
20733
20734 2009-01-22 Christian Franke <franke@computer.org>
20735
20736 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
20737 (precision) digit string. Allow `.format2' without `format1' (width).
20738 Limit input chars for `%s' output to `format2' if specified. This is
20739 compatible with standard printf ().
20740
20741 2009-01-22 Christian Franke <franke@computer.org>
20742
20743 * disk/ata.c (grub_ata_wait_status): Replace by ...
20744 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
20745 other status bits may be invalid while BSY is asserted.
20746 (grub_ata_check_ready): New function.
20747 (grub_ata_cmd): Removed.
20748 (grub_ata_wait_drq): New function.
20749 (grub_ata_strncpy): Remove inline.
20750 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
20751 and error check now done by grub_ata_wait_drq ().
20752 (grub_ata_pio_write): Likewise.
20753 (grub_atapi_identify): Set DEV before check for !BSY. Use
20754 grub_ata_wait_drq () to wait for data.
20755 (grub_ata_device_initialize): Add status register check to
20756 detect missing SATA slave devices. Add debug messages.
20757 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
20758 (grub_atapi_packet): Set DEV before check for !BSY. Replace
20759 transfer loop by grub_ata_pio_write ().
20760 (grub_ata_identify): Set DEV before check for !BSY. Use
20761 grub_ata_wait_drq () to wait for data.
20762 (grub_ata_setaddress): Set DEV before check for !BSY.
20763 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
20764 read/write in one loop. Fix invalid command on write. Fix incomplete
20765 command on (size % batch) == 0. Add missing error check after write of
20766 last block. Add debug messages.
20767 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
20768
20769 2009-01-19 Christian Franke <franke@computer.org>
20770
20771 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
20772 (GRUB_ATAPI_IREASON_*): Likewise.
20773 (grub_ata_pio_write): Fix timeout error return.
20774 (grub_atapi_identify): Add grub_ata_wait () after cmd.
20775 (grub_atapi_wait_drq): New function.
20776 (grub_atapi_packet): New parameter `size'.
20777 Use grub_atapi_wait_drq () and direct write instead of
20778 grub_ata_pio_write ().
20779 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
20780 reads the number of bytes requested by the device for each DRQ
20781 assertion.
20782 (grub_atapi_write): Remove old implementation, return not
20783 implemented instead.
20784
20785 2009-01-19 Christian Franke <franke@computer.org>
20786
20787 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
20788 of 512 to calculate data size.
20789 (grub_scsi_read12): Likewise.
20790 (grub_scsi_write10): Likewise.
20791 (grub_scsi_write12): Likewise.
20792 (grub_scsi_read): Adjust size according to blocksize.
20793 Add checks for invalid blocksize and unaligned transfer.
20794
20795 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
20796
20797 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
20798
20799 * term/gfxterm.c (write_char): Fix background rendering for wide
20800 width glyphs.
20801
20802 2009-01-19 Robert Millan <rmh@aybabtu.com>
20803
20804 * config.guess: Update to latest version from config git.
20805 * config.sub: Likewise.
20806
20807 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
20808
20809 * Makefile.in: Change font compilation to use new grub-mkfont instead
20810 of java version.
20811
20812 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
20813 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
20814 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20815 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20816 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
20817 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
20818 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
20819 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
20820 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
20821
20822 2009-01-16 Christian Franke <franke@computer.org>
20823
20824 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
20825 (enum grub_ata_timeout_milliseconds): New enum.
20826 (grub_ata_wait_status): Add parameter milliseconds.
20827 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
20828 recovery from timed-out commands.
20829 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
20830 return grub_errno instead of REG_ERROR.
20831 (grub_ata_pio_write): Add parameter milliseconds.
20832 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
20833 Pass milliseconds to grub_ata_wait_status () and
20834 grub_ata_pio_read ().
20835 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
20836 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
20837 grub_ata_wait_status (). Fix IDENTIFY timeout check.
20838 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
20839 It is not suitable for device detection, because DEV bit is ignored,
20840 the command may run too long, and not all devices set the signature
20841 properly.
20842 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
20843 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
20844 Fix device selection, DEV bit must be set first to address the registers
20845 of the correct device.
20846 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
20847 grub_ata_pio_read/write ().
20848 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
20849 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
20850
20851 2009-01-13 Carles Pina i Estany <carles@pina.cat>
20852
20853 * util/grub-editenv.c (main): Use fseeko(), not fseek().
20854
20855 2009-01-13 Bean <bean123ch@gmail.com>
20856
20857 * util/grub-mkfont.c (write_font): forget to remove some debug code.
20858
20859 2009-01-13 Bean <bean123ch@gmail.com>
20860
20861 * Makefile.in: (enable_grub_mkfont): New variable.
20862 (freetype_cflags): Likewise.
20863 (freetype_libs): Likewise.
20864
20865 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
20866 (grub_mkfont_SOURCES): New variable.
20867 (grub_mkfont_CFLAGS): Likewise.
20868 (grub_mkfont_LDFLAGS): Likewise.
20869
20870 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
20871 library if `--enable-grub-mkfont' is requested.
20872 (enable_grub_mkfont): New variable.
20873 (freetype_cflags): Likewise.
20874 (freetype_libs): Likewise.
20875
20876 * util/grub-mkfont.c: New file.
20877
20878 2009-01-12 Christian Franke <franke@computer.org>
20879
20880 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
20881 mode check. Fix setting of compat_use[].
20882
20883 2009-01-10 Robert Millan <rmh@aybabtu.com>
20884
20885 Update a few copyright years which we forgot to do in 2008 (only for
20886 files whose changes made in 2008 were copyright-significant)
20887
20888 * Makefile.in: Add 2008 to Copyright line.
20889 * disk/ieee1275/ofdisk.c: Likewise.
20890 * disk/efi/efidisk.c: Likewise.
20891 * kern/dl.c: Likewise.
20892 * kern/sparc64/ieee1275/init.c: Likewise.
20893 * kern/mm.c: Likewise.
20894 * kern/efi/mm.c: Likewise.
20895 * boot/i386/pc/boot.S: Likewise.
20896 * genfslist.sh: Likewise.
20897 * fs/iso9660.c: Likewise.
20898 * fs/hfs.c: Likewise.
20899 * fs/jfs.c: Likewise.
20900 * fs/minix.c: Likewise.
20901 * fs/ufs.c: Likewise.
20902 * gensymlist.sh.in: Likewise.
20903 * genkernsyms.sh.in: Likewise.
20904 * include/grub/misc.h: Likewise.
20905 * include/grub/types.h: Likewise.
20906 * include/grub/symbol.h: Likewise.
20907 * include/grub/elf.h: Likewise.
20908 * include/grub/kernel.h: Likewise.
20909 * include/grub/disk.h: Likewise.
20910 * include/grub/dl.h: Likewise.
20911 * include/grub/i386/linux.h: Likewise.
20912 * include/grub/i386/pc/biosdisk.h: Likewise.
20913 * include/grub/efi/api.h: Likewise.
20914 * include/grub/efi/pe32.h: Likewise.
20915 * include/grub/util/misc.h: Likewise.
20916 * normal/execute.c: Likewise.
20917 * normal/arg.c: Likewise.
20918 * normal/completion.c: Likewise.
20919 * normal/lexer.c: Likewise.
20920 * normal/parser.y: Likewise.
20921 * normal/misc.c: Likewise.
20922 * commands/i386/pc/vbeinfo.c: Likewise.
20923 * commands/hexdump.c: Likewise.
20924 * commands/terminal.c: Likewise.
20925 * commands/ls.c: Likewise.
20926 * commands/help.c: Likewise.
20927 * partmap/pc.c: Likewise.
20928 * loader/efi/chainloader.c: Likewise.
20929 * loader/multiboot_loader.c: Likewise.
20930 * loader/i386/pc/multiboot2.c: Likewise.
20931 * term/efi/console.c: Likewise.
20932 * term/i386/pc/serial.c: Likewise.
20933 * util/lvm.c: Likewise.
20934 * util/console.c: Likewise.
20935 * util/i386/efi/grub-mkimage.c: Likewise.
20936 * util/raid.c: Likewise.
20937
20938 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
20939
20940 * commands/videotest.c: Removed include to grub/machine/memory.h.
20941
20942 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
20943 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
20944 (video_mod_SOURCES): Removed.
20945 (video_mod_CFLAGS): Likewise.
20946 (video_mod_LDFLAGS): Likewise.
20947 (gfxterm_mod_SOURCES): Likewise.
20948 (gfxterm_mod_CFLAGS): Likewise.
20949 (gfxterm_mod_LDFLAGS): Likewise.
20950 (videotest_mod_SOURCES): Likewise.
20951 (videotest_mod_CFLAGS): Likewise.
20952 (videotest_mod_LDFLAGS): Likewise.
20953 (bitmap_mod_SOURCES): Likewise.
20954 (bitmap_mod_CFLAGS): Likewise.
20955 (bitmap_mod_LDFLAGS): Likewise.
20956 (tga_mod_SOURCES): Likewise.
20957 (tga_mod_CFLAGS): Likewise.
20958 (tga_mod_LDFLAGS): Likewise.
20959 (jpeg_mod_SOURCES): Likewise.
20960 (jpeg_mod_CFLAGS): Likewise.
20961 (jpeg_mod_LDFLAGS): Likewise.
20962 (png_mod_SOURCES): Likewise.
20963 (png_mod_CFLAGS): Likewise.
20964 (png_mod_LDFLAGS): Likewise.
20965
20966 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
20967 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
20968 (video_mod_SOURCES): Added.
20969 (video_mod_CFLAGS): Likewise.
20970 (video_mod_LDFLAGS): Likewise.
20971 (videotest_mod_SOURCES): Likewise.
20972 (videotest_mod_CFLAGS): Likewise.
20973 (videotest_mod_LDFLAGS): Likewise.
20974 (bitmap_mod_SOURCES): Likewise.
20975 (bitmap_mod_CFLAGS): Likewise.
20976 (bitmap_mod_LDFLAGS): Likewise.
20977 (tga_mod_SOURCES): Likewise.
20978 (tga_mod_CFLAGS): Likewise.
20979 (tga_mod_LDFLAGS): Likewise.
20980 (jpeg_mod_SOURCES): Likewise.
20981 (jpeg_mod_CFLAGS): Likewise.
20982 (jpeg_mod_LDFLAGS): Likewise.
20983 (png_mod_SOURCES): Likewise.
20984 (png_mod_CFLAGS): Likewise.
20985 (png_mod_LDFLAGS): Likewise.
20986 (gfxterm_mod_SOURCES): Likewise.
20987 (gfxterm_mod_CFLAGS): Likewise.
20988 (gfxterm_mod_LDFLAGS): Likewise.
20989
20990 * term/gfxterm.c: Removed include to grub/machine/memory.h,
20991 grub/machine/console.h.
20992
20993 2009-01-04 Jerone Young <jerone@gmail.com>
20994
20995 Make on screen instructions clearer
20996
20997 Based on patch created by Jidanni <jidanni@jidanni.org>
20998
20999 * normal/menu.c: print clearer instructions on the screen
21000
21001 2009-01-02 Colin D Bennett <colin@gibibit.com>
21002
21003 New font engine.
21004
21005 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
21006 build system and fixed gfxterm.c to work with different sized fonts.
21007
21008 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
21009
21010 * configure: Re-generated.
21011
21012 * DISTLIST: Removed font/manager.c.
21013 Added font/font.c.
21014 Added font/font_cmd.c.
21015
21016 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
21017 compilation.
21018
21019 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
21020
21021 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
21022
21023 * kern/term.c: Changed users of grub_utf8_to_ucs4.
21024
21025 * normal/menu.c: Likewise.
21026
21027 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
21028 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
21029
21030 * include/grub/font.h: Replaced with new file.
21031
21032 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
21033 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
21034 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
21035 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
21036 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
21037 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
21038 fg_red, fg_green, fg_blue, fg_alpha.
21039 (grub_video_adapter): Removed blit_glyph.
21040 (grub_video_blit_glyph): Removed.
21041
21042 * font/manager.c: Removed file.
21043
21044 * font/font.c: New file.
21045
21046 * font/font_cmd.c: Likewise.
21047
21048 * video/video.c (grub_video_blit_glyph): Removed.
21049
21050 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
21051 (grub_video_vbe_map_rgba): Likewise.
21052 (grub_video_vbe_unmap_color_int): Likewise.
21053 (grub_video_vbe_blit_glyph): Removed.
21054 (grub_video_vbe_adapter): Removed blit_glyph.
21055
21056 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
21057 (get_pixel): Likewise.
21058 (set_pixel): Likewise.
21059
21060 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
21061
21062 * term/gfxterm.c: Adapted to new font engine.
21063
21064 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
21065
21066 * term/i386/pc/vga.c: Likewise.
21067
21068 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
21069
21070 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21071
21072 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21073
21074 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21075
21076 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21077
21078 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21079
21080 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21081
21082 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21083
21084 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21085
21086 * util/grub.d/00_header.in: Changed to use new loadfont command.
21087
21088 * util/grub-mkconfig_lib.in: Changed font extension.
21089
21090 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
21091
21092 * util/getroot.c (grub_util_get_grub_dev): Add support for
21093 /dev/md/dNNpNN style partitionable mdraid devices.
21094
21095 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
21096
21097 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
21098 at a time limit of the PXE TFTP API correctly.
21099 (grub_pxefs_close): Likewise.
21100
21101 2008-11-29 Robert Millan <rmh@aybabtu.com>
21102
21103 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
21104 grub_ata_device_initialize() calls.
21105
21106 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
21107
21108 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
21109 iteration failed.
21110 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
21111
21112 2008-11-28 Robert Millan <rmh@aybabtu.com>
21113
21114 Fix build on powerpc-ieee1275. Based on patch created by
21115 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
21116 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21117 `kern/ieee1275/mmap.c'.
21118 * include/grub/powerpc/ieee1275/memory.h: New file.
21119
21120 Provide grub-install on coreboot.
21121 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
21122 (grub_install_SOURCES): New variable.
21123 * util/i386/pc/grub-install.in: Add a few condition checks to make it
21124 usable on coreboot.
21125
21126 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
21127
21128 * util/grub-fstest.c (grub_term_get_current_input): Change return type
21129 to `grub_term_input_t'.
21130 (grub_term_get_current_output): Change return type to
21131 `grub_term_output_t'.
21132
21133 2008-11-22 Robert Millan <rmh@aybabtu.com>
21134
21135 Fix breakage on coreboot due to declaration mismatch.
21136 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
21137 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
21138 grub_vga_text_cls().
21139
21140 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
21141 comments. Avoid copying one more byte than necessary (just in case).
21142
21143 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
21144 to 0x200000 (avoids trouble with some OFW implementations, and matches
21145 with the one in Yaboot).
21146 Reported by Manoel Abranches
21147
21148 2008-11-20 Robert Millan <rmh@aybabtu.com>
21149
21150 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
21151 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
21152
21153 * util/grub-mkconfig_lib.in (grub_warn): New function.
21154 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21155 warnings, to obtain consistent formatting.
21156 * util/grub.d/00_header.in: Likewise.
21157 * util/update-grub_lib.in: Likewise.
21158
21159 * loader/i386/linux.c (allocate_pages): Fix a warning.
21160 Move comment text to `#error' stanza.
21161
21162 Harmonize ieee1275's grub_available_iterate() with the generic
21163 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21164 build problem on i386-ieee1275):
21165 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21166 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21167 parameter `type'. Update all users of this function.
21168 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21169 `kern/ieee1275/mmap.c'.
21170 * kern/ieee1275/init.c
21171 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21172 with ...
21173 (grub_machine_mmap_iterate): ... this.
21174 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21175 return type to `grub_err_t'. Update all implementations of this
21176 function prototype.
21177 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21178 Likewise.
21179
21180 Add `lsmmap' command (lists firmware-provided memory map):
21181 * commands/lsmmap.c: New file.
21182 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21183 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21184 variables.
21185 * conf/powerpc-ieee1275.rmk: Likewise.
21186 * conf/i386-coreboot.rmk: Likewise.
21187 * conf/i386-ieee1275.rmk: Likewise.
21188
21189 2008-11-19 Robert Millan <rmh@aybabtu.com>
21190
21191 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
21192 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21193 constraints to initrd allocation (based on code from
21194 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21195 for Linux to find it.
21196
21197 2008-11-14 Robert Millan <rmh@aybabtu.com>
21198
21199 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21200 order to cope with duplicate slashes.
21201
21202 2008-11-14 Robert Millan <rmh@aybabtu.com>
21203
21204 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21205 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21206 don't want to mess with lower memory, because it is used in the Linux
21207 loader.
21208
21209 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
21210 an appropriate place in lower memory, between 0x10000 and 0x90000,
21211 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21212 is in our heap (probably as a result of it being corrupted during
21213 decompression). Add #error instance with comment to explain why this
21214 loader isn't currently usable on PC/BIOS.
21215
21216 2008-11-14 Robert Millan <rmh@aybabtu.com>
21217
21218 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
21219 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
21220
21221 2008-11-12 Robert Millan <rmh@aybabtu.com>
21222
21223 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21224
21225 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21226 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21227 from here ...
21228 * include/grub/i386/pc/memory.h: ... to here.
21229
21230 2008-11-12 Robert Millan <rmh@aybabtu.com>
21231
21232 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
21233 split).
21234
21235 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
21236 (grub_console_cur_color, grub_console_real_putchar)
21237 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21238 (grub_console_setcolorstate, grub_console_setcolor)
21239 (grub_console_getcolor): Move from here ...
21240 * include/grub/i386/vga_common.h: ... to here (new file).
21241
21242 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
21243 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
21244 `<grub/i386/io.h>'.
21245 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
21246 `<grub/i386/vga_common.h>'.
21247
21248 2008-11-12 Robert Millan <rmh@aybabtu.com>
21249
21250 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
21251 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
21252 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
21253 variables.
21254 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21255 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
21256
21257 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
21258 grub_console_init() with call to grub_vga_text_init().
21259 (grub_machine_fini): Replace call to
21260 grub_console_fini() with call to grub_vga_text_fini() and
21261 grub_at_keyboard_fini().
21262
21263 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
21264 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21265 (grub_console_setcolorstate, grub_console_setcolor)
21266 (grub_console_getcolor): New function prototypes.
21267
21268 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
21269 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
21270 (grub_vga_text_setcursor): Static-ize.
21271 (grub_vga_text_term): New structure.
21272 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
21273
21274 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
21275 (grub_console_cur_color, grub_console_standard_color)
21276 (grub_console_normal_color, grub_console_highlight_color)
21277 (map_char, grub_console_putchar, grub_console_getcharwidth)
21278 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
21279 (grub_console_getcolor): Move from here ...
21280 * term/i386/vga_common.c: ... to here (same function names).
21281
21282 2008-11-12 Robert Millan <rmh@aybabtu.com>
21283
21284 Use newly-added Multiboot support in coreboot.
21285
21286 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21287 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
21288
21289 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
21290 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
21291 (codestart): Store the MBI in `startup_multiboot_info' when we're
21292 being loaded using Multiboot.
21293
21294 * kern/i386/coreboot/init.c (grub_machine_init): Move
21295 grub_at_keyboard_init() call to beginning of function (useful for
21296 debugging). Call grub_machine_mmap_init() before attempting to use
21297 grub_machine_mmap_iterate().
21298 (grub_lower_mem, grub_upper_mem): Move from here ...
21299 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
21300 here (new file).
21301
21302 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
21303 function prototype.
21304
21305 2008-11-12 Robert Millan <rmh@aybabtu.com>
21306
21307 Fix a regression introduced by the at_keyboard.mod split. Because
21308 some terminals are default on some platforms and non-default on
21309 others, the first terminal being registered determines which is
21310 going to be default.
21311
21312 * kern/term.c (grub_term_register_input): If this is the first
21313 terminal being registered, set it as the current one.
21314 (grub_term_register_output): Likewise.
21315
21316 * term/efi/console.c (grub_console_init): Do not call
21317 grub_term_set_current_output() or grub_term_set_current_input().
21318 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
21319 * term/i386/pc/console.c (grub_console_init): Likewise.
21320 (grub_console_fini): Do not call grub_term_set_current_input()
21321 (but leave grub_term_set_current_output() to restore text mode).
21322
21323 2008-11-10 Robert Millan <rmh@aybabtu.com>
21324
21325 * util/grub.d/00_header.in: Add backward compatibility check for
21326 versions of terminal.mod that don't understand `terminal_input' or
21327 `terminal_output'.
21328
21329 2008-11-09 Robert Millan <rmh@aybabtu.com>
21330
21331 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
21332 `terminal_input' / `terminal_output', not `terminal'.
21333
21334 2008-11-08 Robert Millan <rmh@aybabtu.com>
21335
21336 * Makefile.in (include_DATA): Fix srcdir=. assumption.
21337 (DISTCLEANFILES): Add `build_env.mk'.
21338
21339 2008-11-08 Robert Millan <rmh@aybabtu.com>
21340
21341 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
21342 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21343 members. Update all users.
21344 * util/console.c (grub_ncurses_term): Split in ...
21345 (grub_ncurses_term_input): ... this, and ...
21346 (grub_ncurses_term_output): ... this. Update all users.
21347 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
21348
21349 2008-11-08 Robert Millan <rmh@aybabtu.com>
21350
21351 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
21352 (PKGDATA): Add $(pkgdata_SRCDIR).
21353 (pkglib_BUILDDIR): New variable.
21354 (pkgdata_SRCDIR): New variable.
21355 (build_env.mk): New target.
21356 (include_DATA): New variable.
21357 (install-local): Install $(include_DATA) files in $(includedir).
21358
21359 2008-11-07 Pavel Roskin <proski@gnu.org>
21360
21361 * gendistlist.sh: Use C locale for sorting to ensure consistent
21362 output on all systems.
21363
21364 * util/grub.d/00_header.in: Remove incorrect space before
21365 "serial".
21366
21367 2008-11-07 Robert Millan <rmh@aybabtu.com>
21368
21369 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
21370 per specification.
21371 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
21372 * loader/multiboot_loader.c (find_multi_boot2_header): New function
21373 (based on find_multi_boot1_header).
21374 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
21375 using find_multi_boot2_header(), and abort if neither Multiboot or
21376 Multiboot headers were found.
21377
21378 2008-11-07 Robert Millan <rmh@aybabtu.com>
21379
21380 Modularize at_keyboard.mod:
21381
21382 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
21383 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21384 (at_keyboard_mod_LDFLAGS): New variables.
21385
21386 Actual terminal split:
21387
21388 * include/grub/term.h (struct grub_term): Split in ...
21389 (struct grub_term_input): ... this, and ...
21390 (struct grub_term_output): ... this. Update all users.
21391 (grub_term_set_current): Split in ...
21392 (grub_term_set_current_input): ... this, and ...
21393 (grub_term_set_current_output): ... this.
21394 (grub_term_get_current): Split in ...
21395 (grub_term_get_current_input): ... this, and ...
21396 (grub_term_get_current_output): ... this.
21397 (grub_term_register): Split in ...
21398 (grub_term_register_input): ... this, and ...
21399 (grub_term_register_output): ... this.
21400 (grub_term_unregister): Split in ...
21401 (grub_term_unregister_input): ... this, and ...
21402 (grub_term_unregister_output): ... this.
21403 (grub_term_iterate): Split in ...
21404 (grub_term_iterate_input): ... this, and ...
21405 (grub_term_iterate_output): ... this.
21406
21407 * kern/term.c (grub_term_list): Split in ...
21408 (grub_term_list_input): ... this, and ...
21409 (grub_term_list_output): ... this. Update all users.
21410 (grub_cur_term): Split in ...
21411 (grub_cur_term_input): ... this, and ...
21412 (grub_cur_term_output): ... this. Update all users.
21413 (grub_term_set_current): Split in ...
21414 (grub_term_set_current_input): ... this, and ...
21415 (grub_term_set_current_output): ... this.
21416 (grub_term_get_current): Split in ...
21417 (grub_term_get_current_input): ... this, and ...
21418 (grub_term_get_current_output): ... this.
21419 (grub_term_register): Split in ...
21420 (grub_term_register_input): ... this, and ...
21421 (grub_term_register_output): ... this.
21422 (grub_term_unregister): Split in ...
21423 (grub_term_unregister_input): ... this, and ...
21424 (grub_term_unregister_output): ... this.
21425 (grub_term_iterate): Split in ...
21426 (grub_term_iterate_input): ... this, and ...
21427 (grub_term_iterate_output): ... this.
21428
21429 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
21430 a check for input and one for output (and only attempt to get keys
21431 from user when input works).
21432
21433 * util/grub-probe.c (grub_term_get_current): Split in ...
21434 (grub_term_get_current_input): ... this, and ...
21435 (grub_term_get_current_output): ... this.
21436 * util/grub-fstest.c: Likewise.
21437 * util/i386/pc/grub-setup.c: Likewise.
21438 * util/grub-editenv.c: Likewise.
21439
21440 Portability adjustments:
21441
21442 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
21443 `term/i386/pc/at_keyboard.c'.
21444 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
21445 grub_keyboard_controller_init() (now handled by terminal .init).
21446 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
21447 grub_at_keyboard_init().
21448 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
21449 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
21450 at_keyboard.mod via input terminal interface).
21451 * include/grub/i386/coreboot/console.h: Convert into a stub for
21452 `<grub/i386/pc/console.h>'.
21453
21454 Migrate full terminals to new API:
21455
21456 * term/efi/console.c (grub_console_term): Split into ...
21457 (grub_console_term_input): ... this, and ...
21458 (grub_console_term_output): ... this. Update all users.
21459 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
21460 (grub_ofconsole_init): Split into ...
21461 (grub_ofconsole_init_input): ... this, and ...
21462 (grub_ofconsole_init_output): ... this.
21463 (grub_ofconsole_term): Split into ...
21464 (grub_ofconsole_term_input): ... this, and ...
21465 (grub_ofconsole_term_output): ... this. Update all users.
21466 * term/i386/pc/serial.c (grub_serial_term): Split into ...
21467 (grub_serial_term_input): ... this, and ...
21468 (grub_serial_term_output): ... this. Update all users.
21469 * term/i386/pc/console.c (grub_console_term): Split into ...
21470 (grub_console_term_input): ... this, and ...
21471 (grub_console_term_output): ... this. Update all users.
21472 (grub_console_term_input): Only enable it on PC/BIOS platform.
21473 (grub_console_init): Remove grub_keyboard_controller_init() call.
21474
21475 Migrate input terminals to new API:
21476
21477 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
21478 `i386' and `i386/pc' to enable build on x86_64 (this driver is
21479 i386-specific anyway).
21480 (grub_console_checkkey): Rename to ...
21481 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
21482 users.
21483 (grub_keyboard_controller_orig): New variable.
21484 (grub_console_getkey): Rename to ...
21485 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
21486 users.
21487 (grub_keyboard_controller_init): Static-ize. Save original
21488 controller value so that it can be restored ...
21489 (grub_keyboard_controller_fini): ... here (new function).
21490 (grub_at_keyboard_term): New structure.
21491 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
21492 functions.
21493
21494 Migrate output terminals to new API:
21495
21496 * term/i386/pc/vga.c (grub_vga_term): Change type to
21497 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21498 members. Update all users.
21499 * term/gfxterm.c (grub_video_term): Change type to
21500 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21501 members. Update all users.
21502 * include/grub/i386/pc/console.h (grub_console_checkkey)
21503 (grub_console_getkey): Do not export (no longer needed by gfxterm,
21504 etc).
21505
21506 Migrate `terminal' command and userland tools to new API:
21507
21508 * commands/terminal.c (grub_cmd_terminal): Split into ...
21509 (grub_cmd_terminal_input): ... this, and ...
21510 (grub_cmd_terminal_output): ... this.
21511 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
21512 `terminal_input' and `terminal_output'.
21513 * util/grub.d/00_header.in: Adjust `terminal' calls to new
21514 `terminal_input' / `terminal_output' API.
21515 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
21516 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
21517 provided ${GRUB_TERMINAL}, convert it).
21518
21519 2008-11-04 Robert Millan <rmh@aybabtu.com>
21520
21521 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
21522 for FreeBSD.
21523 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
21524
21525 2008-11-03 Bean <bean123ch@gmail.com>
21526
21527 * kern/elf.c (grub_elf32_load): Revert to previous code.
21528 (grub_elf64_load): Likewise.
21529
21530 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
21531
21532 2008-11-01 Robert Millan <rmh@aybabtu.com>
21533
21534 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
21535 (TARGET_CPPFLAGS): Likewise.
21536 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
21537
21538 2008-11-01 Carles Pina i Estany <carles@pina.cat>
21539
21540 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
21541
21542 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
21543
21544 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
21545 addition of objects until the code is not going to be able to fail.
21546
21547 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
21548
21549 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
21550 (add a missing NULL check, and correct them by moving the pointer
21551 operations after the actual check).
21552
21553 2008-10-29 Robert Millan <rmh@aybabtu.com>
21554
21555 * util/i386/pc/grub-install.in: Handle empty string as output from
21556 make_system_path_relative_to_its_root().
21557
21558 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
21559
21560 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
21561 circular metadata worst case scenario. If the metadata is circular
21562 then copy the wrap in place.
21563 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
21564 project lib/format_text/layout.h
21565 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
21566
21567 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
21568
21569 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
21570
21571 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
21572
21573 * util/update-grub_lib.in: Mention filename in warning message.
21574
21575 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
21576
21577 * NEWS: Update for rename of update-grub to grub-mkconfig.
21578
21579 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
21580
21581 * util/update-grub_lib.in: Copy to ...
21582 * util/grub-mkconfig_lib.in: ... this. Update all users.
21583 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
21584 * util/update-grub.in: Rename to ...
21585 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
21586 option. Add `--output' option to allow users to specify the generated
21587 configuration file. Default to stdout.
21588 (update_grub_dir): Rename to ...
21589 (grub_mkconfig_dir): ... this.
21590 (grub_cfg): Default to an empty string.
21591 * conf/common.rmk (update-grub): Rename to ...
21592 (grub-mkconfig): ... this.
21593 (update-grub_lib): Copy to ...
21594 (grub-mkconfig_lib): ... this.
21595 (update-grub_SCRIPTS): Copy to ...
21596 (grub-mkconfig_SCRIPTS): ... this. Update all users.
21597 (update-grub_DATA): Rename to ...
21598 (grub-mkconfig_DATA): ... this.
21599
21600 2008-09-28 Robert Millan <rmh@aybabtu.com>
21601
21602 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
21603 to `modified'. Add the real `created' field.
21604 (grub_iso9660_uuid): Use `modified' rather than `created' for
21605 constructing the UUID.
21606
21607 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
21608
21609 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
21610 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
21611
21612 2008-09-28 Bean <bean123ch@gmail.com>
21613
21614 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
21615 Thanks to Christian Franke for finding this bug.
21616
21617 2008-09-25 Robert Millan <rmh@aybabtu.com>
21618
21619 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
21620 instances of grub_util_get_disk_name() (see previous commit).
21621
21622 2008-09-25 Robert Millan <rmh@aybabtu.com>
21623
21624 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
21625 `util/i386/get_disk_name.c'.
21626 * conf/i386-efi.rmk: Likewise.
21627 * conf/x86_64-efi.rmk: Likewise.
21628 * conf/i386-coreboot.rmk: Likewise.
21629 * conf/i386-ieee1275.rmk: Likewise.
21630 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
21631 `util/ieee1275/get_disk_name.c'.
21632 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
21633 * util/ieee1275/get_disk_name.c: Remove file.
21634 * util/i386/get_disk_name.c: Remove file.
21635 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
21636 "hd%d" for device.map entries, rather than using
21637 grub_util_get_disk_name().
21638
21639 2008-09-24 Carles Pina i Estany <carles@pina.cat>
21640
21641 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
21642 warning.
21643 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
21644
21645 2008-09-24 Carles Pina i Estany <carles@pina.cat>
21646
21647 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
21648 Changed to 0x5100.
21649 (GRUB_TERM_PPAGE): Changed to 0x4900.
21650
21651 2008-09-24 Robert Millan <rmh@aybabtu.com>
21652
21653 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
21654 macros (they were i386-pc specific).
21655 * include/grub/sparc64/ieee1275/console.h: Likewise.
21656 * include/grub/efi/console.h: Likewise.
21657
21658 2008-09-22 Bean <bean123ch@gmail.com>
21659
21660 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
21661 resident and in attribute list.
21662
21663 * include/grub/ntfs.h (BMP_LEN): Removed.
21664
21665 2008-09-22 Bean <bean123ch@gmail.com>
21666
21667 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
21668 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
21669
21670 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
21671 error occurs, as grub_disk_open will call grub_disk_close, which will
21672 call p->close (scsi).
21673
21674 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
21675
21676 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
21677 (AC_PREREQ): Bumped to 2.59.
21678 (AC_TRY_COMPILE): Replace obsolete macro with ...
21679 (AC_COMPILE_IFELSE): ... this.
21680 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
21681 (AC_LINK_IFELSE): ... this.
21682
21683 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
21684
21685 * autogen.sh: Add a call to `gendistlist.sh'.
21686
21687 2008-09-19 Christian Franke <franke@computer.org>
21688
21689 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
21690 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
21691 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
21692 Export __enable_execute_stack() to modules.
21693 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
21694 New function.
21695
21696 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
21697
21698 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
21699 Sort the list.
21700
21701 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
21702
21703 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
21704 #include <grub/util/hostdisk.h>.
21705
21706 2008-09-08 Robert Millan <rmh@aybabtu.com>
21707
21708 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
21709 segments when their filesz is zero (grub_file_read() interprets
21710 zero-size as "read until EOF", which results in memory corruption).
21711 Use `lowest_segment' rather than 0 for calculating the current
21712 segment load address.
21713
21714 2008-09-08 Robert Millan <rmh@aybabtu.com>
21715
21716 * util/hostdisk.c (open_device): Replace a grub_util_info() call
21717 with grub_dprintf("hostdisk", ...), as it was so verbose that it
21718 clobbered useful information.
21719
21720 2008-09-08 Robert Millan <rmh@aybabtu.com>
21721
21722 * include/grub/util/biosdisk.h: Move to ...
21723 * include/grub/util/hostdisk.h: ... here. Update all users.
21724 * util/biosdisk.c: Move to ...
21725 * util/hostdisk.c: ... here. Update all users.
21726
21727 2008-09-07 Robert Millan <rmh@aybabtu.com>
21728
21729 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
21730 variables.
21731 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
21732 and length can be stored directly in the `mbi->mmap_addr' and
21733 `mbi->mmap_length' struct fields.
21734
21735 2008-09-07 Robert Millan <rmh@aybabtu.com>
21736
21737 * conf/i386.rmk: New file. Provides declaration for building
21738 `cpuid.mod'.
21739 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
21740 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
21741 variables.
21742 Include `conf/i386.mk'.
21743 * conf/i386-efi.rmk: Likewise.
21744 * conf/x86_64-efi.rmk: Likewise.
21745 * conf/i386-coreboot.rmk: Likewise.
21746 * conf/i386-ieee1275.rmk: Likewise.
21747
21748 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
21749
21750 Based on patch created by Colin D Bennett <colin@gibibit.com>.
21751 Adds optimization support for BGR based modes.
21752
21753 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
21754 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
21755 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21756 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21757 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21758 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21759 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21760 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21761 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21762 (grub_video_i386_vbeblit_index_index): Likewise.
21763 (grub_video_i386_vbeblit_replace_directN): Added.
21764 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
21765 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
21766 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
21767 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
21768 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
21769 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
21770 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
21771 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
21772 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
21773 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
21774 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
21775 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
21776 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
21777
21778 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
21779 (grub_video_i386_vbefill_R8G8B8): Likewise.
21780 (grub_video_i386_vbefill_index): Likewise.
21781 (grub_video_i386_vbefill_direct32): Added.
21782 (grub_video_i386_vbefill_direct24): Likewise.
21783 (grub_video_i386_vbefill_direct16): Likewise.
21784 (grub_video_i386_vbefill_direct8): Likewise.
21785
21786 * include/grub/video.h (grub_video_blit_format): Removed
21787 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
21788 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
21789 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
21790 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
21791 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
21792
21793 * video/video.c (grub_video_get_blit_format): Updated to use new
21794 blit formats. Added handling for 16 bit color modes.
21795
21796 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
21797 fillers.
21798 (common_blitter): Updated to use new blitters.
21799
21800 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
21801 Removed.
21802 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
21803 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21804 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21805 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21806 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21807 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21808 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21809 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21810 (grub_video_i386_vbeblit_index_index): Likewise.
21811 (grub_video_i386_vbeblit_replace_directN): Added.
21812 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
21813 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
21814 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
21815 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
21816 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
21817 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
21818 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
21819 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
21820 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
21821 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
21822 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
21823 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
21824 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
21825
21826 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
21827 (grub_video_i386_vbefill_R8G8B8): Likewise.
21828 (grub_video_i386_vbefill_index): Likewise.
21829 (grub_video_i386_vbefill_direct32): Added.
21830 (grub_video_i386_vbefill_direct24): Likewise.
21831 (grub_video_i386_vbefill_direct16): Likewise.
21832 (grub_video_i386_vbefill_direct8): Likewise.
21833
21834 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
21835 types.
21836
21837 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
21838 types.
21839
21840 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
21841 blitter types.
21842
21843 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
21844 types.
21845
21846 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
21847
21848 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
21849 RAID level 1.
21850
21851 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
21852
21853 * fs/iso9660.c (grub_iso9660_date): New structure.
21854 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
21855 (grub_iso9660_uuid): New function.
21856
21857 2008-09-05 Bean <bean123ch@gmail.com>
21858
21859 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
21860
21861 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
21862 insensitive bit for names in Win32 and Win32 & DOS namespace.
21863
21864 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
21865
21866 * include/grub/types.h (LONG_MAX): Likewise.
21867
21868 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
21869
21870 * util/getroot.c: Include <config.h>.
21871 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
21872 add support for /dev/md/N devices and handle LVM double dash escaping.
21873
21874 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
21875
21876 * config.guess: Update to latest version from config git.
21877 * config.sub: Likewise.
21878
21879 2008-09-03 Robert Millan <rmh@aybabtu.com>
21880
21881 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
21882 `disk->total_sectors'.
21883
21884 2008-09-01 Colin D Bennett <colin@gibibit.com>
21885
21886 * include/grub/normal.h: Fixed incorrect comment for
21887 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
21888
21889 2008-09-01 Colin D Bennett <colin@gibibit.com>
21890
21891 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
21892 values with defines.
21893
21894 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
21895 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
21896 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
21897 (GRUB_VBE_MODEATTR_COLOR): Likewise.
21898 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
21899 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
21900 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
21901 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
21902 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
21903 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
21904 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
21905 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
21906 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
21907 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
21908 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
21909 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
21910 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
21911 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
21912 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
21913
21914 2008-08-31 Robert Millan <rmh@aybabtu.com>
21915
21916 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
21917 declaration.
21918 (grub_multiboot): Fix a few warnings.
21919
21920 2008-08-31 Robert Millan <rmh@aybabtu.com>
21921
21922 * loader/i386/pc/multiboot.c: Update comment not to say that
21923 boot_device support is unimplemented.
21924
21925 2008-08-31 Robert Millan <rmh@aybabtu.com>
21926
21927 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
21928 or memory map support are unimplemented.
21929
21930 2008-08-31 Colin D Bennett <colin@gibibit.com>
21931
21932 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
21933
21934 2008-08-31 Colin D Bennett <colin@gibibit.com>
21935
21936 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
21937 total video memory in 'vbeinfo' output; show color format details for
21938 each video mode.
21939
21940 2008-08-30 Pavel Roskin <proski@gnu.org>
21941
21942 * util/genmoddep.c: Remove for real this time.
21943 * DISTLIST: Remove util/genmoddep.c.
21944
21945 2008-08-30 Robert Millan <rmh@aybabtu.com>
21946
21947 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
21948 as required by Multiboot spec (it was already 4-byte aligned, but
21949 only by chance).
21950
21951 2008-08-29 Pavel Roskin <proski@gnu.org>
21952
21953 * kern/powerpc/ieee1275/crt0.S: Rename to ...
21954 * kern/powerpc/ieee1275/startup.S: ... this.
21955 * conf/powerpc-ieee1275.rmk: Adjust for the above.
21956 * DISTLIST: Likewise.
21957
21958 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
21959 grub/cpu/kernel.h. Add start label for consistency with other
21960 platforms. Add grub_prefix immediately after start. Add jump
21961 to the code after grub_prefix.
21962 * include/grub/powerpc/kernel.h: Provide valid values for
21963 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
21964
21965 2008-08-29 Bean <bean123ch@gmail.com>
21966
21967 * configure.ac: Change host_os to cygwin for mingw.
21968 (asprintf): New check for function.
21969
21970 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
21971 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
21972
21973 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
21974 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
21975 sync, sleep and grub_util_get_disk_size for mingw.
21976
21977 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
21978 to get size in mingw.
21979 (open_device): Use flag O_BINARY if it's defined.
21980 (find_root_device): Add dummy code for mingw.
21981
21982 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
21983 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
21984 (get_scsi_disk_name): Return 0 for mingw.
21985
21986 * util/hostfs.c: #include <grub/util/misc.h>.
21987 (grub_hostfs_open): Use "rb" flag to open file, use
21988 grub_util_get_disk_size to get disk size for mingw.
21989
21990 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
21991 (asprintf): New function if HAVE_ASPRINTF is not set.
21992 (sync): New function for mingw.
21993 (sleep): Likewise.
21994 (grub_util_get_disk_size): Likewise.
21995
21996 2008-08-28 Pavel Roskin <proski@gnu.org>
21997
21998 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21999 kern/time.c.
22000
22001 2008-08-28 Robert Millan <rmh@aybabtu.com>
22002
22003 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
22004
22005 2008-08-28 Robert Millan <rmh@aybabtu.com>
22006
22007 Change find_grub_drive() syntax so it doesn't prevent it from
22008 detecting NULL names as errors.
22009
22010 * util/biosdisk.c (find_grub_drive): Move free slot search code
22011 from here ...
22012 (find_free_slot): ... to here.
22013 (read_device_map): Use find_free_slot() to search for free slots.
22014
22015 2008-08-27 Marco Gerards <marco@gnu.org>
22016
22017 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
22018 (scsi_mod_SOURCES): New variable.
22019 (scsi_mod_CFLAGS): Likewise
22020 (scsi_mod_LDFLAGS): Likewise.
22021
22022 * disk/scsi.c: New file.
22023
22024 * include/grub/scsi.h: Likewise.
22025
22026 * include/grub/scsicmd.h: Likewise.
22027
22028 * disk/ata.c: Include <grub/scsi.h>.
22029 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
22030 instead.
22031 (grub_ata_iterate): Skip ATAPI devices.
22032 (grub_ata_open): Only handle ATAPI devices.
22033 (struct grub_atapi_read): Removed.
22034 (grub_atapi_readsector): Likewise.
22035 (grub_ata_read): No longer handle ATAPI devices.
22036 (grub_ata_write): Likewise.
22037 (grub_atapi_iterate): New function.
22038 (grub_atapi_read): Likewise.
22039 (grub_atapi_write): Likewise.
22040 (grub_atapi_open): Likewise.
22041 (grub_atapi_close): Likewise.
22042 (grub_atapi_dev): New variable.
22043 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
22044 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
22045
22046 * include/grub/disk.h (enum grub_disk_dev_id): Add
22047 `GRUB_DISK_DEVICE_SCSI_ID'.
22048
22049 2008-08-26 Robert Millan <rmh@aybabtu.com>
22050
22051 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
22052 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
22053 descriptive.
22054
22055 2008-08-23 Bean <bean123ch@gmail.com>
22056
22057 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
22058 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22059 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
22060 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
22061 dm_nv.mod.
22062 (raid5rec_mod_SOURCES): New macro.
22063 (raid5rec_mod_CFLAGS): Likewise.
22064 (raid5rec_mod_LDFLAGS): Likewise.
22065 (raid6rec_mod_SOURCES): Likewise.
22066 (raid6rec_mod_CFLAGS): Likewise.
22067 (raid6rec_mod_LDFLAGS): Likewise.
22068 (mdraid_mod_SOURCES): Likewise.
22069 (mdraid_mod_CFLAGS): Likewise.
22070 (mdraid_mod_LDFLAGS): Likewise.
22071 (dm_nv_mod_SOURCES): Likewise.
22072 (dm_nv_mod_CFLAGS): Likewise.
22073 (dm_nv_mod_LDFLAGS): Likewise.
22074
22075 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
22076 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22077 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22078
22079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
22080 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22081
22082 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22083
22084 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22085
22086 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22087
22088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22089
22090 * disk/raid5_recover.c: New file.
22091
22092 * disk/raid6_recover.c: Likewise.
22093
22094 * disk/mdraid_linux.c: Likewise.
22095
22096 * disk/dmraid_nvidia.c: Likewise.
22097
22098 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
22099 ULONG_MAX.
22100
22101 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
22102 calculate the size of raid device.
22103 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
22104 different layout of raid5.
22105 (grub_raid_scan_device): Remove code specific to mdraid.
22106 (grub_raid_list): New variable.
22107 (free_array): New function.
22108 (grub_raid_register): Likewise.
22109 (grub_raid_unregister): Likewise.
22110 (grub_raid_rescan): Likewise.
22111 (GRUB_MOD_INIT): Don't iterate device here.
22112 (GRUB_MOD_FINI): Use free_array to release resource.
22113
22114 * include/grub/raid.h: Remove macro and structure specific to mdraid.
22115 (grub_raid5_recover_func_t): New function variable type.
22116 (grub_raid6_recover_func_t): Likewise.
22117 (grub_raid5_recover_func): New variable.
22118 (grub_raid6_recover_func): Likewise.
22119 (grub_raid_register): New function.
22120 (grub_raid_unregister): Likewise.
22121 (grub_raid_rescan): Likewise.
22122 (grub_raid_block_xor): Likewise.
22123
22124 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
22125 (CMD_CRC): New macro.
22126 (part): Removed.
22127 (read_file): Handle device as well as file.
22128 (cmd_crc): New function.
22129 (fstest): Handle multiple disks.
22130 (options): Remove part, raw and long, add root and diskcount.
22131 (usage): Add crc, remove -p, -r, -l, add -r and -c.
22132 (main): Find the first non option entry and ignore subsequent options,
22133 add handling for the new options, support multiple disks.
22134
22135 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
22136
22137 2008-08-23 Bean <bean123ch@gmail.com>
22138
22139 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
22140
22141 * genfslist.sh: Ignore kernel.mod.
22142
22143 * genpartmaplist.sh: Likewise.
22144
22145 2008-08-23 Robert Millan <rmh@aybabtu.com>
22146
22147 * util/getroot.c (find_root_device): Skip anything that starts with
22148 a dot, not just directories. This avoids things like /dev/.tmp.md0.
22149
22150 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
22151
22152 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22153 * util/grub.d/00_header.in: Allow the administrator to change default
22154 gfxmode via ${GRUB_GFXMODE}.
22155
22156 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
22157
22158 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22159
22160 2008-08-21 Robert Millan <rmh@aybabtu.com>
22161
22162 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22163 loader.
22164 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22165 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22166
22167 2008-08-20 Carles Pina i Estany <carles@pina.cat>
22168
22169 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22170 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22171
22172 2008-08-19 Robert Millan <rmh@aybabtu.com>
22173
22174 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22175 (struct grub_virtual_screen): Remove `cursor_color'.
22176 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22177 initialization.
22178 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22179
22180 2008-08-18 Robert Millan <rmh@aybabtu.com>
22181
22182 Unify (identical) linux_normal.c files.
22183 * loader/i386/efi/linux_normal.c: Move from here ...
22184 * loader/linux_normal.c: ... to here. Update all users.
22185 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22186 * loader/i386/ieee1275/linux_normal.c: Likewise.
22187
22188 2008-08-18 Robert Millan <rmh@aybabtu.com>
22189
22190 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22191 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22192 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22193 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22194 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22195 New macros.
22196 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22197 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22198 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22199 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22200 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22201 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22202 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22203 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22204 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22205 portably using grub_getxy().
22206 Replace `-EFI' with `-bzImage' in boot message.
22207
22208 2008-08-17 Robert Millan <rmh@aybabtu.com>
22209
22210 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22211
22212 2008-08-17 Robert Millan <rmh@aybabtu.com>
22213
22214 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22215
22216 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22217 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22218 (grub_machine_mmap_iterate): New function declaration.
22219 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22220 structure.
22221 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22222 macros.
22223
22224 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22225 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22226 Move e820 parsing from here ...
22227 * kern/i386/pc/mmap.c: New file.
22228 (grub_machine_mmap_iterate): ... to here.
22229
22230 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
22231 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
22232 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
22233 (grub_available_iterate): Redeclare to return `void', and redeclare
22234 its hook to use grub_uint64_t as addr and size parameters, and rename
22235 to ...
22236 (grub_machine_mmap_iterate): ... this. Update all users.
22237
22238 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
22239 to make it more readable. Rename to ...
22240 (grub_machine_mmap_iterate): ... this.
22241
22242 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
22243 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
22244 (grub_multiboot): Allocate an extra region after the payload, and fill
22245 it with a Multiboot memory map. Adjust a.out loader to calculate size
22246 with the extra space.
22247 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
22248 with the extra space.
22249
22250 2008-08-17 Carles Pina i Estany <carles@pina.cat>
22251
22252 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
22253
22254 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
22255
22256 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
22257 mdate-sh to the list `find' searches for.
22258 * DISTLIST: Regenerated.
22259
22260 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
22261
22262 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
22263 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
22264 genmoddep.awk, gensymlist.sh.in.
22265 (DISTDIRS): Add bus, docs, hook, lib.
22266 * DISTLIST: Regenerated.
22267 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
22268
22269 2008-08-16 Robert Millan <rmh@aybabtu.com>
22270
22271 * disk/raid.c (grub_raid_init): Handle/report errors set by
22272 grub_device_iterate().
22273 * disk/lvm.c (grub_lvm_init): Likewise.
22274
22275 2008-08-15 Bean <bean123ch@gmail.com>
22276
22277 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22278 and datehook.mod.
22279 (datetime_mod_SOURCES): New macro.
22280 (datetime_mod_CFLAGS): Likewise.
22281 (datetime_mod_LDFLAGS): Likewise.
22282 (date_mod_SOURCES): Likewise.
22283 (date_mod_CFLAGS): Likewise.
22284 (date_mod_LDFLAGS): Likewise.
22285 (datehook_mod_SOURCES): Likewise.
22286 (datehook_mod_CFLAGS): Likewise.
22287 (datehook_mod_LDFLAGS): Likewise.
22288
22289 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22290 and datehook.mod.
22291 (datetime_mod_SOURCES): New macro.
22292 (datetime_mod_CFLAGS): Likewise.
22293 (datetime_mod_LDFLAGS): Likewise.
22294 (date_mod_SOURCES): Likewise.
22295 (date_mod_CFLAGS): Likewise.
22296 (date_mod_LDFLAGS): Likewise.
22297 (datehook_mod_SOURCES): Likewise.
22298 (datehook_mod_CFLAGS): Likewise.
22299 (datehook_mod_LDFLAGS): Likewise.
22300
22301 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22302 and datehook.mod.
22303 (datetime_mod_SOURCES): New macro.
22304 (datetime_mod_CFLAGS): Likewise.
22305 (datetime_mod_LDFLAGS): Likewise.
22306 (date_mod_SOURCES): Likewise.
22307 (date_mod_CFLAGS): Likewise.
22308 (date_mod_LDFLAGS): Likewise.
22309 (datehook_mod_SOURCES): Likewise.
22310 (datehook_mod_CFLAGS): Likewise.
22311 (datehook_mod_LDFLAGS): Likewise.
22312
22313 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22314 and datehook.mod.
22315 (datetime_mod_SOURCES): New macro.
22316 (datetime_mod_CFLAGS): Likewise.
22317 (datetime_mod_LDFLAGS): Likewise.
22318 (date_mod_SOURCES): Likewise.
22319 (date_mod_CFLAGS): Likewise.
22320 (date_mod_LDFLAGS): Likewise.
22321 (datehook_mod_SOURCES): Likewise.
22322 (datehook_mod_CFLAGS): Likewise.
22323 (datehook_mod_LDFLAGS): Likewise.
22324
22325 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22326 and datehook.mod.
22327 (datetime_mod_SOURCES): New macro.
22328 (datetime_mod_CFLAGS): Likewise.
22329 (datetime_mod_LDFLAGS): Likewise.
22330 (date_mod_SOURCES): Likewise.
22331 (date_mod_CFLAGS): Likewise.
22332 (date_mod_LDFLAGS): Likewise.
22333 (datehook_mod_SOURCES): Likewise.
22334 (datehook_mod_CFLAGS): Likewise.
22335 (datehook_mod_LDFLAGS): Likewise.
22336
22337 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
22338
22339 * commands/date.c: New file.
22340
22341 * hook/datehook.c: Likewise.
22342
22343 * include/grub/lib/datetime.h: Likewise.
22344
22345 * include/grub/i386/cmos.h: Likewise.
22346
22347 * lib/datetime.c: Likewise.
22348
22349 * lib/i386/datetime.c: Likewise.
22350
22351 * lib/efi/datetime.c: Likewise.
22352
22353 2008-08-14 Robert Millan <rmh@aybabtu.com>
22354
22355 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
22356 (grub_mkelfimage_SOURCES): New variable.
22357 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
22358
22359 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
22360 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
22361 * conf/powerpc-ieee1275.rmk: Likewise.
22362 * conf/i386-ieee1275.rmk: Likewise.
22363
22364 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
22365 * kern/i386/coreboot/init.c: Likewise.
22366
22367 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
22368 with `<grub/cpu/kernel.h>'.
22369 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
22370 to ...
22371 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
22372 * kern/i386/coreboot/startup.S: Likewise.
22373
22374 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
22375 (GRUB_MOD_GAP): Remove.
22376 * include/grub/powerpc/kernel.h: New file.
22377 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
22378 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22379 * include/grub/i386/kernel.h: New file.
22380 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
22381 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
22382 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22383
22384 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
22385 `grub-mkelfimage'.
22386 Use --directory when invoking grub_mkimage.
22387
22388 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
22389 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
22390 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
22391 and GRUB_KERNEL_CPU_PREFIX.
22392
22393 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
22394
22395 * include/grub/err.h (grub_err_printf): New function prototype.
22396 * util/misc.c (grub_err_printf): New function.
22397 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22398 grub_printf.
22399 * kern/err.c (grub_print_error): Use grub_err_printf.
22400
22401 2008-08-13 Robert Millan <rmh@aybabtu.com>
22402
22403 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22404
22405 2008-08-13 Robert Millan <rmh@aybabtu.com>
22406
22407 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22408 boot entry.
22409
22410 2008-08-12 Robert Millan <rmh@aybabtu.com>
22411
22412 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
22413 of the relocation code from here ...
22414 (grub_multiboot): ... to here.
22415 (forward_relocator, backward_relocator): Move from here ...
22416 * kern/i386/loader.S (grub_multiboot_forward_relocator)
22417 (grub_multiboot_backward_relocator): ... to here.
22418 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
22419 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
22420 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
22421 (grub_multiboot_forward_relocator_end)
22422 (grub_multiboot_backward_relocator)
22423 (grub_multiboot_backward_relocator_end): New variables.
22424
22425 2008-08-12 Bean <bean123ch@gmail.com>
22426
22427 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
22428
22429 2008-08-11 Robert Millan <rmh@aybabtu.com>
22430
22431 * kern/i386/linuxbios/startup.S: Move from here ...
22432 * kern/i386/coreboot/startup.S: ... to here.
22433
22434 * kern/i386/linuxbios/init.c: Move from here ...
22435 * kern/i386/coreboot/init.c: ... to here.
22436
22437 * kern/i386/linuxbios/table.c: Move from here ...
22438 * kern/i386/coreboot/mmap.c: ... to here.
22439
22440 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
22441
22442 2008-08-11 Robert Millan <rmh@aybabtu.com>
22443
22444 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
22445 errors. Leave it to the upper layer to handle them.
22446
22447 2008-08-09 Christian Franke <franke@computer.org>
22448
22449 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
22450 * conf/common.rmk: Install `grub-pe2elf' only if requested.
22451 Install `grub.d/10_windows' only on Cygwin.
22452 * configure.ac: Add subst of `target_os'.
22453 Check `target_os' also before setting TARGET_OBJ2ELF.
22454 Add `--enable-grub-pe2elf'.
22455
22456 2008-08-08 Robert Millan <rmh@aybabtu.com>
22457
22458 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22459 (grub_last_time): Change type to grub_uint64_t.
22460 (grub_disk_open): Migrate code from to using grub_get_time_ms().
22461 (grub_disk_close): Likewise.
22462
22463 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22464 (run_menu): Migrate code from to using grub_get_time_ms().
22465
22466 * util/misc.c (grub_get_time_ms): New function.
22467
22468 2008-08-08 Marco Gerards <marco@gnu.org>
22469
22470 * disk/ata.c (grub_ata_regget): Change return type to
22471 `grub_uint8_t'.
22472 (grub_ata_regget2): Likewise.
22473 (grub_ata_wait_status): New function.
22474 (grub_ata_wait_busy): Removed function, updated all users to use
22475 `grub_ata_wait_status'.
22476 (grub_ata_wait_drq): Likewise.
22477 (grub_ata_cmd): New function.
22478 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
22479 error handling.
22480 (grub_ata_pio_write): Add error handling.
22481 (grub_atapi_identify): Likewise.
22482 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
22483 handling.
22484 (grub_ata_identify): Use `grub_ata_cmd' and improve error
22485 handling. Actually use the detected registers. Reorder the
22486 detection logic such that it is easier to read.
22487 (grub_ata_pciinit): Do not assign the same ID to each controller.
22488 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
22489 handling.
22490 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
22491
22492 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
22493
22494 2008-08-08 Marco Gerards <marco@gnu.org>
22495
22496 * NEWS: Update.
22497
22498 2008-08-07 Bean <bean123ch@gmail.com>
22499
22500 * include/grub/x86_64/pci.h: New file.
22501
22502 2008-08-07 Christian Franke <franke@computer.org>
22503
22504 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
22505 (TIMER2_GATE): Likewise.
22506 (grub_pit_wait): Add enable/disable of the timer2 gate
22507 bit of port 0x61. This fixes a possible infinite loop.
22508
22509 2008-08-07 Bean <bean123ch@gmail.com>
22510
22511 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
22512 kern/i386/tsc.c and kern/i386/pit.c.
22513
22514 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
22515 x86_64 platform.
22516
22517 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
22518 <grub/i386/tsc.h>.
22519
22520 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
22521
22522 2008-08-07 Bean <bean123ch@gmail.com>
22523
22524 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
22525
22526 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
22527
22528 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
22529 multiple inclusion. Add #include <grub/types.h>.
22530
22531 2008-08-06 Christian Franke <franke@computer.org>
22532
22533 * conf/common.rmk: Build and install `10_windows'.
22534 * util/grub.d/10_windows.in: New script.
22535
22536 2008-08-06 Pavel Roskin <proski@gnu.org>
22537
22538 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
22539
22540 2008-08-06 Robert Millan <rmh@aybabtu.com>
22541
22542 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
22543 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
22544
22545 2008-08-06 Bean <bean123ch@gmail.com>
22546
22547 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
22548 (grub_pxefs_fs_int): Remove dummy definition.
22549 (grub_pxefs_open): Use data->block_size to store the current block
22550 size setting.
22551 (grub_pxefs_read): Use block size stored in data->block_size. As the
22552 value of grub_pxe_blksize can be changed after the file is opened.
22553
22554 2008-08-06 Bean <bean123ch@gmail.com>
22555
22556 * fs/i386/pc/pxe.c (curr_file): new variable.
22557 (grub_pxefs_open): Simply the handling of pxe file system. Don't
22558 require the dummy internal file system anymore.
22559 (grub_pxefs_read): Removed.
22560 (grub_pxefs_close): Likewise.
22561 (grub_pxefs_fs_int): Likewise.
22562 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
22563 connection when we switch file.
22564 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
22565
22566 2008-08-06 Robert Millan <rmh@aybabtu.com>
22567
22568 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
22569 `halt.mod'.
22570 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
22571 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
22572
22573 * kern/i386/halt.c: New file.
22574 * kern/i386/reboot.c: Likewise.
22575 * include/grub/i386/reboot.h: Likewise.
22576 * include/grub/i386/halt.h: Likewise.
22577
22578 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
22579 Include `<grub/cpu/halt.h>'.
22580 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
22581 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
22582
22583 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
22584 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
22585 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
22586 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
22587 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
22588 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
22589 from here ...
22590 * include/grub/i386/at_keyboard.h: ... to here.
22591
22592 2008-08-05 Robert Millan <rmh@aybabtu.com>
22593
22594 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
22595 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
22596 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
22597 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22598 `kern/generic/millisleep.c'.
22599
22600 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
22601 instead of grub_get_rtc().
22602 (grub_tsc_init): Initialize `tsc_boot_time'.
22603
22604 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
22605 (grub_machine_init): Use grub_tsc_init() rather than
22606 installing an RTC-based handler via grub_install_get_time_ms().
22607
22608 * kern/i386/pit.c: New file.
22609 * include/grub/i386/pit.h: Likewise.
22610
22611 2008-08-05 Bean <bean123ch@gmail.com>
22612
22613 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
22614
22615 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
22616 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
22617 (pxe_mod_SOURCES): New macro.
22618 (pxe_mod_CFLAGS): Likewise.
22619 (pxe_mod_LDFLAGS): Likewise.
22620 (pxecmd_mod_SOURCES): Likewise.
22621 (pxecmd_mod_CFLAGS): Likewise.
22622 (pxecmd_mod_LDFLAGS): Likewise.
22623
22624 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
22625 (grub_pxe_call): Likewise.
22626
22627 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
22628
22629 * commands/i386/pc/pxecmd.c: New file.
22630
22631 * fs/i386/pc/pxe.c: Likewise.
22632
22633 * include/grub/i386/pc/pxe.h: Likewise.
22634
22635 2008-08-05 Bean <bean123ch@gmail.com>
22636
22637 * util/console.c (grub_console_cur_color): New variable.
22638 (grub_console_standard_color): Likewise.
22639 (grub_console_normal_color): Likewise.
22640 (grub_console_highlight_color): Likewise.
22641 (color_map): Likewise.
22642 (use_color): Likewise.
22643 (NUM_COLORS): New macro.
22644 (grub_ncurses_setcolorstate): Handle color properly.
22645 (grub_ncurses_setcolor): Don't change color here, just remember the
22646 settings, color will be set in grub_ncurses_setcolorstate.
22647 (grub_ncurses_getcolor): New function.
22648 (grub_ncurses_init): Initialize color pairs.
22649 (grub_ncurses_term): New member grub_ncurses_getcolor.
22650
22651 2008-08-05 Colin D Bennett <colin@gibibit.com>
22652
22653 High resolution timer support. Implemented for x86 CPUs using TSC.
22654 Extracted generic grub_millisleep() so it's linked in only as needed.
22655 This requires a Pentium compatible CPU; if the RDTSC instruction is
22656 not supported, then it falls back on the generic grub_get_time_ms()
22657 implementation that uses the machine's RTC.
22658
22659 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
22660 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22661 `kern/generic/millisleep.c'.
22662
22663 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
22664 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
22665
22666 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
22667 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
22668
22669 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22670
22671 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22672 `kern/generic/millisleep.c'.
22673
22674 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22675
22676 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
22677
22678 * kern/generic/rtc_get_time_ms.c: New file.
22679
22680 * kern/generic/millisleep.c: New file.
22681
22682 * kern/misc.c: Don't include
22683 <kern/time.h> anymore.
22684 (grub_millisleep_generic): Removed.
22685
22686 * commands/sleep.c (grub_interruptible_millisleep): Uses
22687 grub_get_time_ms() instead of grub_get_rtc().
22688
22689 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
22690 function.
22691 (grub_cpu_is_cpuid_supported): New inline function.
22692 (grub_cpu_is_tsc_supported): New inline function.
22693 (grub_tsc_init): New function prototype.
22694 (grub_tsc_get_time_ms): New function prototype.
22695
22696 * kern/i386/tsc.c (grub_get_time_ms): New file.
22697
22698 * include/grub/time.h: Include <grub/types.h.
22699 (grub_millisleep_generic): Removed.
22700 (grub_get_time_ms): New prototype.
22701 (grub_install_get_time_ms): New prototype.
22702 (grub_rtc_get_time_ms): New prototype.
22703
22704 * kern/time.c (grub_get_time_ms): New function.
22705 (grub_install_get_time_ms): New function.
22706
22707 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
22708 <grub/time.h> anymore.
22709 (grub_millisleep): Removed.
22710 (grub_machine_init): Call grub_tsc_init.
22711
22712 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
22713 get_time_ms() implementation.
22714
22715 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
22716 (ieee1275_get_time_ms): New function.
22717 (grub_machine_init): Install get_time_ms() implementation.
22718
22719 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
22720 (grub_machine_init): Call grub_tsc_init().
22721 (grub_millisleep): Removed.
22722
22723 * kern/ieee1275/init.c (grub_millisleep): Removed.
22724 (grub_machine_init): Install ieee1275_get_time_ms()
22725 implementation.
22726 (ieee1275_get_time_ms): New function.
22727 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
22728 real work.
22729
22730 2008-08-05 Marco Gerards <marco@gnu.org>
22731
22732 * disk/ata.c: Include <grub/pci.h>.
22733 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
22734 (grub_ata_initialize): Rewritten.
22735 (grub_ata_device_initialize): New function.
22736
22737 2008-08-04 Pavel Roskin <proski@gnu.org>
22738
22739 * kern/main.c: Include grub/mm.h.
22740
22741 2008-08-04 Robert Millan <rmh@aybabtu.com>
22742
22743 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
22744 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
22745 corruption problem).
22746
22747 2008-08-04 Robert Millan <rmh@aybabtu.com>
22748
22749 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
22750 warnings introduced in my last commit.
22751
22752 2008-08-03 Robert Millan <rmh@aybabtu.com>
22753
22754 Make PCI available on all i386 architectures.
22755
22756 * include/grub/i386/pc/pci.h: Move from here ...
22757 * include/grub/i386/pci.h: ... to here.
22758
22759 * include/grub/i386/pc/pci.h: Remove.
22760 * include/grub/i386/efi/pci.h: Remove.
22761 * include/grub/x86_64/efi/pci.h: Remove.
22762
22763 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
22764 `<grub/cpu/pci.h>'.
22765
22766 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
22767 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
22768 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
22769
22770 * conf/i386-ieee1275.rmk: Likewise.
22771
22772 2008-08-03 Robert Millan <rmh@aybabtu.com>
22773
22774 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
22775 (grub_console_setcursor): Make it possible to set cursor off.
22776
22777 2008-08-03 Robert Millan <rmh@aybabtu.com>
22778
22779 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
22780 of modules instead of assuming which platform provides what.
22781 * util/update-grub.in: Likewise.
22782
22783 2008-08-03 Robert Millan <rmh@aybabtu.com>
22784
22785 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
22786 instead of `grub_install_dos_part' to determine whether a drive needs
22787 to be prepended to prefix (`grub_install_dos_part' is not reliable,
22788 because it can be overridden when loading GRUB via Multiboot).
22789
22790 2008-08-02 Robert Millan <rmh@aybabtu.com>
22791
22792 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
22793
22794 2008-08-02 Robert Millan <rmh@aybabtu.com>
22795
22796 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
22797 of informational grub_dprintf() calls.
22798
22799 2008-08-02 Robert Millan <rmh@aybabtu.com>
22800
22801 * disk/memdisk.c (memdisk_size): Don't initialize.
22802 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
22803
22804 * include/grub/i386/pc/kernel.h
22805 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
22806 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
22807 (grub_memdisk_image_size, grub_arch_memdisk_addr)
22808 (grub_arch_memdisk_size): Remove.
22809
22810 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
22811 field (was only used to transfer a constant). Add `type' field to
22812 support multiple module types.
22813 (grub_module_iterate): New function.
22814
22815 * kern/device.c (grub_device_open): Do not hide error messages
22816 when grub_disk_open() fails. Use grub_print_error() instead.
22817
22818 * kern/i386/pc/init.c (grub_arch_modules_addr)
22819 (grub_arch_memdisk_size): Remove functions.
22820 (grub_arch_modules_addr): Return the module address in high memory
22821 (now that it isn't copied anymore).
22822
22823 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
22824 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
22825 decompression routine (grub_total_module_size already includes that
22826 now). Don't copy modules back to low memory.
22827
22828 * kern/main.c: Include `<grub/mm.h>'.
22829 (grub_load_modules): Split out (and use) ...
22830 (grub_module_iterate): ... this function, which iterates through
22831 module objects and runs a hook.
22832 Comment out grub_mm_init_region() call, as it would cause non-ELF
22833 modules to be overwritten.
22834
22835 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
22836 the memdisk image in its own region, make it part of the module list.
22837 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
22838 (main): Parse --memdisk|-m option, and pass user-provided path as
22839 parameter to generate_image().
22840 (add_segments): Pass `memdisk_path' down to load_modules().
22841 (load_modules): Embed memdisk image in module section when requested.
22842 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
22843 `header.type' instead of `header.offset'.
22844
22845 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
22846 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
22847 (memdisk_mod_LDFLAGS): New variables.
22848 * conf/i386-coreboot.rmk: Likewise.
22849 * conf/i386-ieee1275.rmk: Likewise.
22850
22851 2008-08-02 Robert Millan <rmh@aybabtu.com>
22852
22853 * loader/i386/pc/multiboot.c (playground, forward_relocator)
22854 (backward_relocator): New variables. Used to allocate and relocate
22855 the payload, respectively.
22856 (grub_multiboot_load_elf32): Load into heap instead of requested
22857 address, install the appropriate relocator code in each bound of
22858 the payload, and set the entry point such that
22859 grub_multiboot_real_boot() will jump to one of them.
22860
22861 * kern/i386/loader.S (grub_multiboot_payload_size)
22862 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
22863 (grub_multiboot_payload_entry_offset): New variables.
22864 (grub_multiboot_real_boot): Set cpu context to what the relocator
22865 expects, and jump to the relocator instead of the payload.
22866
22867 * include/grub/i386/loader.h (grub_multiboot_payload_size)
22868 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
22869 (grub_multiboot_payload_entry_offset): Export.
22870
22871 2008-08-01 Bean <bean123ch@gmail.com>
22872
22873 * normal/menu_entry.c (editor_getline): Don't return the original
22874 string as result, as it will be released by lexer once it has done
22875 using it.
22876
22877 2008-08-01 Robert Millan <rmh@aybabtu.com>
22878
22879 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
22880 within menuentries, not before them.
22881 util/grub.d/10_hurd.in: Likewise.
22882
22883 2008-08-01 Bean <bean123ch@gmail.com>
22884
22885 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
22886 (bufio_mod_SOURCES): New macro.
22887 (bufio_mod_CFLAGS): Likewise.
22888 (bufio_mod_LDFLAGS): Likewise.
22889
22890 * include/grub/bufio.h: New file.
22891
22892 * io/bufio.c: Likewise.
22893
22894 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
22895 (grub_video_reader_png): Use grub_buffile_open to open file.
22896
22897 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
22898 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
22899
22900 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
22901 (grub_video_reader_tga): Use grub_buffile_open to open file.
22902
22903 * font/manager.c: Include <grub/bufio.h>.
22904 (add_font): Use grub_buffile_open to open file.
22905
22906 2008-07-31 Robert Millan <rmh@aybabtu.com>
22907
22908 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
22909 ELF segments, use a macro for arbitrarily accessing any of them instead
22910 of preparing a pointer that allows access to one at a time.
22911 (grub_multiboot_load_elf64): Likewise.
22912
22913 2008-07-31 Bean <bean123ch@gmail.com>
22914
22915 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
22916 GRUB_KERNEL_MACHINE_DATA_END.
22917
22918 2008-07-30 Robert Millan <rmh@aybabtu.com>
22919
22920 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
22921 Increase from 0x50 to 0x60.
22922 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
22923 use UUIDs to identify the root drive for them. If that's not
22924 possible, abort.
22925 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
22926 check, for cross-disk installs.
22927
22928 2008-07-30 Robert Millan <rmh@aybabtu.com>
22929
22930 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
22931 is non-empty, use it to set the `prefix' environment variable instead
22932 of the usual approach.
22933 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
22934 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
22935 environment variable instead of dummy make_install_device().
22936
22937 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
22938 (start): Insert a data section, with `grub_prefix' variable.
22939 * kern/i386/linuxbios/startup.S: Likewise.
22940
22941 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
22942 New variable reference.
22943 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
22944 New macro. Defines offset of `grub_prefix' within startup.S (relative
22945 to `start').
22946 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
22947 section within startup.S (relative to `start').
22948 * include/grub/i386/coreboot/kernel.h: Likewise.
22949
22950 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
22951 Overwrite grub_prefix with its contents, at the beginning of the
22952 first segment.
22953 (main): Understand -p|--prefix.
22954
22955 2008-07-30 Robert Millan <rmh@aybabtu.com>
22956
22957 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
22958
22959 2008-07-30 Robert Millan <rmh@aybabtu.com>
22960
22961 * term/i386/pc/vga_text.c (grub_console_cls): Use
22962 grub_console_gotoxy() to go back to beginning of the screen.
22963 Found by Patrick Georgi <patrick.georgi@coresystems.de>
22964
22965 2008-07-29 Christian Franke <franke@computer.org>
22966
22967 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22968 Add conversion of emulated mount points on Cygwin.
22969
22970 2008-07-29 Christian Franke <franke@computer.org>
22971
22972 * util/update-grub.in: Add a check for admin
22973 group on Cygwin.
22974 Remove old `grub.cfg.new' before creation.
22975 Add `-f' to `mv' to handle the different filesystem
22976 semantics of Windows.
22977
22978 2008-07-29 Bean <bean123ch@gmail.com>
22979
22980 * normal/main.c (get_line): Fix buffer overflow bug.
22981
22982 2008-07-28 Robert Millan <rmh@aybabtu.com>
22983
22984 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
22985 (struct grub_apple_header): New struct. Describes the layout of
22986 the partmap header.
22987 (apple_partition_map_iterate): Check the header magic as well as the
22988 partition magic (which was already being checked).
22989
22990 2008-07-28 Pavel Roskin <proski@gnu.org>
22991
22992 * genmk.rb: Add a warning to the beginning of the output that
22993 it's a generated file and should not be edited.
22994
22995 2008-07-28 Robert Millan <rmh@aybabtu.com>
22996
22997 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22998 with the same number are found, just use issue a warning with
22999 grub_dprintf(), as this error has been reported to be non-fatal.
23000
23001 2008-07-27 Robert Millan <rmh@aybabtu.com>
23002
23003 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
23004 information.
23005
23006 2008-07-27 Bean <bean123ch@gmail.com>
23007
23008 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
23009 (grub_fat_find_dir): Ignore case when comparing filename.
23010
23011 2008-07-27 Bean <bean123ch@gmail.com>
23012
23013 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
23014 smallino, as it's more descriptive, and i8count can be confused with
23015 the other field count.
23016 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
23017 inode type.
23018
23019 2008-07-27 Bean <bean123ch@gmail.com>
23020
23021 * commands/crc.c: New file.
23022
23023 * lib/crc.c: Likewise.
23024
23025 * include/grub/lib/crc.h: Likewise.
23026
23027 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
23028
23029 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
23030 (hexdump): Move this function to ...
23031
23032 * lib/hexdump.c: ... here.
23033
23034 * include/grub/hexdump.h: Renamed to ...
23035
23036 * include/grub/lib/hexdump.h: ... this.
23037
23038 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
23039
23040 * util/grub-editenv.c: Likewise.
23041
23042 * include/envblk.h: Renamed to ...
23043
23044 * include/lib/envblk.h: ... this.
23045
23046 * util/envblk.c: Renamed to ...
23047
23048 * lib/envblk.c: ... this.
23049
23050 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
23051 lib/hexdump.c.
23052 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
23053 (pkglib_MODULES): Add crc.mod.
23054 (hexdump_mod_SOURCES): Add lib/hexdump.c.
23055 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
23056 (crc_mod_SOURCES): New macro.
23057 (crc_mod_CFLAGS): Likewise.
23058 (crc_mod_LDFLAGS): Likewise.
23059
23060 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
23061
23062 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23063
23064 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23065
23066 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23067
23068 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23069
23070 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
23071
23072 * commands/help.c: Include <grub/term.h>.
23073 (TERM_WIDTH): Removed. Updated all users.
23074
23075 2008-07-27 Pavel Roskin <proski@gnu.org>
23076
23077 * util/getroot.c (find_root_device): Rephrase a comment to avoid
23078 spurious warnings about a comment within a comment.
23079
23080 2008-07-25 Robert Millan <rmh@aybabtu.com>
23081
23082 * util/getroot.c (find_root_device): Skip devices that match
23083 /dev/dm-[0-9]. This lets the real device be found for any type of
23084 abstraction (LVM, EVMS, RAID..).
23085 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
23086 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
23087 device is found first, find_root_device() will now skip it.
23088
23089 2008-07-24 Pavel Roskin <proski@gnu.org>
23090
23091 * include/grub/types.h: Use __builtin_bswap32() and
23092 __builtin_bswap64() with gcc 4.3 and newer.
23093
23094 2008-07-24 Christian Franke <franke@computer.org>
23095
23096 * util/i386/pc/grub-install.in: If `--debug' is specified,
23097 pass `--verbose' to grub-setup.
23098 Abort script if make_system_path_relative_to_its_root() fails.
23099
23100 2008-07-24 Bean <bean123ch@gmail.com>
23101
23102 * configure.ac: Fixed a bug caused by the previous cygwin patch,
23103 variable `target_platform' should be `platform'.
23104
23105 2008-07-24 Bean <bean123ch@gmail.com>
23106
23107 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
23108 (grub_png_init_fixed_block): New function.
23109 (grub_png_decode_image_data): Handle fixed huffman code compression.
23110
23111 2008-07-24 Bean <bean123ch@gmail.com>
23112
23113 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
23114 (grub_pe2elf_SOURCES): New macro.
23115 (CLEANFILES): Add grub-pe2elf.
23116
23117 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
23118 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
23119 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
23120 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
23121 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
23122 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
23123 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
23124 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
23125 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
23126 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
23127 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
23128 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
23129 (GRUB_PE32_DT_FUNCTION): Likewise.
23130 (GRUB_PE32_REL_I386_DIR32): Likewise.
23131 (GRUB_PE32_REL_I386_REL32): Likewise.
23132 (grub_pe32_symbol): New structure.
23133 (grub_pe32_reloc): Likewise.
23134
23135 * util/grub-pe2elf.c: New file.
23136
23137 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
23138 start symbol in non pc platform.
23139
23140 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
23141
23142 The following patches are from Christian Franke.
23143
23144 * include/grub/dl.h: Remove .previous, gas supports this only
23145 for ELF format.
23146
23147 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
23148 Remove .type, gas supports this only for ELF format.
23149
23150 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
23151 nullbytes in symbol table. This fixes an infinite loop if table is
23152 zero filled.
23153
23154 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23155 TARGET_IMG_LDFLAGS and EXEEXT.
23156
23157 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23158 TARGET_IMG_LDFLAGS_AC.
23159 (grub_CHECK_STACK_ARG_PROBE): New function.
23160
23161 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23162
23163 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23164
23165 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23166 to set TARGET_IMG_LD* accordingly.
23167 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23168 Add call to grub_CHECK_STACK_ARG_PROBE.
23169 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23170
23171 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23172
23173 * genmk.rb: Add EXEEXT to CLEANFILES.
23174
23175 2008-07-23 Robert Millan <rmh@aybabtu.com>
23176
23177 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23178 define the codes for arrows and lines used for the menu).
23179 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23180 as well.
23181
23182 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23183 fonts, because the latter are too slow.
23184
23185 2008-07-21 Bean <bean123ch@gmail.com>
23186
23187 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23188 a20. Run keyboard test last, as it will cause macbook to halt.
23189
23190 2008-07-18 Pavel Roskin <proski@gnu.org>
23191
23192 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23193 load foreign architecture modules correctly anyway. Keep
23194 support for loading host architecture modules, whether we
23195 compile them or not.
23196
23197 2008-07-17 Pavel Roskin <proski@gnu.org>
23198
23199 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23200 change target_cpu. The compiler default can mismatch target_cpu
23201 in any case.
23202
23203 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23204 * kern/efi/efi.c: Likewise.
23205
23206 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23207 target compiler is functional.
23208 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23209 are set up.
23210
23211 * configure.ac: Default to efi platform for x86_64-apple. Allow
23212 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23213 adjustments from the rest, only do them if target is not
23214 explicitly given. Merge other adjustments with the final sanity
23215 check. Remove an extraneous check for supported CPU. Be
23216 specific which CPU and which platform is not supported.
23217
23218 * configure.ac: Default to pc platform for x86_64.
23219
23220 2008-07-17 Robert Millan <rmh@aybabtu.com>
23221
23222 Partial LinuxBIOS -> Coreboot rename.
23223
23224 * conf/i386-linuxbios.rmk: Renamed to ...
23225 * conf/i386-coreboot.rmk: ... this.
23226 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23227 * configure.ac: Accept "coreboot" as input platform (but maintain
23228 compatibility with "linuxbios").
23229 * include/grub/i386/linuxbios: Renamed to ...
23230 * include/grub/i386/coreboot: ... this.
23231
23232 2008-07-17 Bean <bean123ch@gmail.com>
23233
23234 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
23235 (appleldr_mod_SOURCE): New variable.
23236 (appleldr_mod_CFLAGS): Likewise.
23237 (appleldr_mod_LDFLAGS): Likewise.
23238 (pci_mod_SOURCES): Likewise.
23239 (pci_mod_CFLAGS): Likewise.
23240 (pci_mod_LDFLAGS): Likewise.
23241 (lspci_mod_SOURCES): Likewise.
23242 (lspci_mod_CFLAGS): Likewise.
23243 (lspci_mod_LDFLAGS): Likewise.
23244
23245 * conf/x86_64-efi.rmk: New file.
23246
23247 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
23248 macro.
23249 (grub_efidisk_write): Likewise.
23250
23251 * include/efi/api.h (efi_call_0): New macro.
23252 (efi_call_1): Likewise.
23253 (efi_call_2): Likewise.
23254 (efi_call_3): Likewise.
23255 (efi_call_4): Likewise.
23256 (efi_call_5): Likewise.
23257 (efi_call_6): Likewise.
23258
23259 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
23260 grub_rescue_cmd_chainloader.
23261
23262 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
23263 (grub_pe32_optional_header): Change some fields based on i386 or
23264 x86_64 platform.
23265 (GRUB_PE32_PE32_MAGIC): Likewise.
23266
23267 * include/grub/efi/uga_draw.h: New file.
23268
23269 * include/grub/elf.h (STN_ABS): New constant.
23270 (R_X86_64_NONE): Relocation constant for x86_64.
23271 (R_X86_64_64): Likewise.
23272 (R_X86_64_PC32): Likewise.
23273 (R_X86_64_GOT32): Likewise.
23274 (R_X86_64_PLT32): Likewise.
23275 (R_X86_64_COPY): Likewise.
23276 (R_X86_64_GLOB_DAT): Likewise.
23277 (R_X86_64_JUMP_SLOT): Likewise.
23278 (R_X86_64_RELATIVE): Likewise.
23279 (R_X86_64_GOTPCREL): Likewise.
23280 (R_X86_64_32): Likewise.
23281 (R_X86_64_32S): Likewise.
23282 (R_X86_64_16): Likewise.
23283 (R_X86_64_PC16): Likewise.
23284 (R_X86_64_8): Likewise.
23285 (R_X86_64_PC8): Likewise.
23286
23287 * include/grub/i386/efi/pci.h: New file.
23288
23289 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
23290 Change it value based on platform.
23291 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
23292 (GRUB_E820_RAM): Likewise.
23293 (GRUB_E820_RESERVED): Likewise.
23294 (GRUB_E820_ACPI): Likewise.
23295 (GRUB_E820_NVS): Likewise.
23296 (GRUB_E820_EXEC_CODE): Likewise.
23297 (GRUB_E820_MAX_ENTRY): Likewise.
23298 (grub_e820_mmap): New structure.
23299 (linux_kernel_header): Change the efi field according to different
23300 kernel version, also field from linux_kernel_header.
23301
23302 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
23303
23304 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
23305 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
23306 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
23307 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
23308 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
23309 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
23310 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
23311 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
23312 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
23313 (GRUB_PCI_ADDR_IO_MASK): Likewise.
23314
23315 * include/grub/x86_64/efi/kernel.h: New file.
23316
23317 * include/grub/x86_64/efi/loader.h: Likewise.
23318
23319 * include/grub/x86_64/efi/machine.h: Likewise.
23320
23321 * include/grub/x86_64/efi/pci.h: Likewise.
23322
23323 * include/grub/x86_64/efi/time.h: Likewise.
23324
23325 * include/grub/x86_64/linux.h: Likewise.
23326
23327 * include/grub/x86_64/setjmp.h: Likewise.
23328
23329 * include/grub/x86_64/time.h: Likewise.
23330
23331 * include/grub/x86_64/types.h: Likewise.
23332
23333 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
23334 GRUB_TARGET_SIZEOF_VOID_P.
23335
23336 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
23337 (grub_efi_locate_handle): Likewise.
23338 (grub_efi_open_protocol): Likewise.
23339 (grub_efi_set_text_mode): Likewise.
23340 (grub_efi_stall): Likewise.
23341 (grub_exit): Likewise.
23342 (grub_reboot): Likewise.
23343 (grub_halt): Likewise.
23344 (grub_efi_exit_boot_services): Likewise.
23345 (grub_get_rtc): Likewise.
23346
23347 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
23348 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
23349 (grub_efi_allocate_pages): Wrap efi calls.
23350 (grub_efi_free_pages): Wrap efi calls.
23351 (grub_efi_get_memory_map): Wrap efi calls.
23352
23353 * kern/x86_64/dl.c: New file.
23354
23355 * kern/x86_64/efi/callwrap.S: Likewise.
23356
23357 * kern/x86_64/efi/startup.S: Likewise.
23358
23359 * loader/efi/appleloader.c: Likewise.
23360
23361 * loader/efi/chainloader.c (cmdline): New variable.
23362 (grub_chainloader_unload): Wrap efi calls.
23363 (grub_chainloader_boot): Likewise.
23364 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
23365 command line.
23366
23367 * loader/efi/chainloader_normal.c (chainloader_command):
23368 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
23369 command line.
23370
23371 * loader/i386/efi/linux.c (allocate_pages): Change allocation
23372 method.
23373 (grub_e820_add_region): New function.
23374 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
23375 booting.
23376 (grub_find_video_card): New function.
23377 (grub_linux_setup_video): New function.
23378 (grub_rescue_cmd_linux): Probe for video information.
23379
23380 * normal/x86_64/setjmp.S: New file.
23381
23382 * term/efi/console.c (map_char): New function.
23383 (grub_console_putchar): Map unicode char.
23384 (grub_console_checkkey): Wrap efi calls.
23385 (grub_console_getkey): Likewise.
23386 (grub_console_getwh): Likewise.
23387 (grub_console_gotoxy): Likewise.
23388 (grub_console_cls): Likewise.
23389 (grub_console_setcolorstate): Likewise.
23390 (grub_console_setcursor): Likewise.
23391
23392 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23393
23394 2008-07-16 Pavel Roskin <proski@gnu.org>
23395
23396 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23397 format strings.
23398
23399 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23400 pointer, not an integer. This fixes a warning and prevents
23401 precision loss on 64-bit systems.
23402 (relocate_addresses): Remove unneeded cast.
23403
23404 2008-07-15 Pavel Roskin <proski@gnu.org>
23405
23406 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23407
23408 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23409
23410 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
23411 Fix comparison between signed and unsigned.
23412
23413 * include/grub/i386/ieee1275/console.h: Declare
23414 grub_console_init() and grub_console_fini().
23415
23416 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
23417 It's empty and unused.
23418
23419 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
23420 beginning to avoid warnings with some compilers.
23421
23422 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
23423 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
23424
23425 2008-07-14 Pavel Roskin <proski@gnu.org>
23426
23427 * kern/env.c (grub_register_variable_hook): Don't copy empty
23428 string, it leaks memory. Pass "" to grub_env_set(), it should
23429 handle constant strings.
23430
23431 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
23432 * commands/cmp.c (grub_cmd_cmp): Likewise.
23433 * kern/dl.c (grub_dl_flush_cache): Likewise.
23434 (grub_dl_load_core): Likewise.
23435 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
23436 (grub_elf64_load_phdrs): Likewise.
23437
23438 2008-07-13 Pavel Roskin <proski@gnu.org>
23439
23440 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
23441 between signed and unsigned.
23442 (LzmaEnc_Finish): Fix warning about an unused parameter.
23443
23444 2008-07-13 Bean <bean123ch@gmail.com>
23445
23446 * Makefile.in (enable_lzo): New rule.
23447
23448 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
23449
23450 * configure.ac (ENABLE_LZO): New option --enable-lzo.
23451
23452 * boot/i386/pc/lnxboot.S: #include <config.h>.
23453
23454 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
23455 its value according to the compression algorithm used, lzo or lzma.
23456
23457 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
23458 compression algorithm according to configure macro.
23459
23460 * kern/i386/pc/startup.S (codestart): Likewise.
23461
23462 * kern/i386/pc/lzma_decode.S: New file.
23463
23464 * include/grub/lib/LzFind.h: Likewise.
23465
23466 * include/grub/lib/LzHash.h: Likewise.
23467
23468 * include/grub/lib/LzmaDec.h: Likewise.
23469
23470 * include/grub/lib/LzmaEnc.h: Likewise.
23471
23472 * include/grub/lib/LzmaTypes.h: Likewise.
23473
23474 * lib/LzFind.c: Likewise.
23475
23476 * lib/LzmaDec.c: Likewise.
23477
23478 * lib/LzmaEnc.c: Likewise.
23479
23480 2008-07-13 Bean <bean123ch@gmail.com>
23481
23482 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
23483 (grub_ext4_extent_header): New structure.
23484 (grub_ext4_extent): Likewise.
23485 (grub_ext4_extent_idx): Likewise.
23486 (grub_ext4_find_leaf): New function.
23487 (grub_ext2_read_block): Handle extents.
23488
23489 2008-07-12 Robert Millan <rmh@aybabtu.com>
23490
23491 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
23492
23493 2008-07-11 Robert Millan <rmh@aybabtu.com>
23494
23495 * util/grub.d/40_custom.in: New file. Example on how to add custom
23496 entries to /etc/grub.d.
23497 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
23498 40_custom (implicitly, by merging all the grub.d rules).
23499
23500 2008-07-11 Pavel Roskin <proski@gnu.org>
23501
23502 * commands/read.c (grub_getline): Fix invalid memory access.
23503 Don't add newline to the variable value.
23504
23505 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
23506 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
23507 (serial_hw_get_port): Check validity of the port number.
23508 (grub_cmd_serial): Check return value of serial_hw_get_port().
23509
23510 2008-07-07 Pavel Roskin <proski@gnu.org>
23511
23512 * boot/i386/pc/diskboot.S (notification_string): Replace
23513 "Loading kernel" with just "loading". This is shorter, less
23514 confusing and saves a few bytes for possible future changes.
23515
23516 2008-07-05 Pavel Roskin <proski@gnu.org>
23517
23518 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
23519 size for ATAPI devices, they are undefined. Output sector
23520 number in decimal form.
23521
23522 * disk/ata.c: Use named constants for status bits.
23523
23524 2008-07-04 Pavel Roskin <proski@gnu.org>
23525
23526 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
23527 grub_addr_t before casting it to the void pointer to fix a
23528 warning. Non-addressable regions are discarded earlier.
23529 (grub_arch_modules_addr): Cast _end to grub_addr_t.
23530 * kern/i386/linuxbios/table.c: Include grub/misc.h.
23531 (check_signature): Don't shadow table_header.
23532 (grub_linuxbios_table_iterate): Cast numeric constants to
23533 grub_linuxbios_table_header_t.
23534 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
23535 grub_stop().
23536
23537 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
23538 prevent warnings.
23539
23540 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
23541 pointer, which can cause warnings. Support 64-bit addresses.
23542
23543 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
23544 of sizeof(long). This fixes PowerPC image generation on x86_64.
23545
23546 2008-07-04 Robert Millan <rmh@aybabtu.com>
23547
23548 This fixes a performance issue when pc & gpt partmap iterators
23549 didn't abort iteration even after our hook found what it was
23550 looking for (often causing expensive probes of non-existent drives).
23551
23552 Some callers relied on previous buggy behaviour, since they would
23553 raise an error when their own hooks caused early abortion of its
23554 iteration.
23555
23556 * kern/device.c (grub_device_open): Improve error message.
23557 * disk/lvm.c (grub_lvm_open): Likewise.
23558 * disk/raid.c (grub_raid_open): Likewise.
23559
23560 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
23561 when hook requests it, independently of grub_errno.
23562 (pc_partition_map_probe): Do not fail when find_func() caused
23563 early abortion of pc_partition_map_iterate().
23564
23565 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
23566 when hook requests it, independently of grub_errno.
23567 (gpt_partition_map_probe): Do not fail when find_func() caused
23568 early abortion of gpt_partition_map_iterate().
23569
23570 * kern/partition.c (grub_partition_iterate): Abort parent iteration
23571 when hook requests it, independently of grub_errno. Do not fail when
23572 part_map_iterate_hook() caused early abortion of p->iterate().
23573
23574 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
23575 when grub_partition_iterate() returned with non-zero.
23576
23577 2008-07-03 Pavel Roskin <proski@gnu.org>
23578
23579 * disk/ata.c (grub_ata_pio_write): Check status before writing,
23580 like we do in grub_ata_pio_read().
23581 (grub_ata_readwrite): Always write individual sectors. Fix the
23582 sector count for the remainder.
23583 (grub_ata_write): Enable writing to ATA devices. Correctly
23584 report error for ATAPI devices.
23585
23586 2008-07-02 Pavel Roskin <proski@gnu.org>
23587
23588 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
23589 warning.
23590
23591 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
23592 for every read sector, we already increment it for the whole
23593 batch. This fixes reading more than 256 sectors at once.
23594
23595 * util/grub-editenv.c (cmd_info): Cast argument to long
23596 explicitly. ptrdiff_t reduces to int on i386.
23597
23598 * util/grub-editenv.c (main): Be specific which parameter is
23599 missing.
23600
23601 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
23602 (memdisk): Make memdisk_orig_addr a pointer.
23603
23604 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
23605 for file offsets, use grub_off_t instead. Fix printf format
23606 warnings.
23607
23608 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
23609 there. Real unexpected warnings should not drown in the noise
23610 about known problems.
23611
23612 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
23613 grub_disk_addr_t for memory addresses.
23614
23615 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
23616 explicitly to fix a warning.
23617
23618 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
23619
23620 * Makefile.in (MODULE_LDFLAGS): New variable.
23621 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
23622 the linker accepts --build-id=none.
23623 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
23624 MODULE_LDFLAGS.
23625 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
23626
23627 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
23628 those in Linux XFS code. Provide a way to access 64-bit parent
23629 inode.
23630 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
23631 the end of struct grub_xfs_dir_header.
23632
23633 2008-07-02 Bean <bean123ch@gmail.com>
23634
23635 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
23636 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23637 and GRUB_IEEE1275_FLAG_NO_ANSI.
23638
23639 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
23640 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23641 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
23642
23643 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
23644 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
23645
23646 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
23647 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
23648
23649 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
23650 esc sequence on non ANSI terminal.
23651 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
23652
23653 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
23654 beginning of file.
23655
23656 2008-07-02 Bean <bean123ch@gmail.com>
23657
23658 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
23659 (grub_editenv_SOURCES): New variable.
23660 (pkglib_MODULES): Add loadenv.mod.
23661 (loadenv_mod_SOURCES): New variable.
23662 (loadenv_mod_CFLAGS): Likewise.
23663 (loadenv_mod_LDFLAGS): Likewise.
23664
23665 * include/grub/envblk.h: New file.
23666
23667 * util/envblk.c: New file.
23668
23669 * util/grub-editenv.c: New file.
23670
23671 * commands/loadenv.c: New file.
23672
23673 2008-07-01 Pavel Roskin <proski@gnu.org>
23674
23675 * include/multiboot2.h (struct multiboot_tag_module): Use char,
23676 not unsigned char. This fixes warnings and is consistent with
23677 other tags.
23678
23679 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
23680
23681 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
23682
23683 * term/tparm.c (analyze): Always set *popcount.
23684
23685 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
23686 cast to fix a warning.
23687
23688 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
23689 cast to suppress a warning.
23690
23691 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
23692 grub_fshelp_read_file() expects.
23693
23694 * fs/fat.c: Fix UUID calculation on big-endian systems. We
23695 write uuid as a 32-bit value in CPU byte order, so declare and
23696 use it as such.
23697
23698 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
23699 long if the format specifier expects it.
23700 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
23701 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23702 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
23703 long to fix a warning.
23704 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
23705 grub_dprintf() arguments to fix warnings.
23706
23707 2008-06-30 Pavel Roskin <proski@gnu.org>
23708
23709 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
23710 install_bsd_part immediately before core.img is embedded or
23711 modified on disk. This fixes core.img verification if core.img
23712 cannot be embedded.
23713
23714 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
23715 core_path to calculate the blocklist.
23716 Patch from Javier Martín <lordhabbit@gmail.com>
23717
23718 2008-06-29 Robert Millan <rmh@aybabtu.com>
23719
23720 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
23721 block to disk block.
23722 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
23723 Patch from Niels Böhm <bitbucket@arcor.de>
23724
23725 2008-06-29 Robert Millan <rmh@aybabtu.com>
23726
23727 * util/update-grub_lib.in (font_path): Search for fonts in
23728 /boot/grub first, which is more likely to be readable (we aren't
23729 deciding where fonts live, just looking for them).
23730
23731 2008-06-26 Pavel Roskin <proski@gnu.org>
23732
23733 * util/biosdisk.c (read_device_map): Don't leave dead map
23734 entries for devices failing stat() check.
23735
23736 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
23737 core_path_dev for the core.img path on the target device.
23738
23739 2008-06-26 Robert Millan <rmh@aybabtu.com>
23740
23741 * disk/fs_uuid.c: New file.
23742 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
23743 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
23744 (fs_uuid_mod_LDFLAGS): New variables.
23745 * include/grub/disk.h (grub_disk_dev_id): Add
23746 `GRUB_DISK_DEVICE_UUID_ID'.
23747 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
23748 implement iterate().
23749
23750 2008-06-26 Robert Millan <rmh@aybabtu.com>
23751
23752 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
23753 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
23754 Linux image includes no initrd.
23755
23756 2008-06-21 Javier Martín <lordhabbit@gmail.com>
23757
23758 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
23759 call to resolve the core image location that effectively appended the
23760 name twice.
23761
23762 2008-06-21 Robert Millan <rmh@aybabtu.com>
23763
23764 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
23765 call from here ...
23766
23767 * util/grub.d/10_hurd.in: ... to here ...
23768 * util/grub.d/10_linux.in: ... and here.
23769
23770 2008-06-19 Robert Millan <rmh@aybabtu.com>
23771
23772 * kern/main.c (grub_main): Export `prefix' variable immediately
23773 after it has been set by grub_machine_set_prefix().
23774
23775 2008-06-19 Robert Millan <rmh@aybabtu.com>
23776
23777 * commands/search.c (search_label, search_fs_uuid, search_file): Print
23778 search result when not saving to variable, not the other way around.
23779 When saving to variable, abort iteration as soon as a match is found.
23780
23781 2008-06-19 Robert Millan <rmh@aybabtu.com>
23782
23783 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
23784 check for partition that provides /boot/grub. Its logic is flawed,
23785 as it prevents prepare_grub_to_access_device() from being called
23786 multiple times.
23787
23788 2008-06-19 Robert Millan <rmh@aybabtu.com>
23789
23790 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
23791 "insmod" command directly when abstraction modules are needed,
23792 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
23793 since it had already been processed).
23794
23795 2008-06-19 Pavel Roskin <proski@gnu.org>
23796
23797 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
23798 changed. This is needed in case GRUB_LIBDIR changes.
23799 * conf/i386-ieee1275.rmk: Likewise.
23800 * conf/i386-linuxbios.rmk: Likewise.
23801 * conf/i386-pc.rmk: Likewise.
23802 * conf/powerpc-ieee1275.rmk: Likewise.
23803
23804 2008-06-18 Pavel Roskin <proski@gnu.org>
23805
23806 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
23807 kernel_elf_symlist.c to symlist.c for consistency with other
23808 architectures. Update all users.
23809 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23810
23811 2008-06-18 Robert Millan <rmh@aybabtu.com>
23812
23813 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
23814 it in prefix.
23815
23816 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
23817 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
23818 a RAID device, run setup() for all members independently on whether
23819 LVM abstraction is being used.
23820 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
23821 If grub-mkimage has set `*install_dos_part == -2', don't override this
23822 value.
23823 Perform *install_dos_part adjustments independently on whether
23824 we're embedding or not.
23825 Clarify error message when image is too big for embedding.
23826 Remove duplicate *install_dos_part stanza.
23827
23828 2008-06-17 Robert Millan <rmh@aybabtu.com>
23829
23830 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
23831 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
23832 variables.
23833 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
23834 values in grub_ofconsole_normal_color and
23835 grub_ofconsole_highlight_color (they're not directly related to
23836 background and foreground).
23837 (grub_ofconsole_setcolorstate): Extract background and foreground
23838 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
23839
23840 2008-06-17 Robert Millan <rmh@aybabtu.com>
23841
23842 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
23843 /boot/grub for the check in last commit, not /boot (they could be
23844 different partitions).
23845
23846 2008-06-16 Robert Millan <rmh@aybabtu.com>
23847
23848 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
23849 asked to setup access for the same partition that provides /boot,
23850 don't bother using UUIDs since our root already has the value we
23851 want.
23852
23853 2008-06-16 Robert Millan <rmh@aybabtu.com>
23854
23855 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
23856 I2O devices.
23857 Patch from Sven Mueller <sven@debian.org>.
23858
23859 2008-06-16 Robert Millan <rmh@aybabtu.com>
23860
23861 * util/update-grub.in: Check for $EUID instead of $UID.
23862 Reported by Vincent Zweije.
23863
23864 2008-06-16 Bean <bean123ch@gmail.com>
23865
23866 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
23867 (grub_ext2_read_block): Likewise.
23868 (grub_ext2_read_inode): Likewise.
23869 (grub_ext2_mount): Likewise.
23870 (grub_ext2_close): Likewise.
23871 (grub_ext3_get_journal): Removed.
23872
23873 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
23874 (grub_reiserfs_read_symlink): Likewise.
23875 (grub_reiserfs_mount): Likewise.
23876 (grub_reiserfs_open): Likewise.
23877 (grub_reiserfs_read): Likewise.
23878 (grub_reiserfs_close): Likewise.
23879 (grub_reiserfs_get_journal): Removed.
23880
23881 * fs/fshelp.c (grub_fshelp_read): Removed.
23882 (grub_fshelp_map_block): Likewise.
23883
23884 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
23885 (grub_fshelp_journal): Likewise.
23886 (grub_fshelp_read): Likewise.
23887 (grub_fshelp_map_block): Likewise.
23888
23889 2008-06-16 Pavel Roskin <proski@gnu.org>
23890
23891 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
23892 floating point anymore.
23893 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
23894
23895 2008-06-15 Pavel Roskin <proski@gnu.org>
23896
23897 * commands/ls.c (grub_ls_list_files): Use integer calculations
23898 for human readable format, avoid floating point use.
23899 * kern/misc.c (grub_ftoa): Remove.
23900 (grub_vsprintf): Remove floating point support.
23901
23902 2008-06-15 Robert Millan <rmh@aybabtu.com>
23903
23904 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
23905 devices.
23906 Reported by Max Vozeler.
23907
23908 2008-06-15 Robert Millan <rmh@aybabtu.com>
23909
23910 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
23911 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
23912 skipped later.
23913 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
23914 the beginning of the prefix.
23915
23916 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
23917 It is assumed that if we have a memdisk, grub-mkimage has set
23918 grub_prefix to include the "(memdisk)" drive in it.
23919
23920 2008-06-15 Robert Millan <rmh@aybabtu.com>
23921
23922 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
23923 Initialize keyboard controller after registering the terminal, so that
23924 grub_printf() can be called from grub_keyboard_controller_init().
23925
23926 2008-06-15 Robert Millan <rmh@aybabtu.com>
23927
23928 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
23929 extent-btree which is written as big endian on disk.
23930 Reported by Alain Greppin <al@chilibi.org>.
23931
23932 2008-06-14 Robert Millan <rmh@aybabtu.com>
23933
23934 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
23935 * util/i386/pc/grub-install.in (modules): Likewise.
23936
23937 2008-06-13 Pavel Roskin <proski@gnu.org>
23938
23939 * commands/ls.c (grub_ls_list_files): Fix format warnings.
23940
23941 2008-06-13 Bean <bean123ch@gmail.com>
23942
23943 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
23944
23945 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
23946
23947 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
23948 to indicate sparse block.
23949
23950 2008-06-12 Pavel Roskin <proski@gnu.org>
23951
23952 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
23953 number, grub_fshelp_read() does it for us.
23954
23955 * fs/fshelp.c (grub_fshelp_read): New function. Implement
23956 linear disk read with journal translation.
23957 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
23958 * include/grub/fshelp.h: Declare grub_fshelp_read().
23959
23960 2008-06-09 Pavel Roskin <proski@gnu.org>
23961
23962 * fs/minix.c (grub_minix_mount): Handle error reading
23963 superblock.
23964
23965 2008-06-08 Robert Millan <rmh@aybabtu.com>
23966
23967 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
23968 don't append the RAID prefix afterwards.
23969 Reported by Clint Adams.
23970
23971 2008-06-08 Robert Millan <rmh@aybabtu.com>
23972
23973 Based on description from Pavel:
23974 * kern/disk.c (grub_disk_check_range): Rename to ...
23975 (grub_disk_adjust_range): ... this. Add a comment explaining the
23976 tasks performed by this function.
23977
23978 2008-06-08 Robert Millan <rmh@aybabtu.com>
23979
23980 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
23981 `num_serial' (for consistency with other variables).
23982 (struct grub_ntfs_data): Add `uuid' member.
23983 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
23984 (grub_ntfs_uuid): New function.
23985 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
23986
23987 2008-06-07 Pavel Roskin <proski@gnu.org>
23988
23989 * util/biosdisk.c (open_device): Revert last change to the
23990 function, it broke installation. The sector needs to be
23991 different dependent on which device is opened.
23992
23993 2008-06-06 Robert Millan <rmh@aybabtu.com>
23994
23995 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
23996 rest of GRUB, and breakage doesn't happen if its value were modified.
23997
23998 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23999 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
24000 a constant (same value).
24001 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
24002 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
24003
24004 2008-06-06 Robert Millan <rmh@aybabtu.com>
24005
24006 * util/biosdisk.c (open_device): Do not modify sector offset when
24007 accessing a partition. kern/disk.c already handles this for us.
24008
24009 2008-06-06 Robert Millan <rmh@aybabtu.com>
24010
24011 * util/grub-emu.c (grub_machine_init): Move code in this function from
24012 here ...
24013 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
24014 segfault in case grub_printf() is called).
24015
24016 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
24017 grub_probe. Update all users not to explicitly add it again.
24018 (grub_device): New variable; contains corresponding device for grubdir.
24019 (fs_module, partmap_module, devabstraction_module): Pass
24020 `--device ${grub_device}' to grub_probe to avoid traversing /dev
24021 every time.
24022
24023 2008-06-05 Robert Millan <rmh@aybabtu.com>
24024
24025 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
24026 is found, print it (same layout as with labels).
24027
24028 2008-06-04 Robert Millan <rmh@aybabtu.com>
24029
24030 * util/biosdisk.c (get_drive): Rename to ...
24031 (find_grub_drive): ... this. Update all users.
24032
24033 (get_os_disk): Rename to ...
24034 (convert_system_partition_to_system_disk): ... this. Update all users.
24035
24036 (find_drive): Rename to ...
24037 (find_system_device): ... this. Update all users.
24038
24039 2008-06-04 Robert Millan <rmh@aybabtu.com>
24040
24041 * util/biosdisk.c (get_os_disk): Handle IDA devices.
24042 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24043 (make_device_map): Likewise.
24044
24045 2008-06-01 Robert Millan <rmh@aybabtu.com>
24046
24047 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
24048 before dereferencing it.
24049
24050 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
24051 union with fat12/fat16-specific ones. Add some new fields, including
24052 `num_serial' for both versions.
24053 (struct grub_fat_data): Add `uuid' member.
24054 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
24055 names. Initialize `data->uuid' using `num_serial'.
24056 (grub_fat_uuid): New function.
24057 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
24058
24059 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
24060 (grub_reiserfs_uuid): New function.
24061 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
24062 member.
24063
24064 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
24065 (grub_xfs_uuid): New function.
24066 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
24067
24068 2008-06-01 Robert Millan <rmh@aybabtu.com>
24069
24070 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
24071 code that is backward compatible with pre-uuid search command.
24072
24073 2008-05-31 Robert Millan <rmh@aybabtu.com>
24074
24075 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
24076 floppies after everything else, to ensure floppy drive isn't accessed
24077 unnecessarily (patch from Bean).
24078
24079 2008-05-31 Robert Millan <rmh@aybabtu.com>
24080
24081 * commands/search.c (search_label, search_fs_uuid, search_file): Do
24082 not print device names when we were asked to set a variable.
24083
24084 2008-05-31 Robert Millan <rmh@aybabtu.com>
24085
24086 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
24087 using "cursor-on" and "cursor-off" commands (understood at least by
24088 the Open Firmware flavour on OLPC).
24089
24090 2008-05-31 Michael Gorven <michael@gorven.za.net>
24091
24092 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
24093 on and off sequences.
24094
24095 2008-05-31 Robert Millan <rmh@aybabtu.com>
24096
24097 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
24098 * util/update-grub.in: Likewise.
24099
24100 2008-05-30 Pavel Roskin <proski@gnu.org>
24101
24102 * util/biosdisk.c (linux_find_partition): Simplify logic and
24103 make the code more universal. Keep special processing for
24104 devfs, but use a simple rule for all other devices. If the
24105 device ends with a number, append 'p' and the partition number.
24106 Otherwise, append only the partition number.
24107
24108 2008-05-30 Robert Millan <rmh@aybabtu.com>
24109
24110 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
24111 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
24112 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
24113 the `root' parameter to Linux.
24114
24115 2008-05-30 Robert Millan <rmh@aybabtu.com>
24116
24117 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
24118 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
24119 --fs_uuid with --fs-uuid.
24120 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
24121 all filesystems support them).
24122
24123 2008-05-30 Robert Millan <rmh@aybabtu.com>
24124
24125 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
24126 grub_printf() flags, since we're printing in units of 2 bytes.
24127
24128 2008-05-30 Robert Millan <rmh@aybabtu.com>
24129
24130 * util/grub.d/00_header.in: Remove obsolete comment referencing
24131 convert_system_path_to_grub_path().
24132 * util/update-grub.in: Likewise.
24133 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
24134 (convert_system_path_to_grub_path): Add a warning message explaining
24135 that this function is deprecated. Rely on is_path_readable_by_grub()
24136 for the readability checks.
24137 (font_path): Use is_path_readable_by_grub() for the readability
24138 check rather than convert_system_path_to_grub_path().
24139
24140 2008-05-30 Robert Millan <rmh@aybabtu.com>
24141
24142 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
24143 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
24144 converting it first.
24145 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
24146 grub.cfg for access to font file, and afterwards call it again to set
24147 the root device.
24148
24149 2008-05-30 Robert Millan <rmh@aybabtu.com>
24150
24151 * commands/search.c (options): Add --fs_uuid option.
24152 (search_fs_uuid): New function.
24153 (grub_cmd_search): Fix --set argument passing.
24154 Use search_fs_uuid() when requested via --fs_uuid.
24155 (grub_search_init): Update help message.
24156 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24157 and redeclare it as an array of 16-bit words.
24158 (grub_ext2_uuid): New function.
24159 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24160 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24161 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24162 (GRUB_DEVICE_BOOT_UUID): New variables.
24163 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24164 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24165 whenever possible.
24166 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24167 just assume `root' variable has the right value.
24168 * util/grub.d/10_linux.in: Likewise.
24169 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24170 via PRINT_FS_UUID.
24171 (main): Recognise `-t fs_uuid' argument.
24172
24173 2008-05-30 Robert Millan <rmh@aybabtu.com>
24174
24175 * util/biosdisk.c (map): Redefine structure to hold information
24176 about GRUB drive name.
24177 (get_drive): Reimplement without assuming (and verifying) BIOS-like
24178 drive names.
24179 (call_hook): Remove.
24180 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24181 member. Assume drive has partitions.
24182 (grub_util_biosdisk_open): Access device names via `.device' struct
24183 member.
24184 (open_device): Likewise.
24185 (find_drive): Likewise.
24186 (read_device_map): Adjust map[] usage to match the new struct
24187 definition. Don't check for duplicates (still possible, but not cheap
24188 anymore).
24189 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24190 (make_device_name): Remove assumption of BIOS-like drive names.
24191
24192 2008-05-30 Pavel Roskin <proski@gnu.org>
24193
24194 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24195 compiling execute.c doesn't need grub_script.tab.h anymore.
24196 (normal/command.c_DEPENDENCIES): Likewise.
24197 (normal/function.c_DEPENDENCIES): Likewise.
24198 * conf/i386-ieee1275.rmk: Likewise.
24199 * conf/i386-linuxbios.rmk: Likewise.
24200 * conf/i386-pc.rmk: Likewise.
24201 * conf/powerpc-ieee1275.rmk: Likewise.
24202 * conf/sparc64-ieee1275.rmk: Likewise.
24203
24204 2008-05-29 Pavel Roskin <proski@gnu.org>
24205
24206 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24207 when scanning metadata for volume group name.
24208
24209 * include/grub/script.h: Don't include grub_script.tab.h. It's
24210 a generated file, which may only be included from the files with
24211 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24212 use union YYSTYPE, as the later allows forward declaration.
24213 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24214
24215 2008-05-29 Robert Millan <rmh@aybabtu.com>
24216
24217 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24218 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24219 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24220 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24221 scan codes.
24222
24223 2008-05-29 Robert Millan <rmh@aybabtu.com>
24224
24225 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24226 control key combinations.
24227
24228 2008-05-29 Robert Millan <rmh@aybabtu.com>
24229
24230 * util/powerpc/ieee1275/grub-install.in: Move from here ...
24231 * util/ieee1275/grub-install.in: ... to here.
24232 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
24233 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
24234 (grub_install_SOURCES): Likewise.
24235
24236 2008-05-29 Robert Millan <rmh@aybabtu.com>
24237
24238 * fs/affs.c: Update copyright year.
24239 * fs/ext2.c: Likewise.
24240 * fs/fshelp.c: Likewise.
24241 * fs/hfsplus.c: Likewise.
24242 * fs/ntfs.c: Likewise.
24243 * fs/xfs.c: Likewise.
24244 * include/grub/fshelp.h: Likewise.
24245 * util/grub-mkdevicemap.c: Likewise.
24246
24247 2008-05-28 Robert Millan <rmh@aybabtu.com>
24248
24249 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
24250 might need to be fatfs to support some firmware implementations
24251 (e.g. OFW or EFI).
24252
24253 2008-05-28 Robert Millan <rmh@aybabtu.com>
24254
24255 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
24256 devices.
24257 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24258 (make_device_map): Likewise.
24259
24260 2008-05-20 Bean <bean123ch@gmail.com>
24261
24262 * fs/fshelp.c (grub_fshelp_map_block): New function.
24263 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
24264 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
24265
24266 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
24267 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
24268 (grub_fshelp_journal): New structure.
24269 (grub_fshelp_map_block): New function prototype.
24270 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
24271 (grub_fshelp_map_block): Likewise.
24272
24273 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
24274 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
24275 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
24276 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
24277 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
24278 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
24279 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
24280 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
24281 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
24282 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
24283 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
24284 (grub_ext2_sblock): New members for journal support.
24285 (grub_ext3_journal_header): New structure.
24286 (grub_ext3_journal_revoke_header): Likewise.
24287 (grub_ext3_journal_block_tag): Likewise.
24288 (grub_ext3_journal_sblock): Likewise.
24289 (grub_fshelp_node): New members logfile and journal.
24290 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
24291 grub_fshelp_map_block to get real block number.
24292 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
24293 number.
24294 (grub_ext2_read_inode): Likewise.
24295 (grub_ext3_get_journal): New function.
24296 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
24297 (grub_ext2_close): Release memory used by journal.
24298
24299 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
24300 (REISERFS_MAGIC_DESC_BLOCK): New macro.
24301 (grub_reiserfs_transaction_header): Renamed to
24302 grub_reiserfs_description_block, replace field data with real_blocks.
24303 (grub_reiserfs_commit_block): New structure.
24304 (grub_reiserfs_data): New member journal.
24305 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
24306 number.
24307 (grub_reiserfs_read_symlink): Likewise.
24308 (grub_reiserfs_iterate_dir): Likewise.
24309 (grub_reiserfs_open): Likewise.
24310 (grub_reiserfs_read): Likewise.
24311 (grub_reiserfs_get_journal): New function.
24312 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
24313 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
24314 using grub_reiserfs_get_journal.
24315 (grub_reiserfs_close): Release memory used by journal.
24316
24317 * fs/affs.c (grub_affs_read_block): Change block type to
24318 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
24319
24320 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
24321
24322 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
24323
24324 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
24325
24326 * fs/udf.c (grub_udf_read_block): Change block type to
24327 grub_disk_addr_t. Use type cast to avoid warning.
24328
24329 * fs/xfs.c (grub_xfs_read_block): Likewise.
24330
24331 2008-05-16 Christian Franke <franke@computer.org>
24332
24333 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
24334 to ensure that break with ESC will always work.
24335 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
24336 Remove ESC from keyboard queue.
24337
24338 2008-05-16 Christian Franke <franke@computer.org>
24339
24340 * util/biosdisk.c: [__CYGWIN__] Add includes.
24341 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
24342 (get_os_disk): Move variable declarations to OS specific
24343 parts to avoid warning.
24344 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
24345 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
24346 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
24347 Cygwin.
24348 * util/getroot.c: [__CYGWIN__] Add includes.
24349 (strip_extra_slashes): Fix "/" case.
24350 [__CYGWIN__] (get_win32_path): New function.
24351 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
24352 [__CYGWIN__] (find_root_device): Disable.
24353 [__CYGWIN__] (get_bootsec_serial): New function.
24354 [__CYGWIN__] (find_cygwin_root_device): Likewise.
24355 [__linux__] (grub_guess_root_device): Add early returns to simplify
24356 structure.
24357 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
24358 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
24359 check for Linux only.
24360
24361 2008-05-15 Bean <bean123ch@gmail.com>
24362
24363 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
24364 keyboard hang problem in apple's intel mac.
24365
24366 2008-05-09 Robert Millan <rmh@aybabtu.com>
24367
24368 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
24369 devices.
24370 * util/grub-mkdevicemap.c (get_virtio_disk_name)
24371 (make_device_map): Likewise.
24372 Reported by Aurelien Jarno <aurel32@debian.org>
24373
24374 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
24375
24376 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
24377 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
24378 (make_device_map): Output entries for xvd type disks.
24379
24380 2008-05-07 Robert Millan <rmh@aybabtu.com>
24381
24382 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
24383 devices.
24384 * util/grub-mkdevicemap.c (get_cciss_disk_name)
24385 (make_device_map): Likewise.
24386 Reported by Roland Dreier <rdreier@cisco.com>
24387
24388 2008-05-07 Robert Millan <rmh@aybabtu.com>
24389
24390 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
24391 grub_strstr() call. Correct a few mistakes in failure path handling.
24392
24393 2008-05-06 Robert Millan <rmh@aybabtu.com>
24394
24395 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24396 Do not print a trailing slash (therefore, the root directory is an
24397 empty string).
24398 (convert_system_path_to_grub_path): Do not remove trailing slash
24399 from make_system_path_relative_to_its_root() output.
24400
24401 * util/i386/pc/grub-install.in: Add trailing slash to output from
24402 make_system_path_relative_to_its_root().
24403
24404 2008-05-06 Robert Millan <rmh@aybabtu.com>
24405
24406 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24407 ensures that output lines aren't intermangled with those sent to
24408 stderr (via grub_util_info()).
24409 * util/grub-probe.c (grub_refresh): Likewise.
24410 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
24411
24412 2008-05-05 Christian Franke <franke@computer.org>
24413
24414 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
24415 Add Cygwin device names.
24416 (get_ide_disk_name) [__CYGWIN__]: Likewise.
24417 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
24418 (check_device): Return error instead of success on empty name.
24419 (make_device_map): Move label inside linux specific code to
24420 prevent compiler warning.
24421
24422 2008-04-30 Robert Millan <rmh@aybabtu.com>
24423
24424 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
24425 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
24426 first boot option.
24427 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
24428
24429 2008-04-29 Robert Millan <rmh@aybabtu.com>
24430
24431 * docs/grub.cfg: New file (example GRUB configuration).
24432
24433 2008-04-26 Robert Millan <rmh@aybabtu.com>
24434
24435 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
24436 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
24437 and `disk/ieee1275/nand.c'.
24438
24439 2008-04-25 Bean <bean123ch@gmail.com>
24440
24441 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
24442 i386-linuxbios.
24443
24444 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
24445 change the buffer size to 4096 for cdrom device.
24446
24447 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
24448 and nand.mod.
24449 (_linux_mod_SOURCES): New variable.
24450 (_linux_mod_CFLAGS): Likewise.
24451 (_linux_mod_LDFLAGS): Likewise.
24452 (linux_mod_SOURCES): Likewise.
24453 (linux_mod_CFLAGS): Likewise.
24454 (linux_mod_LDFLAGS): Likewise.
24455 (nand_mod_SOURCES): Likewise.
24456 (nand_mod_CFLAGS): Likewise.
24457 (nand_mod_LDFLAGS): Likewise.
24458
24459 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
24460 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
24461 type property. (nand device in olpc don't have this property)
24462
24463 * include/grub/disk.h (grub_disk_dev_id): New macro
24464 GRUB_DISK_DEVICE_NAND_ID.
24465
24466 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
24467 function prototype.
24468 (grub_rescue_cmd_initrd): Likewise.
24469
24470 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
24471 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
24472 ofw_cif_handler and ofw_idt, adjust padding number.
24473
24474 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
24475 GRUB_MACHINE_IEEE1275 is defined.
24476
24477 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
24478 Use NESTED_FUNC_ATTR attribute on the hook parameter.
24479
24480 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
24481 on nested function heap_init.
24482 (grub_upper_mem): New variable for i386-ieee1275.
24483 (grub_get_extended_memory): New function for i386-ieee1275.
24484 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
24485
24486 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
24487 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
24488 property.
24489
24490 * loader/i386/ieee1275/linux.c: New file.
24491
24492 * loader/i386/ieee1275/linux_normal.c: New file.
24493
24494 * disk/ieee1275/nand.c: New file.
24495
24496 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
24497
24498 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
24499 value.
24500 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
24501
24502 2008-04-18 Robert Millan <rmh@aybabtu.com>
24503
24504 Restructures early code path on ieee1275 to unify grub_main() as
24505 the first C function that is executed in every platform.
24506
24507 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
24508 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
24509 cmain().
24510 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
24511 * kern/ieee1275/cmain.c (cmain): Rename to ...
24512 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
24513 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
24514 at the beginning.
24515
24516 2008-04-18 Robert Millan <rmh@aybabtu.com>
24517
24518 * util/update-grub.in: Fix syntax error when setting
24519 `GRUB_PRELOAD_MODULES'.
24520 Reported by Stephane Chazelas <stephane@artesyncp.com>
24521
24522 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
24523
24524 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
24525 section into account, newer toolchains generate unique build ids
24526 * configure.ac: remove the test for --build-id=none acceptance,
24527 we want build ids to be preserved
24528 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
24529 far from other sections don't cause the raw binary images grow
24530 size
24531
24532 2008-04-15 Robert Millan <rmh@aybabtu.com>
24533
24534 * disk/lvm.c: Update copyright year.
24535 * kern/misc.c: Likewise.
24536
24537 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24538
24539 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
24540 there is no memory left for physical volume name.
24541
24542 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24543
24544 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
24545 volume name mapping to support bigger than 9 character names properly.
24546
24547 2008-04-13 Robert Millan <rmh@aybabtu.com>
24548
24549 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
24550 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
24551
24552 2008-04-13 Christian Franke <franke@computer.org>
24553
24554 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
24555 to create a floppy emulation boot CD when non emulation mode
24556 does not work.
24557 Enable Joliet CD filesystem extension.
24558
24559 2008-04-13 Robert Millan <rmh@aybabtu.com>
24560
24561 * kern/misc.c (grub_strncat): Fix off-by-one error.
24562 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
24563
24564 * kern/env.c (grub_env_context_close): Clear current context, not
24565 previous one.
24566 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
24567
24568 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
24569
24570 2008-04-13 Robert Millan <rmh@aybabtu.com>
24571
24572 Improve robustness when handling LVM.
24573
24574 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
24575 (and leave `*p' unmodified).
24576 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
24577 through it.
24578 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
24579 iterating through it.
24580 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
24581 through it.
24582 (grub_lvm_scan_device): Check the return value (and fail gracefully
24583 when due) on each grub_lvm_getvalue() or grub_strstr() call.
24584 Don't assume `vg->pvs != NULL' when iterating through it.
24585
24586 2008-04-13 Robert Millan <rmh@aybabtu.com>
24587
24588 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
24589 * genmk.rb (partmap): New variable.
24590 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
24591 (#{partmap}): New target rule.
24592 * genpartmaplist.sh: New file.
24593 * Makefile.in (pkglib_DATA): Add partmap.lst.
24594 (partmap.lst): New target rule.
24595 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
24596 modules (including all partition maps), instead of preloading them.
24597
24598 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
24599
24600 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
24601 `linux-boot-prober' (if installed) to detect other operating
24602 systems which are installed on the computer and add them to
24603 the boot menu.
24604 * conf/common.rmk: Build and install 30_os-prober.
24605
24606 2008-04-12 Robert Millan <rmh@aybabtu.com>
24607
24608 * kern/powerpc/ieee1275/init.c: Move from here ...
24609 * kern/ieee1275/init.c: ... to here. Update all users.
24610
24611 * kern/powerpc/ieee1275/cmain.c: Move from here ...
24612 * kern/ieee1275/cmain.c: ... to here. Update all users.
24613
24614 * kern/powerpc/ieee1275/openfw.c: Move from here ...
24615 * kern/ieee1275/openfw.c: ... to here. Update all users.
24616
24617 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
24618 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
24619
24620 2008-04-10 Pavel Roskin <proski@gnu.org>
24621
24622 * configure.ac: Always use "_cv_" in cache variables for
24623 compatibility with Autoconf 2.62.
24624
24625 2008-04-07 Robert Millan <rmh@aybabtu.com>
24626
24627 Revert grub/machine/init.h addition by Pavel (since it breaks on
24628 i386-ieee1275 and others):
24629 * util/i386/pc/misc.c: Remove grub/machine/init.h.
24630 * util/powerpc/ieee1275/misc.c: Likewise.
24631
24632 2008-04-07 Robert Millan <rmh@aybabtu.com>
24633
24634 * util/grub-probe.c (probe): Improve error message.
24635
24636 2008-04-07 Robert Millan <rmh@aybabtu.com>
24637
24638 * util/biosdisk.c (read_device_map): Skip devices that don't exist
24639 (this prevents the presence of a bogus entry from ruining the whole
24640 thing).
24641
24642 2008-04-06 Pavel Roskin <proski@gnu.org>
24643
24644 * util/biosdisk.c: Include grub/util/biosdisk.h.
24645 * util/grub-fstest.c (execute_command): Make static.
24646 * util/grub-mkdevicemap.c (check_device): Likewise.
24647 * util/i386/pc/misc.c: Include grub/machine/init.h.
24648 * util/powerpc/ieee1275/misc.c: Likewise.
24649 * util/lvm.c: Include grub/util/lvm.h.
24650 * util/misc.c: Include grub/kernel.h, grub/misc.h and
24651 grub/cache.h.
24652 * util/raid.c: Include grub/util/raid.h.
24653 (grub_util_getdiskname): Make static.
24654
24655 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
24656 grub_hostfs_fini(), as they are called from grub_init_all() and
24657 grub_fini_all() respectively. This fixes an infinite loop in
24658 grub-fstest due to double registration of hostfs.
24659 Reported by Christian Franke <Christian.Franke@t-online.de>
24660
24661 2008-04-05 Pavel Roskin <proski@gnu.org>
24662
24663 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
24664 all 8 functions. Otherwise, probe function 0 only.
24665
24666 2008-04-04 Pavel Roskin <proski@gnu.org>
24667
24668 * commands/lspci.c (grub_lspci_iter): Print the bus number
24669 correctly.
24670
24671 * commands/lspci.c (grub_pci_classes): Fix typos.
24672 (grub_lspci_iter): Don't print func twice. Print vendor ID
24673 before device ID, as it's normally done.
24674
24675 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
24676 Fix signedness warnings.
24677 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
24678 Likewise.
24679 * util/ieee1275/get_disk_name.c: Include config.h so that
24680 _GNU_SOURCE is defined and getline() is declared. Mark an
24681 unused argument as such. Fix a signedness warning.
24682
24683 2008-04-02 Pavel Roskin <proski@gnu.org>
24684
24685 * genkernsyms.sh.in: Use more robust assignments for CC and
24686 srcdir. Quote srcdir.
24687 * gensymlist.sh.in: Likewise. Assert at the compile time that
24688 the symbol table is not empty.
24689
24690 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
24691 * fs/cpio.c (grub_cpio_read): Likewise.
24692
24693 2008-04-01 Pavel Roskin <proski@gnu.org>
24694
24695 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
24696 * disk/host.c (grub_host_open): Likewise.
24697 * disk/loopback.c (grub_loopback_open): Likewise.
24698 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
24699 disk->id as in disk/host.c, not a multi-character constant.
24700
24701 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
24702 later is obsolete, potentially dangerous and sets a bad example.
24703 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
24704 * util/misc.c (grub_util_get_image_size): Likewise.
24705
24706 * disk/loopback.c (options): Improve help for "--partitions".
24707
24708 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
24709 options to align them with the short options, e.g. "echo -e".
24710
24711 2008-03-31 Bean <bean123ch@gmail.com>
24712
24713 * video/reader/png.c (grub_png_data): New member is_16bit and
24714 image_data.
24715 (grub_png_decode_image_header): Detect 16 bit png image.
24716 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
24717 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
24718 (grub_video_reader_png): Release memory occupied by image_data.
24719
24720 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
24721 4096 bytes.
24722 (grub_nfs_mount): Skip the test for sector per cluster.
24723
24724 * include/grub/ntfs.h (MAX_SPC): Removed.
24725
24726 2008-03-31 Bean <bean123ch@gmail.com>
24727
24728 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
24729 (grub_probe_SOURCES): Add fs/afs.c.
24730 (grub_fstest_SOURCES): Likewise.
24731 (afs_mod_SOURCES): New variable.
24732 (afs_mod_CFLAGS): Likewise.
24733 (afs_mod_LDFLAGS): Likewise.
24734
24735 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
24736 (grub_emu_SOURCES): Likewise.
24737
24738 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24739
24740 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24741
24742 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24743
24744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24745
24746 * fs/afs.c: New file.
24747
24748 2008-03-30 Pavel Roskin <proski@gnu.org>
24749
24750 * disk/host.c: Include grub/misc.h to fix a warning.
24751 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
24752 warnings about implicit declarations.
24753
24754 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
24755 variable.
24756 * include/grub/i386/loader.h: Change declaration of
24757 grub_linux_boot() to match what grub_loader_set() expects.
24758 * util/getroot.c (grub_guess_root_device): Return const char* to
24759 fix a warning.
24760 * util/grub-probe.c (probe): Fix a warning about uninitialized
24761 abstraction_name variable.
24762 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
24763 second argument as unused to fix a warning.
24764
24765 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
24766 missing grub_error() call.
24767
24768 * util/update-grub_lib.in: Define datarootdir, since Autoconf
24769 2.60 and newer uses it to define datadir.
24770
24771 * commands/sleep.c: Fix warning about implicit declaration.
24772 * disk/memdisk.c: Likewise.
24773 * loader/aout.c: Likewise.
24774 * loader/i386/bsd_normal.c: Likewise.
24775 * util/grub-probe.c: Likewise.
24776
24777 * commands/i386/cpuid.c (has_longmode): Make static.
24778 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
24779 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
24780
24781 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
24782 GDT. This is more robust, as %ds can change.
24783 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
24784 calling real_to_prot().
24785 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
24786
24787 2008-03-28 Pavel Roskin <proski@gnu.org>
24788
24789 * kern/i386/pc/startup.S: Assert that uncompressed functions
24790 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
24791 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
24792 code, as they push parts of the code (error handlers) beyond
24793 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
24794 code as correctness and size.
24795
24796 2008-03-28 Pavel Roskin <proski@gnu.org>
24797
24798 * kern/i386/pc/startup.S
24799 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
24800 data block address to the real mode, keep offset minimal. This
24801 works around a bug in AWARD BIOS on old Athlon systems, which
24802 makes CD detection hang.
24803
24804 2008-03-26 Pavel Roskin <proski@gnu.org>
24805
24806 * normal/color.c (grub_parse_color_name_pair): Make `name' a
24807 const.
24808 * include/grub/normal.h: Add grub_parse_color_name_pair()
24809 declaration.
24810
24811 2008-03-24 Bean <bean123ch@gmail.com>
24812
24813 * disk/i386/pc/biosdisk.c (cd_start): Removed.
24814 (cd_count): Removed.
24815 (cd_drive): New variable.
24816 (grub_biosdisk_get_drive): Don't check for (cdN) device.
24817 (grub_biosdisk_call_hook): Likewise.
24818 (grub_biosdisk_iterate): Change cdrom detection method.
24819 (grub_biosdisk_open): Replace cd_start with cd_drive.
24820 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
24821 detect cdrom device.
24822
24823 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
24824 Removed.
24825 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
24826 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
24827 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
24828 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
24829 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
24830 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
24831 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
24832 (grub_biosdisk_cdrp): New structure.
24833 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
24834
24835 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
24836
24837 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
24838 device.
24839
24840 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
24841 New function.
24842
24843 2008-03-20 Robert Millan <rmh@aybabtu.com>
24844
24845 Remove 2 TiB limit in ata.mod.
24846 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
24847 (grub_ata_dumpinfo): Print sector count with 0x%llx.
24848 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
24849 grub_uint64_t instead of grub_uint32_t.
24850
24851 2008-03-05 Bean <bean123ch@gmail.com>
24852
24853 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
24854 (grub_multiboot): Set boot device.
24855
24856 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
24857
24858 2008-03-02 Bean <bean123ch@gmail.com>
24859
24860 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
24861 symlink_buffer.
24862
24863 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
24864
24865 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
24866 texinfo.tex.
24867
24868 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
24869 modified.
24870
24871 * docs/fdl.texi: New file.
24872
24873 * docs/mdate-sh: New file. Copied from gnulib.
24874 * docs/texinfo.tex: Likewise.
24875
24876 * config.guess: Updated from gnulib.
24877 * install-sh: Likewise.
24878
24879 2008-02-28 Robert Millan <rmh@aybabtu.com>
24880
24881 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
24882 (aout_mod_SOURCES): New variable.
24883 (aout_mod_CFLAGS): Likewise.
24884 (aout_mod_LDFLAGS): Likewise.
24885
24886 * conf/i386-ieee1275.rmk: Likewise.
24887
24888 2008-02-28 Robert Millan <rmh@aybabtu.com>
24889
24890 * util/update-grub.in: Reorganise terminal validity check. Accept
24891 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
24892 Based on suggestion by Franklin PIAT.
24893
24894 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
24895
24896 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
24897 function.
24898 * util/getroot.c (grub_util_check_block_device): New function that
24899 returns the given argument if it is a block device and returns NULL else.
24900 * util/grub-probe.c (argument_is_device): New variable.
24901 (probe): Promote device_name from a variable to an argument. Receive
24902 device_name from grub_util_check_block_device() if path is NULL and from
24903 grub_guess_root_device() else. Do not free() device_name anymore.
24904 (options): Introduce new parameter '-d, --device'.
24905 (main): Add description of the new parameter to the help screen.
24906 Rename path variable to argument. Set argument_is_device if the '-d'
24907 option is given. Pass argument to probe() depending on
24908 argument_is_device.
24909
24910 2008-02-24 Bean <bean123ch@gmail.com>
24911
24912 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
24913 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
24914 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
24915 (GRUB_ISO9660_VOLDESC_PART): Likewise.
24916 (GRUB_ISO9660_VOLDESC_END): Likewise.
24917 (grub_iso9660_primary_voldesc): New member escape.
24918 (grub_iso9660_data): New member joliet.
24919 (grub_iso9660_convert_string): New function.
24920 (grub_iso9660_mount): Detect joliet extension.
24921 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
24922 (grub_iso9660_iso9660_label): Likewise.
24923
24924 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
24925 (grub_setup_SOURCES): Add fs/udf.c.
24926 (grub_fstest_SOURCES): Likewise.
24927 (udf_mod_SOURCES): New variable.
24928 (udf_mod_CFLAGS): Likewise.
24929 (udf_mod_LDFLAGS): Likewise.
24930
24931 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
24932 (grub_emu_SOURCES): Likewise.
24933
24934 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24935
24936 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24937
24938 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24939
24940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24941
24942 * fs/udf.c: New file.
24943
24944 2008-02-24 Robert Millan <rmh@aybabtu.com>
24945
24946 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
24947 (normal/lexer.c_DEPENDENCIES): New variables.
24948 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24949 (normal/lexer.c_DEPENDENCIES): Likewise.
24950 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
24951 (normal/lexer.c_DEPENDENCIES): Likewise.
24952 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
24953 (normal/lexer.c_DEPENDENCIES): Likewise.
24954 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24955 (normal/lexer.c_DEPENDENCIES): Likewise.
24956 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24957 (normal/lexer.c_DEPENDENCIES): Likewise.
24958
24959 2008-02-23 Robert Millan <rmh@aybabtu.com>
24960
24961 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
24962 since they were intended to be in hex. This didn't break previously
24963 because of a bug in gpt_partition_map_iterate() (see below).
24964
24965 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
24966 when checking the validity of GPT header.
24967 Remove `partno', since it always provides the same information as `i'.
24968
24969 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
24970
24971 * include/grub/efi/time.h: Fix a wrong comment.
24972
24973 2008-02-19 Pavel Roskin <proski@gnu.org>
24974
24975 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
24976 message.
24977
24978 2008-02-19 Bean <bean123ch@gmail.com>
24979
24980 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
24981 (aout_mod_SOURCES): New variable.
24982 (aout_mod_CFLAGS): Likewise.
24983 (aout_mod_LDFLAGS): Likewise.
24984 (_bsd_mod_SOURCES): New variable.
24985 (_bsd_mod_CFLAGS): Likewise.
24986 (_bsd_mod_LDFLAGS): Likewise.
24987 (bsd_mod_SOURCES): New variable.
24988 (bsd_mod_CFLAGS): Likewise.
24989 (bsd_mod_LDFLAGS): Likewise.
24990
24991 * include/grub/aout.h: New file.
24992
24993 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
24994
24995 * include/grub/i386/bsd.h: New file.
24996
24997 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
24998 to make it public.
24999
25000 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
25001 function is called, so that it's possible to change it inside the hook.
25002 (grub_elf64_load): Likewise.
25003 (grub_elf_file): Don't close the file if elf header is not found.
25004 (grub_elf_close): Close the file if grub_elf_file fails (The new
25005 grub_elf_file won't close it).
25006 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
25007 (grub_elf64_size): Likewise.
25008
25009 * kern/i386/loader.S (grub_unix_real_boot): New function.
25010
25011 * loader/aout.c: New file.
25012
25013 * loader/i386/bsd.c: New file.
25014
25015 * loader/i386/bsd_normal.c: New file.
25016
25017 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
25018
25019 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
25020 can test other formats.
25021
25022 2008-02-19 Robert Millan <rmh@aybabtu.com>
25023
25024 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
25025 (grub_gpt_partition_type_empty): Redefine with macro from
25026 `<grub/gpt_partition.h>'.
25027 (gpt_partition_map_iterate): Adjust partition type comparison.
25028
25029 Export `entry' as partmap-specific `part.data' struct.
25030 (grub_gpt_header, grub_gpt_partentry): Move from here ...
25031
25032 * include/grub/gpt_partition.h (grub_gpt_header)
25033 (grub_gpt_partentry): ... to here (new file).
25034
25035 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
25036
25037 (grub_gpt_partition_type_bios_boot): New const variable, defined
25038 with macro from `<grub/gpt_partition.h>'.
25039
25040 (setup): Replace `first_start' with `embed_region', which keeps
25041 track of the embed region (and is partmap-agnostic).
25042
25043 Replace find_first_partition_start() with find_usable_region(),
25044 which finds a usable region for embedding using partmap-specific
25045 knowledge (supports PC/MSDOS and GPT).
25046
25047 Fix all assumptions that the embed region start at sector 1, using
25048 `embed_region.start' from now on. Similarly, use `embed_region.end'
25049 rather than `first_start' to calculate available size.
25050
25051 In grub_util_info() message, replace "into after the MBR" with an
25052 indication of the specific sector our embed region starts at.
25053
25054 2008-02-19 Robert Millan <rmh@aybabtu.com>
25055
25056 * DISTLIST: Replace `commands/ieee1275/halt.c' and
25057 `commands/ieee1275/reboot.c' with `commands/halt.c' and
25058 `commands/reboot.c'.
25059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25060 (halt_mod_SOURCES): Likewise.
25061 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25062 (halt_mod_SOURCES): Likewise.
25063
25064 2008-02-17 Christian Franke <franke@computer.org>
25065
25066 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
25067
25068 2008-02-17 Robert Millan <rmh@aybabtu.com>
25069
25070 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25071 set `first_start' to 0 for non-PC/MSDOS partition maps.
25072
25073 2008-02-16 Robert Millan <rmh@aybabtu.com>
25074
25075 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25076 do not assume partition map is PC/MSDOS before performing checks that
25077 are specific to that layout.
25078
25079 2008-02-13 Robert Millan <rmh@aybabtu.com>
25080
25081 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
25082 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
25083 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
25084
25085 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
25086
25087 * configure.ac: Only a cosmetic change on the handling of
25088 -fno-stack-protector.
25089
25090 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
25091
25092 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
25093 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
25094 reboot.c.
25095 (grub_install_SOURCES): Add halt.mod and reboot.mod.
25096 (halt_mod_SOURCES): New variable.
25097 (halt_mod_CFLAGS): Likewise.
25098 (halt_mod_LDFLAGS): Likewise.
25099 (reboot_mod_SOURCES): Likewise.
25100 (reboot_mod_CFLAGS): Likewise.
25101 (reboot_mod_LDFLAGS): Likewise.
25102
25103 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
25104 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
25105 reboot.c.
25106 (halt_mod_SOURCES): Likewise.
25107 (reboot_mod_SOURCES): Likewise.
25108
25109 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
25110 commands/i386/pc/reboot.c by commands/reboot.c.
25111 (reboot_mod_SOURCES): Likewise.
25112
25113 * commands/i386/pc/reboot.c: merge this file ...
25114
25115 * commands/ieee1275/reboot.c: ... and this file ...
25116
25117 * commands/reboot.c: ... to this file.
25118 Add some precompiler directive to include the correct header for
25119 each machine.
25120
25121 * commands/ieee1275/halt.c: move this file ...
25122
25123 * commands/halt.c: ... to here.
25124 Add some precompiler directive to include the correct header for
25125 each machine.
25126
25127 * include/grub/efi/efi.h (grub_reboot): New function declaration.
25128 (grub_halt): Likewise.
25129
25130 * kern/efi/efi.c (grub_reboot): New function.
25131 (grub_halt): Likewise.
25132
25133 2008-02-12 Robert Millan <rmh@aybabtu.com>
25134
25135 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
25136 /dev (like it is done for /dev/mapper). This doesn't provide support
25137 for EVMS, but at least it is now easy to identify the problem when it
25138 arises.
25139
25140 2008-02-11 Robert Millan <rmh@aybabtu.com>
25141
25142 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
25143 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
25144 comparing it with -1, not 0.
25145
25146 2008-02-10 Robert Millan <rmh@aybabtu.com>
25147
25148 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
25149 `disk/lvm.c'.
25150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25151 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25152
25153 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25154 `disk/lvm.c' to the end of the list.
25155 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25156 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25157
25158 2008-02-10 Robert Millan <rmh@aybabtu.com>
25159
25160 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25161 grub_print_error() instead. This will let user know why we're entering
25162 rescue mode.
25163 Based on suggestions from Sam Morris.
25164
25165 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
25166
25167 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25168 on remaining N args, instead of "--" arg N times.
25169
25170 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25171
25172 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25173 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25174 pattern for unknown glyphs.
25175
25176 2008-02-09 Robert Millan <rmh@aybabtu.com>
25177
25178 * configure.ac: Probe for `help2man'.
25179 * Makefile.in (builddir): New variable.
25180 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25181 or otherwise add a few flags/options to it.
25182 (install-local): For every executable utility or script that is
25183 installed, invoke $(HELP2MAN) to install a manpage based on --help
25184 output.
25185
25186 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25187 that it doesn't prevent --help from working in build tree.
25188
25189 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25190 with `bug-grub@gnu.org'.
25191 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25192 * util/update-grub.in (usage): New function.
25193 Implement proper argument check, with support for --help and --version
25194 (as well as existing -y).
25195
25196 2008-02-09 Christian Franke <franke@computer.org>
25197
25198 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25199 avoid overwriting previous output.
25200 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25201
25202 2008-02-09 Robert Millan <rmh@aybabtu.com>
25203
25204 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25205 drawing the menu.
25206
25207 2008-02-09 Robert Millan <rmh@aybabtu.com>
25208
25209 * commands/sleep.c: New file.
25210 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25211 (sleep_mod_SOURCES): New variable.
25212 (sleep_mod_CFLAGS): Likewise.
25213 (sleep_mod_LDFLAGS): Likewise.
25214
25215 2008-02-09 Robert Millan <rmh@aybabtu.com>
25216
25217 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25218 situations in which we can deduce the RAID size and the superblock
25219 doesn't match it.
25220
25221 2008-02-09 Robert Millan <rmh@aybabtu.com>
25222
25223 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25224 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25225 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25226
25227 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25228 and return a grub_diskmemberlist_t composed of physical array members.
25229 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
25230
25231 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
25232 prototype.
25233 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
25234 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
25235 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
25236
25237 * util/grub-probe.c (probe): Move partmap probing code from here ...
25238 (probe_partmap): ... to here.
25239 (probe): Use probe_partmap() once for the disk we're probing, and
25240 additionally, when such disk contains a memberlist() struct member,
25241 once for each disk that is contained in the structure returned by
25242 memberlist().
25243
25244 2008-02-09 Robert Millan <rmh@aybabtu.com>
25245
25246 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
25247 environment variable to 'all' in order to obtain debug output from
25248 non-util/ code.
25249 * util/i386/pc/grub-setup.c (main): Likewise.
25250
25251 2008-02-08 Robert Millan <rmh@aybabtu.com>
25252
25253 * disk/raid.c (grub_raid_scan_device): Check for
25254 `array->device[sb.this_disk.number]' rather than for
25255 `array->device[sb.this_disk.number]->name', since the latter is not
25256 guaranteed to be accessible.
25257
25258 2008-02-08 Robert Millan <rmh@aybabtu.com>
25259
25260 * disk/raid.c: Update copyright.
25261 * fs/cpio.c: Likewise.
25262 * include/grub/raid.h: Likewise.
25263 * loader/i386/pc/multiboot.c: Likewise.
25264 * util/hostfs.c: Likewise.
25265
25266 2008-02-08 Robert Millan <rmh@aybabtu.com>
25267
25268 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
25269 to a grub_disk_t array.
25270 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
25271 `device[x]'.
25272 (grub_raid_scan_device): Replace `device[x].name' accesses with
25273 `device[x]->name'. Simplify initialization of `array->device[x]'.
25274
25275 2008-02-08 Robert Millan <rmh@aybabtu.com>
25276
25277 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
25278 grub_dprintf() calls.
25279 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
25280 error message.
25281
25282 2008-02-07 Christian Franke <franke@computer.org>
25283
25284 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
25285 instead of fseek and ftell to support large files.
25286 (grub_hostfs_read): Likewise.
25287
25288 2008-02-07 Robert Millan <rmh@aybabtu.com>
25289
25290 Patch from Jeroen Dekkers.
25291 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
25292 failure, since successfully reading all array members might not be
25293 required.
25294
25295 2008-02-06 Robert Millan <rmh@aybabtu.com>
25296
25297 * util/grub-probe.c (probe): Simplify partmap probing (with the
25298 assumption that the first word up to the underscore equals to
25299 the module name).
25300
25301 2008-02-06 Christian Franke <franke@computer.org>
25302
25303 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
25304 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
25305 last block of a cpio or tar stream.
25306 Check for "TRAILER!!!" instead of any empty data
25307 block to detect last block of a cpio stream.
25308 (grub_cpio_dir): Fix constness of variable np.
25309 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
25310 cpio or tar trailer is detected. This fixes a crash
25311 on open of a non existing file.
25312
25313 2008-02-05 Bean <bean123ch@gmail.com>
25314
25315 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
25316 address of entry.
25317 (grub_multiboot_load_elf64): Likewise.
25318 (grub_multiboot): Initialize mbi structure.
25319
25320 * util/grub-fstest.c: Don't include unused header file script.h.
25321
25322 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
25323 of file.
25324 (grub_fstest_SOURCES): Likewise.
25325
25326 2008-02-05 Robert Millan <rmh@aybabtu.com>
25327
25328 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
25329 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
25330 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
25331 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
25332
25333 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
25334 (translation_table): Replace hardcoded values with macros
25335 provided by `<grub/term.h>'.
25336
25337 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
25338 (keyboard_map): Correct/add a few values, with macros provided
25339 by `<grub/term.h>'.
25340 (keyboard_map_shift): Zero values that don't differ from their
25341 `keyboard_map' equivalents.
25342 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
25343 Discard the second scan code that is always sent by Caps lock.
25344 Only use `keyboard_map_shift' when it provides a non-zero value,
25345 otherwise fallback to `keyboard_map'.
25346
25347 2008-02-04 Bean <bean123ch@gmail.com>
25348
25349 * Makefile.in (enable_grub_fstest): New variable.
25350
25351 * conf/common.rmk (grub_fstest_init.lst): New rule.
25352 (grub_fstest_init.h): Likewise.
25353 (grub_fstest_init.c): Likewise.
25354 (util/grub-fstest.c_DEPENDENCIES): New variable.
25355 (grub_fstest_SOURCES): Likewise.
25356
25357 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
25358
25359 * util/grub-fstest.c: New file.
25360
25361 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25362
25363 Make grub-setup handle a separate root device.
25364
25365 * util/i386/pc/grub-setup.c (setup): Always open the root device,
25366 so that the root device can be compared with the destination
25367 device.
25368 When embedding the core image, if the root and destination devices
25369 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
25370 0xFF.
25371 When not embedding, set ROOT_DRIVE to 0xFF.
25372
25373 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25374
25375 Add support for having a grub directory in a different drive. This
25376 is still only the data handling part.
25377
25378 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
25379 (codestart): Save %dh in GRUB_ROOT_DRIVE.
25380 (grub_root_drive): New variable.
25381
25382 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
25383 instead of GRUB_BOOT_DRIVE to construct a device name. Set
25384 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
25385 as it was.
25386
25387 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
25388
25389 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
25390 macro.
25391 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25392
25393 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25394 is bogus, because PXE booting does not specify any drive
25395 correctly.
25396
25397 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25398 am not sure if this is really correct.
25399
25400 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25401 is always identical to the boot drive when booting from a CD.
25402
25403 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25404 longer.
25405 (root_drive): New variable.
25406 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25407 (setup_sectors): Push %dx right after popping it, because %dh will
25408 be modified later.
25409 (copy_buffer): Restore %dx.
25410
25411 2008-02-03 Robert Millan <rmh@aybabtu.com>
25412
25413 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
25414 use `cdboot.img' for cdrom images.
25415
25416 2008-02-03 Robert Millan <rmh@aybabtu.com>
25417
25418 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
25419 only setup gfxterm when `font' command has succeeded.
25420
25421 2008-02-03 Robert Millan <rmh@aybabtu.com>
25422
25423 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
25424 (grub_rescue_cmd_multiboot_loader)
25425 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
25426
25427 2008-02-03 Pavel Roskin <proski@gnu.org>
25428
25429 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
25430 %edx and %esi from stack only after grub_gate_a20() is called.
25431 grub_gate_a20() clobbers %edx.
25432
25433 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25434
25435 * configure.ac (AC_INIT): Bumped to 1.96.
25436
25437 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
25438 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
25439 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
25440 video/readers/png.c.
25441
25442 2008-02-03 Bean <bean123ch@gmail.com>
25443
25444 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
25445 (cdboot_img_SOURCES): New variable.
25446 (cdboot_img_ASFLAGS): New variable.
25447 (cdboot_img_LDFLAGS): New variable.
25448
25449 * boot/i386/pc/cdboot.S: New file.
25450
25451 * disk/i386/pc/biosdisk.c (cd_start): New variable.
25452 (cd_count): Likewise.
25453 (grub_biosdisk_get_drive): Add support for cd device.
25454 (grub_biosdisk_call_hook): Likewise.
25455 (grub_biosdisk_iterate): Likewise.
25456 (grub_biosdisk_open): Likewise.
25457 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
25458 (grub_biosdisk_rw): Support reading from cd device.
25459 (GRUB_MOD_INIT): Iterate cd devices.
25460
25461 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
25462 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
25463 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
25464
25465 * kern/i386/pc/init.c (make_install_device): Check for cd device.
25466
25467 2008-02-02 Robert Millan <rmh@aybabtu.com>
25468
25469 * commands/read.c: New file.
25470 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
25471 (read_mod_SOURCES): New variable.
25472 (read_mod_CFLAGS): Likewise.
25473 (read_mod_LDFLAGS): Likewise.
25474
25475 2008-02-02 Robert Millan <rmh@aybabtu.com>
25476
25477 * normal/main.c (grub_normal_execute): Check for `menu->size' when
25478 determining whether menu has to be displayed.
25479
25480 2008-02-02 Marco Gerards <marco@gnu.org>
25481
25482 * bus/pci.c: New file.
25483
25484 * include/grub/pci.h: Likewise.
25485
25486 * include/grub/i386/pc/pci.h: Likewise.
25487
25488 * commands/lspci.c: Likewise.
25489
25490 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
25491 `lspci.mod'.
25492 (pci_mod_SOURCES): New variable.
25493 (pci_mod_CFLAGS): Likewise.
25494 (pci_mod_LDFLAGS): Likewise.
25495 (lspci_mod_SOURCES): Likewise.
25496 (lspci_mod_CFLAGS): Likewise.
25497 (lspci_mod_LDFLAGS): Likewise.
25498
25499 2008-02-02 Bean <bean123ch@gmail.com>
25500
25501 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
25502 (grub_ufs_get_file_block): Fix indirect block calculation problem.
25503
25504 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
25505 (grub_xfs_btree_node): New structure.
25506 (grub_xfs_btree_root): New structure.
25507 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
25508 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
25509 (GRUB_XFS_EXTENT_BLOCK): Likewise.
25510 (GRUB_XFS_EXTENT_SIZE): Likewise.
25511 (grub_xfs_read_block): Support btree format type.
25512 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
25513 Use directory block as basic unit.
25514
25515 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
25516
25517 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
25518 __attribute__ ((__regparm__ (1))).
25519
25520 2008-02-01 Robert Millan <rmh@aybabtu.com>
25521
25522 Correct a mistake in previous commit.
25523
25524 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
25525 top.
25526 (normal/command.c_DEPENDENCIES): New variable.
25527
25528 2008-02-01 Robert Millan <rmh@aybabtu.com>
25529
25530 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
25531 top.
25532 (normal/command.c_DEPENDENCIES): New variable.
25533 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
25534 * conf/i386-ieee1275.rmk: Likewise.
25535 * conf/i386-linuxbios.rmk: Likewise.
25536 * conf/i386-pc.rmk: Likewise.
25537 * conf/sparc64-ieee1275.rmk: Likewise.
25538 * conf/powerpc-ieee1275.rmk: Likewise.
25539 (grub_emu_SOURCES): Add `fs/fshelp.c'.
25540
25541 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
25542
25543 2008-02-01 Robert Millan <rmh@aybabtu.com>
25544
25545 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
25546 call at beginning of function.
25547
25548 2008-01-31 Pavel Roskin <proski@gnu.org>
25549
25550 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
25551 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
25552 (grub_mkrescue_SOURCES): Likewise.
25553 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
25554
25555 2008-01-30 Robert Millan <rmh@aybabtu.com>
25556
25557 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
25558 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
25559 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
25560 (grub_probe_SOURCES): ... to here.
25561
25562 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
25563 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
25564 * conf/i386-ieee1275.rmk: Likewise.
25565 * conf/i386-linuxbios.rmk: Likewise.
25566 * conf/powerpc-ieee1275.rmk: Likewise.
25567
25568 2008-01-30 Tristan Gingold <gingold@free.fr>
25569
25570 * kern/rescue.c: Silently accept empty lines.
25571
25572 2008-01-29 Bean <bean123ch@gmail.com>
25573
25574 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
25575 (real_code_2): Code cleanup and change comment style.
25576 (move_memory): Avoid using 32-bit address mode.
25577
25578 2008-01-29 Bean <bean123ch@gmail.com>
25579
25580 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
25581 (png_mod_SOURCES): New variable.
25582 (png_mod_CFLAGS): Likewise.
25583 (png_mod_LDFLAGS): Likewise.
25584
25585 * video/readers/png.c: New file.
25586
25587 2008-01-28 Robert Millan <rmh@aybabtu.com>
25588
25589 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
25590 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
25591 `ifndef GRUB_MOD_GAP' hack.
25592 * util/elf/grub-mkimage.c (add_segments): Likewise.
25593
25594 2008-01-27 Robert Millan <rmh@aybabtu.com>
25595
25596 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
25597 `GRUB_MOD_GAP' for platforms in which it's not defined.
25598 * util/elf/grub-mkimage.c (add_segments): Likewise.
25599
25600 2008-01-27 Robert Millan <rmh@aybabtu.com>
25601
25602 Get grub-emu to build again (including parallel builds).
25603
25604 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
25605 Split into ...
25606 (util/grub-emu.c_DEPENDENCIES): ... this, ...
25607 (normal/execute.c_DEPENDENCIES): ... this, ...
25608 (grub-emu_DEPENDENCIES): ... and this.
25609
25610 * conf/i386-efi.rmk: Likewise.
25611 * conf/i386-linuxbios.rmk: Likewise.
25612 * conf/i386-ieee1275.rmk: Likewise.
25613 * conf/powerpc-ieee1275.rmk: Likewise.
25614 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
25615
25616 2008-01-27 Robert Millan <rmh@aybabtu.com>
25617
25618 * NEWS: Add a few items.
25619
25620 2008-01-27 Robert Millan <rmh@aybabtu.com>
25621
25622 Fix parallel builds with grub-emu. Based on earlier commit for
25623 grub-probe and grub-setup.
25624
25625 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25626 (util/grub-emu.c_DEPENDENCIES): ... this.
25627 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25628 (util/grub-emu.c_DEPENDENCIES): ... this.
25629 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25630 (util/grub-emu.c_DEPENDENCIES): ... this.
25631 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25632 (util/grub-emu.c_DEPENDENCIES): ... this.
25633 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25634 (util/grub-emu.c_DEPENDENCIES): ... this.
25635
25636 2008-01-27 Pavel Roskin <proski@gnu.org>
25637
25638 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
25639 to create a gap between _end and the modules added to the image
25640 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
25641 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
25642 * util/elf/grub-mkimage.c (add_segments): Likewise.
25643
25644 2008-01-26 Pavel Roskin <proski@gnu.org>
25645
25646 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
25647 just return an error.
25648
25649 2008-01-26 Bean <bean123ch@gmail.com>
25650
25651 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
25652 (grub_reiserfs_get_item): Save offset of the next item.
25653 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
25654
25655 2008-01-25 Robert Millan <rmh@aybabtu.com>
25656
25657 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
25658 make all filesystem sources appear together (possibly fixing omissions
25659 while at it).
25660 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25661 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25662 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25663 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25664
25665 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
25666 add `kern/file.c'.
25667 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
25668 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25669 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
25670 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25671
25672 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
25673 (probe): Add a sanity check to make sure of our ability to read
25674 requested files when probing for filesystem type.
25675
25676 * genmk.rb: Update copyright year (2007).
25677
25678 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
25679 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
25680 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
25681 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
25682 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
25683 : Remove function prototypes.
25684
25685 2008-01-25 Robert Millan <rmh@aybabtu.com>
25686
25687 Revert my previous commits (based on wrong assumption of how grub_errno
25688 works).
25689
25690 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
25691 * kern/file.c (grub_file_open): Likewise.
25692
25693 2008-01-24 Pavel Roskin <proski@gnu.org>
25694
25695 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
25696 that hang if GRUB tries to setup colors.
25697 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
25698 colors for firmwares that don't support it.
25699 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
25700 Recognize Open Hack'Ware, set flags to work around its
25701 limitations.
25702
25703 2008-01-24 Robert Millan <rmh@aybabtu.com>
25704
25705 * kern/file.c (grub_file_open): Do not account previous failures of
25706 unrelated functions when grub_errno is checked for.
25707 Reported by Oleg Strikov.
25708
25709 2008-01-24 Bean <bean123ch@gmail.com>
25710
25711 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
25712 (grub_ufs_sblock): New member volume name.
25713 (grub_ufs_find_file): Fix string copy bug.
25714 (grub_ufs_label): Implement this function properly.
25715
25716 * fs/hfs.c (grub_hfs_cnid_type): New enum.
25717 (grub_hfs_iterate_records): Use the correct file number for extents
25718 and catalog file. Fix problem in next index calculation.
25719 (grub_hfs_find_node): Replace recursive function call with loop.
25720 (grub_hfs_iterate_dir): Replace recursive function call with loop.
25721
25722 2008-01-23 Robert Millan <rmh@aybabtu.com>
25723
25724 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
25725 `<grub/symbol.h>' and `<grub/multiboot.h>'.
25726 (grub_multiboot2_real_boot): New function prototype.
25727
25728 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
25729 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
25730
25731 * kern/i386/ieee1275/init.c (grub_os_area_addr)
25732 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
25733
25734 2008-01-23 Robert Millan <rmh@aybabtu.com>
25735
25736 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
25737 #ifdef'ed out grub_printf().
25738
25739 2008-01-23 Robert Millan <rmh@aybabtu.com>
25740
25741 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
25742 grub_dprintf calls, since they make "debug=all" mode unusable.
25743 (grub_console_checkkey): Likewise.
25744
25745 2008-01-23 Robert Millan <rmh@aybabtu.com>
25746
25747 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25748 `term/i386/pc/at_keyboard.c'.
25749 (pkglib_MODULES): Add `serial.mod'.
25750 (serial_mod_SOURCES): New variable.
25751 (serial_mod_CFLAGS): Likewise.
25752 (serial_mod_LDFLAGS): Likewise.
25753
25754 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
25755 `<grub/powerpc/ieee1275/console.h>'.
25756 (grub_keyboard_controller_init): New function prototype.
25757 (grub_console_checkkey): Likewise.
25758 (grub_console_getkey): Likewise.
25759
25760 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
25761 keyboard on i386.
25762
25763 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
25764 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
25765
25766 2008-01-23 Robert Millan <rmh@aybabtu.com>
25767
25768 * kern/i386/pc/init.c (make_install_device): When memdisk image is
25769 present, "(memdisk)/boot/grub" becomes the default prefix.
25770
25771 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
25772 a memdisk tarball with all the modules. Add --overlay=DIR option that
25773 allows users to overlay additional files into the image.
25774
25775 2008-01-23 Robert Millan <rmh@aybabtu.com>
25776
25777 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
25778 and `machine/memory.h'.
25779 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
25780 (_multiboot_mod_SOURCES): New variable.
25781 (_multiboot_mod_CFLAGS): Likewise.
25782 (_multiboot_mod_LDFLAGS): Likewise.
25783 (multiboot_mod_SOURCES): Likewise.
25784 (multiboot_mod_CFLAGS): Likewise.
25785 (multiboot_mod_LDFLAGS): Likewise.
25786
25787 * include/grub/i386/ieee1275/loader.h: New file.
25788
25789 * include/grub/i386/ieee1275/machine.h: Likewise.
25790
25791 * include/grub/i386/ieee1275/memory.h: Likewise.
25792
25793 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
25794 variable declaration.
25795 (grub_os_area_size): Likewise.
25796
25797 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
25798 (grub_lower_mem, grub_upper_mem): New variables.
25799 (grub_stop_floppy): New function (just to make
25800 grub_multiboot2_real_boot() happy).
25801
25802 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
25803 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
25804 (grub_stop): New function.
25805 Include `"../realmode.S"' and `"../loader.S"'.
25806
25807 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
25808 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
25809
25810 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
25811 rely on grub_multiboot2_real_boot() for final boot.
25812
25813 2008-01-22 Robert Millan <rmh@aybabtu.com>
25814
25815 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
25816 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
25817 device that doesn't look like an SD card.
25818 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25819 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
25820 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
25821 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
25822 found.
25823
25824 2008-01-22 Robert Millan <rmh@aybabtu.com>
25825
25826 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
25827 avoid claiming over our own code.
25828
25829 2008-01-22 Bean <bean123ch@gmail.com>
25830
25831 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
25832 (jpeg_mod_SOURCES): New variable.
25833 (jpeg_mod_CFLAGS): Likewise.
25834 (jpeg_mod_LDFLAGS): Likewise.
25835
25836 * video/readers/jpeg.c : New file.
25837
25838 2008-01-22 Bean <bean123ch@gmail.com>
25839
25840 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
25841 there are no more items.
25842
25843 2008-01-21 Robert Millan <rmh@aybabtu.com>
25844
25845 * kern/mm.c (grub_mm_init_region): Improve debug message.
25846
25847 2008-01-21 Robert Millan <rmh@aybabtu.com>
25848
25849 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
25850 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
25851 address.
25852 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
25853 a C macro.
25854 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
25855 Indicates start of upper memory.
25856 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
25857 (generate_image): Abort when image size is big enough to corrupt
25858 upper memory.
25859
25860 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
25861 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
25862 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
25863 instead of hardcoding 0xA0000.
25864 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
25865 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
25866 instead of hardcoding 0xA0000.
25867
25868 2008-01-21 Robert Millan <rmh@aybabtu.com>
25869
25870 * disk/memdisk.c (memdisk_size): New variable.
25871 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
25872 `memdisk_size'.
25873 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
25874 image to dynamic memory.
25875 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
25876 `memdisk_size'. Free memdisk block.
25877
25878 2008-01-21 Robert Millan <rmh@aybabtu.com>
25879
25880 Fix detection of very small filesystems (like tar).
25881
25882 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
25883 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
25884 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
25885 a problem with this disk).
25886
25887 2008-01-21 Robert Millan <rmh@aybabtu.com>
25888
25889 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
25890 on grub_biosdisk_rw_standard() error.
25891
25892 2008-01-21 Robert Millan <rmh@aybabtu.com>
25893
25894 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
25895 recent changes.
25896 * kern/elf.c: Likewise.
25897 * kern/ieee1275/ieee1275.c: Likewise.
25898 * kern/powerpc/ieee1275/openfw.c: Likewise.
25899 * term/ieee1275/ofconsole.c: Likewise.
25900
25901 2008-01-21 Robert Millan <rmh@aybabtu.com>
25902
25903 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
25904
25905 * include/grub/kernel.h (grub_arch_memdisk_addr)
25906 (grub_arch_memdisk_size): Moved from here ...
25907
25908 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
25909 (grub_arch_memdisk_size): ... to here.
25910
25911 2008-01-21 Robert Millan <rmh@aybabtu.com>
25912
25913 Mostly based on bugfix from Bean.
25914
25915 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
25916 attribute with hook() parameter.
25917 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
25918 declaration.
25919 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
25920 attribute with hook() parameter.
25921 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
25922 declaration.
25923
25924 2008-01-21 Robert Millan <rmh@aybabtu.com>
25925
25926 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
25927 (pkglib_MODULES): Add `memdisk.mod'.
25928 (memdisk_mod_SOURCES): New variable.
25929 (memdisk_mod_CFLAGS): Likewise.
25930 (memdisk_mod_LDFLAGS): Likewise.
25931
25932 * disk/memdisk.c: New file.
25933
25934 * include/grub/disk.h (grub_disk_dev_id): Add
25935 `GRUB_DISK_DEVICE_MEMDISK_ID'.
25936
25937 * include/grub/i386/pc/kernel.h
25938 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
25939 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
25940 (grub_kernel_image_size): New variable declaration.
25941 (grub_total_module_size): Likewise.
25942 (grub_memdisk_image_size): Likewise.
25943
25944 * include/grub/i386/pc/memory.h
25945 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
25946
25947 * include/grub/kernel.h: Include `<grub/symbol.h>'.
25948 (grub_arch_memdisk_addr): New variable declaration.
25949 (grub_arch_memdisk_size): Likewise.
25950
25951 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
25952 (grub_arch_memdisk_size): Likewise.
25953
25954 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
25955 (codestart): Replace hardcoded `0x100000' with
25956 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
25957
25958 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
25959 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
25960 not NULL, append the contents of the file it refers to, at the end of
25961 the compressed kernel image. Initialize `grub_memdisk_image_size'
25962 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
25963 (options): Add "memdisk"|'m' option.
25964 (main): Parse --memdisk|-m option, and pass user-provided path as
25965 parameter to generate_image().
25966
25967 2008-01-20 Robert Millan <rmh@aybabtu.com>
25968
25969 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
25970 grub_dprintf() calls from here ...
25971 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
25972
25973 2008-01-20 Robert Millan <rmh@aybabtu.com>
25974
25975 Fix detection of "real mode" when /options/real-mode? doesn't exist.
25976
25977 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
25978 declaration.
25979 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
25980 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
25981 `GRUB_IEEE1275_FLAG_REAL_MODE'.
25982 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
25983 property).
25984 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
25985 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
25986
25987 2008-01-19 Robert Millan <rmh@aybabtu.com>
25988
25989 Get rid of confusing function (superseded by
25990 `grub_ieee1275_get_integer_property')
25991 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
25992 prototype.
25993 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
25994 function.
25995 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
25996 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
25997 in native endianness from grub_ieee1275_get_integer_property().
25998
25999 2008-01-19 Robert Millan <rmh@aybabtu.com>
26000
26001 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
26002 command after "shut-down", since implementations differ on which
26003 the command for halt is.
26004
26005 2008-01-19 Robert Millan <rmh@aybabtu.com>
26006
26007 * include/grub/i386/linuxbios/console.h: Add header protection.
26008 (grub_keyboard_controller_init): New function prototype.
26009 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
26010 (KEYBOARD_COMMAND_READ): Likewise.
26011 (KEYBOARD_COMMAND_WRITE): Likewise.
26012 (KEYBOARD_SCANCODE_SET1): Likewise.
26013 (grub_keyboard_controller_write): New function.
26014 (grub_keyboard_controller_read): Likewise.
26015 (grub_keyboard_controller_init): Likewise.
26016
26017 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
26018 (grub_console_init): On coreboot/LinuxBIOS, call
26019 grub_keyboard_controller_init().
26020
26021 2008-01-19 Robert Millan <rmh@aybabtu.com>
26022
26023 PowerPC changes provided by Pavel Roskin.
26024
26025 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
26026 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
26027 don't rely on cmain() doing it.
26028 * kern/i386/ieee1275/startup.S (_start): Store %eax in
26029 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
26030
26031 2008-01-16 Robert Millan <rmh@aybabtu.com>
26032
26033 * include/grub/i386/linuxbios/memory.h
26034 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
26035 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
26036 receive `table_header' as argument. Instead, probe for it in the
26037 known memory ranges where it can be present.
26038 (grub_available_iterate): Do not pass a fixed `table_header' address
26039 to grub_linuxbios_table_iterate().
26040
26041 2008-01-15 Robert Millan <rmh@aybabtu.com>
26042
26043 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
26044 * conf/i386-ieee1275.rmk: New file.
26045 * include/grub/i386/ieee1275/console.h: Likewise.
26046 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
26047 * include/grub/i386/ieee1275/kernel.h: Likewise.
26048 * include/grub/i386/ieee1275/time.h: Likewise.
26049 * kern/i386/ieee1275/init.c: Likewise.
26050 * kern/i386/ieee1275/startup.S: Likewise.
26051
26052 2008-01-15 Robert Millan <rmh@aybabtu.com>
26053
26054 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
26055 when pointers are 32-bit (but still do set it to one when they are
26056 64-bit).
26057
26058 2008-01-15 Robert Millan <rmh@aybabtu.com>
26059
26060 * include/grub/ieee1275/ieee1275.h
26061 (grub_ieee1275_get_integer_property): New function prototype.
26062
26063 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
26064 (grub_ieee1275_get_integer_property): New function. Wraps around
26065 grub_ieee1275_get_property() to handle endianness.
26066
26067 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
26068 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
26069 where appropriate.
26070 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
26071 (grub_map): Likewise.
26072 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
26073
26074 2008-01-15 Bean <bean123ch@gmail.com>
26075
26076 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
26077 (grub_script_execute_cmdline): Reset grub_errno.
26078
26079 * normal/main.c (read_config_file): Reset grub_errno.
26080
26081 * normal/parse.y (script_init): New.
26082 (script): Move function and menuentry here.
26083 (delimiter): New.
26084 (command): Add delimiter at the end of command.
26085 (commands): Adjust to match the new command.
26086 (commandblock): Remove grub_script_lexer_record_start.
26087 (menuentry): Add grub_script_lexer_record_start, use the new commands.
26088 (if): Use the new commands.
26089
26090 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
26091
26092 2008-01-15 Robert Millan <rmh@aybabtu.com>
26093
26094 * normal/menu.c (run_menu): Move timeout message from here ...
26095 (print_timeout): ... to here.
26096 (run_menu): Use print_timeout() once during initial draw to print
26097 the whole message, and again in every clock tick to update only
26098 the number of seconds.
26099
26100 2008-01-15 Robert Millan <rmh@aybabtu.com>
26101
26102 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
26103 actual size of `available' from grub_ieee1275_get_property(), and
26104 restrict parsing to that bound.
26105
26106 2008-01-15 Christian Franke <franke@computer.org>
26107
26108 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
26109 (argp_program_version): Remove variable.
26110 (argp_program_bug_address): Likewise.
26111 (options): Convert from struct argp_option to struct option.
26112 (struct arguments): Remove.
26113 (parse_opt): Remove.
26114 (usage): New function.
26115 (main): Replace struct args members by simple variables.
26116 Replace argp_parse() by getopt_long().
26117 Add switch to evaluate options.
26118 Add missing "(...)" around root_dev in prefix string.
26119
26120 2008-01-14 Robert Millan <rmh@aybabtu.com>
26121
26122 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
26123 for grub_ieee1275_exit(), in order to improve portability.
26124
26125 2008-01-14 Robert Millan <rmh@aybabtu.com>
26126
26127 * util/grub.d/10_linux.in (prefix): Define.
26128 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
26129
26130 2008-01-13 Pavel Roskin <proski@gnu.org>
26131
26132 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
26133 grub_errno if no errors have been detected.
26134
26135 2008-01-12 Robert Millan <rmh@aybabtu.com>
26136
26137 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
26138 (grub_util_get_dev_abstraction): New function prototype.
26139
26140 * util/getroot.c: Include `<grub/util/getroot.h>'
26141 (grub_util_get_grub_dev): Move detection of abstraction type to ...
26142 (grub_util_get_dev_abstraction): ... here (new function).
26143
26144 * util/grub-probe.c: Convert PRINT_* to an enum. Add
26145 `PRINT_ABSTRACTION'.
26146 (probe): Probe for abstraction type when requested.
26147 (main): Understand `--target=abstraction'.
26148
26149 * util/i386/efi/grub-install.in: Add abstraction module to core
26150 image when it is found to be necessary.
26151 * util/i386/pc/grub-install.in: Likewise.
26152 * util/powerpc/ieee1275/grub-install.in: Likewise.
26153
26154 * util/update-grub_lib.in (font_path): Return system path without
26155 converting to GRUB path.
26156 * util/update-grub.in: Convert system path returned by font_path()
26157 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26158 abstraction module is needed for loading fonts (if any). Export
26159 that as `GRUB_PRELOAD_MODULES'.
26160 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26161 insmod commands).
26162
26163 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26164
26165 Remove some unused code from reiserfs.
26166
26167 * fs/reiserfs.c (struct grub_reiserfs_key)
26168 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26169 (struct grub_reiserfs_node_body): Removed.
26170 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26171 Likewise.
26172 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26173 Likewise.
26174 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26175 Likewise.
26176 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26177 Likewise.
26178 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26179 Likewise.
26180 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26181 Likewise.
26182 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26183 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26184 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26185
26186 2008-01-10 Robert Millan <rmh@aybabtu.com>
26187
26188 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26189 Determines if a file is garbage left by packaging systems, etc.
26190 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26191 for processing /etc/grub.d scripts.
26192 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26193 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26194 as a condition for processing Linux images.
26195
26196 2008-01-10 Pavel Roskin <proski@gnu.org>
26197
26198 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26199 to compile reiserfs.c on PowerPC.
26200
26201 2008-01-10 Robert Millan <rmh@aybabtu.com>
26202
26203 * kern/device.c (grub_device_iterate): Do not abort device iteration
26204 when one of the devices cannot be opened.
26205 * kern/disk.c (grub_disk_open): Do not account previous failures of
26206 unrelated functions when grub_errno is checked for.
26207
26208 2008-01-08 Robert Millan <rmh@aybabtu.com>
26209
26210 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26211 `! grub_linux_is_bzimage', change order of address comparison to make
26212 it more intuitive, and improve "too big zImage" error message.
26213
26214 2008-01-08 Robert Millan <rmh@aybabtu.com>
26215
26216 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26217 `$(update-grub_DATA)'.
26218 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26219 targets.
26220
26221 2008-01-07 Robert Millan <rmh@aybabtu.com>
26222
26223 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26224 which instruction is modified by grub-setup during installation
26225 (since it wasn't obvious by only looking at this file).
26226
26227 2008-01-07 Robert Millan <rmh@aybabtu.com>
26228
26229 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
26230 listing actual TODO items.
26231
26232 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26233
26234 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
26235 correctly.
26236 (grub_reiserfs_get_key_offset): Likewise.
26237 (grub_reiserfs_set_key_offset): Likewise.
26238 (grub_reiserfs_set_key_type): Likewise.
26239 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
26240
26241 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
26242 better to remove the bitfield version completely.
26243
26244 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26245
26246 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
26247 allocated from the heap, due to the fshelp implementation.
26248 (grub_reiserfs_dir): Free NODE, due to the same reason.
26249
26250 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26251
26252 Mostly from Vincent Pelletier:
26253
26254 * fs/reiserfs.c: New file.
26255
26256 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
26257 (reiserfs_mod_SOURCES): New variable.
26258 (reiserfs_mod_CFLAGS): Likewise.
26259 (reiserfs_mod_LDFLAGS): Likewise.
26260
26261 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
26262 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
26263 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
26264 normal/color.c.
26265
26266 2008-01-06 Robert Millan <rmh@aybabtu.com>
26267
26268 * normal/color.c: Remove `<grub/env.h>'.
26269
26270 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
26271
26272 * include/grub/normal.h: Include <grub/env.h>.
26273
26274 2008-01-05 Robert Millan <rmh@aybabtu.com>
26275
26276 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
26277 usage example with `(hd0,1)'.
26278 Reported by Samuel Thibault.
26279
26280 2008-01-05 Robert Millan <rmh@aybabtu.com>
26281
26282 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
26283 (grub_linux_boot_zimage): Rename to ...
26284 (grub_linux_boot): ... this.
26285 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
26286 (grub_linux_boot_zimage): Conditionalize zImage copy.
26287
26288 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
26289 (grub_linux_boot_bzimage): Remove prototype.
26290 (grub_linux_boot_zimage): Rename to ...
26291 (grub_linux_boot): ... this.
26292
26293 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
26294 (grub_linux_boot): Remove function.
26295
26296 2008-01-05 Robert Millan <rmh@aybabtu.com>
26297
26298 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
26299 (grub_env_write_color_highlight): Likewise.
26300 (grub_wait_after_message): Likewise.
26301
26302 * normal/color.c: New file.
26303
26304 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26305 (normal_mod_DEPENDENCIES): Likewise.
26306
26307 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26308 (normal_mod_DEPENDENCIES): Likewise.
26309
26310 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26311 (normal_mod_DEPENDENCIES): Likewise.
26312
26313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26314 (normal_mod_DEPENDENCIES): Likewise.
26315
26316 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
26317 for waiting after a message is printed.
26318 * normal/main.c (read_config_file): Likewise.
26319 (grub_normal_init): Register grub_env_write_color_normal() and
26320 grub_env_write_color_highlight() hooks. Mark `color_normal' and
26321 `color_highlight' variables as global.
26322
26323 * normal/menu.c (grub_wait_after_message): New function.
26324 (grub_color_menu_normal): New variable. Replaces ...
26325 (GRUB_COLOR_MENU_NORMAL): ... this macro.
26326 (grub_color_menu_highlight): New variable. Replaces ...
26327 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
26328 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
26329 `GRUB_TERM_COLOR_STANDARD'.
26330 (print_message): Use `grub_setcolorstate' to reload colors. Rename
26331 `normal_code' and `highlight_code' to `old_color_normal' and
26332 `old_color_highlight', respectively.
26333 (grub_menu_init_page): Update colors when drawing the menu, based on
26334 `menu_color_normal' and `menu_color_highlight' variables.
26335 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
26336 a message is printed.
26337
26338 2008-01-05 Robert Millan <rmh@aybabtu.com>
26339
26340 * kern/env.c (grub_env_context_open): Propagate hooks for global
26341 variables to new context.
26342
26343 * kern/main.c (grub_set_root_dev): Export `root' variable.
26344
26345 2008-01-05 Robert Millan <rmh@aybabtu.com>
26346
26347 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
26348 discs unconditionally, since udev and others have options to provide
26349 them.
26350
26351 2008-01-05 Robert Millan <rmh@aybabtu.com>
26352
26353 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
26354
26355 2008-01-04 Christian Franke <franke@computer.org>
26356
26357 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
26358 of eisa_mmap.
26359
26360 2008-01-03 Pavel Roskin <proski@gnu.org>
26361
26362 * kern/i386/linuxbios/init.c: Put "void" to all function
26363 declarations with no arguments.
26364 * kern/powerpc/ieee1275/init.c: Likewise.
26365 * term/i386/pc/at_keyboard.c: Likewise.
26366 * term/i386/pc/vga_text.c: Likewise.
26367 * util/grub-mkdevicemap.c: Likewise.
26368
26369 2008-01-02 Robert Millan <rmh@aybabtu.com>
26370
26371 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
26372 message when loaded image is out of bounds.
26373 (grub_multiboot_load_elf64): Likewise.
26374
26375 2008-01-02 Pavel Roskin <proski@gnu.org>
26376
26377 * util/grub.d/10_linux.in: Try version without ".old" when
26378 looking for initrd. It's better to use initrd from the newer
26379 kernel of the same version than no initrd at all.
26380
26381 2008-01-01 Robert Millan <rmh@aybabtu.com>
26382
26383 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
26384
26385 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
26386
26387 * include/grub/video.h: Added grub_video_unmap_color and
26388 grub_video_get_active_render_target.
26389 (grub_video_adapter): Added unmap_color and get_active_render_target.
26390
26391 * video/video.c: Added grub_video_unmap_color and
26392 grub_video_get_active_render_target.
26393 (grub_video_get_info): Changed method to accept NULL pointer as an
26394 argument to allow detection of active video adapter.
26395
26396 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26397 grub_video_vbe_unmap_color_int.
26398 Added grub_video_vbe_unmap_color and
26399 grub_video_vbe_get_active_render_target.
26400 (grub_video_vbe_adapter): Added unmap_color and
26401 get_active_render_target.
26402
26403 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
26404 with grub_video_vbe_unmap_color_int.
26405
26406 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26407 (DEFAULT_NORMAL_COLOR): Likewise.
26408 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26409 (DEFAULT_FG_COLOR): Removed.
26410 (DEFAULT_BG_COLOR): Likewise.
26411 (DEFAULT_CURSOR_COLOR): Changed value.
26412 (grub_virtual_screen): Added standard_color_setting,
26413 normal_color_setting, highlight_color_setting and term_color.
26414 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
26415 (bitmap_width): Added.
26416 (bitmap_height): Likewise.
26417 (bitmap): Likewise.
26418 (set_term_color): Likewise.
26419 (grub_virtual_screen_setup): Changed to use new terminal coloring
26420 settings.
26421 (grub_gfxterm_init): Added init for bitmap.
26422 (grub_gfxterm_fini): Added destroy for bitmap.
26423 (redraw_screen_rect): Updated to use background bitmap and new
26424 terminal coloring.
26425 (scroll_up): Added optimization for case when there is no bitmap.
26426 (grub_gfxterm_cls): Fixed to use correct background color.
26427 (grub_virtual_screen_setcolorstate): Changed to use new terminal
26428 coloring.
26429 (grub_virtual_screen_setcolor): Likewise.
26430 (grub_virtual_screen_getcolor): Added.
26431 (grub_gfxterm_background_image_cmd): Likewise.
26432 (grub_video_term): Added setcolor and getcolor.
26433 (MOD_INIT): Added registration of background_image command.
26434 (MOD_TERM): Added unregistration for background_image command.
26435
26436 2007-12-30 Pavel Roskin <proski@gnu.org>
26437
26438 * loader/multiboot_loader.c: Fix multiboot command
26439 unregistration. Fix all typos in the word "multiboot".
26440
26441 2007-12-29 Pavel Roskin <proski@gnu.org>
26442
26443 * util/grub.d/10_linux.in: Refactor search for initrd. Add
26444 support for initrd names used in Fedora.
26445
26446 2007-12-26 Bean <bean123ch@gmail.com>
26447
26448 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
26449 (cpio_mod_SOURCES): New variable.
26450 (cpio_mod_CFLAGS): Likewise.
26451 (cpio_mod_LDFLAGS): Likewise.
26452
26453 * fs/cpio.c: New file.
26454
26455 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
26456
26457 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26458
26459 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26460
26461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26462
26463 2007-12-25 Robert Millan <rmh@aybabtu.com>
26464
26465 * include/grub/term.h (struct grub_term): Add `getcolor' function.
26466 (grub_getcolor): New function.
26467
26468 * kern/term.c (grub_getcolor): New function.
26469 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
26470 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
26471 (print_entry): Set normal and highlight colors to
26472 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
26473 respectively, before printing and restore them to old
26474 values afterwards.
26475 (grub_menu_init_page): Likewise. Fill an additional colored space
26476 that would otherwise be left blank.
26477
26478 * term/efi/console.c (grub_console_getcolor): New function.
26479 (struct grub_console_term.getcolor): New variable.
26480 * term/i386/pc/console.c (grub_console_getcolor): New function.
26481 (struct grub_console_term.getcolor): New variable.
26482 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
26483 (struct grub_console_term.getcolor): New variable.
26484
26485 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
26486 (struct grub_console_term.setcolor): Remove variable.
26487 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
26488 (struct grub_console_term.setcolor): Remove variable.
26489 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
26490 (struct grub_console_term.setcolor): Remove variable.
26491 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
26492 (struct grub_console_term.setcolor): Remove variable.
26493
26494 2007-12-25 Robert Millan <rmh@aybabtu.com>
26495
26496 * configure.ac: Search for possible unifont.hex locations, and
26497 define UNIFONT_HEX if found.
26498
26499 * Makefile.in (UNIFONT_HEX): Define variable.
26500 (DATA): Rename to ...
26501 (PKGLIB): ... this. Update all users.
26502 (PKGDATA): New variable.
26503 (pkgdata_IMAGES): Rename to ...
26504 (pkglib_IMAGES): ... this. Update all users.
26505 (pkgdata_MODULES): Rename to ...
26506 (pkglib_MODULES): ... this. Update all users.
26507 (pkgdata_PROGRAMS): Rename to ...
26508 (pkglib_PROGRAMS): ... this. Update all users.
26509 (pkgdata_DATA): Rename to ...
26510 (pkglib_DATA): ... this. Update all users.
26511 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
26512 (unicode.pff, ascii.pff): New rules.
26513 (all-local): Add `$(PKGDATA)' dependency.
26514 (install-local): Process `$(PKGDATA)'.
26515
26516 * util/update-grub_lib.in (font_path): Search for *.pff files in
26517 a few more locations, including `${pkgdata}'.
26518
26519 2007-12-23 Robert Millan <rmh@aybabtu.com>
26520
26521 Patch from Bean <bean123ch@gmail.com>:
26522 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
26523 `size'.
26524
26525 2007-12-21 Bean <bean123ch@gmail.com>
26526
26527 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
26528 (ntfscomp_mod_SOURCES): New variable.
26529 (ntfscomp_mod_CFLAGS): Likewise.
26530 (ntfscomp_mod_LDFLAGS): Likewise.
26531
26532 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
26533 (grub_probe_SOURCES): Likewise.
26534 (grub_emu_SOURCES): Likewise.
26535
26536 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26537 (grub_emu_SOURCES): Likewise.
26538
26539 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26540 (grub_emu_SOURCES): Likewise.
26541
26542 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26543 (grub_emu_SOURCES): Likewise.
26544
26545 * fs/ntfs.c (grub_ntfscomp_func): New variable.
26546 (read_run_list): Renamed to grub_ntfs_read_run_list.
26547 (decomp_nextvcn): Moved to ntfscomp.c.
26548 (decomp_getch): Likewise.
26549 (decomp_get16): Likewise.
26550 (decomp_block): Likewise.
26551 (read_block): Likewise.
26552 (read_data): Partially moved to ntfscomp.c.
26553 (fixup): Change unsigned to grub_uint16_t.
26554 (read_mft): Change unsigned long to grub_uint32_t.
26555 (read_attr): Likewise.
26556 (read_data): Likewise.
26557 (read_run_data): Likewise.
26558 (read_run_list): Likewise.
26559 (read_mft): Likewise.
26560
26561 * fs/ntfscomp.c: New file.
26562
26563 * include/grub/ntfs.h: New file.
26564
26565 2007-12-16 Robert Millan <rmh@aybabtu.com>
26566
26567 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
26568 IDE disk check, since Linux is known to support 20 IDE disks.
26569 Reported by Colin Watson.
26570
26571 2007-12-15 Bean <bean123ch@gmail.com>
26572
26573 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
26574 (lnxboot_img_SOURCES): New variable.
26575 (lnxboot_img_ASFLAGS): Likewise.
26576 (lnxboot_img_LDFLAGS): Likewise.
26577
26578 * boot/i386/pc/lnxboot.S: New file.
26579
26580 2007-11-24 Pavel Roskin <proski@gnu.org>
26581
26582 * configure.ac: Test if '--build-id=none' is supported by the
26583 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
26584 objcopy to generate incorrect binary files (binutils
26585 2.17.50.0.18-1 as shipped by Fedora 8).
26586 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
26587 linking, so that build ID doesn't break the test.
26588
26589 2007-11-24 Pavel Roskin <proski@gnu.org>
26590
26591 * include/grub/i386/time.h: use "void" in the argument list
26592 of grub_cpu_idle().
26593 * include/grub/powerpc/time.h: Likewise.
26594 * include/grub/sparc64/time.h: Likewise.
26595
26596 2007-11-18 Christian Franke <franke@computer.org>
26597
26598 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
26599 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
26600 This fixes the problem that function keys did not work in grub-emu.
26601
26602 2007-11-18 Christian Franke <franke@computer.org>
26603
26604 * disk/host.c (grub_host_open): Remove attribute unused from
26605 name parameter. Add check for "host". This fixes the problem
26606 that grub-emu does not find partitions.
26607
26608 2007-11-18 Christian Franke <franke@computer.org>
26609
26610 * util/hostfs.c (is_dir): New function.
26611 (grub_hostfs_dir): Handle missing dirent.d_type case.
26612 (grub_hostfs_read): Add missing fseek().
26613 (grub_hostfs_label): Clear label pointer. This fixes a crash
26614 of grub-emu on "ls (host)".
26615
26616 2007-11-18 Christian Franke <franke@computer.org>
26617
26618 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
26619 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
26620 to 64 bit boundary by default.
26621
26622 2007-11-18 Bean <bean123ch@gmail.com>
26623
26624 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
26625 (hexdump_mod_SOURCES): New variable.
26626 (hexdump_mod_CFLAGS): Likewise.
26627 (hexdump_mod_LDFLAGS): Likewise.
26628
26629 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26630
26631 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26632
26633 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26634
26635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26636
26637 * include/grub/hexdump.h: New file.
26638
26639 * commands/hexdump.c: New file.
26640
26641 2007-11-10 Robert Millan <rmh@aybabtu.com>
26642
26643 * commands/i386/pc/play.c (beep_off): Switch order of arguments
26644 in grub_outb() calls.
26645 (beep_on): Likewise.
26646
26647 2007-11-10 Christian Franke <franke@computer.org>
26648
26649 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
26650 (grub_menu_run): Likewise.
26651
26652 2007-11-10 Robert Millan <rmh@aybabtu.com>
26653
26654 * include/grub/i386/efi/machine.h: New file.
26655 * include/grub/i386/linuxbios/machine.h: Likewise.
26656 * include/grub/i386/pc/machine.h: Likewise.
26657 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26658 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26659
26660 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
26661 (serial_hw_io_addr): New variable.
26662 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
26663 instead of `(unsigned short *) 0x400'.
26664
26665 2007-11-10 Bean <bean123ch@gmail.com>
26666
26667 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
26668
26669 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26670
26671 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
26672 (vga_mod_SOURCES): Added.
26673 (vga_mod_CFLAGS): Likewise.
26674 (vga_mod_LDFLAGS): Likewise.
26675
26676 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
26677 grub_outb() calls.
26678 (set_map_mask): Likewise.
26679 (set_read_map): Likewise.
26680 (set_read_address): Likewise.
26681 (vga_font): Removed variable.
26682 (get_vga_glyph): Removed function.
26683 (invalidate_char): Likewise.
26684 (write_char): Changed to use grub_font_get_glyph() for font
26685 information.
26686 (grub_vga_putchar): Likewise.
26687 (grub_vga_getcharwidth): Likewise.
26688
26689 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26690
26691 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
26692 flags.
26693 (pxeboot_img_LDFLAGS): Likewise.
26694 (diskboot_img_LDFLAGS): Likewise.
26695 (kernel_img_LDFLAGS): Likewise.
26696
26697 2007-11-06 Robert Millan <rmh@aybabtu.com>
26698
26699 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
26700 in grub_outb() calls.
26701 (serial_hw_init): Likewise.
26702
26703 2007-11-05 Robert Millan <rmh@aybabtu.com>
26704
26705 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
26706 spaces. Skip non-regular files.
26707
26708 2007-11-05 Robert Millan <rmh@aybabtu.com>
26709
26710 * kern/disk.c (grub_disk_firmware_fini)
26711 (grub_disk_firmware_is_tainted): New variables.
26712
26713 * include/grub/disk.h (grub_disk_firmware_fini)
26714 (grub_disk_firmware_is_tainted): Likewise.
26715
26716 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
26717 (grub_disk_biosdisk_fini): ... to here.
26718 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
26719 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
26720 is set. Register grub_disk_biosdisk_fini() in
26721 `grub_disk_firmware_fini'.
26722
26723 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
26724 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
26725 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
26726 to finish existing firmware disk interface.
26727
26728 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
26729 (ata_mod_SOURCES): New variable.
26730 (ata_mod_CFLAGS): Likewise.
26731 (ata_mod_LDFLAGS): Likewise.
26732
26733 2007-11-05 Robert Millan <rmh@aybabtu.com>
26734
26735 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
26736 (grub_ata_wait): Reimplement using grub_millisleep().
26737
26738 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
26739 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
26740
26741 2007-11-03 Marco Gerards <marco@gnu.org>
26742
26743 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
26744 (CRTC_ADDR_PORT): New macro.
26745 (CRTC_DATA_PORT): Likewise.
26746 (CRTC_CURSOR): Likewise.
26747 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26748 (CRTC_CURSOR_ADDR_LOW): Likewise.
26749 (update_cursor): New function.
26750 (grub_console_real_putchar): Call `update_cursor'.
26751 (grub_console_gotoxy): Likewise.
26752 (grub_console_cls): Set the default color when clearing the
26753 screen.
26754 (grub_console_setcursor): Implemented.
26755
26756 2007-11-03 Marco Gerards <marco@gnu.org>
26757
26758 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
26759 become activate.
26760 (grub_ata_pio_write): Likewise.
26761
26762 (grub_atapi_identify): Wait after issuing an ATA command.
26763 (grub_atapi_packet): Likewise.
26764 (grub_ata_identify): Likewise.
26765 (grub_ata_readwrite): Likewise.
26766
26767 2007-11-03 Marco Gerards <marco@gnu.org>
26768
26769 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
26770 (grub_ata_pio_write): Likewise.
26771 (grub_ata_readwrite): Use `grub_error', instead of
26772 returning `grub_errno'.
26773
26774 2007-11-03 Marco Gerards <marco@gnu.org>
26775
26776 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
26777 grub_ata_pio_write once for every single sector, instead of for
26778 multiple sectors.
26779
26780 2007-10-31 Robert Millan <rmh@aybabtu.com>
26781
26782 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
26783
26784 * conf/i386-linuxbios.rmk: New file.
26785
26786 * kern/i386/pc/hardware.c: Likewise.
26787 * term/i386/pc/at_keyboard.c: Likewise.
26788 * term/i386/pc/vga_text.c: Likewise.
26789
26790 * include/grub/i386/linuxbios/boot.h: Likewise.
26791 * include/grub/i386/linuxbios/console.h: Likewise.
26792 * include/grub/i386/linuxbios/init.h: Likewise.
26793 * include/grub/i386/linuxbios/kernel.h: Likewise.
26794 * include/grub/i386/linuxbios/loader.h: Likewise.
26795 * include/grub/i386/linuxbios/memory.h: Likewise.
26796 * include/grub/i386/linuxbios/serial.h: Likewise.
26797 * include/grub/i386/linuxbios/time.h: Likewise.
26798
26799 * kern/i386/linuxbios/init.c: Likewise.
26800 * kern/i386/linuxbios/startup.S: Likewise.
26801 * kern/i386/linuxbios/table.c: Likewise.
26802
26803 2007-10-31 Marco Gerards <marco@gnu.org>
26804
26805 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
26806 (ata_mod_SOURCES): New variable.
26807 (ata_mod_CFLAGS): Likewise.
26808 (ata_mod_LDFLAGS): Likewise.
26809
26810 * disk/ata.c: New file.
26811
26812 * include/grub/disk.h (grub_disk_dev_id): Add
26813 `GRUB_DISK_DEV_ATA_ID'.
26814
26815 2007-10-31 Robert Millan <rmh@aybabtu.com>
26816
26817 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
26818 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
26819
26820 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
26821 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
26822
26823 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
26824 `<grub/types.h>'.
26825
26826 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
26827
26828 2007-10-27 Robert Millan <rmh@aybabtu.com>
26829
26830 * include/grub/types.h (ULONG_MAX): Define macro.
26831
26832 2007-10-22 Robert Millan <rmh@aybabtu.com>
26833
26834 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
26835 `"../realmode.S"'.
26836 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
26837
26838 2007-10-22 Robert Millan <rmh@aybabtu.com>
26839
26840 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
26841 (pkgdata_MODULES): Add `biosdisk.mod'.
26842 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
26843 variables.
26844
26845 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
26846 (grub_biosdisk_init): Replace with ...
26847 (GRUB_MOD_INIT(biosdisk)): ... this.
26848 (grub_biosdisk_fini): Replace with ...
26849 (GRUB_MOD_FINI(biosdisk)): ... this.
26850
26851 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
26852 (grub_machine_init): Remove call to grub_biosdisk_init().
26853 (grub_machine_fini): Remove call to grub_machine_fini().
26854
26855 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
26856
26857 2007-10-22 Robert Millan <rmh@aybabtu.com>
26858
26859 * include/grub/time.h: New file.
26860 * include/grub/i386/time.h: Likewise.
26861 * include/grub/powerpc/time.h: Likewise.
26862 * include/grub/sparc64/time.h: Likewise.
26863
26864 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
26865 instances to ...
26866 (KERNEL_MACHINE_TIME_HEADER): ... this.
26867 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
26868 instances to ...
26869 (KERNEL_MACHINE_TIME_HEADER): ... this.
26870 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
26871 instances to ...
26872 (KERNEL_MACHINE_TIME_HEADER): ... this.
26873
26874 * kern/i386/efi/init.c: Include `<grub/time.h>'.
26875 (grub_millisleep): New function.
26876 * kern/i386/pc/init.c: Include `<grub/time.h>'.
26877 (grub_millisleep): New function.
26878 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
26879 Remove `grub/machine/time.h' include.
26880 (grub_millisleep): New function.
26881 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
26882 Remove `grub/machine/time.h' include.
26883 (grub_millisleep): New function.
26884
26885 * include/grub/misc.h (grub_div_roundup): New function.
26886
26887 * kern/misc.c: Include `<grub/time.h>'.
26888 (grub_millisleep_generic): New function.
26889
26890 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
26891 Add `time.h'.
26892 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
26893 Add `time.h'.
26894 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
26895 `machine/time.h'. Add `time.h'.
26896 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26897
26898 2007-10-21 Robert Millan <rmh@aybabtu.com>
26899
26900 * include/grub/misc.h (grub_max): New function.
26901
26902 2007-10-21 Robert Millan <rmh@aybabtu.com>
26903
26904 * util/misc.c (grub_util_info): Call fflush() before returning.
26905
26906 2007-10-20 Robert Millan <rmh@aybabtu.com>
26907
26908 * genmk.rb (Image): Copy `extra_flags' from here ...
26909 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
26910
26911 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
26912 to `argc' and `args' arguments.
26913
26914 2007-10-17 Robert Millan <rmh@aybabtu.com>
26915
26916 * kern/i386/loader.S: New file.
26917
26918 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
26919 * kern/i386/loader.S (grub_linux_prot_size)... to here.
26920 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
26921 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
26922 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
26923 * kern/i386/loader.S (grub_linux_real_addr)... to here.
26924 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
26925 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
26926 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
26927 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
26928 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
26929 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
26930 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
26931 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
26932
26933 * kern/i386/realmode.S: New file.
26934
26935 * kern/i386/pc/startup.S (protstack): Moved from here ...
26936 * kern/i386/realmode.S (protstack)... to here.
26937 * kern/i386/pc/startup.S (gdt): Moved from here ...
26938 * kern/i386/realmode.S (gdt)... to here.
26939 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
26940 * kern/i386/realmode.S (prot_to_real)... to here.
26941
26942 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
26943 `kern/i386/realmode.S'.
26944
26945 2007-10-17 Robert Millan <rmh@aybabtu.com>
26946
26947 * include/grub/i386/loader.h: New file.
26948
26949 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
26950 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26951 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26952 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26953 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
26954 * include/grub/i386/loader.h (grub_linux_prot_size)
26955 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26956 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26957 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26958 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
26959
26960 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
26961
26962 2007-10-15 Robert Millan <rmh@aybabtu.com>
26963
26964 * normal/misc.c (grub_normal_print_device_info): Do not probe for
26965 filesystem when dev->disk is unset.
26966 Do probe for filesystem even when dev->disk->has_partitions is set.
26967 In case a filesystem is found, always report it.
26968 In case it isn't, if dev->disk->has_partitions is set, report that
26969 a partition table was found instead of reporting that no filesystem
26970 could be identified.
26971
26972 2007-10-12 Robert Millan <rmh@aybabtu.com>
26973
26974 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
26975 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
26976
26977 * include/grub/types.h (grub_host_to_target16): New macro.
26978 (grub_host_to_target32): Likewise.
26979 (grub_host_to_target64): Likewise.
26980 (grub_target_to_host16): Likewise.
26981 (grub_target_to_host32): Likewise.
26982 (grub_target_to_host64): Likewise.
26983
26984 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26985 Renamed from to ...
26986 (GRUB_MOD_ALIGN): ...this. Update all users.
26987
26988 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
26989 grub_host_to_target32.
26990 Replace grub_be_to_cpu32 with grub_target_to_host32.
26991 (load_modules): Likewise.
26992 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
26993 Replace grub_be_to_cpu32 with grub_target_to_host32.
26994 Replace grub_cpu_to_be16 with grub_host_to_target16.
26995 Replace grub_cpu_to_be32 grub_host_to_target32.
26996
26997 2007-10-12 Robert Millan <rmh@aybabtu.com>
26998
26999 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
27000 * util/elf/grub-mkimage.c: ... here.
27001
27002 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
27003 `util/powerpc/ieee1275/grub-mkimage.c'.
27004
27005 2007-10-07 Robert Millan <rmh@aybabtu.com>
27006
27007 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
27008 and make it easier to figure out.
27009 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
27010 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
27011 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
27012 leave us with less than HEAP_MIN_SIZE total heap.
27013 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
27014
27015 2007-10-03 Robert Millan <rmh@aybabtu.com>
27016
27017 * include/grub/i386/io.h: New file.
27018 * commands/i386/pc/play.c (inb): Removed.
27019 (outb): Removed.
27020 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27021 with grub_outb().
27022 * term/i386/pc/serial.c (inb): Removed.
27023 (outb): Removed.
27024 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27025 with grub_outb().
27026 * term/i386/pc/vga.c (inb): Removed.
27027 (outb): Removed.
27028 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27029 with grub_outb().
27030
27031 2007-10-02 Robert Millan <rmh@aybabtu.com>
27032
27033 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
27034 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27035 Reported by Marcin Kurek.
27036
27037 2007-09-07 Robert Millan <rmh@aybabtu.com>
27038
27039 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
27040 SmartFirmware version updates (as released by Sven Luther), and avoid
27041 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
27042 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
27043 known broken.
27044
27045 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27046
27047 From Hitoshi Ozeki:
27048 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
27049 when merging two regions.
27050
27051 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27052
27053 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
27054 * normal/completion.c (grub_normal_do_completion): Likewise.
27055 Reported by Hitoshi Ozeki.
27056
27057 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27058
27059 Do not use devices at boot in chainloading.
27060
27061 * loader/i386/pc/chainloader.c (boot_drive): New variable.
27062 (boot_part_addr): Likewise.
27063 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
27064 with BOOT_DRIVE and BOOT_PART_ADDR.
27065 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
27066 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
27067
27068 2007-08-29 Robert Millan <rmh@aybabtu.com>
27069
27070 Patch from Simon Peter <dn.tlp@gmx.net>:
27071 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
27072 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
27073 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
27074 util/i386/pc/grub-setup.c_DEPENDENCIES.
27075 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
27076 util/grub-probe.c_DEPENDENCIES.
27077 * conf/powerpc-ieee1275.rmk: Likewise.
27078
27079 2007-08-28 Robert Millan <rmh@aybabtu.com>
27080
27081 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
27082 to tell grub-mkdevicemap how to name devices.
27083 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
27084 feature).
27085
27086 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
27087 util/i386/get_disk_name.c.
27088 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
27089 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
27090 util/ieee1275/get_disk_name.c.
27091
27092 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
27093
27094 * DISTLIST: Add util/i386/get_disk_name.c and
27095 util/ieee1275/get_disk_name.c.
27096
27097 * util/grub-mkdevicemap.c: Replace device naming logic with
27098 grub_util_get_disk_name() calls.
27099
27100 2007-08-20 Robert Millan <rmh@aybabtu.com>
27101
27102 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
27103 (so that it works for both plural and singular quantities).
27104
27105 2007-08-05 Robert Millan <rmh@aybabtu.com>
27106
27107 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
27108 so that [xz] isn't taken into account when determining order.
27109
27110 2007-08-02 Marco Gerards <marco@gnu.org>
27111
27112 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
27113 `include/multiboot2.h', `include/grub/elfload.h',
27114 `include/multiboot.h', `include/grub/multiboot.h',
27115 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
27116 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
27117 `kern/elf.c', `loader/multiboot_loader.c',
27118 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
27119 `loader/i386/pc/multiboot2.c',
27120 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
27121 `util/i386/pc/grub-mkrescue.in'. Remove
27122 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
27123 `include/grub/i386/pc/util/biosdisk.h' and
27124 `include/grub/powerpc/ieee1275/multiboot.h'.
27125
27126 2007-08-02 Bean <bean123ch@gmail.com>
27127
27128 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
27129 (ntfs_mod_SOURCES): New variable.
27130 (ntfs_mod_CFLAGS): Likewise.
27131 (ntfs_mod_LDFLAGS): Likewise.
27132
27133 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
27134 (grub_probe_SOURCES): Likewise.
27135 (grub_emu_SOURCES): Likewise.
27136
27137 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27138 (grub_emu_SOURCES): Likewise.
27139
27140 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27141 (grub_emu_SOURCES): Likewise.
27142
27143 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
27144
27145 * fs/ntfs.c: New file.
27146
27147 2007-08-02 Bean <bean123ch@gmail.com>
27148
27149 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
27150
27151 * file.h (grub_file): Likewise.
27152
27153 * fshelp.h (grub_fshelp_read_file): Likewise.
27154
27155 * util/i386/pc/grub-setup.c (setup): Likewise.
27156 (save_first_sector): Likewise.
27157 (save_blocklists): Likewise.
27158
27159 * fs/affs.c (grub_affs_read_file): Likewise.
27160
27161 * fs/ext2.c (grub_ext2_read_file): Likewise.
27162
27163 * fs/fat.c (grub_fat_read_data): Likewise.
27164
27165 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27166
27167 * fs/hfs.c (grub_hfs_read_file): Likewise.
27168
27169 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27170
27171 * fs/jfs.c (grub_jfs_read_file): Likewise.
27172
27173 * fs/minix.c (grub_minix_read_file): Likewise.
27174
27175 * fs/sfs.c (grub_sfs_read_file): Likewise.
27176
27177 * fs/ufs.c (grub_ufs_read_file): Likewise.
27178
27179 * fs/xfs.c (grub_xfs_read_file): Likewise.
27180
27181 * command/blocklist.c (read_blocklist): Likewise.
27182 (print_blocklist): Likewise.
27183
27184 2007-08-02 Marco Gerards <marco@gnu.org>
27185
27186 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27187 `util/hostfs.c'.
27188
27189 * disk/host.c: New file.
27190
27191 * util/hostfs.c: Likewise.
27192
27193 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27194 return `GRUB_ERR_BAD_FS'.
27195 * fs/sfs.c (grub_sfs_mount): Likewise.
27196 * fs/xfs.c (grub_xfs_mount): Likewise.
27197
27198 * include/grub/disk.h (enum grub_disk_dev_id): Add
27199 `GRUB_DISK_DEVICE_HOST_ID'.
27200
27201 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27202
27203 2007-07-24 Jerone Young <jerone@gmail.com>
27204
27205 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
27206 modules for compilation.
27207 * conf/powerpc-ieee1275.rmk: Likewise.
27208
27209 * include/multiboot.h: Move multiboot definitions to one file. Rename
27210 many definitions to not get grub specific.
27211 * include/multiboot2.h: Create header with multiboot 2 definitions.
27212 * include/grub/multiboot.h: Header for grub specific function
27213 prototypes and definitions.
27214 * include/grub/multiboot2.h: Likewise.
27215 * include/grub/multiboot_loader.h: Likewise.
27216 * include/grub/i386/pc/multiboot.h: Removed.
27217 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27218
27219 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27220 and 2 to allow for one multiboot and module commands.
27221 * loader/multiboot2.c: Add multiboot2 functionality.
27222 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27223 and definition names.
27224 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27225 2 functions.
27226 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27227 ieee1275 specific multiboot2 code.
27228
27229 * kern/i386/pc/startup.S: Change headers and definition names for
27230 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
27231
27232 2007-07-22 Robert Millan <rmh@aybabtu.com>
27233
27234 * geninitheader.sh: Process file specified in first parameter rather
27235 than hardcoding grub_modules_init.lst.
27236 * geninit.sh: Likewise. Also, construct header name dynamically rather
27237 than hardcoding grub_modules_init.h.
27238
27239 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
27240 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
27241 grub_probe_init.[ch] and grub_setup_init.[ch].
27242
27243 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
27244 grub_modules_init.h with grub_emu_init.h.
27245 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
27246 grub_probe_init.[ch] files.
27247 * conf/i386-efi.rmk: Likewise.
27248 * conf/i386-pc.rmk: Likewise.
27249 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
27250 grub_setup_init.[ch] files.
27251
27252 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
27253 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
27254 to initialize modules rather than a list of hardcoded functions.
27255 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
27256 grub_init_all() to initialize modules rather than a list of hardcoded
27257 functions.
27258
27259 2007-07-22 Robert Millan <rmh@aybabtu.com>
27260
27261 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27262 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
27263
27264 2007-07-22 Robert Millan <rmh@aybabtu.com>
27265
27266 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27267 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
27268 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
27269 flag when running on SmartFirmware.
27270 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
27271 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
27272 was set.
27273
27274 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27275 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
27276 rather than decreasing it.
27277
27278 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
27279 there's not enough space to do it, fail in the same way as when it
27280 can't be done because there are no partitions.
27281
27282 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
27283 when nvsetenv failed.
27284
27285 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27286
27287 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
27288 because this rule is automatically generated.
27289 (grub-mkrescue): Removed for the same reason as above.
27290
27291 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27292
27293 Migrate to GNU General Public License Version 3.
27294
27295 * COPYING: Replaced with the plain text version of GPLv3.
27296
27297 * config.guess: Updated from gnulib.
27298 * config.sub: Likewise.
27299
27300 * geninit.sh: Output a GPLv3 copyright notice.
27301 * geninitheader.sh: Likewise.
27302 * genmodsrc.sh: Likewise.
27303 * gensymlist.sh.in: Likewise.
27304
27305 * boot/i386/pc/boot.S: Upgraded to GPLv3.
27306 * boot/i386/pc/diskboot.S: Likewise.
27307 * boot/i386/pc/pxeboot.S: Likewise.
27308 * commands/blocklist.c: Likewise.
27309 * commands/boot.c: Likewise.
27310 * commands/cat.c: Likewise.
27311 * commands/cmp.c: Likewise.
27312 * commands/configfile.c: Likewise.
27313 * commands/echo.c: Likewise.
27314 * commands/help.c: Likewise.
27315 * commands/ls.c: Likewise.
27316 * commands/search.c: Likewise.
27317 * commands/terminal.c: Likewise.
27318 * commands/test.c: Likewise.
27319 * commands/videotest.c: Likewise.
27320 * commands/i386/cpuid.c: Likewise.
27321 * commands/i386/pc/halt.c: Likewise.
27322 * commands/i386/pc/play.c: Likewise.
27323 * commands/i386/pc/reboot.c: Likewise.
27324 * commands/i386/pc/vbeinfo.c: Likewise.
27325 * commands/i386/pc/vbetest.c: Likewise.
27326 * commands/ieee1275/halt.c: Likewise.
27327 * commands/ieee1275/reboot.c: Likewise.
27328 * commands/ieee1275/suspend.c: Likewise.
27329 * disk/loopback.c: Likewise.
27330 * disk/lvm.c: Likewise.
27331 * disk/raid.c: Likewise.
27332 * disk/efi/efidisk.c: Likewise.
27333 * disk/i386/pc/biosdisk.c: Likewise.
27334 * disk/ieee1275/ofdisk.c: Likewise.
27335 * font/manager.c: Likewise.
27336 * fs/affs.c: Likewise.
27337 * fs/ext2.c: Likewise.
27338 * fs/fat.c: Likewise.
27339 * fs/fshelp.c: Likewise.
27340 * fs/hfs.c: Likewise.
27341 * fs/hfsplus.c: Likewise.
27342 * fs/iso9660.c: Likewise.
27343 * fs/jfs.c: Likewise.
27344 * fs/minix.c: Likewise.
27345 * fs/sfs.c: Likewise.
27346 * fs/ufs.c: Likewise.
27347 * fs/xfs.c: Likewise.
27348 * hello/hello.c: Likewise.
27349 * include/grub/acorn_filecore.h: Likewise.
27350 * include/grub/arg.h: Likewise.
27351 * include/grub/bitmap.h: Likewise.
27352 * include/grub/boot.h: Likewise.
27353 * include/grub/cache.h: Likewise.
27354 * include/grub/device.h: Likewise.
27355 * include/grub/disk.h: Likewise.
27356 * include/grub/dl.h: Likewise.
27357 * include/grub/elfload.h: Likewise.
27358 * include/grub/env.h: Likewise.
27359 * include/grub/err.h: Likewise.
27360 * include/grub/file.h: Likewise.
27361 * include/grub/font.h: Likewise.
27362 * include/grub/fs.h: Likewise.
27363 * include/grub/fshelp.h: Likewise.
27364 * include/grub/gzio.h: Likewise.
27365 * include/grub/hfs.h: Likewise.
27366 * include/grub/kernel.h: Likewise.
27367 * include/grub/loader.h: Likewise.
27368 * include/grub/lvm.h: Likewise.
27369 * include/grub/misc.h: Likewise.
27370 * include/grub/mm.h: Likewise.
27371 * include/grub/net.h: Likewise.
27372 * include/grub/normal.h: Likewise.
27373 * include/grub/parser.h: Likewise.
27374 * include/grub/partition.h: Likewise.
27375 * include/grub/pc_partition.h: Likewise.
27376 * include/grub/raid.h: Likewise.
27377 * include/grub/rescue.h: Likewise.
27378 * include/grub/script.h: Likewise.
27379 * include/grub/setjmp.h: Likewise.
27380 * include/grub/symbol.h: Likewise.
27381 * include/grub/term.h: Likewise.
27382 * include/grub/terminfo.h: Likewise.
27383 * include/grub/tparm.h: Likewise.
27384 * include/grub/types.h: Likewise.
27385 * include/grub/video.h: Likewise.
27386 * include/grub/efi/api.h: Likewise.
27387 * include/grub/efi/chainloader.h: Likewise.
27388 * include/grub/efi/console.h: Likewise.
27389 * include/grub/efi/console_control.h: Likewise.
27390 * include/grub/efi/disk.h: Likewise.
27391 * include/grub/efi/efi.h: Likewise.
27392 * include/grub/efi/pe32.h: Likewise.
27393 * include/grub/efi/time.h: Likewise.
27394 * include/grub/i386/linux.h: Likewise.
27395 * include/grub/i386/setjmp.h: Likewise.
27396 * include/grub/i386/types.h: Likewise.
27397 * include/grub/i386/efi/kernel.h: Likewise.
27398 * include/grub/i386/efi/loader.h: Likewise.
27399 * include/grub/i386/efi/time.h: Likewise.
27400 * include/grub/i386/pc/biosdisk.h: Likewise.
27401 * include/grub/i386/pc/boot.h: Likewise.
27402 * include/grub/i386/pc/chainloader.h: Likewise.
27403 * include/grub/i386/pc/console.h: Likewise.
27404 * include/grub/i386/pc/init.h: Likewise.
27405 * include/grub/i386/pc/kernel.h: Likewise.
27406 * include/grub/i386/pc/loader.h: Likewise.
27407 * include/grub/i386/pc/memory.h: Likewise.
27408 * include/grub/i386/pc/multiboot.h: Likewise.
27409 * include/grub/i386/pc/serial.h: Likewise.
27410 * include/grub/i386/pc/time.h: Likewise.
27411 * include/grub/i386/pc/vbe.h: Likewise.
27412 * include/grub/i386/pc/vbeblit.h: Likewise.
27413 * include/grub/i386/pc/vbefill.h: Likewise.
27414 * include/grub/i386/pc/vbeutil.h: Likewise.
27415 * include/grub/i386/pc/vga.h: Likewise.
27416 * include/grub/ieee1275/ieee1275.h: Likewise.
27417 * include/grub/ieee1275/ofdisk.h: Likewise.
27418 * include/grub/powerpc/libgcc.h: Likewise.
27419 * include/grub/powerpc/setjmp.h: Likewise.
27420 * include/grub/powerpc/types.h: Likewise.
27421 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
27422 * include/grub/powerpc/ieee1275/console.h: Likewise.
27423 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
27424 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27425 * include/grub/powerpc/ieee1275/loader.h: Likewise.
27426 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
27427 * include/grub/powerpc/ieee1275/time.h: Likewise.
27428 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
27429 * include/grub/sparc64/libgcc.h: Likewise.
27430 * include/grub/sparc64/setjmp.h: Likewise.
27431 * include/grub/sparc64/types.h: Likewise.
27432 * include/grub/sparc64/ieee1275/console.h: Likewise.
27433 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27434 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27435 * include/grub/sparc64/ieee1275/time.h: Likewise.
27436 * include/grub/util/biosdisk.h: Likewise.
27437 * include/grub/util/getroot.h: Likewise.
27438 * include/grub/util/lvm.h: Likewise.
27439 * include/grub/util/misc.h: Likewise.
27440 * include/grub/util/raid.h: Likewise.
27441 * include/grub/util/resolve.h: Likewise.
27442 * io/gzio.c: Likewise.
27443 * kern/device.c: Likewise.
27444 * kern/disk.c: Likewise.
27445 * kern/dl.c: Likewise.
27446 * kern/elf.c: Likewise.
27447 * kern/env.c: Likewise.
27448 * kern/err.c: Likewise.
27449 * kern/file.c: Likewise.
27450 * kern/fs.c: Likewise.
27451 * kern/loader.c: Likewise.
27452 * kern/main.c: Likewise.
27453 * kern/misc.c: Likewise.
27454 * kern/mm.c: Likewise.
27455 * kern/parser.c: Likewise.
27456 * kern/partition.c: Likewise.
27457 * kern/rescue.c: Likewise.
27458 * kern/term.c: Likewise.
27459 * kern/efi/efi.c: Likewise.
27460 * kern/efi/init.c: Likewise.
27461 * kern/efi/mm.c: Likewise.
27462 * kern/i386/dl.c: Likewise.
27463 * kern/i386/efi/init.c: Likewise.
27464 * kern/i386/efi/startup.S: Likewise.
27465 * kern/i386/pc/init.c: Likewise.
27466 * kern/i386/pc/lzo1x.S: Likewise.
27467 * kern/i386/pc/startup.S: Likewise.
27468 * kern/ieee1275/ieee1275.c: Likewise.
27469 * kern/powerpc/cache.S: Likewise.
27470 * kern/powerpc/dl.c: Likewise.
27471 * kern/powerpc/ieee1275/cmain.c: Likewise.
27472 * kern/powerpc/ieee1275/crt0.S: Likewise.
27473 * kern/powerpc/ieee1275/init.c: Likewise.
27474 * kern/powerpc/ieee1275/openfw.c: Likewise.
27475 * kern/sparc64/cache.S: Likewise.
27476 * kern/sparc64/dl.c: Likewise.
27477 * kern/sparc64/ieee1275/init.c: Likewise.
27478 * kern/sparc64/ieee1275/openfw.c: Likewise.
27479 * loader/efi/chainloader.c: Likewise.
27480 * loader/efi/chainloader_normal.c: Likewise.
27481 * loader/i386/efi/linux.c: Likewise.
27482 * loader/i386/efi/linux_normal.c: Likewise.
27483 * loader/i386/pc/chainloader.c: Likewise.
27484 * loader/i386/pc/chainloader_normal.c: Likewise.
27485 * loader/i386/pc/linux.c: Likewise.
27486 * loader/i386/pc/linux_normal.c: Likewise.
27487 * loader/i386/pc/multiboot.c: Likewise.
27488 * loader/i386/pc/multiboot_normal.c: Likewise.
27489 * loader/powerpc/ieee1275/linux.c: Likewise.
27490 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27491 * normal/arg.c: Likewise.
27492 * normal/cmdline.c: Likewise.
27493 * normal/command.c: Likewise.
27494 * normal/completion.c: Likewise.
27495 * normal/execute.c: Likewise.
27496 * normal/function.c: Likewise.
27497 * normal/lexer.c: Likewise.
27498 * normal/main.c: Likewise.
27499 * normal/menu.c: Likewise.
27500 * normal/menu_entry.c: Likewise.
27501 * normal/misc.c: Likewise.
27502 * normal/parser.y: Likewise.
27503 * normal/script.c: Likewise.
27504 * normal/i386/setjmp.S: Likewise.
27505 * normal/powerpc/setjmp.S: Likewise.
27506 * normal/sparc64/setjmp.S: Likewise.
27507 * partmap/acorn.c: Likewise.
27508 * partmap/amiga.c: Likewise.
27509 * partmap/apple.c: Likewise.
27510 * partmap/gpt.c: Likewise.
27511 * partmap/pc.c: Likewise.
27512 * partmap/sun.c: Likewise.
27513 * term/gfxterm.c: Likewise.
27514 * term/terminfo.c: Likewise.
27515 * term/efi/console.c: Likewise.
27516 * term/i386/pc/console.c: Likewise.
27517 * term/i386/pc/serial.c: Likewise.
27518 * term/i386/pc/vesafb.c: Likewise.
27519 * term/i386/pc/vga.c: Likewise.
27520 * term/ieee1275/ofconsole.c: Likewise.
27521 * util/biosdisk.c: Likewise.
27522 * util/console.c: Likewise.
27523 * util/genmoddep.c: Likewise.
27524 * util/getroot.c: Likewise.
27525 * util/grub-emu.c: Likewise.
27526 * util/grub-mkdevicemap.c: Likewise.
27527 * util/grub-probe.c: Likewise.
27528 * util/lvm.c: Likewise.
27529 * util/misc.c: Likewise.
27530 * util/raid.c: Likewise.
27531 * util/resolve.c: Likewise.
27532 * util/update-grub.in: Likewise.
27533 * util/update-grub_lib.in: Likewise.
27534 * util/grub.d/00_header.in: Likewise.
27535 * util/grub.d/10_hurd.in: Likewise.
27536 * util/grub.d/10_linux.in: Likewise.
27537 * util/i386/efi/grub-install.in: Likewise.
27538 * util/i386/efi/grub-mkimage.c: Likewise.
27539 * util/i386/pc/grub-install.in: Likewise.
27540 * util/i386/pc/grub-mkimage.c: Likewise.
27541 * util/i386/pc/grub-mkrescue.in: Likewise.
27542 * util/i386/pc/grub-setup.c: Likewise.
27543 * util/i386/pc/misc.c: Likewise.
27544 * util/powerpc/ieee1275/grub-install.in: Likewise.
27545 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
27546 * util/powerpc/ieee1275/misc.c: Likewise.
27547 * video/bitmap.c: Likewise.
27548 * video/video.c: Likewise.
27549 * video/i386/pc/vbe.c: Likewise.
27550 * video/i386/pc/vbeblit.c: Likewise.
27551 * video/i386/pc/vbefill.c: Likewise.
27552 * video/i386/pc/vbeutil.c: Likewise.
27553 * video/readers/tga.c: Likewise.
27554
27555 2007-07-02 Robert Millan <rmh@aybabtu.com>
27556
27557 * conf/i386-efi.rmk: Replace obsolete reference to
27558 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
27559 with util/getroot.c.
27560 * conf/powerpc-ieee1275.rmk: Likewise.
27561 * conf/sparc64-ieee1275.rmk: Likewise.
27562
27563 * util/grub-emu.c (main): Fix unchecked pointer handling.
27564
27565 2007-07-02 Robert Millan <rmh@aybabtu.com>
27566
27567 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
27568 invocation to fail, in order to support partition-less media.
27569
27570 * util/i386/pc/grub-install.in: Likewise.
27571
27572 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
27573 which fs or partmap modules are needed (akin to its sister scripts).
27574
27575 Also use grub-probe to get rid of unportable /proc/mounts check.
27576
27577 Print the same informational message that the other scripts do, before
27578 exiting.
27579
27580 2007-06-23 Robert Millan <rmh@aybabtu.com>
27581
27582 * util/update-grub_lib.in (font_path): New function. Determine whether
27583 a font file can be found and, if so, echo the GRUB path to it.
27584
27585 * util/update-grub.in: Handle multiple terminals depending on user
27586 input, platform availability and font file presence. Propagate
27587 variables of our findings to /etc/grub.d/ children.
27588
27589 * util/grub.d/00_header.in: Handle multiple terminals, based on
27590 environment setup by update-grub.
27591
27592 2007-06-23 Robert Millan <rmh@aybabtu.com>
27593
27594 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
27595
27596 2007-06-21 Robert Millan <rmh@aybabtu.com>
27597
27598 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
27599 indicate end of data section in kernel image.
27600 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
27601 GRUB_KERNEL_MACHINE_DATA_END.
27602
27603 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
27604 space for it.
27605 * kern/i386/efi/startup.S: Likewise.
27606
27607 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
27608 during image generation. Implement --prefix option to override this
27609 patch.
27610 * util/i386/efi/grub-mkimage.c: Likewise.
27611
27612 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
27613 code to make path relative to its root into a separate function.
27614
27615 * util/i386/pc/grub-install.in: Use newly provided
27616 make_system_path_relative_to_its_root() to convert ${grubdir}, then
27617 pass the result to grub-install --prefix.
27618
27619 2007-06-13 Robert Millan <rmh@aybabtu.com>
27620
27621 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
27622 DEFAULT_DEVICE_MAP.
27623 * util/grub-emu.c: Use above definitions from misc.h instead of
27624 defining them.
27625 * util/grub-mkdevicemap.c: Likewise.
27626 * util/i386/pc/grub-setup.c: Likewise.
27627 * util/grub-probe.c: Likewise.
27628 (probe): Abort with grub_util_error() when either
27629 grub_guess_root_device or grub_util_get_grub_dev fails.
27630
27631 2007-06-12 Robert Millan <rmh@aybabtu.com>
27632
27633 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
27634 "pager" assignment.
27635 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
27636 "pcdata".
27637 * util/grub-probe.c (probe): Likewise for "drive_name".
27638
27639 2007-06-11 Robert Millan <rmh@aybabtu.com>
27640
27641 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
27642 not just the cdrom one.
27643
27644 2007-06-11 Robert Millan <rmh@aybabtu.com>
27645
27646 * util/i386/pc/grub-mkrescue.in: Add "set -e".
27647 Add --pkglibdir=DIR option to override pkglibdir.
27648 Mention --image-type=TYPE in help output.
27649 Fix --grub-mkimage (it was a no-op).
27650 Abort gracefully when no parameter is given.
27651
27652 2007-06-11 Robert Millan <rmh@aybabtu.com>
27653
27654 * util/i386/pc/grub-mkrescue.in: New file.
27655 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
27656 * Makefile.in: Handle bin_SCRIPTS.
27657
27658 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
27659
27660 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
27661 list of video modes.
27662
27663 2007-06-06 Robert Millan <rmh@aybabtu.com>
27664
27665 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
27666 file doesn't exist, or if it is in a filesystem grub can't read.
27667
27668 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
27669 not abort if GRUB_DRIVE could not be defined. Rearrange generated
27670 header comment to fit in 80 columns when the variables are resolved.
27671
27672 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
27673 could be identified by update-grub. Remove redundant check for
27674 unifont.pff existence (since convert_system_path_to_grub_path now
27675 handles that).
27676
27677 2007-06-04 Robert Millan <rmh@aybabtu.com>
27678
27679 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
27680
27681 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
27682
27683 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
27684
27685 2007-06-04 Robert Millan <rmh@aybabtu.com>
27686
27687 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
27688
27689 * include/grub/partition.h: Declare grub_apple_partition_map_init and
27690 grub_apple_partition_map_fini.
27691
27692 * util/biosdisk.c
27693 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
27694 to access >2 TiB disks).
27695
27696 Print disk->total_sectors with %llu instead of %lu, since this
27697 variable is always 64-bit (prevents wrong disk size from being displayed
27698 on either >2 TiB disk or big-endian CPU).
27699
27700 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
27701 into a generic case that supports all (sane) partition maps.
27702
27703 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
27704 breaks big-endian.
27705
27706 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
27707 and grub_apple_partition_map_fini() after that.
27708
27709 2007-06-01 Robert Millan <rmh@aybabtu.com>
27710
27711 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
27712
27713 * util/grub.d/00_header.in: Only enable gfxterm when
27714 convert_system_path_to_grub_path() succeeds.
27715
27716 2007-05-20 Robert Millan <rmh@aybabtu.com>
27717
27718 * util/update-grub_lib.in: New file.
27719 * DISTLIST: Add update-grub_lib.in.
27720 * conf/common.rmk: Generate update-grub_lib and install it in
27721 $(lib_DATA).
27722 * Makefile.in: Add install routine for $(lib_DATA).
27723
27724 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
27725 function provided by update-grub_lib to support arbitrary paths of
27726 unifont.pff.
27727 * util/update-grub.in: Use convert_system_path_to_grub_path() to
27728 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
27729
27730 2007-05-19 Robert Millan <rmh@aybabtu.com>
27731
27732 * commands/i386/cpuid.c: New module.
27733 * DISTLIST: Add it.
27734 * conf/i386-efi.rmk: Enable cpuid.mod.
27735 * conf/i386-pc.rmk: Likewise.
27736
27737 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27738
27739 * kern/disk.c (grub_disk_read): Check return value of
27740 grub_realloc().
27741
27742 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27743
27744 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
27745 arrays.
27746 * disk/raid.c (grub_raid_open): Likewise.
27747
27748 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27749
27750 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
27751 stack instead of on the heap.
27752
27753 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
27754 before doing a read on it.
27755
27756 * configure.ac: Only use -fno-stack-protector for the target
27757 environment.
27758
27759 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27760
27761 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
27762 __attribute_ ((unused)) to mode_type argument.
27763
27764 * util/getroot.c (grub_guess_root_device): Fix #endif.
27765
27766 * kern/misc.c (memcmp): Fix prototype.
27767
27768 * include/grub/partition.h [GRUB_UTIL]
27769 (grub_gpt_partition_map_init): Add prototype.
27770 (grub_gpt_partition_map_fini): Likewise.
27771
27772 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
27773 at the right place.
27774
27775 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
27776 (grub_fat_read_data): Likewise.
27777 (grub_fat_find_dir): Likewise.
27778
27779 * font/manager.c (find_glyph): Make table a const.
27780 (grub_font_get_glyph): Remove bitmap from if statement.
27781
27782 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
27783
27784 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
27785 code, first search for device in /dev/mapper, then in /dev.
27786 (grub_util_get_grub_dev): New function.
27787 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
27788 prototype.
27789 * util/grub-probe.c (probe): Remove check for RAID, call
27790 grub_util_get_grub_dev() instead of
27791 grub_util_biosdisk_get_grub_dev().
27792 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
27793 grub_util_biosdisk_get_grub_dev().
27794 * util/i386/pc/grub-setup.c (main): Likewise.
27795
27796 2007-05-16 Robert Millan <rmh@aybabtu.com>
27797
27798 * DISTLIST: Update for the latest changes.
27799 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
27800 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
27801 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
27802 grub/util/biosdisk.h.
27803 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
27804 grub/util/biosdisk.h.
27805
27806 2007-05-16 Robert Millan <rmh@aybabtu.com>
27807
27808 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
27809
27810 2007-05-16 Robert Millan <rmh@aybabtu.com>
27811
27812 * util/i386/efi/grub-install.in: New.
27813 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
27814 newly added grub-install.
27815 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
27816 include.
27817 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
27818 grub/util/biosdisk.h.
27819 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
27820 grub/util/biosdisk.h.
27821
27822 2007-05-16 Robert Millan <rmh@aybabtu.com>
27823
27824 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
27825 * include/grub/util/biosdisk.h: ... here.
27826 * util/i386/pc/biosdisk.c: Moved to ...
27827 * util/biosdisk.c: ... here.
27828 * util/i386/pc/getroot.c: Moved to ...
27829 * util/getroot.c: ... here.
27830 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
27831 * util/grub-mkdevicemap.c: ... here.
27832 * util/i386/pc/grub-probe.c: Moved to ...
27833 * util/grub-probe.c: ... here.
27834
27835 2007-05-15 Robert Millan <rmh@aybabtu.com>
27836
27837 * util/update-grub.in: Remove duplicated line in grub.cfg header
27838 message.
27839
27840 2007-05-13 Robert Millan <rmh@aybabtu.com>
27841
27842 * util/update-grub.in: Fix a few assumptions about the devices holding
27843 /, /boot and /boot/grub being the same.
27844 * util/grub.d/00_header.in: Likewise.
27845 * util/grub.d/10_hurd.in: Likewise.
27846 * util/grub.d/10_linux.in: Likewise.
27847
27848 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
27849 patterns. Use that to define the `.old' suffix as older than `'.
27850
27851 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
27852
27853 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
27854 the grub.cfg header message.
27855
27856 2007-05-11 Robert Millan <rmh@aybabtu.com>
27857
27858 * util/update-grub.in: Create device.map if it doesn't already exist,
27859 before attempting to run grub-probe.
27860 Check for grub-probe and grub-mkdevicemap with the same code
27861 grub-install is using.
27862 Remove test mode.
27863
27864 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
27865
27866 * Makefile.in: Add the datarootdir autoconf variable.
27867
27868 2007-05-09 Robert Millan <rmh@aybabtu.com>
27869
27870 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
27871 fail gracefully if dev->disk->partition == NULL.
27872
27873 2007-05-07 Robert Millan <rmh@aybabtu.com>
27874
27875 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
27876 determine partition map module.
27877 * util/i386/pc/grub-install.in: Use this feature to decide which
27878 partition module to load, instead of hardcoding pc and gpt.
27879
27880 2007-05-07 Robert Millan <rmh@aybabtu.com>
27881
27882 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
27883 source directory differs from build directory.
27884
27885 2007-05-05 Robert Millan <rmh@aybabtu.com>
27886
27887 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
27888 initialisation.
27889
27890 2007-05-05 Robert Millan <rmh@aybabtu.com>
27891
27892 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
27893
27894 2007-05-05 Robert Millan <rmh@aybabtu.com>
27895
27896 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
27897 command-line arguments via ${GRUB_CMDLINE_LINUX}.
27898
27899 2007-05-05 Robert Millan <rmh@aybabtu.com>
27900
27901 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
27902 (grub_probe_SOURCES): Likewise.
27903 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
27904 GPT and initialize dos_part and bsd_part accordingly.
27905 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
27906 install_bsd_part.
27907 (main): Activate gpt module for use during partition identification,
27908 and deactivate it afterwards.
27909 * util/i386/pc/grub-install.in: Add gpt module to core.img.
27910 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
27911 partition identification, and deactivate it afterwards.
27912
27913 2007-05-05 Robert Millan <rmh@aybabtu.com>
27914
27915 * term/i386/pc/console.c (grub_console_fini): Call
27916 grub_term_set_current() before grub_term_unregister().
27917
27918 2007-05-04 Robert Millan <rmh@aybabtu.com>
27919
27920 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
27921 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
27922 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
27923 and update-grub_DATA.
27924 * conf/common.rmk: Build and install update-grub components.
27925 * conf/common.mk: Regenerate.
27926 * util/update-grub.in: New. Core of update-grub.
27927 * util/grub.d/00_header.in: New. Generates grub.cfg header.
27928 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
27929 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
27930 * util/grub.d/README: New. Document grub.d directory layout.
27931
27932 2007-05-01 Robert Millan <rmh@aybabtu.com>
27933
27934 * util/grub-emu.c: Move initialization functions
27935 grub_util_biosdisk_init() and grub_init_all() before
27936 grub_util_biosdisk_get_grub_dev(), which relies on them.
27937
27938 2007-04-19 Robert Millan <rmh@aybabtu.com>
27939
27940 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
27941 it is used later.
27942
27943 2007-04-18 Jerone Young <jerone@gmail.com>
27944
27945 * kernel/elf.c: Add missing parenthesis for conditional statement
27946 stanza.
27947
27948 2007-04-10 Jerone Young <jerone@gmail.com>
27949
27950 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
27951 continue on and look for device node with real device name.
27952
27953 2007-04-10 Jerone Young <jerone@gmail.com>
27954
27955 * configure.ac: Add argument for autoconf to use transformation
27956 ability.
27957 * Makefile.in: Add autoconf package transformation code.
27958 * util/i386/pc/grub-install.in: Likewise.
27959 * util/powerpc/ieee1275/grub-install.in: Likewise.
27960
27961 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
27962
27963 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
27964 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
27965 (EXT2_REVISION): Likewise.
27966 (EXT2_INODE_SIZE): Likewise.
27967 (struct grub_ext2_block_group): Added a missing member
27968 "used_dirs".
27969 (grub_ext2_read_inode): Divide by the inode size in a superblock
27970 instead of 128 to obtain INODES_PER_BLOCK.
27971 Use the macro EXT2_INODE_SIZE instead of directly using
27972 SBLOCK->INODE_SIZE.
27973
27974 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
27975
27976 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
27977 superblock instead of the structure size to compute an
27978 offset. This fixes the problem that GRUB could not read a
27979 filesystem when inode size is different from 128-byte.
27980
27981 2007-03-05 Marco Gerards <marco@gnu.org>
27982
27983 * normal/main.c (read_config_file): When "menu" is not set, create
27984 an initial context.
27985
27986 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27987
27988 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
27989 (HEAP_LIMIT): New macro.
27990 (grub_claim_heap): Claim memory up to `heaplimit'.
27991
27992 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27993
27994 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
27995 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
27996 (_start): Likewise.
27997 (grub_arch_modules_addr): Return address after `_end'.
27998 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
27999 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
28000 (add_segments): Calculate `_end' from phdr size and location.
28001 (ALIGN_UP): Moved to ...
28002 * include/grub/misc.h: here.
28003 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28004 New macro.
28005 (GRUB_IEEE1275_MODULE_BASE): Removed.
28006
28007 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28008
28009 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
28010 loop boundary.
28011
28012 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28013
28014 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
28015 All users updated.
28016 (grub_elf64_load_hook_t): Likewise.
28017 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
28018 debug output.
28019
28020 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28021
28022 * kern/mm.c: Update copyright.
28023 (grub_mm_debug): Correct syntax error.
28024 (grub_mm_dump_free): New function.
28025 (grub_debug_free): Call `grub_free'.
28026 * include/grub/mm.h: Update copyright.
28027 (grub_mm_dump_free): Add declaration.
28028
28029 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28030
28031 * include/grub/ieee1275/ieee1275.h: Update copyright.
28032 * kern/powerpc/ieee1275/init.c: Likewise.
28033 * kern/powerpc/ieee1275/openfw.c: Likewise.
28034
28035 * loader/powerpc/ieee1275/linux.c: Likewise.
28036 * include/grub/elfload.h: Likewise.
28037 * kern/elf.c: Likewise.
28038 (grub_elf32_load): Pass `base' and `size' parameters. Update all
28039 callers.
28040 (grub_elf64_load): Likewise.
28041 (grub_elf32_load_segment): Move to a nested function.
28042 (grub_elf64_load_segment): Likewise.
28043
28044 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28045
28046 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
28047 prototype.
28048 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
28049 (grub_heap_len): Likewise.
28050 (HEAP_SIZE): New macro.
28051 (grub_claim_heap): New function.
28052 (grub_machine_init): Don't claim heap directly. Call
28053 `grub_claim_heap'.
28054 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
28055 (grub_available_iterate): New function.
28056
28057 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
28058
28059 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
28060 * configure.ac: Use it for testing the HOST and TARGET compilers.
28061
28062 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
28063
28064 * Makefile.in (enable_grub_emu): New variable.
28065 * configure.ac (--enable-grub-emu): New option.
28066 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
28067 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
28068 * conf/i386-pc.rmk: Likewise.
28069 * conf/powerpc-ieee1275.rmk: Likewise.
28070 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
28071
28072 2006-12-12 Marco Gerards <marco@gnu.org>
28073
28074 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
28075
28076 * kern/env.c (grub_env_unset): Don't free the member `value' when
28077 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
28078 pointer.
28079
28080 * normal/main.c (current_menu): Removed.
28081 (free_menu): Unset the `menu' environment variable.
28082 (grub_normal_menu_addentry): Make use of the environment variable
28083 `menu', instead of using the global `current_menu'. Allocate
28084 memory for the sourcecode of this entry.
28085 (read_config_file): New argument `nested', changed all callers.
28086 Only in the case of a new context, initialize a new menu. Set the
28087 `menu' environment variable.
28088 (grub_normal_execute): Don't set and unset the environment
28089 variable `menu' here anymore. Only free the menu when leaving the
28090 context.
28091
28092 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
28093 leak.
28094
28095 2006-12-11 Marco Gerards <marco@gnu.org>
28096
28097 * normal/menu_entry.c (run): Fix off by one bug so the last line
28098 is executed. Move the loader check to outside the loop.
28099
28100 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
28101
28102 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
28103
28104 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
28105
28106 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
28107 the number of sectors. Reported by Andrey Shuvikov
28108 <mr_hyro@yahoo.com>.
28109
28110 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
28111
28112 * kern/disk.c (grub_disk_read): When there is a read error, always
28113 try to read only the necessary data.
28114
28115 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
28116 disk/raid.c.
28117 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
28118 prototype.
28119 [GRUB_UTIL] (grub_raid_fini): Likewise.
28120 [GRUB_UTIL] (grub_lvm_init): Likewise.
28121 [GRUB_UTIL] (grub_lvm_fini): Likewise.
28122 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
28123 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
28124 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
28125 and grub_raid_fini().
28126
28127 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28128
28129 * include/grub/types.h (__unused): Rename to UNUSED.
28130 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
28131 (grub_elf64_size): Likewise.
28132
28133 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28134
28135 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
28136 grub_error_push and grub_error_pop in the error-handling path.
28137 (grub_elf32_load_segment): Only call grub_file_read with non-zero
28138 length.
28139
28140 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28141
28142 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
28143 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28144 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28145 (kernel_elf_SOURCES): Likewise.
28146 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
28147 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
28148 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28149 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28150 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
28151 (elf_mod_SOURCES): New variable.
28152 (elf_mod_CFLAGS): Likewise.
28153 (elf_mod_LDFLAGS): Likewise.
28154 * include/grub/types.h (__unused): New macro.
28155 * include/grub/elfload.h: New file.
28156 * kern/elf.c: Likewise.
28157 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28158 (ELF32_LOADMASK): New macro.
28159 (ELF64_LOADMASK): Likewise.
28160 (vmlinux): Removed.
28161 (grub_linux_load32): New function.
28162 (grub_linux_load64): Likewise.
28163 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28164 Use grub_elf_t instead of grub_file_t.
28165
28166 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28167
28168 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28169 `catch_result' to struct set_color_args.
28170
28171 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28172
28173 * normal/menu.c: Include grub/script.h.
28174 * normal/menu_entry.c: Likewise.
28175 * include/grub/normal.h: Do not include grub/script.h.
28176
28177 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28178
28179 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28180
28181 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28182
28183 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28184 disk.
28185 (grub_disk_close): Print debug messages when closing a disk.
28186 (grub_disk_read): Print debug messages when disk read fails.
28187 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28188 filesystem type.
28189 * kern/partition.c: Include misc.h.
28190 (grub_partition_iterate): Print debug messages when detecting
28191 partition type.
28192
28193 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28194
28195 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28196 is negative.
28197 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28198
28199 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28200
28201 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28202 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28203
28204 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28205
28206 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28207 instead of sizeof(lv). Patch by Michael Guntsche.
28208
28209 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28210
28211 * disk/lvm.c: Rename VGS to VG_LIST.
28212 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28213 (grub_lvm_open): Likewise.
28214 Thanks to Michael Guntsche for finding this bug.
28215
28216 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28217
28218 * configure.ac (AC_INIT): Bumped to 1.95.
28219
28220 2006-10-14 Robert Millan <rmh@aybabtu.com>
28221
28222 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28223 with "/dev/.static/dev/md".
28224
28225 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28226
28227 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28228 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28229 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
28230 DRIVE_NAME are always freed.
28231
28232 * util/i386/pc/biosdisk.c (make_device_name): Add one into
28233 DOS_PART, as a DOS partition is counted from one instead of zero
28234 now. Reported by Robert Millan.
28235
28236 2006-10-14 Robert Millan <rmh@aybabtu.com>
28237
28238 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
28239 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
28240 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
28241 string returned by grub_guess_root_device.
28242 * util/i386/pc/grub-setup.c: Likewise.
28243 * util/i386/pc/grub-probefs.c: Likewise.
28244
28245 * util/i386/pc/grub-probefs.c: Rename to ...
28246 * util/i386/pc/grub-probe.c: ... this.
28247 * DISTLIST: Remove grub-probefs, add grub-probe.
28248 * conf/i386-efi.rmk: Likewise.
28249 * conf/i386-pc.rmk: Likewise.
28250 * util/i386/pc/grub-install.in: Likewise.
28251
28252 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
28253 choose which information we want to print.
28254
28255 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28256
28257 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
28258 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
28259 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
28260 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
28261 video/readers/tga.c and video/i386/pc/vbeutil.c.
28262
28263 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
28264
28265 Added support for RAID and LVM.
28266
28267 * disk/lvm.c: New file.
28268 * disk/raid.c: Likewise.
28269 * include/grub/lvm.h: Likewise.
28270 * include/grub/raid.h: Likewise.
28271 * include/grub/util/lvm.h: Likewise.
28272 * include/grub/util/raid.h: Likewise.
28273 * util/lvm.c: Likewise.
28274 * util/raid.c: Likewise.
28275
28276 * include/grub/disk.h (grub_disk_dev_id): Add
28277 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
28278 (grub_disk_get_size): New prototype.
28279 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
28280 returns a partition.
28281 (grub_disk_get_size): New function.
28282
28283 * kern/i386/pc/init.c (make_install_device): Copy the prefix
28284 verbatim if grub_install_dos_part is -2.
28285
28286 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
28287 and LVM devices.
28288
28289 * util/i386/pc/grub-setup.c (setup): New argument
28290 MUST_EMBED. Force embedding of GRUB when the argument is
28291 true. Close FILE before returning.
28292 (main): Add support for RAID and LVM.
28293
28294 * conf/common.rmk: Add RAID and LVM modules.
28295 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
28296 util/lvm.c.
28297 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
28298
28299 * kern/misc.c (grub_strstr): New function.
28300 * include/grub/misc.h (grub_strstr): New prototype.
28301
28302 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
28303
28304 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
28305
28306 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
28307
28308 * kern/misc.c (grub_strtoull): Guess the base only if not
28309 specified.
28310
28311 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28312
28313 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
28314 PowerMac support.
28315
28316 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28317
28318 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
28319
28320 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
28321 Remove `flags' argument. All callers changed.
28322 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
28323 (IEEE1275_IHANDLE_INVALID): New variable.
28324 (IEEE1275_CELL_INVALID): New variable.
28325 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28326 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
28327 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
28328 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
28329 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
28330 codes from Open Firmware. All callers updated.
28331 (grub_ieee1275_next_property): Directly return Open Firmware return
28332 code.
28333 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28334 Standardize error checking from `grub_ieee1275_get_property'.
28335 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
28336 `devalias' to `aliases'. Correct comments. Consolidate error paths.
28337
28338 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
28339
28340 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
28341 `instance_to_package_args' to `instance_to_path_args'.
28342
28343 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
28344 `grub_ieee1275_chosen'.
28345
28346 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
28347 `grub_ieee1275_interpret'.
28348
28349 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28350
28351 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
28352
28353 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
28354
28355 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
28356 (__cmpdi): Likewise.
28357
28358 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
28359 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
28360 `grub_ssize_t'.
28361
28362 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
28363
28364 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
28365 to type `grub_ssize_t'.
28366 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
28367
28368 2006-09-22 Marco Gerards <marco@gnu.org>
28369
28370 * normal/script.c (grub_script_create_cmdmenu): Skip leading
28371 newlines.
28372
28373 2006-09-22 Marco Gerards <marco@gnu.org>
28374
28375 * commands/echo.c: New file.
28376
28377 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
28378
28379 * conf/common.rmk (echo_mod_SOURCES): New variable.
28380 (echo_mod_CFLAGS): Likewise.
28381 (echo_mod_LDFLAGS): Likewise.
28382
28383 2006-09-22 Marco Gerards <marco@gnu.org>
28384
28385 * normal/main.c (get_line): Malloc memory instead of using
28386 preallocated memory. Removed the arguments `cmdline' and
28387 `max_len'. Updated all callers.
28388
28389 2006-09-22 Marco Gerards <marco@gnu.org>
28390
28391 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28392 (normal_mod_DEPENDENCIES): Likewise.
28393
28394 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28395 (normal_mod_DEPENDENCIES): Likewise.
28396
28397 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28398
28399 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
28400
28401 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28402 programs.
28403 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28404 (normal_mod_DEPENDENCIES): Likewise.
28405 * conf/i386-pc.mk: Regenerate.
28406 * conf/i386-efi.mk: Likewise
28407 * conf/common.mk: Likewise.
28408 * conf/powerpc-ieee1275.mk: Likewise.
28409 * conf/sparc64-ieee1275.mk: Likewise.
28410
28411 2006-09-22 Robert Millan <rmh@aybabtu.com>
28412
28413 Sync with i386 version.
28414 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
28415 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
28416
28417 2006-09-21 Robert Millan <rmh@aybabtu.com>
28418
28419 Import from GRUB Legacy (lib/device.c):
28420 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
28421 (init_device_map) [__linux__]: Add support for I2O devices.
28422
28423 2006-09-14 Marco Gerards <marco@gnu.org>
28424
28425 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
28426 `-melf_i386'.
28427
28428 2006-09-14 Robert Millan <rmh@aybabtu.com>
28429
28430 * util/i386/pc/grub-install.in: Skip menu.lst when removing
28431 /boot/grub/*.lst.
28432
28433 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
28434
28435 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
28436 before adding it to device.map.
28437
28438 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
28439
28440 * genmk.rb: Let GCC generate dependencies the first time it
28441 compiles a file; using the -MD option.
28442 * conf/common.mk: Regenerate.
28443 * conf/i386-pc.mk: Likewise.
28444 * conf/i386-efi.mk: Likewise.
28445 * conf/powerpc-ieee1275.mk: Likewise.
28446 * conf/sparc64-ieee1275.mk: Likewise.
28447
28448 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
28449
28450 Move the prototypes of grub_setjmp and grub_longjmp to
28451 cpu/setjmp.h, so that each architecture may specify different
28452 attributes.
28453
28454 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
28455 (grub_longjmp): Likewise.
28456 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
28457 (grub_longjmp): Likewise.
28458 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
28459 (grub_longjmp): Likewise.
28460
28461 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
28462 [!GRUB_UTIL] (grub_longjmp): Removed.
28463
28464 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
28465
28466 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
28467 "color!" method does not return any value.
28468
28469 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28470
28471 * include/grub/bitmap.h: New file.
28472
28473 * include/grub/i386/pc/vbeutil.h: Likewise.
28474
28475 * video/bitmap.c: Likewise.
28476
28477 * video/readers/tga.c: Likewise.
28478
28479 * video/i386/pc/vbeutil.c: Likewise.
28480
28481 * commands/videotest.c: Code cleanup and updated to reflect to new
28482 video API.
28483
28484 * term/gfxterm.c: Likewise.
28485
28486 * video/video.c: Likewise.
28487
28488 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
28489 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
28490 (bitmap_mod_SOURCES): New entry.
28491 (bitmap_mod_CFLAGS): Likewise.
28492 (bitmap_mod_LDFLAGS): Likewise.
28493 (tga_mod_SOURCES): Likewise.
28494 (tga_mod_CFLAGS): Likewise.
28495 (tga_mod_LDFLAGS): Likewise.
28496
28497 * include/grub/video.h (grub_video_blit_operators): New enum type.
28498 (grub_video_render_target): Changed as forward declaration and moved
28499 actual definition to be video driver specific.
28500 (grub_video_adapter.blit_bitmap): Added blitting operator.
28501 (grub_video_adapter.blit_render_target): Likewise.
28502 (grub_video_blit_bitmap): Likewise.
28503 (grub_video_blit_render_target): Likewise.
28504
28505 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
28506 driver specific render target definition.
28507 (grub_video_vbe_map_rgba): Added driver internal helper.
28508 (grub_video_vbe_unmap_color): Updated to use
28509 grub_video_i386_vbeblit_info.
28510 (grub_video_vbe_get_video_ptr): Likewise.
28511
28512 * include/grub/i386/pc/vbeblit.h
28513 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
28514 grub_video_i386_vbeblit_info.
28515 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28516 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28517 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28518 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28519 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28520 (grub_video_i386_vbeblit_index_index): Likewise.
28521 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
28522 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28523 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28524 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
28525 operator.
28526 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
28527 operator.
28528
28529 * video/i386/pc/vbeblit.c: Updated to reflect changes on
28530 include/grub/i386/pc/vbeblit.h.
28531
28532 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
28533 Updated to use grub_video_i386_vbeblit_info.
28534 (grub_video_i386_vbefill_R8G8B8): Likewise.
28535 (grub_video_i386_vbefill_index): Likewise.
28536 (grub_video_i386_vbefill): Added generic filler.
28537
28538 * video/i386/pc/vbefill.c: Updated to reflect changes on
28539 include/grub/i386/pc/vbefill.h.
28540
28541 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
28542 grub_video_i386_vbeblit_info.
28543 (grub_video_vbe_unmap_color): Likewise.
28544 (grub_video_vbe_blit_glyph): Likewise.
28545 (grub_video_vbe_scroll): Likewise.
28546 (grub_video_vbe_draw_pixel): Removed function.
28547 (grub_video_vbe_get_pixel): Likewise.
28548 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
28549 updated code to use it.
28550 (common_blitter): Added common blitter for render target and bitmap.
28551 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
28552 (grub_video_vbe_blit_render_target): Likewise.
28553
28554 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
28555
28556 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
28557 is in text mode if there is no console control protocol instance
28558 available.
28559
28560 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28561
28562 * include/grub/video.h: Code cleanup.
28563
28564 * include/grub/i386/pc/vbe.h: Likewise.
28565
28566 * video/i386/pc/vbe.c: Likewise.
28567
28568 * video/i386/pc/vbeblit.c: Likewise.
28569
28570 * video/i386/pc/vbefill.c: Likewise.
28571
28572 * video/video.c: Likewise. Also added more comments.
28573
28574 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28575
28576 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
28577 (struct grub_biosdisk_dap): Likewise.
28578
28579 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
28580 linkage settings for all functions.
28581
28582 2006-07-12 Marco Gerards <marco@gnu.org>
28583
28584 * configure.ac (--enable-mm-debug): Fix typo.
28585
28586 * genkernsyms.sh.in: Use proper quoting for `CC'.
28587
28588 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
28589
28590 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
28591 (normal_mod_ASFLAGS): Remove "-m32".
28592
28593 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
28594
28595 * util/misc.c: Include config.h.
28596 [!HAVE_MEMALIGN]: Do not include malloc.h.
28597 (grub_memalign): Use posix_memalign, if present. Then, use
28598 memalign, if present. Otherwise, emit an error.
28599
28600 * util/grub-emu.c: Do not include malloc.h.
28601
28602 * include/grub/util/misc.h: Include unistd.h. This is required for
28603 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
28604 D. Eades III <hde@foobar-qux.org>.
28605
28606 * configure.ac (AC_GNU_SOURCE): Added.
28607 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
28608 type.
28609
28610 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
28611
28612 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
28613 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
28614
28615 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
28616
28617 * include/grub/types.h (grub_host_addr_t): Rename to
28618 grub_target_addr_t.
28619 (grub_host_off_t): Rename to grub_target_off_t.
28620 (grub_host_size_t): Rename to grub_target_size_t.
28621 (grub_host_ssize_t): Rename to grub_target_ssize_t.
28622 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
28623
28624 * include/grub/kernel.h (struct grub_module_header): Change type
28625 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
28626 (grub_module_info): Likewise.
28627
28628 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28629
28630 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
28631 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
28632 Velazquez <jesus.velazquez@gmail.com>.
28633
28634 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28635
28636 Count partitions from 1 instead of 0 in the string representation
28637 of partitions. Still use 0-based internally.
28638
28639 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
28640 (sun_partition_map_iterate): Use grub_partition_t instead of
28641 struct grub_partition *. Cast DESC->START_CYLINDER to
28642 grub_uint64_t after converting the endian.
28643 (sun_partition_map_probe): Subtract 1 for PARTNUM.
28644 (sun_partition_map_get_name): Add 1 to P->INDEX.
28645
28646 * partmap/pc.c (grub_partition_parse): Subtract 1 for
28647 PCDATA->DOS_PART.
28648 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
28649
28650 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
28651 zero instead of one.
28652 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
28653 (gpt_partition_map_get_name): Add 1 into P->INDEX.
28654
28655 * partmap/apple.c (apple_partition_map_iterate): Change the type
28656 of POS to unsigned.
28657 (apple_partition_map_probe): Subtract 1 for PARTNUM.
28658 (apple_partition_map_get_name): Add 1 into P->INDEX.
28659
28660 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
28661 of POS to unsigned.
28662 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
28663 calculate the offset of a partition.
28664 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
28665 (amiga_partition_map_get_name): Add 1 into P->INDEX.
28666
28667 * partmap/acorn.c (acorn_partition_map_find): Change the type of
28668 SECTOR to grub_disk_addr_t.
28669 (acorn_partition_map_iterate): Likewise.
28670 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
28671 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
28672 top.
28673 (acorn_partition_map_get_name): Add 1 into P->INDEX.
28674
28675 * kern/i386/pc/init.c (make_install_device): Add 1 into
28676 GRUB_INSTALL_DOS_PART.
28677
28678 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
28679 conditional.
28680
28681 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28682
28683 Clean up the code to support 64-bit addressing in disks and
28684 files. This change is not enough for filesystems yet.
28685
28686 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
28687 type of "start" to grub_uint64_t.
28688 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
28689 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
28690 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
28691 convert addresses.
28692
28693 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
28694 to grub_disk_addr_t.
28695
28696 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
28697 string.
28698
28699 * partmap/pc.c (pc_partition_map_iterate): Likewise.
28700
28701 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
28702 to char *.
28703
28704 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
28705
28706 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
28707
28708 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
28709
28710 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
28711 to grub_off_t, to detect an error from grub_file_seek.
28712 (grub_multiboot_load_elf32): Likewise.
28713
28714 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
28715 maximum unsigned long value when an overflow is detected.
28716 (grub_strtoull): New function.
28717 (grub_divmod64): Likewise.
28718 (grub_lltoa): use grub_divmod64.
28719
28720 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
28721 grub_disk_addr_t.
28722 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
28723 the pointer to next character. Use grub_strtoull instead of
28724 grub_strtoul.
28725 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
28726 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
28727 respectively.
28728
28729 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
28730 return value is signed.
28731 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
28732 test if OFFSET is less than zero, as OFFSET is unsigned now.
28733
28734 * kern/disk.c (struct grub_disk_cache): Change the type of
28735 "sector" to grub_disk_addr_t.
28736 (grub_disk_cache_get_index): Change the type of SECTOR to
28737 grub_disk_addr_t. Calculate the hash with SECTOR casted to
28738 unsigned after shifting.
28739 (grub_disk_cache_invalidate): Change the type of SECTOR to
28740 grub_disk_addr_t.
28741 (grub_disk_cache_unlock): Likewise.
28742 (grub_disk_cache_store): Likewise.
28743 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
28744 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
28745 grub_disk_addr_t and grub_uint64_t, respectively.
28746 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
28747 body, as the value of OFFSET is tweaked by
28748 grub_disk_check_range. Change the types of START_SECTOR, LEN and
28749 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
28750 respectively.
28751 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
28752 body, as the value of OFFSET is tweaked by
28753 grub_disk_check_range. Change the types of LEN and N to
28754 grub_size_t.
28755
28756 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
28757 and "saved_offset" to grub_off_t.
28758 (test_header): Cast BUF to char *.
28759 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
28760 to char *.
28761 (grub_gzio_read): Change the types of OFFSET and SIZE to
28762 grub_off_t and grub_size_t, respectively.
28763
28764 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
28765 Removed.
28766 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
28767 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
28768 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
28769 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
28770 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
28771
28772 * include/grub/types.h (grub_off_t): Unconditionally set to
28773 grub_uint64_t.
28774 (grub_disk_addr_t): Changed to grub_uint64_t.
28775
28776 * include/grub/partition.h (struct grub_partition): Change the
28777 types of "start", "len" and "offset" to grub_disk_addr_t,
28778 grub_uint64_t and grub_disk_addr_t, respectively.
28779 (grub_partition_get_start): Return grub_disk_addr_t.
28780 (grub_partition_get_len): Return grub_uint64_t.
28781
28782 * include/grub/misc.h (grub_strtoull): New prototype.
28783 (grub_divmod64): Likewise.
28784
28785 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
28786 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
28787 grub_off_t, respectively.
28788 All callers and references changed.
28789
28790 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
28791 grub_size_t in "read".
28792 All callers and references changed.
28793
28794 * include/grub/file.h (struct grub_file): Change the types of
28795 "offset" and "size" to grub_off_t and grub_off_t,
28796 respectively. Change the type of SECTOR to grub_disk_addr_t in
28797 "read_hook".
28798 (grub_file_read): Change the type of LEN to grub_size_t.
28799 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
28800 grub_off_t.
28801 (grub_file_size): Return grub_off_t.
28802 (grub_file_tell): Likewise.
28803 All callers and references changed.
28804
28805 * include/grub/disk.h (struct grub_disk_dev): Change the types of
28806 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
28807 "write".
28808 (struct grub_disk): Change the type of "total_sectors" to
28809 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
28810 "read_hook".
28811 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
28812 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
28813 (grub_disk_write): Likewise.
28814 All callers and references changed.
28815
28816 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
28817 char * for grub_strncmp to silence gcc.
28818 (grub_iso9660_mount): Likewise.
28819 (grub_iso9660_mount): Likewise.
28820 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
28821 return statement.
28822 (grub_iso9660_iterate_dir): Likewise.
28823 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
28824
28825 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
28826 LEN to grub_disk_addr_t and grub_size_t, respectively.
28827
28828 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
28829
28830 * fs/jfs.c (grub_jfs_read_file): Likewise.
28831
28832 * fs/minix.c (grub_jfs_read_file): Likewise.
28833
28834 * fs/sfs.c (grub_jfs_read_file): Likewise.
28835
28836 * fs/ufs.c (grub_jfs_read_file): Likewise.
28837
28838 * fs/xfs.c (grub_jfs_read_file): Likewise.
28839
28840 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
28841 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
28842 respectively.
28843
28844 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
28845 BLKNR to -1 instead of returning GRUB_ERRNO.
28846 (grub_ext2_read_file): Change the types of SECTOR and
28847 LEN to grub_disk_addr_t and grub_size_t, respectively.
28848
28849 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
28850 LEN to grub_disk_addr_t and grub_size_t, respectively.
28851
28852 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
28853 grub_file_read.
28854
28855 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
28856 string. Do not cast SECTOR explicitly.
28857
28858 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
28859 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
28860 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
28861 grub_disk_addr_t and grub_size_t, respectively. If the sector is
28862 over 2TB and LBA mode is not supported, raise an error.
28863 (get_safe_sectors): New function.
28864 (grub_biosdisk_read): Use get_safe_sectors.
28865 (grub_biosdisk_write): Likewise.
28866
28867 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
28868 (grub_efidisk_write): Likewise.
28869
28870 * disk/loopback.c (delete_loopback): Cosmetic changes.
28871 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
28872 correctly.
28873 (grub_loopback_open): Likewise.
28874 (grub_loopback_read): Likewise. Also, change the type of POS to
28875 grub_off_t, and fix the usage of grub_memset.
28876
28877 * commands/i386/pc/play.c: Include grub/machine/time.h.
28878
28879 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
28880 print FILE->SIZE.
28881
28882 * commands/configfile.c: Include grub/env.h.
28883
28884 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
28885 GRUB_ERRNO directly instead. Change the type of POS to
28886 grub_off_t. Follow the coding standard.
28887
28888 * commands/blocklist.c: Include grub/partition.h.
28889 (grub_cmd_blocklist): Return an error if the underlying device is
28890 not a disk. Take the starting sector of a partition into account,
28891 if a partition is used.
28892
28893 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
28894 a length field.
28895 (lba_mode): Support 64-bit addresses.
28896 (chs_mode): Likewise.
28897 (copy_buffer): Adapted to the new offsets of a length field and a
28898 segment field.
28899 (blocklist_default_start): Allocate 64-bit space.
28900
28901 * boot/i386/pc/boot.S (force_lba): Removed.
28902 (boot_drive): Moved to under KERNEL_SECTOR.
28903 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
28904 space.
28905 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
28906 is useless.
28907 (lba_mode): Refactored to support a 64-bit address. More size
28908 optimization.
28909 (setup_sectors): Likewise.
28910
28911 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28912
28913 * DISTLIST: Added include/grub/i386/linux.h. Removed
28914 include/grub/i386/pc/linux.h
28915
28916 * configure.ac (AC_INIT): Bumped to 1.94.
28917
28918 * config.guess: Updated from gnulib.
28919 * config.sub: Likewise.
28920 * install-sh: Likewise.
28921 * mkinstalldirs: Likewise.
28922
28923 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28924
28925 * conf/common.rmk (grub_modules_init.lst): Depended on
28926 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
28927 MODSRCFILES.
28928
28929 * genmk.rb (PModule::rule): Reverted the previous change.
28930
28931 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28932
28933 * conf/common.rmk (grub_modules_init.lst): Depends on
28934 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
28935 that the target does not exist before producing.
28936 (grub_modules_init.h): Remove the target before generating.
28937 (grub_emu_init.c): Likewise.
28938
28939 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
28940
28941 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
28942
28943 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
28944 for the target-specific tests. Make sure that we also have the
28945 up-to-date target variables for those tests.
28946
28947 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28948
28949 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
28950 (PModule::rule): Likewise.
28951
28952 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28953
28954 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
28955 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
28956 target-specific flags should be prefixed.
28957 (PModule::rule): Likewise.
28958
28959 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
28960
28961 * configure.ac (CMP): Check if cmp is available explicitly.
28962
28963 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
28964
28965 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
28966 (target_cpu): New variable.
28967 (pkglibdir): Use target_cpu instead of host_cpu.
28968
28969 * util/i386/pc/grub-install.in (host_cpu): Removed.
28970 (target_cpu): New variable.
28971 (pkglibdir): Use target_cpu instead of host_cpu.
28972
28973 * util/genmoddep.c: Removed.
28974
28975 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
28976 instead of GRUB_HOST_SIZEOF_VOID_P.
28977 * kern/dl.c: Likewise.
28978
28979 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
28980 ...
28981 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28982 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28983 (GRUB_TARGET_SIZEOF_LONG): ... this.
28984 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28985 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28986 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28987 to ...
28988 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28989 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28990 (GRUB_TARGET_SIZEOF_LONG): ... this.
28991 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28992 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28993 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28994 to ...
28995 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28996 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28997 (GRUB_TARGET_SIZEOF_LONG): ... this.
28998 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28999 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29000
29001 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
29002 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
29003 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
29004 instead of GRUB_HOST_SIZEOF_LONG.
29005 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
29006 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
29007 GRUB_CPU_WORDS_BIGENDIAN.
29008 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
29009 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
29010 grub_host_ssize_t.
29011
29012 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
29013 (genmoddep_SOURCES): Likewise.
29014 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
29015 (genmoddep_SOURCES): Likewise.
29016 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
29017 (genmoddep_SOURCES): Likewise.
29018 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
29019 Likewise.
29020 (genmoddep_SOURCES): Likewise.
29021
29022 * genmoddep.awk: New file.
29023
29024 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
29025 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
29026 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
29027 (PModule::rule): Likewise.
29028 (Program::rule): Likewise.
29029 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
29030 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
29031 respectively.
29032
29033 * configure.ac: Rewritten intensively to use host and target
29034 instead of build and host, respectively.
29035
29036 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
29037 (host_cpu): Removed.
29038 (target_cpu): New variable.
29039 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
29040 (BUILD_CC): Removed.
29041 (BUILD_CFLAGS): Likewise.
29042 (BUILD_CPPFLAGS): Likewise.
29043 (TARGET_CC): New variable.
29044 (TARGET_CFLAGS): Likewise.
29045 (TARGET_CPPFLAGS): Likewise.
29046 (TARGET_LDFLAGS): Likewise.
29047 (AWK): Likewise.
29048 (include): Use target_cpu instead of host_cpu.
29049 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
29050
29051 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
29052
29053 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
29054
29055 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
29056 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
29057 field 'false' to 'exec_on_false'.
29058 (grub_script_create_cmdif): Renamed argument names to reflect above
29059 changes.
29060
29061 * normal/execute.c (grub_script_execute_cmdif): Likewise.
29062
29063 * normal/script.c (grub_script_create_cmdif): Likewise.
29064
29065 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
29066
29067 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
29068 top.
29069 (grub_hfsplus_btree_recptr): Likewise.
29070 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
29071 FILEBLOCK both to pass a block number and store next block
29072 number.
29073 (grub_hfsplus_read_block): Rewritten heavily to support an extent
29074 overflow file correctly. Specify errors appropriately, because
29075 fshelp expects that GRUB_ERRNO is set when fails. Reuse
29076 grub_hfsplus_btree_recptr to get the pointer to a found key.
29077 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
29078 is found.
29079
29080 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
29081 linux.mod.
29082 (_linux_mod_SOURCES): New variable.
29083 (_linux_mod_CFLAGS): Likewise.
29084 (_linux_mod_LDFLAGS): Likewise.
29085 (linux_mod_SOURCES): Likewise.
29086 (linux_mod_CFLAGS): Likewise.
29087 (linux_mod_LDFLAGS): Likewise.
29088
29089 * DISTLIST: Added loader/i386/efi/linux.c,
29090 loader/i386/efi/linux_normal.c and
29091 include/grub/i386/efi/loader.h.
29092
29093 * loader/i386/efi/linux.c: New file.
29094 * loader/i386/efi/linux_normal.c: Likewise.
29095 * include/grub/i386/efi/loader.h: Likewise.
29096
29097 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
29098
29099 * commands/blocklist.c: New file.
29100
29101 * DISTLIST: Added commands/blocklist.c.
29102
29103 * term/efi/console.c (grub_console_highlight_color): Use a lighter
29104 color for the background, and a darker color for the foreground.
29105 (grub_console_checkkey): Return READ_KEY.
29106 (grub_console_cls): Set the background to
29107 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
29108
29109 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
29110
29111 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
29112 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
29113
29114 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
29115 prototype.
29116
29117 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
29118 BG. The spec is wrong again.
29119
29120 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
29121 prototype.
29122 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
29123
29124 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29125 commands/blocklist.c.
29126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29127
29128 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
29129 (blocklist_mod_SOURCES): New variable.
29130 (blocklist_mod_CFLAGS): Likewise.
29131 (blocklist_mod_LDFLAGS): Likewise.
29132
29133 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
29134
29135 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
29136 duplication.
29137 (lba_mode): Use %eax more intensively to reduce the code size.
29138
29139 2006-05-20 Marco Gerards <marco@gnu.org>
29140
29141 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
29142
29143 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
29144 for `menuentry'.
29145 (script): Accept leading newlines.
29146 (newlines): New rule to describe 0 or more newlines.
29147 (commands): Accept `command' with trailing newline. Fixed the
29148 order in which arguments were passed to `grub_script_add_cmd'.
29149 Accept commands separated by newlines.
29150 (function): Changed to accept newlines.
29151 (menuentry) Rewritten.
29152
29153 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29154 front of the list, instead of to the end.
29155
29156 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29157
29158 * util/i386/pc/grub-install.in (bindir): New variable.
29159 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29160 Shaver <lbgwjl@gmail.com>.
29161
29162 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29163
29164 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29165 grub/machine/linux.h
29166 * loader/i386/pc/linux.c: Likewise.
29167
29168 * include/grub/i386/pc/linux.h: Moved to ...
29169 * include/grub/i386/linux.h: ... here.
29170
29171 * include/grub/i386/linux.h (struct linux_kernel_params): New
29172 struct.
29173
29174 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29175
29176 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29177 checking.
29178 (grub_video_vbe_blit_glyph): Likewise.
29179 (grub_video_vbe_blit_bitmap): Likewise.
29180 (grub_video_vbe_blit_render_target): Likewise.
29181
29182 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29183
29184 * configure.ac (--with-platform): Properly quote the square
29185 brackets.
29186
29187 2006-05-08 Marco Gerards <marco@gnu.org>
29188
29189 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29190 this...
29191 (kernel_elf_HEADERS): ...to this. Updated all users.
29192 (grubof_symlist.c): Renamed from this...
29193 (kernel_elf_symlist.c): ...to this. Updated all users.
29194 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29195 (grubof_SOURCES): Renamed from this...
29196 (kernel_elf_SOURCES): ...to this.
29197 (grubof_HEADERS): Renamed from this...
29198 (kernel_elf_HEADERS): ...to this.
29199 (grubof_CFLAGS): Renamed from this...
29200 (kernel_elf_CFLAGS): ...to this.
29201 (grubof_ASFLAGS): Renamed from this...
29202 (kernel_elf_ASFLAGS): ...to this.
29203 (grubof_LDFLAGS): Renamed from this...
29204 (kernel_elf_LDFLAGS): ...to this.
29205
29206 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29207 this...
29208 (kernel_elf_HEADERS): ...to this. Updated all users.
29209 (grubof_symlist.c): Renamed from this...
29210 (kernel_elf_symlist.c): ...to this. Updated all users.
29211 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29212 (grubof_SOURCES): Renamed from this...
29213 (kernel_elf_SOURCES): ...to this.
29214 (grubof_HEADERS): Renamed from this...
29215 (kernel_elf_HEADERS): ...to this.
29216 (grubof_CFLAGS): Renamed from this...
29217 (kernel_elf_CFLAGS): ...to this.
29218 (grubof_ASFLAGS): Renamed from this...
29219 (kernel_elf_ASFLAGS): ...to this.
29220 (grubof_LDFLAGS): Renamed from this...
29221 (kernel_elf_LDFLAGS): ...to this.
29222
29223 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29224 `kernel.elf' instead of `grubof'.
29225
29226 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29227
29228 Add --with-platform to configure. Use pkglibdir instead of
29229 pkgdatadir. This is reported by Roger Leigh.
29230
29231 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
29232 (host_vendor): Likewise.
29233 (host_os): Likewise.
29234 (pkgdatadir): Likewise.
29235 (platform): New variable.
29236 (pkglibdir): Likewise.
29237 Use PKGLIBDIR instead of PKGDATADIR.
29238
29239 * util/i386/pc/grub-install.in (datadir): Removed.
29240 (host_vendor): Likewise.
29241 (host_os): Likewise.
29242 (pkgdatadir): Likewise.
29243 (platform): New variable.
29244 (pkglibdir): Likewise.
29245 Use PKGLIBDIR instead of PKGDATADIR.
29246
29247 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
29248 instead of GRUB_DATADIR.
29249 (main): Likewise.
29250 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29251 (main): Likewise.
29252 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29253 (main): Likewise.
29254
29255 * configure.ac (--with-platform): New option.
29256 Use PLATFORM instead of HOST_VENDOR to specify a platform.
29257
29258 * Makefile.in: Include a makefile based on PLATFORM instead of
29259 HOST_VENDOR.
29260 (pkgdatadir): Not appended by the machine type.
29261 (pkglibdir): Appended by the machine type.
29262 (host_vendor): Removed.
29263 (platform): New variable.
29264 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
29265 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
29266 (uninstall): Likewise.
29267
29268 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
29269
29270 Use the environment context in the menu. Remove the commands
29271 "default" and "timeout", and use variables instead.
29272
29273 * normal/menu.c: Include grub/env.h.
29274 (print_entry): Cast TITLE to silence gcc.
29275 (get_timeout): New function.
29276 (set_timeout): Likewise.
29277 (get_entry_number): Likewise.
29278 (run_menu): Use a default entry, a fallback entry and a timeout
29279 in the environment variables "default", "fallback" and
29280 "timeout". Also, tweak the default entry if it is not within the
29281 current menu entries.
29282 (grub_menu_run): Use a fallback entry in the environment variable
29283 "fallback".
29284
29285 * normal/main.c (read_config_file): Do not initialize
29286 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
29287 NEWMENU->TIMEOUT.
29288 (grub_normal_execute): Use a data slot to store the menu.
29289
29290 * include/grub/normal.h (struct grub_menu): Removed default_entry,
29291 fallback_entry and timeout.
29292 (struct grub_menu_list): Removed.
29293 (grub_menu_list_t): Likewise.
29294 (struct grub_context): Likewise.
29295 (grub_context_t): Likewise.
29296 (grub_context_get): Likewise.
29297 (grub_context_get_current_menu): Likewise.
29298 (grub_context_push_menu): Likewise.
29299 (grub_context_pop_menu): Likewise.
29300 (grub_default_init): Likewise.
29301 (grub_default_fini): Likewise.
29302 (grub_timeout_init): Likewise.
29303 (grub_timeout_fini): Likewise.
29304
29305 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
29306 and timeout.mod.
29307 (normal_mod_SOURCES): Removed normal/context.c.
29308
29309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
29310 commands/default.c, commands/timeout.c and normal/context.c.
29311 (normal_mod_SOURCES): Removed normal/context.c.
29312
29313 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
29314 commands/timeout.c and normal/context.c.
29315 (normal_mod_SOURCES): Removed normal/context.c.
29316
29317 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
29318 commands/default.c, commands/timeout.c and normal/context.c.
29319 (normal_mod_SOURCES): Removed normal/context.c.
29320
29321 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
29322 timeout.mod.
29323 (default_mod_SOURCES): Removed.
29324 (default_mod_CFLAGS): Likewise.
29325 (default_mod_LDFLAGS): Likewise.
29326 (timeout_mod_SOURCES): Removed.
29327 (timeout_mod_CFLAGS): Likewise.
29328 (timeout_mod_LDFLAGS): Likewise.
29329
29330 * DISTLIST: Removed commands/default.c, commands/timeout.c and
29331 normal/context.c.
29332
29333 * commands/default.c: Removed.
29334 * commands/timeout.c: Likewise.
29335 * normal/context.c: Likewise.
29336
29337 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
29338
29339 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
29340
29341 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
29342
29343 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
29344 "next" to "prev" for readability.
29345 (struct grub_env_sorted_var): New struct.
29346 (grub_env_context): Renamed to ...
29347 (initial_context): ... this.
29348 (grub_env_var_context): Renamed to ...
29349 (current_context): ... this.
29350 (grub_env_find): Look only at CURRENT_CONTEXT.
29351 (grub_env_context_open): Rewritten to copy exported variables from
29352 previous context.
29353 (grub_env_context_close): Rewritten according to the new
29354 scheme. Also, add an assertion to prevent the initial context from
29355 removed.
29356 (grub_env_insert): Removed the code for the sorted list.
29357 (grub_env_remove): Likewise.
29358 (grub_env_export): Simply mark the variable with
29359 GRUB_ENV_VAR_GLOBAL.
29360 (grub_env_set): A cosmetic change for naming consistency.
29361 (grub_env_get): Likewise.
29362 (grub_env_unset): Likewise.
29363 (grub_env_iterate): Rewritten to sort variables within this
29364 function.
29365 (grub_register_variable_hook): Fixed for naming consistency. Call
29366 grub_env_find again, only if NAME is not found at the first time.
29367 (mangle_data_slot_name): New function.
29368 (grub_env_set_data_slot): Likewise.
29369 (grub_env_get_data_slot): Likewise.
29370 (grub_env_unset_data_slot): Likewise.
29371
29372 * include/grub/env.h (grub_env_var_type): New enum.
29373 (GRUB_ENV_VAR_LOCAL): New constant.
29374 (GRUB_ENV_VAR_GLOBAL): Likewise.
29375 (GRUB_ENV_VAR_DATA): Likewise.
29376 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
29377 "type".
29378 (grub_env_set): Replace VAR with NAME for consistency.
29379 (grub_register_variable_hook): Likewise.
29380 (grub_env_export): Specify the name of the argument.
29381 (grub_env_set_data_slot): New prototype.
29382 (grub_env_get_data_slot): Likewise.
29383 (grub_env_unset_data_slot): Likewise.
29384
29385 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29386
29387 Extend the loader so that GRUB can accept a loader which comes
29388 back to GRUB when a loaded image exits. Also, this change adds
29389 support for a chainloader on EFI.
29390
29391 * term/efi/console.c: Include grub/misc.h.
29392 (grub_console_checkkey): Display a scan code on the top for
29393 debugging. This will be removed once the EFI port gets stable.
29394 Correct the scan code mapping.
29395
29396 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29397 allocate memory from larger regions, in order to reduce the number
29398 of allocated regions. Otherwise, the MacOSX loader panics.
29399 (filter_memory_map): Avoid less than 1MB for compatibility with
29400 other loaders.
29401 (add_memory_regions): Allocate from the tail of a region, if
29402 possible, to avoid allocating a region near to 1MB, for the MacOSX
29403 loader.
29404
29405 * kern/efi/init.c (grub_efi_set_prefix): Specify
29406 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29407
29408 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29409 argument IMAGE_HANDLE and specify it to get a loaded image.
29410 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
29411 grub_efi_get_loaded_image.
29412 (grub_efi_get_filename): Divide the length by the size of
29413 grub_efi_char16_t.
29414 (grub_efi_get_device_path): New function.
29415 (grub_efi_print_device_path): Print End Device Path nodes. Divide
29416 the length by the size of grub_efi_char16_t for a file path device
29417 path node.
29418
29419 * kern/loader.c (grub_loader_noreturn): New variable.
29420 (grub_loader_set): Accept a new argument NORETURN. Set
29421 GRUB_LOADER_NORETURN to NORETURN.
29422 All callers changed.
29423 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
29424 grub_machine_fini.
29425
29426 * include/grub/efi/efi.h (grub_efi_get_device_path): New
29427 prototype.
29428 (grub_efi_get_loaded_image): Take an argument to specify an image
29429 handle.
29430
29431 * include/grub/loader.h (grub_loader_set): Added one more argument
29432 NORETURN.
29433
29434 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
29435 instead of grub_efi_open_protocol.
29436 (grub_efidisk_get_device_name): Likewise.
29437 (grub_efidisk_close): Print a newline.
29438 (grub_efidisk_get_device_handle): Fixed to use
29439 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
29440 GRUB_EFI_DEVICE_PATH_TYPE.
29441
29442 * disk/efi/efidisk.c (device_path_guid): Moved to ...
29443 * kern/efi/efi.c (device_path_guid): ... here.
29444
29445 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
29446 chain.mod.
29447 (kernel_mod_HEADERS): Added efi/disk.h.
29448 (_chain_mod_SOURCES): New variable.
29449 (_chain_mod_CFLAGS): Likewise.
29450 (_chain_mod_LDFLAGS): Likewise.
29451 (chain_mod_SOURCES): Likewise.
29452 (chain_mod_CFLAGS): Likewise.
29453 (chain_mod_LDFLAGS): Likewise.
29454
29455 * DISTLIST: Added include/grub/efi/chainloader.h,
29456 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
29457
29458 * include/grub/efi/chainloader.h: New file.
29459 * loader/efi/chainloader.c: Likewise.
29460 * loader/efi/chainloader_normal.c: Likewise.
29461
29462 2006-04-30 Marco Gerards <marco@gnu.org>
29463
29464 * commands/configfile.c (grub_cmd_source): New function.
29465 (GRUB_MOD_INIT): Register the commands `source' and `.'.
29466 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
29467
29468 2006-04-30 Marco Gerards <marco@gnu.org>
29469
29470 * normal/execute.c (grub_script_execute_cmd): Change the return
29471 type to `grub_err_t'. Correctly return the error.
29472 (grub_script_execute_cmdline): In case a command line is not a
29473 command or a function, try to interpret it as an assignment.
29474
29475 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29476
29477 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
29478 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
29479 skip a node whose name is obviously invalid as UTF-16,
29480 i.e. contains a NUL character. Stop the iteration when the last
29481 directory entry is found. Instead of using the return value of
29482 grub_hfsplus_btree_iterate_node, store the value in RET and use
29483 it, because the iterator can be stopped by the last directory
29484 entry.
29485
29486 2006-04-30 Marco Gerards <marco@gnu.org>
29487
29488 * include/grub/env.h (grub_env_export): New prototype. Reported
29489 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
29490
29491 2006-04-30 Marco Gerards <marco@gnu.org>
29492
29493 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
29494 size of the extents in a catalog file record.
29495
29496 2006-04-29 Marco Gerards <marco@gnu.org>
29497
29498 * commands/configfile.c (grub_cmd_configfile): Execute the
29499 configfile within its own context.
29500
29501 * include/grub/env.h (grub_env_context_open): New prototype.
29502 (grub_env_context_close): Likewise.
29503
29504 * kern/env.c (grub_env): Removed.
29505 (grub_env_sorted): Likewise.
29506 (grub_env_context): New variable.
29507 (grub_env_var_context): Likewise.
29508 (grub_env_find): Search both the active context and the global
29509 context.
29510 (grub_env_context_open): New function.
29511 (grub_env_context_close): Likewise.
29512 (grub_env_insert): Likewise.
29513 (grub_env_remove): Likewise.
29514 (grub_env_export): Likewise.
29515 (grub_env_set): Changed to use helper functions to avoid code
29516 duplication.
29517 (grub_env_iterate): Rewritten so both the current context and the
29518 global context are being used.
29519
29520 * normal/command.c (export_command): New function.
29521 (grub_command_init): Register the `export' function.
29522
29523 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
29524
29525 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
29526 explicitly to suppress gcc's warnings.
29527 * fs/fat.c (grub_fat_find_dir): Likewise.
29528 (grub_fat_label): Likewise.
29529 * fs/xfs.c (grub_xfs_read_inode): Likewise.
29530 (grub_xfs_mount): Likewise.
29531 (grub_xfs_label): Likewise.
29532 * fs/affs.c (grub_affs_mount): Likewise.
29533 (grub_affs_label): Likewise.
29534 (grub_affs_iterate_dir): Likewise.
29535 * fs/sfs.c (grub_sfs_mount): Likewise.
29536 (grub_sfs_iterate_dir): Likewise.
29537 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
29538 * fs/hfs.c (grub_hfs_mount): Likewise.
29539 (grub_hfs_cmp_catkeys): Likewise.
29540 (grub_hfs_find_dir): Likewise.
29541 (grub_hfs_dir): Likewise.
29542 (grub_hfs_label): Likewise.
29543 * fs/jfs.c (grub_jfs_mount): Likewise.
29544 (grub_jfs_opendir): Likewise.
29545 (grub_jfs_getent): Likewise.
29546 (grub_jfs_lookup_symlink): Likewise.
29547 (grub_jfs_label): Likewise.
29548 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
29549 (grub_hfsplus_iterate_dir): Likewise.
29550 (grub_hfsplus_btree_iterate_node): Made static.
29551
29552 * util/grub-emu.c (prefix): New variable.
29553 (grub_machine_set_prefix): New function.
29554 (main): Do not set the environment variable "prefix" here. Only
29555 set PREFIX, which is used later by grub_machine_set_prefix.
29556
29557 * include/grub/video.h: Do not include grub/symbol.h.
29558 (grub_video_register): Not exported. This symbol is not defined in
29559 the kernel.
29560 (grub_video_unregister): Likewise.
29561 (grub_video_iterate): Likewise.
29562 (grub_video_setup): Likewise.
29563 (grub_video_restore): Likewise.
29564 (grub_video_get_info): Likewise.
29565 (grub_video_get_blit_format): Likewise.
29566 (grub_video_set_palette): Likewise.
29567 (grub_video_get_palette): Likewise.
29568 (grub_video_set_viewport): Likewise.
29569 (grub_video_get_viewport): Likewise.
29570 (grub_video_map_color): Likewise.
29571 (grub_video_map_rgb): Likewise.
29572 (grub_video_map_rgba): Likewise.
29573 (grub_video_fill_rect): Likewise.
29574 (grub_video_blit_glyph): Likewise.
29575 (grub_video_blit_bitmap): Likewise.
29576 (grub_video_blit_render_target): Likewise.
29577 (grub_video_scroll): Likewise.
29578 (grub_video_swap_buffers): Likewise.
29579 (grub_video_create_render_target): Likewise.
29580 (grub_video_delete_render_target): Likewise.
29581 (grub_video_set_active_render_target): Likewise.
29582
29583 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
29584 Undefined.
29585 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
29586
29587 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
29588 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29589 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29590 instead of $(srcdir)/genkernsyms.sh.
29591
29592 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
29593 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29594 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29595 instead of $(srcdir)/genkernsyms.sh.
29596
29597 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
29598 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29599 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29600 instead of $(srcdir)/genkernsyms.sh.
29601
29602 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
29603 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29604 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29605 instead of $(srcdir)/genkernsyms.sh.
29606
29607 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
29608 genkernsyms.sh.
29609
29610 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
29611 genkernsyms.sh.
29612 (gensymlist.sh): New target.
29613 (genkernsyms.sh): Likewise.
29614
29615 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
29616 genkernsyms.sh.in and gensymlist.sh.in.
29617
29618 * genkernsyms.sh: Removed.
29619 * gensymlist.sh: Likewise.
29620
29621 * genkernsyms.sh.in: New file.
29622 * gensymlist.sh.in: Likewise.
29623
29624 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29625
29626 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
29627 clobber "prefix", since we may have already set it manually.
29628
29629 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29630
29631 * kern/misc.c (abort): New alias for grub_abort.
29632
29633 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
29634
29635 A new machine-specific function "grub_machine_set_prefix" is
29636 defined. This is called after loading modules, so that a prefix
29637 initialization can use modules. Also, this change adds an
29638 intensive debugging feature for the memory manager via the
29639 configure option "--enable-mm-debug".
29640
29641 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
29642 PART.LEN.
29643
29644 * kern/sparc64/ieee1275/init.c (abort): Removed.
29645 (grub_stop): Likewise.
29646 (grub_exit): New function.
29647 (grub_set_prefix): Renamed to ...
29648 (grub_machine_set_prefix): ... this.
29649 (grub_machine_init): Do not call grub_set_prefix.
29650
29651 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
29652 (grub_machine_set_prefix): ... this.
29653 (grub_machine_init): Do not call grub_set_prefix.
29654
29655 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
29656 (grub_machine_init): Do not set the prefix here.
29657
29658 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
29659
29660 * kern/efi/init.c: Include grub/mm.h.
29661 (grub_efi_set_prefix): New function.
29662
29663 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
29664 (grub_efi_get_filename): New function.
29665 (grub_print_device_path): Renamed to ...
29666 (grub_efi_print_device_path): ... this.
29667
29668 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
29669 [MM_DEBUG] (grub_realloc): Likewise.
29670 [MM_DEBUG] (grub_free): Likewise.
29671 [MM_DEBUG] (grub_memalign): Likewise.
29672 [MM_DEBUG] (grub_mm_debug): New variable.
29673 [MM_DEBUG] (grub_debug_malloc): New function.
29674 [MM_DEBUG] (grub_debug_free): New function.
29675 [MM_DEBUG] (grub_debug_realloc): New function.
29676 [MM_DEBUG] (grub_debug_memalign): New function.
29677
29678 * kern/misc.c (grub_abort): Print a newline to distinguish
29679 the message.
29680
29681 * kern/main.c (grub_main): Call grub_machine_set_prefix and
29682 grub_set_root_dev after loading modules. This is necessary when
29683 setting a prefix depends on modules.
29684
29685 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
29686 (grub_efi_print_device_path): ... this.
29687 (grub_efi_get_filename): New prototype.
29688 (grub_efi_set_prefix): Likewise.
29689
29690 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
29691 and grub/disk.h.
29692 (grub_efidisk_get_device_handle): New prototype.
29693 (grub_efidisk_get_device_name): Likewise.
29694
29695 * include/grub/mm.h: Include config.h.
29696 (MM_DEBUG): Removed.
29697 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
29698 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
29699 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
29700 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
29701 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
29702 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
29703 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
29704 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
29705 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
29706
29707 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
29708
29709 * disk/efi/efidisk.c: Include grub/partition.h.
29710 (iterate_child_devices): New function.
29711 (add_device): First, compare only last device path nodes, so that
29712 devices are sorted by the types.
29713 (grub_efidisk_get_device_handle): New function.
29714 (grub_efidisk_get_device_name): Likewise.
29715
29716 * configure.ac (--enable-mm-debug): New option to enable the
29717 memory manager debugging feature. This makes the binary much
29718 bigger, so is disabled by default.
29719
29720 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
29721
29722 Use grub_abort instead of grub_stop, and grub_exit must be
29723 define in each architecture now. Also, this change adds support
29724 for EFI disks.
29725
29726 * util/i386/pc/grub-probefs.c: Include grub/term.h.
29727 (grub_getkey): New function.
29728 (grub_term_get_current): Likewise.
29729
29730 * util/i386/pc/grub-setup.c: Include grub/term.h.
29731 (grub_getkey): New function.
29732 (grub_term_get_current): Likewise.
29733
29734 * util/misc.c (grub_stop): Renamed to ...
29735 (grub_exit): ... this.
29736
29737 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
29738 (grub_exit): ... this.
29739 (grub_machine_init): Use grub_abort instead of abort.
29740 (grub_stop): Removed.
29741
29742 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
29743 abort.
29744
29745 * kern/i386/pc/startup.S (grub_exit): New function.
29746 (cold_reboot): New label.
29747
29748 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
29749 (grub_efi_init): Call grub_efidisk_init.
29750 (grub_efi_fini): Call grub_efidisk_fini.
29751
29752 * kern/efi/efi.c: Include grub/mm.h.
29753 (grub_efi_console_control_guid): Renamed to ...
29754 (console_control_guid): ... this.
29755 (grub_efi_loaded_image_guid): Renamed to ...
29756 (loaded_image_guid): ... this.
29757 (grub_efi_locate_handle): New function.
29758 (grub_efi_open_protocol): Likewise.
29759 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
29760 GRUB_EFI_CONSOLE_CONTROL_GUID.
29761 (grub_efi_exit): Removed.
29762 (grub_stop): Likewise.
29763 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
29764 (grub_exit): New function.
29765 (grub_print_device_path): Likewise.
29766
29767 * kern/rescue.c (grub_rescue_cmd_exit): New function.
29768 (grub_enter_rescue_mode): Register "exit".
29769
29770 * kern/misc.c (grub_real_dprintf): A cosmetic change.
29771 (grub_abort): New function.
29772
29773 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
29774
29775 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
29776
29777 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
29778
29779 * include/grub/efi/efi.h (grub_efi_exit): Removed.
29780 (grub_print_device_path): New prototype.
29781 (grub_efi_locate_handle): Likewise.
29782 (grub_efi_open_protocol): Likewise.
29783
29784 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
29785 * disk/efi/efidisk.c: Likewise.
29786
29787 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
29788
29789 * include/grub/efi/console_control.h
29790 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
29791
29792 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
29793 last 8 bytes as an array.
29794 (GRUB_EFI_DISK_IO_GUID): New macro.
29795 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
29796 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
29797 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
29798 grub_uint8_t.
29799 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
29800 (struct grub_efi_device_path): Rename the member "sub_type" to
29801 "subtype".
29802 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
29803 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
29804 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
29805 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
29806 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
29807 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
29808 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
29809 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
29810 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
29811 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
29812 (struct grub_efi_pci_device_path): New structure.
29813 (grub_efi_pci_device_path_t): New type.
29814 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
29815 (struct grub_efi_pccard_device_path): New structure.
29816 (grub_efi_pccard_device_path_t): New type.
29817 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
29818 (struct grub_efi_memory_mapped_device_path): New structure.
29819 (grub_efi_memory_mapped_device_path_t): New type.
29820 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
29821 (struct grub_efi_vendor_device_path): New structure.
29822 (grub_efi_vendor_device_path_t): New type.
29823 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
29824 (struct grub_efi_controller_device_path): New structure.
29825 (grub_efi_controller_device_path_t): New type.
29826 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
29827 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
29828 (struct grub_efi_acpi_device_path): New structure.
29829 (grub_efi_acpi_device_path_t): New type.
29830 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
29831 (struct grub_efi_expanded_acpi_device_path): New structure.
29832 (grub_efi_expanded_acpi_device_path_t): New type.
29833 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
29834 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
29835 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
29836 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
29837 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
29838 (struct grub_efi_atapi_device_path): New structure.
29839 (grub_efi_atapi_device_path_t): New type.
29840 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
29841 (struct grub_efi_fibre_channel_device_path): New structure.
29842 (grub_efi_fibre_channel_device_path_t): New type.
29843 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
29844 (struct grub_efi_1394_device_path): New structure.
29845 (grub_efi_1394_device_path_t): New type.
29846 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
29847 (struct grub_efi_usb_device_path): New structure.
29848 (grub_efi_usb_device_path_t): New type.
29849 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
29850 (struct grub_efi_usb_class_device_path): New structure.
29851 (grub_efi_usb_class_device_path_t): New type.
29852 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
29853 (struct grub_efi_i2o_device_path): New structure.
29854 (grub_efi_i2o_device_path_t): New type.
29855 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
29856 (struct grub_efi_mac_address_device_path): New structure.
29857 (grub_efi_mac_address_device_path_t): New type.
29858 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
29859 (struct grub_efi_ipv4_device_path): New structure.
29860 (grub_efi_ipv4_device_path_t): New type.
29861 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
29862 (struct grub_efi_ipv6_device_path): New structure.
29863 (grub_efi_ipv6_device_path_t): New type.
29864 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
29865 (struct grub_efi_infiniband_device_path): New structure.
29866 (grub_efi_infiniband_device_path_t): New type.
29867 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
29868 (struct grub_efi_uart_device_path): New structure.
29869 (grub_efi_uart_device_path_t): New type.
29870 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
29871 (struct grub_efi_vendor_messaging_device_path): New structure.
29872 (grub_efi_vendor_messaging_device_path_t): New type.
29873 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
29874 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
29875 (struct grub_efi_hard_drive_device_path): New structure.
29876 (grub_efi_hard_drive_device_path_t): New type.
29877 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
29878 (struct grub_efi_cdrom_device_path): New structure.
29879 (grub_efi_cdrom_device_path_t): New type.
29880 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
29881 (struct grub_efi_vendor_media_device_path): New structure.
29882 (grub_efi_vendor_media_device_path_t): New type.
29883 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
29884 (struct grub_efi_file_path_device_path): New structure.
29885 (grub_efi_file_path_device_path_t): New type.
29886 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
29887 (struct grub_efi_protocol_device_path): New structure.
29888 (grub_efi_protocol_device_path_t): New type.
29889 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
29890 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
29891 (struct grub_efi_bios_device_path): New structure.
29892 (grub_efi_bios_device_path_t): New type.
29893 (struct grub_efi_disk_io): New structure.
29894 (grub_efi_disk_io_t): New type.
29895 (struct grub_efi_block_io_media): New structure.
29896 (grub_efi_block_io_media_t): New type.
29897 (struct grub_efi_block_io): New structure.
29898 (grub_efi_block_io_t): New type.
29899
29900 * include/grub/misc.h (grub_stop): Removed.
29901 (grub_exit): New prototype.
29902 (grub_abort): Likewise.
29903
29904 * include/grub/disk.h (enum grub_disk_dev_id): Added
29905 GRUB_DISK_DEVICE_EFIDISK_ID.
29906
29907 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
29908 disk/efi/efidisk.c.
29909 (kernel_syms.lst): Remove the target if an error occurs.
29910
29911 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
29912
29913 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
29914 as it was simply too buggy.
29915
29916 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
29917
29918 * kern/misc.c (grub_lltoa): New function.
29919 (grub_vsprintf): Added support for the long long suffix,
29920 i.e. "ll".
29921
29922 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
29923
29924 * Makefile.in (LDFLAGS): Add variable.
29925 (LD): Remove variable.
29926 * configure.ac: Add -m32 to LDFLAGS.
29927 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
29928 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
29929 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
29930 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
29931 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
29932 variables.
29933 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
29934 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
29935 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
29936
29937 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
29938
29939 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
29940 length for unknown glyph.
29941
29942 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
29943
29944 Add support for pre-loaded modules into the EFI port.
29945
29946 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
29947 completely. Accept one more argument DIR. The caller has changed.
29948
29949 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
29950
29951 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
29952 (grub_efi_loaded_image_guid): New variable.
29953 (grub_efi_get_loaded_image): New function.
29954 (grub_arch_modules_addr): Likewise.
29955
29956 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
29957 prototype.
29958
29959 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
29960 (struct grub_efi_loaded_image): New structure.
29961 (grub_efi_loaded_image_t): New type.
29962
29963 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
29964
29965 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
29966 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
29967 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
29968
29969 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
29970
29971 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
29972
29973 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
29974
29975 * DISTLIST: Added include/grub/efi/console.h,
29976 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
29977 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
29978
29979 * include/grub/efi/console.h: New file.
29980 * include/grub/efi/time.h: Likewise.
29981 * include/grub/i386/efi/kernel.h: Likewise.
29982 * kern/efi/init.c: Likewise.
29983 * kern/efi/mm.c: Likewise.
29984 * term/efi/console.c: Likewise.
29985
29986 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
29987 (grub_stop): Removed.
29988 (grub_get_rtc): Likewise.
29989 (grub_machine_init): Simply call grub_efi_init.
29990 (grub_machine_fini): Call grub_efi_fini.
29991
29992 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
29993 (grub_efi_output_string): Removed.
29994 (grub_efi_stall): New function.
29995 (grub_stop): Likewise.
29996 (grub_get_rtc): Likewise.
29997
29998 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
29999 (grub_efi_stall): New prototype.
30000 (grub_efi_allocate_pages): Likewise.
30001 (grub_efi_free_pages): Likewise.
30002 (grub_efi_get_memory_map): Likewise.
30003 (grub_efi_mm_init): Likewise.
30004 (grub_efi_mm_fini): Likewise.
30005 (grub_efi_init): Likewise.
30006 (grub_efi_fini): Likewise.
30007
30008 * include/grub/i386/efi/time.h: Do not include
30009 grub/symbol.h. Include grub/efi/time.h.
30010 (GRUB_TICKS_PER_SECOND): Removed.
30011 (grub_get_rtc): Likewise.
30012
30013 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
30014 Added padding. The EFI spec is buggy.
30015 (GRUB_EFI_BLACK): New macro.
30016 (GRUB_EFI_BLUE): Likewise.
30017 (GRUB_EFI_GREEN): Likewise.
30018 (GRUB_EFI_CYAN): Likewise.
30019 (GRUB_EFI_RED): Likewise.
30020 (GRUB_EFI_MAGENTA): Likewise.
30021 (GRUB_EFI_BROWN): Likewise.
30022 (GRUB_EFI_LIGHTGRAY): Likewise.
30023 (GRUB_EFI_BRIGHT): Likewise.
30024 (GRUB_EFI_DARKGRAY): Likewise.
30025 (GRUB_EFI_LIGHTBLUE): Likewise.
30026 (GRUB_EFI_LIGHTGREEN): Likewise.
30027 (GRUB_EFI_LIGHTCYAN): Likewise.
30028 (GRUB_EFI_LIGHTRED): Likewise.
30029 (GRUB_EFI_LIGHTMAGENTA): Likewise.
30030 (GRUB_EFI_YELLOW): Likewise.
30031 (GRUB_EFI_WHITE): Likewise.
30032 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
30033 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
30034 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
30035 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
30036 (GRUB_EFI_BACKGROUND_RED): Likewise.
30037 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
30038 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
30039 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
30040 (GRUB_EFI_TEXT_ATTR): Likewise.
30041
30042 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
30043 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30044 (kernel_mod_HEADERS): Added efi/time.h.
30045
30046 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
30047
30048 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
30049 include/grub/efi/api.h, include/grub/efi/console_control.h,
30050 include/grub/efi/efi.h, include/grub/efi/pe32.h,
30051 include/grub/i386/efi/time.h, kern/efi/efi.c,
30052 kern/i386/efi/init.c, kern/i386/efi/startup.S,
30053 and util/i386/efi/grub-mkimage.c.
30054
30055 * Makefile.in (RMKFILES): Added i386-efi.rmk.
30056
30057 * genmk.rb (PModule#rule): Do not export symbols if
30058 #{prefix}_EXPORTS is set to "no".
30059
30060 * conf/i386-efi.mk: New file.
30061 * conf/i386-efi.rmk: Likewise.
30062 * include/grub/efi/api.h: Likewise.
30063 * include/grub/efi/console_control.h: Likewise.
30064 * include/grub/efi/efi.h: Likewise.
30065 * include/grub/efi/pe32.h: Likewise.
30066 * include/grub/i386/efi/time.h: Likewise.
30067 * kern/efi/efi.c: Likewise.
30068 * kern/i386/efi/init.c: Likewise.
30069 * kern/i386/efi/startup.S: Likewise.
30070 * util/i386/efi/grub-mkimage.c: Likewise.
30071
30072 2006-04-17 Marco Gerards <marco@gnu.org>
30073
30074 * include/grub/script.h: Include <grub/parser.h> and
30075 "grub_script.tab.h".
30076 (struct grub_lexer_param): New struct.
30077 (struct grub_parser_param): Likewise.
30078 (grub_script_create_arglist): Pass the state in an argument.
30079 (grub_script_add_arglist): Likewise.
30080 (grub_script_create_cmdline): Likewise.
30081 (grub_script_create_cmdblock): Likewise.
30082 (grub_script_create_cmdif): Likewise.
30083 (grub_script_create_cmdmenu): Likewise.
30084 (grub_script_add_cmd): Likewise.
30085 (grub_script_arg_add): Likewise.
30086 (grub_script_lexer_ref): Likewise.
30087 (grub_script_lexer_deref): Likewise.
30088 (grub_script_lexer_record_start): Likewise.
30089 (grub_script_lexer_record_stop): Likewise.
30090 (grub_script_mem_record): Likewise.
30091 (grub_script_mem_record_stop): Likewise.
30092 (grub_script_malloc): Likewise.
30093 (grub_script_yylex): Likewise.
30094 (grub_script_yyparse): Likewise.
30095 (grub_script_yyerror): Likewise.
30096 (grub_script_yylex): Likewise.
30097 (grub_script_lexer_init): Return the state.
30098
30099 * normal/lexer.c (grub_script_lexer_state): Removed variable.
30100 (grub_script_lexer_done): Likewise.
30101 (grub_script_lexer_getline): Likewise.
30102 (grub_script_lexer_refs): Likewise.
30103 (script): Likewise.
30104 (newscript): Likewise.
30105 (record): Likewise.
30106 (recording): Likewise.
30107 (recordpos): Likewise.
30108 (recordlen): Likewise.
30109 (grub_script_lexer_init): Return the state instead of setting
30110 global variables.
30111 (grub_script_lexer_ref): Use the newly added argument for state
30112 instead of globals.
30113 (grub_script_lexer_deref): Likewise.
30114 (grub_script_lexer_record_start): Likewise.
30115 (grub_script_lexer_record_stop): Likewise.
30116 (recordchar): Likewise.
30117 (nextchar): Likewise.
30118 (grub_script_yylex2): Likewise.
30119 (grub_script_yylex): Likewise.
30120 (grub_script_yyerror): Likewise.
30121
30122 * normal/parser.y (func_mem): Removed variable.
30123 (menu_entry): Likewise.
30124 (err): Likewise.
30125 (%lex-param): New parser option.
30126 (%parse-param): Likewise.
30127 (script): Always return the AST.
30128 (argument): Pass the state around.
30129 (arguments): Likewise.
30130 (grubcmd): Likewise.
30131 (commands): Likewise.
30132 (function): Likewise.
30133 (menuentry): Likewise.
30134 (if_statement): Likewise.
30135 (if): Likewise.
30136
30137 * normal/script.c (grub_script_memused): Removed variable.
30138 (grub_script_parsed): Likewise.
30139 (grub_script_malloc): Added a state argument. Use that instead of
30140 global variables.
30141 (grub_script_mem_record): Likewise.
30142 (grub_script_mem_record_stop): Likewise.
30143 (grub_script_arg_add): Likewise.
30144 (grub_script_add_arglist): Likewise.
30145 (grub_script_create_cmdline): Likewise.
30146 (grub_script_create_cmdif): Likewise.
30147 (grub_script_create_cmdmenu): Likewise.
30148 (grub_script_add_cmd): Likewise.
30149 (grub_script_parse): Setup the state before calling the parser.
30150
30151 2006-04-16 Marco Gerards <marco@gnu.org>
30152
30153 * normal/command.c (grub_command_init): Remove the title command.
30154
30155 * normal/lexer.c (grub_script_yylex): Renamed from this...
30156 (grub_script_yylex2): ... to this.
30157 (grub_script_yylex): New function. Temporary
30158 introduced to filter some tokens.
30159 (grub_script_yyerror): Print a newline.
30160
30161 * normal/main.c (read_config_file): Output information about the
30162 lines that contain errors. Wait for a key after all lines have
30163 been processed. Don't return an empty menu.
30164
30165 * normal/parser.y (func_mem): Don't initialize.
30166 (menu_entry): Likewise.
30167 (err): New variable.
30168 (script): Don't return anything when an error was encountered.
30169 (ws, returns): Removed rules.
30170 (argument): Disabled concatenated variable support.
30171 (arguments): Remove explicit separators.
30172 (grubcmd): Likewise.
30173 (function): Likewise.
30174 (menuentry): Likewise.
30175 (if): Likewise.
30176 (commands): Likewise. Add error handling.
30177
30178 * normal/script.c (grub_script_create_cmdline): If
30179 `grub_script_parsed' is 0, assume the parser encountered an error.
30180
30181 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30182
30183 * configure.ac: Add support for EFI. Fix the typo
30184 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30185
30186 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30187
30188 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30189 foreign multibyte characters should be shown correctly.
30190
30191 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30192
30193 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30194 calculation.
30195 (read_config_file): Made it to close file before returning.
30196
30197 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30198
30199 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30200 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30201 video/i386/pc/vbefill.c.
30202
30203 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30204 video/i386/pc/vbefill.c.
30205
30206 * include/grub/video.h (grub_video_blit_format): New enum.
30207 (grub_video_mode_info): Added new member blit_format.
30208 (grub_video_get_blit_format): New function prototype.
30209
30210 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30211 function prototype.
30212 (grub_video_vbe_map_rgb): Likewise.
30213 (grub_video_vbe_unmap_color): Likewise.
30214
30215 * include/grub/i386/pc/vbeblit.h: New file.
30216
30217 * include/grub/i386/pc/vbefill.h: New file.
30218
30219 * video/video.c (grub_video_get_blit_format): New function.
30220 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30221 (grub_video_vbe_map_rgb): Likewise.
30222 (grub_video_vbe_unmap_color): Likewise.
30223
30224 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30225 optimized fills.
30226 (grub_video_vbe_blit_render_target): Changed to use more optimized
30227 blits.
30228 (grub_video_vbe_setup): Added detection for optimized settings.
30229 (grub_video_vbe_create_render_target): Likewise.
30230
30231 * video/i386/pc/vbeblit.c: New file.
30232
30233 * video/i386/pc/vbefill.c: New file.
30234
30235 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
30236
30237 * font/manager.c (grub_font_get_glyph): Removed font fixup from
30238 here...
30239
30240 * util/unifont2pff.rb: ... and moved it to here. Improved argument
30241 parsing to support both hex and dec ranges. If filename was missing
30242 show usage information.
30243
30244 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
30245
30246 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
30247 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
30248
30249 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
30250 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
30251 (video_mod_SOURCES): Added.
30252 (video_mod_CFLAGS): Likewise.
30253 (video_mod_LDFLAGS): Likewise.
30254 (gfxterm_mod_SOURCES): Likewise.
30255 (gfxterm_mod_CFLAGS): Likewise.
30256 (gfxterm_mod_LDFLAGS): Likewise.
30257 (videotest_mod_SOURCES): Likewise.
30258 (videotest_mod_CFLAGS): Likewise.
30259 (videotest_mod_LDFLAGS): Likewise.
30260 (vesafb_mod_SOURCES): Removed.
30261 (vesafb_mod_CFLAGS): Likewise.
30262 (vesafb_mod_LDFLAGS): Likewise.
30263 (vga_mod_SOURCES): Likewise.
30264 (vga_mod_CFLAGS): Likewise.
30265 (vga_mod_LDFLAGS): Likewise.
30266
30267 * commands/videotest.c: New file.
30268
30269 * font/manager.c (fill_with_default_glyph): Modified to use
30270 grub_font_glyph.
30271 (grub_font_get_glyph): Likewise.
30272 (fontmanager): Renamed from this...
30273 (font_manager): ... to this.
30274
30275 * include/grub/font.h (grub_font_glyph): Added new structure.
30276 (grub_font_get_glyph): Modified to use grub_font_glyph.
30277
30278 * include/grub/misc.h (grub_abs): Added as inline function.
30279
30280 * include/grub/video.h: New file.
30281
30282 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
30283 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
30284 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
30285 (grub_vbe_get_controller_info): Renamed from this...
30286 (grub_vbe_bios_get_controller_info): ... to this.
30287 (grub_vbe_get_mode_info): Renamed from this...
30288 (grub_vbe_bios_get_mode_info): ... to this.
30289 (grub_vbe_set_mode): Renamed from this...
30290 (grub_vbe_bios_set_mode): ... to this.
30291 (grub_vbe_get_mode): Renamed from this...
30292 (grub_vbe_bios_get_mode): ... to this.
30293 (grub_vbe_set_memory_window): Renamed from this...
30294 (grub_vbe_bios_set_memory_window): ... to this.
30295 (grub_vbe_get_memory_window): Renamed from this...
30296 (grub_vbe_bios_get_memory_window): ... to this.
30297 (grub_vbe_set_scanline_length): Renamed from this...
30298 (grub_vbe_set_scanline_length): ... to this.
30299 (grub_vbe_get_scanline_length): Renamed from this...
30300 (grub_vbe_bios_get_scanline_length): ... to this.
30301 (grub_vbe_set_display_start): Renamed from this...
30302 (grub_vbe_bios_set_display_start): ... to this.
30303 (grub_vbe_get_display_start): Renamed from this...
30304 (grub_vbe_bios_get_display_start): ... to this.
30305 (grub_vbe_set_palette_data): Renamed from this...
30306 (grub_vbe_bios_set_palette_data): ... to this.
30307 (grub_vbe_set_pixel_rgb): Removed.
30308 (grub_vbe_set_pixel_index): Likewise.
30309
30310 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
30311 from this...
30312 (grub_vbe_bios_get_controller_info): ... to this.
30313 (grub_vbe_get_mode_info): Renamed from this...
30314 (grub_vbe_bios_get_mode_info): ... to this.
30315 (grub_vbe_set_mode): Renamed from this...
30316 (grub_vbe_bios_set_mode): ... to this.
30317 (grub_vbe_get_mode): Renamed from this...
30318 (grub_vbe_bios_get_mode): ... to this.
30319 (grub_vbe_set_memory_window): Renamed from this...
30320 (grub_vbe_bios_set_memory_window): ... to this.
30321 (grub_vbe_get_memory_window): Renamed from this...
30322 (grub_vbe_bios_get_memory_window): ... to this.
30323 (grub_vbe_set_scanline_length): Renamed from this...
30324 (grub_vbe_set_scanline_length): ... to this.
30325 (grub_vbe_get_scanline_length): Renamed from this...
30326 (grub_vbe_bios_get_scanline_length): ... to this.
30327 (grub_vbe_set_display_start): Renamed from this...
30328 (grub_vbe_bios_set_display_start): ... to this.
30329 (grub_vbe_get_display_start): Renamed from this...
30330 (grub_vbe_bios_get_display_start): ... to this.
30331 (grub_vbe_set_palette_data): Renamed from this...
30332 (grub_vbe_bios_set_palette_data): ... to this.
30333 (grub_vbe_bios_get_controller_info): Fixed problem with registers
30334 getting corrupted after calling it. Added more pushes and pops.
30335 (grub_vbe_bios_set_mode): Likewise.
30336 (grub_vbe_bios_get_mode): Likewise.
30337 (grub_vbe_bios_get_memory_window): Likewise.
30338 (grub_vbe_bios_set_scanline_length): Likewise.
30339 (grub_vbe_bios_get_scanline_length): Likewise.
30340 (grub_vbe_bios_get_display_start): Likewise.
30341 (grub_vbe_bios_set_palette_data): Likewise.
30342
30343 * normal/cmdline.c (cl_set_pos): Refresh the screen.
30344 (cl_insert): Likewise.
30345 (cl_delete): Likewise.
30346
30347 * term/gfxterm.c: New file.
30348
30349 * term/i386/pc/vesafb.c: Removed file.
30350
30351 * video/video.c: New file.
30352
30353 * video/i386/pc/vbe.c (real2pm): Added new function.
30354 (grub_video_vbe_draw_pixel): Likewise.
30355 (grub_video_vbe_get_video_ptr): Likewise.
30356 (grub_video_vbe_get_pixel): Likewise
30357 (grub_video_vbe_init): Likewise.
30358 (grub_video_vbe_fini): Likewise.
30359 (grub_video_vbe_setup): Likewise.
30360 (grub_video_vbe_get_info): Likewise.
30361 (grub_video_vbe_set_palette): Likewise.
30362 (grub_video_vbe_get_palette): Likewise.
30363 (grub_video_vbe_set_viewport): Likewise.
30364 (grub_video_vbe_get_viewport): Likewise.
30365 (grub_video_vbe_map_color): Likewise.
30366 (grub_video_vbe_map_rgb): Likewise.
30367 (grub_video_vbe_map_rgba): Likewise.
30368 (grub_video_vbe_unmap_color): Likewise.
30369 (grub_video_vbe_fill_rect): Likewise.
30370 (grub_video_vbe_blit_glyph): Likewise.
30371 (grub_video_vbe_blit_bitmap): Likewise.
30372 (grub_video_vbe_blit_render_target): Likewise.
30373 (grub_video_vbe_scroll): Likewise.
30374 (grub_video_vbe_swap_buffers): Likewise.
30375 (grub_video_vbe_create_render_target): Likewise.
30376 (grub_video_vbe_delete_render_target): Likewise.
30377 (grub_video_vbe_set_active_render_target): Likewise.
30378 (grub_vbe_set_pixel_rgb): Remove function.
30379 (grub_vbe_set_pixel_index): Likewise.
30380 (index_color_mode): Remove static variable.
30381 (active_mode): Likewise.
30382 (framebuffer): Likewise.
30383 (bytes_per_scan_line): Likewise.
30384 (grub_video_vbe_adapter): Added new static variable.
30385 (framebuffer): Likewise.
30386 (render_target): Likewise.
30387 (initial_mode): Likewise.
30388 (mode_in_use): Likewise.
30389 (mode_list): Likewise.
30390
30391 2006-03-10 Marco Gerards <marco@gnu.org>
30392
30393 * configure.ac (AC_INIT): Bumped to 1.93.
30394
30395 * DISTLIST: Added `include/grub/hfs.h'.
30396
30397 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30398
30399 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30400 18H, which might help the BIOS falling back to next boot media.
30401
30402 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30403
30404 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30405 Poe Chen <poe.poechen@gmail.com>.
30406
30407 2006-01-17 Marco Gerards <marco@gnu.org>
30408
30409 * include/grub/normal.h: Include <grub/script.h>.
30410 (grub_command_list): Removed struct.
30411 (grub_command_list_t): Removed type.
30412 (grub_menu_entry): Remove members `num' and `command_list'. Add
30413 members `commands' and `sourcecode'.
30414 * include/grub/script.h: Add inclusion guards.
30415 (grub_script_cmd_menuentry): New struct.
30416 (grub_script_execute_menuentry): New prototype.
30417 (grub_script_lexer_record_start): Likewise.
30418 (grub_script_lexer_record_stop): Likewise.
30419 * normal/execute.c (grub_script_execute_menuentry): New function.
30420 * normal/lexer.c (record, recording, recordpos, recordlen): New
30421 variables.
30422 (grub_script_lexer_record_start): New function.
30423 (grub_script_lexer_record_stop): Likewise.
30424 (recordchar): Likewise.
30425 (nextchar): Likewise.
30426 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
30427 2048 as the buffer size. Add the tokens `menuentry' and `@'.
30428 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
30429 (current_menu): New variable.
30430 (free_menu): Mainly rewritten.
30431 (grub_normal_menu_addentry): New function.
30432 (read_config_file): Rewritten.
30433 * normal/menu.c (run_menu_entry): Mainly rewritten.
30434 * normal/menu_entry.c (make_screen): Rewritten the code to insert
30435 the menu entry.
30436 (run): Mainly rewritten.
30437 * normal/parser.y (menu_entry): New variable.
30438 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
30439 (menuentry): New rule.
30440 (command): Add `menuentry'.
30441 (if_statement): Allow additional returns before `fi'.
30442 * normal/script.c (grub_script_create_cmdmenu): New function.
30443
30444 2006-01-03 Marco Gerards <marco@gnu.org>
30445
30446 * INSTALL: GNU Bison is required.
30447 * configure.ac: Rewritten the test to detect Bison.
30448 * Makefile.in (YACC): New variable. Reported by Xun Sun
30449 <xun.sun.cn@gmail.com>.
30450
30451 2006-01-03 Marco Gerards <marco@gnu.org>
30452
30453 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
30454 the HFS+ filesystem to filesystem blocks.
30455 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
30456 GCC warning is silenced.
30457
30458 2006-01-03 Marco Gerards <marco@gnu.org>
30459
30460 * partmap/apple.c (apple_partition_map_iterate): Convert the data
30461 read from disk from big endian to host byte order.
30462
30463 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
30464
30465 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
30466 documentation.
30467 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
30468 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
30469 embedded HFS+ filesystem.
30470 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
30471 (grub_hfs_sblock): Move from here...
30472 * include/grub/hfs.h: To here... New file.
30473 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
30474 documentation.
30475 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
30476 New macros.
30477 (grub_hfsplus_volheader): Change type of member `magic' to
30478 `grub_uint16_t'.
30479 (grub_hfsplus_data): Add new member `embedded_offset'.
30480 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
30481 returned block.
30482 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
30483 Calculate the offset.
30484
30485 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30486
30487 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
30488 Removed.
30489 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
30490
30491 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30492
30493 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
30494 ENV->NAME is NULL after allocating ENV->VALUE.
30495
30496 2005-12-25 Marco Gerards <marco@gnu.org>
30497
30498 * kern/env.c (grub_env_set): Rewritten the error handling code.
30499
30500 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30501
30502 * geninit.sh: Made more robust, and more portable.
30503
30504 2005-12-25 Marco Gerards <marco@gnu.org>
30505
30506 Add support for Apple HFS+ filesystems.
30507
30508 * fs/hfsplus.c: New file.
30509
30510 * DISTLIST: Added `fs/hfsplus.c'.
30511
30512 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
30513 (hfsplus_mod_SOURCES): New variable.
30514 (hfsplus_mod_CFLAGS): Likewise.
30515 (hfsplus_mod_LDFLAGS): Likewise.
30516 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
30517 (grub_setup_SOURCES): Likewise.
30518 (grub_mkdevicemap_SOURCES): Likewise.
30519 (grub_emu_SOURCES): Likewise.
30520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30521
30522 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
30523
30524 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
30525
30526 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30527
30528 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
30529 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
30530 include/grub/parser.h, include/grub/script.h, kern/parser.c,
30531 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
30532 normal/lexer.c, normal/parser.y, normal/script.c, and
30533 partmap/gpt.c.
30534 Removed kern/sparc64/cache.c.
30535
30536 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
30537 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
30538 grub_emu_init.c.
30539
30540 * configure.ac (AC_INIT): Bumped to 1.92.
30541
30542 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
30543
30544 * kern/err.c (grub_error_push): Added new function to support error
30545 stacks.
30546 (grub_error_pop): Likewise.
30547 (grub_error_stack_items): New local variable to support error stacks.
30548 (grub_error_stack_pos): Likewise.
30549 (grub_error_stack_assert): Likewise.
30550 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
30551 stack depth.
30552 (grub_print_error): Added support to print errors from error stack.
30553
30554 * include/grub/err.h (grub_error_push): Added function prototype.
30555 (grub_error_pop): Likewise.
30556
30557 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
30558
30559 * configure.ac: Accept `powerpc64' as host_cpu.
30560 (amd64): Rename to `biarch32'.
30561
30562 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
30563 non-cacheline-aligned addresses.
30564
30565 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
30566 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
30567 if `size' is non-zero.
30568
30569 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
30570
30571 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
30572 and `cd' to make sure the filename is not prefixed with a
30573 directory name.
30574 (pkgdata_MODULES): Add `gpt.mod'.
30575 (gpt_mod_SOURCES): New variable.
30576 (gpt_mod_CFLAGS): Likewise.
30577 (gpt_mod_LDFLAGS): Likewise.
30578
30579 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
30580
30581 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
30582 New macro.
30583
30584 * partmap/gpt.c: New file.
30585
30586 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
30587 GPT partition map is detected.
30588
30589 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
30590
30591 * commands/i386/pc/play.c: New file.
30592 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
30593 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
30594 macros.
30595
30596 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
30597
30598 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
30599 ((unused))' to silence gcc warning.
30600
30601 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
30602
30603 * configure.ac: Correct `AC_PROG_YACC' test.
30604
30605 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30606
30607 * util/powerpc/ieee1275/grub-install.in: Run the mount point
30608 check before installing files.
30609
30610 2005-11-22 Mike Small <smallm@panix.com>
30611
30612 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
30613 number regex so multidigit numbers are recognized correctly.
30614
30615 2005-11-22 Mike Small <smallm@panix.com>
30616
30617 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
30618 debugging message before attempting to claim memory.
30619 (grub_rescue_cmd_initrd): Add a claim debugging message and try
30620 multiple addresses in case of failure.
30621
30622 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30623
30624 * term/tparm.c (get_space): Remove empty `if' statement.
30625
30626 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
30627
30628 * kern/parser.c (check_varstate): Rename `state' to 's'.
30629
30630 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30631
30632 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
30633 variable definitions to the beginning of each function. Sort stack
30634 variables by size.
30635 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
30636 `buf' argument to `char *'.
30637
30638 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30639
30640 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
30641 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
30642 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
30643 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30644 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30645 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30646 configfile.mod, search.mod, gzio.mod and test.mod.
30647 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30648 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30649 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30650 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30651 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30652 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30653 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30654 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30655 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30656 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30657 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30658 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30659 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30660 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30661 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30662 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30663 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30664 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30665 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30666 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30667 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30668 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30669 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
30670
30671 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
30672 `grep --include'.
30673 (pkgdata_MODULES): Add test.mod.
30674
30675 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30676
30677 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
30678 appending to variables with "+=".
30679 (PModule): Use full pathname to generate *.lst filenames.
30680
30681 * Makefile.in: Fixed list rules moved from genmk.rb.
30682 (.DELETE_ON_ERROR): New special target.
30683 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
30684
30685 * conf/i386-pc.rmk: Include conf/common.mk.
30686 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
30687 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
30688 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30689 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30690 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30691 configfile.mod, search.mod, gzio.mod and test.mod.
30692 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30693 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30694 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30695 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30696 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30697 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30698 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30699 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30700 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30701 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30702 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30703 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30704 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30705 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30706 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30707 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30708 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30709 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30710 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30711 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30712 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30713 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30714 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
30715 here...
30716 * conf/common.rmk: ... to here. New file.
30717
30718 * conf/common.mk: New file.
30719
30720 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
30721
30722 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
30723 (grub_script.tab.c): ... here.
30724
30725 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
30726 (grub_script.tab.c): ... here.
30727
30728 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
30729 (grub_script.tab.c): ... here.
30730
30731 * normal/command.c (grub_command_find): Fixed a memory leak of
30732 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
30733
30734 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30735
30736 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
30737 "@" which marks the start of a comment on ARM.
30738 (VARIABLE): Likewise.
30739
30740 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30741
30742 Add support for Linux/ADFS partition tables.
30743
30744 * partmap/acorn.c: New file.
30745
30746 * include/grub/acorn_filecore.h: Likewise.
30747
30748 * DISTLIST: Added `partmap/acorn.c' and
30749 `include/grub/acorn_filecore.h'.
30750
30751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30752 `partmap/acorn.c'.
30753 (pkgdata_MODULES): Add `acorn.mod'.
30754 (acorn_mod_SOURCES): New variable.
30755 (acorn_mod_CFLAGS): Likewise.
30756
30757 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
30758 `partmap/acorn.c'.
30759 (pkgdata_MODULES): Add `acorn.mod'.
30760 (acorn_mod_SOURCES): New variable.
30761 (acorn_mod_CFLAGS): Likewise.
30762
30763 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
30764 (pkgdata_MODULES): Add `acorn.mod'.
30765 (acorn_mod_SOURCES): New variable.
30766 (acorn_mod_CFLAGS): Likewise.
30767 (acorn_mod_LDFLAGS): Likewise.
30768
30769 * include/types.h (grub_disk_addr_t): New typedef.
30770
30771 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
30772
30773 * geninit.sh: New file.
30774
30775 * geninitheader.sh: Likewise.
30776
30777 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
30778 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
30779 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
30780 * commands/configfile.c (grub_configfile_init)
30781 (grub_configfile_fini): Likewise.
30782 * commands/default.c (grub_default_init, grub_default_fini):
30783 Likewise.
30784 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
30785 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
30786 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
30787 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
30788 Likewise.
30789 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
30790 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
30791 Likewise.
30792 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
30793 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
30794 Likewise.
30795 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
30796 Likewise.
30797 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
30798 Likewise.
30799 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
30800 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
30801 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
30802 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
30803 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
30804 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
30805 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
30806 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
30807 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
30808 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
30809 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
30810 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
30811 * partmap/amiga.c (grub_amiga_partition_map_init)
30812 (grub_amiga_partition_map_fini): Likewise.
30813 * partmap/apple.c (grub_apple_partition_map_init)
30814 (grub_apple_partition_map_fini): Likewise.
30815 * partmap/pc.c (grub_pc_partition_map_init)
30816 (grub_pc_partition_map_fini): Likewise.
30817 * partmap/sun.c (grub_sun_partition_map_init,
30818 grub_sun_partition_map_fini): Likewise.
30819 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
30820 Likewise.
30821
30822 * util/grub-emu.c: Include <grub_modules_init.h>.
30823 (main): Don't initialize and de-initialize any modules directly,
30824 use `grub_init_all' and `grub_fini_all' instead.
30825
30826 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
30827 `grub_vesafb_mod_init'.
30828 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
30829 all users.
30830 * term/i386/pc/vga.c (grub_vga_init): Renamed to
30831 `grub_vga_mod_init'. Updated all users.
30832 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
30833
30834 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
30835 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
30836 rules.
30837
30838 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
30839 Generate a function to initialize the module in utilities.
30840 Updated all callers.
30841 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
30842 initialize the module in utilities. Updated all callers.
30843
30844 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
30845
30846 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
30847 escape sequence and a literal ^L to clear the screen.
30848
30849 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
30850 when returning from Open Firmware.
30851
30852 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
30853
30854 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
30855 (grub_ofconsole_height): Likewise.
30856 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
30857 manually insert a '\n'.
30858 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
30859 `grub_ofconsole_height'. Return early if these are already set.
30860
30861 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
30862
30863 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
30864 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
30865 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
30866 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
30867 and `normal/script.c'.
30868 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30869 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30870 (test_mod_SOURCES): New variable.
30871 (test_mod_CFLAGS): Likewise.
30872 (test_mod_LDFLAGS): Likewise.
30873 (pkgdata_MODULES): Add `test.mod'.
30874 (grub_script.tab.c): New rule.
30875 (grub_script.tab.h): Likewise.
30876
30877 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
30878
30879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30880 `commands/test.c', `normal/execute.c', `normal/lexer.c',
30881 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30882 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30883 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30884 (test_mod_SOURCES): New variable.
30885 (test_mod_CFLAGS): Likewise.
30886 (pkgdata_MODULES): Add `test.mod'.
30887 (grub_script.tab.c): New rule.
30888 (grub_script.tab.h): Likewise.
30889
30890 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
30891
30892 Add initial scripting support.
30893
30894 * commands/test.c: New file.
30895 * include/grub/script.h: Likewise.
30896 * normal/execute.c: Likewise.
30897 * normal/function.c: Likewise.
30898 * normal/lexer.c: Likewise.
30899 * normal/parser.y: Likewise.
30900 * normal/script.c: Likewise.
30901
30902 * configure.ac: Add `AC_PROG_YACC' test.
30903
30904 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
30905 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
30906 `normal/function.c' and `normal/script.c'.
30907 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30908 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30909 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
30910 variables.
30911 (pkgdata_MODULES): Add `test.mod'.
30912 (grub_script.tab.c): New rule.
30913 (grub_script.tab.h): Likewise.
30914
30915 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
30916
30917 * include/grub/normal.h (grub_test_init): New prototype.
30918 (grub_test_fini): Likewise.
30919
30920 * normal/command.c: Include <grub/script.h>.
30921 (grub_command_execute): Rewritten.
30922
30923 * util/grub-emu.c (main): Call `grub_test_init' and
30924 `grub_test_fini'.
30925
30926 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30927
30928 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
30929 to 0.
30930 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
30931 there are no pending characters.
30932
30933 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30934
30935 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
30936 `grub_strndup' to drop device arguments. Replace unnecessary
30937 `grub_strndup' with `grub_strdup'.
30938
30939 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30940
30941 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
30942 `debug' environment variable has been set.
30943
30944 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
30945
30946 * Makefile.in (install-local): Use $(DATA).
30947 (uninstall): Likewise.
30948 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
30949 (sbin_UTILITIES): ... to here.
30950 (sbin_SCRIPTS): New variable.
30951 (grub_install_SOURCES): New variable.
30952 * util/powerpc/ieee1275/grub-install.in: New file.
30953 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
30954 variable.
30955 (add_segments): Call `grub_util_get_path'.
30956
30957 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
30958
30959 From Timothy Baldwin:
30960 * commands/ls.c (grub_ls_list_files): Close FILE with
30961 grub_file_close.
30962 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
30963
30964 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
30965
30966 * include/grub/parser.h: New file.
30967
30968 * kern/parser.c: Likewise.
30969
30970 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
30971 (grub_setup_SOURCES): Likewise.
30972 (grub_probefs_SOURCES): Likewise.
30973 (grub_emu_SOURCES): Likewise.
30974 (kernel_img_HEADERS): Add `parser.h'.
30975
30976 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30977 (grub_emu_SOURCES): Add `kern/parser.c'.
30978 (grubof_SOURCES): Likewise.
30979
30980 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30981 (grubof_SOURCES): Add `kern/parser.c'.
30982
30983 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
30984
30985 * kern/misc.c (grub_split_cmdline): Removed function.
30986
30987 * kern/rescue.c: Include <grub/parser.h>.
30988 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
30989 of `grub_split_cmdline'.
30990
30991 * normal/command.c: Include <grub/parser.h>.
30992 (grub_command_execute): Use `grub_parser_split_cmdline' instead
30993 of `grub_split_cmdline'.
30994
30995 * normal/completion.c: Include <grub/parser.h>.
30996 (cmdline_state): New variable.
30997 (iterate_dir): End the filename with a quote depending on the
30998 command line state.
30999 (get_state): new function.
31000 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
31001 split the arguments and determine the current argument. When the
31002 argument string is not quoted, escape all spaces.
31003
31004 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31005
31006 * normal/sparc64/setjmp.S: New file.
31007
31008 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31009
31010 * include/grub/sparc64/libgcc.h: New file.
31011 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
31012 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
31013 normal/sparc64/setjmp.c.
31014
31015 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31016
31017 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
31018 * kern/sparc64/cache.S: New file.
31019 * kern/sparc64/cache.c: Removed.
31020 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
31021 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
31022 -mtune=ultrasparc.
31023 (COMMON_LDFLAGS): Add -melf64_sparc.
31024 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
31025 (grubof_SOURCES): Use cache.S instead of cache.c.
31026 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
31027 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
31028 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
31029 commented though.
31030 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
31031 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
31032 (linux_mod_CFLAGS): Commented out.
31033 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
31034 out because module isn't built.
31035 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
31036 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
31037 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
31038 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
31039 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
31040 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31041 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31042 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
31043 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
31044 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
31045 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31046 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31047 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
31048 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
31049
31050 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
31051
31052 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
31053 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
31054 longer, because HFS should not be used on PC.
31055
31056 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31057
31058 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
31059 consistently within the loop.
31060
31061 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
31062
31063 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
31064 directory can not be read.
31065
31066 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31067
31068 * configure.ac (AC_INIT): Increase the version number to 1.91.
31069
31070 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
31071 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
31072 term/i386/pc/serial.c.
31073
31074 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31075
31076 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
31077 file size must be permitted.
31078
31079 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
31080 between %ah and %al.
31081
31082 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31083
31084 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
31085 grub_uint64_t.
31086 Call the hook with a NUL-terminated filename.
31087 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
31088 grub_cpu_to_be32.
31089
31090 * kern/term.c (cursor_state): New variable.
31091 (grub_term_set_current): Reset the cursor state on a new
31092 terminal.
31093 (grub_setcursor): Rewritten to use CURSOR_STATE.
31094 (grub_getcursor): New function.
31095
31096 * include/grub/term.h (grub_getcursor): New prototype.
31097
31098 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
31099 integers on ARM. Reported by Timothy Baldwin
31100 <T.E.Baldwin99@members.leeds.ac.uk>.
31101
31102 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
31103
31104 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
31105 allocated.
31106 (grub_sfs_dir): Likewise.
31107
31108 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
31109
31110 Add support for the SFS filesystem.
31111
31112 * fs/sfs.c: New file.
31113
31114 * DISTLIST: Added `fs/sfs.c'.
31115
31116 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
31117 (grub_probefs_SOURCES): Likewise.
31118 (grub_emu_SOURCES): Likewise.
31119 (pkgdata_MODULES): Add `sfs.mod'.
31120 (sfs_mod_SOURCES): New variable.
31121 (sfs_mod_CFLAGS): Likewise.
31122 (sfs_mod_LDFLAGS): Likewise.
31123
31124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
31125 (pkgdata_MODULES): Add `sfs.mod'.
31126 (sfs_mod_SOURCES): New variable.
31127 (sfs_mod_CFLAGS): Likewise.
31128
31129 * util/grub-emu.c (main): Call `grub_sfs_init' and
31130 `grub_sfs_fini'.
31131
31132 * include/grub/fs.h (grub_sfs_init): New prototype.
31133 (grub_sfs_fini): Likewise.
31134
31135 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
31136
31137 Add support for the AFFS filesystem.
31138
31139 * fs/affs.c: New file.
31140
31141 * DISTLIST: Added `fs/affs.c'.
31142
31143 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
31144 (grub_probefs_SOURCES): Likewise.
31145 (grub_emu_SOURCES): Likewise.
31146 (pkgdata_MODULES): Add `affs.mod'.
31147 (affs_mod_SOURCES): New variable.
31148 (affs_mod_CFLAGS): Likewise.
31149 (affs_mod_LDFLAGS): Likewise.
31150
31151 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
31152 (pkgdata_MODULES): Add `affs.mod'.
31153 (affs_mod_SOURCES): New variable.
31154 (affs_mod_CFLAGS): Likewise.
31155
31156 * util/grub-emu.c (main): Call `grub_affs_init' and
31157 `grub_affs_fini'.
31158
31159 * include/grub/fs.h (grub_affs_init): New prototype.
31160 (grub_affs_fini): Likewise.
31161
31162 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31163
31164 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31165
31166 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
31167
31168 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31169 `-m32' to CFLAGS.
31170
31171 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31172 linking.
31173
31174 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31175 (COMMON_LDFLAGS): New variable.
31176 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31177 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31178 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31179 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31180 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31181 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31182 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31183 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31184 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31185 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31186 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31187 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31188 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31189 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31190 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31191 variables.
31192 (normal_mod_ASFLAGS): Add `-m32'.
31193
31194 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31195 (grub_host_size_t, grub_host_ssize_t): New types.
31196 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
31197 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
31198 `GRUB_HOST_SIZEOF_VOID_P'.
31199
31200 * include/grub/kernel.h (struct grub_module_header): Type of
31201 member offset changed to `grub_host_off_t'. Type of member size
31202 changed to `grub_host_size_t'.
31203 (struct grub_module_info): Type of member offset changed to
31204 `grub_host_off_t'. Type of member size changed to
31205 `grub_host_size_t'.
31206
31207 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31208
31209 Make GRUB's kernel compliant to Multiboot Specification.
31210
31211 * kern/i386/pc/startup.S (multiboot_header): New label.
31212 (multiboot_entry): Likewise.
31213 (multiboot_trampoline): Likewise.
31214
31215 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31216 Increased to 0x4A0.
31217
31218 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31219 put parentheses after a question mark.
31220 [!GRUB_UTIL] (my_mod): New variable.
31221
31222 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31223
31224 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
31225
31226 Adds support for the XFS filesystem. Btrees are not supported
31227 yet.
31228
31229 * fs/xfs.c: New file.
31230
31231 * DISTLIST: Added `fs/xfs.c'.
31232
31233 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
31234 (grub_probefs_SOURCES): Likewise.
31235 (grub_emu_SOURCES): Likewise.
31236 (pkgdata_MODULES): Add `xfs.mod'.
31237 (xfs_mod_SOURCES): New variable.
31238 (xfs_mod_CFLAGS): Likewise.
31239
31240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
31241 (pkgdata_MODULES): Add `xfs.mod'.
31242 (xfs_mod_SOURCES): New variable.
31243 (xfs_mod_CFLAGS): Likewise.
31244
31245 * util/grub-emu.c (main): Call `grub_xfs_init' and
31246 `grub_xfs_fini'.
31247
31248 * include/grub/fs.h (grub_xfs_init): New prototype.
31249 (grub_xfs_fini): Likewise.
31250
31251
31252 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
31253
31254 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
31255 color modes, allow greater than 16 colors to be configured as
31256 a default palette.
31257
31258 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31259
31260 * normal/completion.c (complete_arguments): Add the qualifier
31261 const into OPTIONS.
31262
31263 From Omniflux <omniflux+lists@omniflux.com>:
31264 * include/grub/terminfo.h: New file.
31265 * include/grub/tparm.h: Likewise.
31266 * include/grub/i386/pc/serial.h: Likewise.
31267 * term/terminfo.c: Likewise.
31268 * term/tparm.c: Likewise.
31269 * term/i386/pc/serial.c: Likewise.
31270 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
31271 serial.mod.
31272 (terminfo_mod_SOURCES): New variable.
31273 (terminfo_mod_CFLAGS): Likewise.
31274 (serial_mod_SOURCES): Likewise.
31275 (serial_mod_CFLAGS): Likewise.
31276
31277 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
31278
31279 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
31280 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
31281 and kern/powerpc/ieee1275/cmain.c, respectively.
31282
31283 * boot/powerpc/ieee1275/crt0.S: Moved to ...
31284 * kern/powerpc/ieee1275/crt0.S: ... here.
31285
31286 * boot/powerpc/ieee1275/cmain.c: Moved to ...
31287 * kern/powerpc/ieee1275/cmain.c: ... here.
31288
31289 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
31290 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
31291 instead of boot/powerpc/ieee1275/crt0.S and
31292 boot/powerpc/ieee1275/cmain.c, respectively.
31293
31294 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
31295 sectors. It was not used anyway.
31296
31297 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31298
31299 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
31300 `unused parameter' warning.
31301
31302 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31303
31304 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
31305 function.
31306 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
31307 getcharwidth.
31308
31309 2005-08-28 Marco Gerards <metgerards@student.han.nl>
31310
31311 * include/grub/normal.h (enum grub_completion_type): Added
31312 `GRUB_COMPLETION_TYPE_ARGUMENT'.
31313
31314 * normal/cmdline.c (print_completion): Handle
31315 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
31316 * normal/menu_entry.c (store_completion): Likewise.
31317
31318 * normal/completion.c (complete_arguments): New function.
31319 (grub_normal_do_completion): Call `complete_arguments' when the
31320 current words start with a dash.
31321
31322 2005-08-27 Marco Gerards <metgerards@student.han.nl>
31323
31324 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
31325 `gzio.mod' instead of `io.mod').
31326
31327 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
31328
31329 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
31330 (DISTDIRS): Added io and video.
31331 Rewrite the search routine to make an output consistently.
31332
31333 * DISTLIST: Added conf/sparc64-ieee1275.mk,
31334 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
31335 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
31336 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
31337 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
31338 util/powerpc/ieee1275/misc.c.
31339
31340 * include/grub/gzio.h: New file.
31341 * io/gzio.c: Likewise.
31342
31343 * kern/file.c (grub_file_close): Call grub_device_close only if
31344 FILE->DEVICE is not NULL.
31345
31346 * include/grub/mm.h [!NULL] (NULL): New macro.
31347
31348 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
31349
31350 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
31351 (pkgdata_MODULES): Added gzio.mod.
31352 (gzio_mod_SOURCES): New variable.
31353 (gzio_mod_CFLAGS): Likewise.
31354
31355 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
31356 (pkgdata_MODULES): Added gzio.mod.
31357 (gzio_mod_SOURCES): New variable.
31358 (gzio_mod_CFLAGS): Likewise.
31359
31360 * commands/cat.c: Include grub/gzio.h.
31361 (grub_cmd_cat): Use grub_gzfile_open instead of
31362 grub_file_open.
31363
31364 * commands/cmp.c: Include grub/gzio.h.
31365 (grub_cmd_cmp): Use grub_gzfile_open instead of
31366 grub_file_open.
31367
31368 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
31369 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
31370 grub_file_open.
31371 (grub_rescue_cmd_module): Likewise.
31372
31373 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31374
31375 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
31376 kern/sparc64/ieee1275/init.c because it contains _start.
31377 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
31378
31379 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31380
31381 * configure.ac: Add support for sparc64 host with ieee1275
31382 firmware.
31383 * configure: Generated from configure.ac.
31384 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
31385 instead of int.
31386 (grub_ofdisk_read): Likewise.
31387 (grub_ofdisk_open): Use %p to print pointer values, and cast the
31388 pointers as (void *) to remove a warning.
31389 (grub_ofdisk_close): Likewise.
31390 (grub_ofdisk_read): Likewise.
31391 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31392 returns, so make it return void to remove a warning.
31393 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31394 Corresponding prototype change.
31395 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31396 values, and cast the pointers as (void *) to remove a warning.
31397 (grub_mm_dump): Likewise.
31398 * conf/sparc64-ieee1275.mk: New file.
31399 * conf/sparc64-ieee1275.rmk: Likewise.
31400 * include/grub/sparc64/setjmp.h: Likewise.
31401 * include/grub/sparc64/types.h: Likewise.
31402 * include/grub/sparc64/ieee1275/console.h: Likewise.
31403 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31404 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31405 * include/grub/sparc64/ieee1275/time.h: Likewise.
31406 * kern/sparc64/cache.c: Likewise.
31407 * kern/sparc64/dl.c: Likewise.
31408 * kern/sparc64/ieee1275/init.c: Likewise.
31409 * kern/sparc64/ieee1275/openfw.c: Likewise.
31410
31411 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31412
31413 * util/console.c (grub_ncurses_putchar): If C is greater than
31414 0x7f, set C to a question mark.
31415 (grub_ncurses_getcharwidth): New function.
31416 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
31417 getcharwidth.
31418
31419 * normal/menu.c (print_entry): Made aware of Unicode. First,
31420 convert TITLE to UCS-4, and predict the cursor position by
31421 grub_getcharwidth.
31422
31423 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
31424 const to SRC.
31425 * kern/misc.c (grub_utf16_to_utf8): Likewise.
31426
31427 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31428
31429 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
31430 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31431 grub_strcat.
31432
31433 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
31434 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31435 grub_strcpy and grub_strlen. Take it into account that a space
31436 character is inserted as a delimiter.
31437
31438 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31439
31440 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
31441 invalid magic in the error.
31442
31443 * commands/search.c: New file.
31444
31445 * util/grub-emu.c (main): Call grub_search_init and
31446 grub_search_fini.
31447
31448 * kern/rescue.c (grub_rescue_print_disks): Removed.
31449 (grub_rescue_print_devices): New function.
31450 (grub_rescue_cmd_ls): Use grub_device_iterate with
31451 grub_rescue_print_devices instead of grub_disk_dev_iterate with
31452 grub_rescue_print_disks.
31453
31454 * kern/partition.c (grub_partition_iterate): Return the result of
31455 PARTMAP->ITERATE instead of GRUB_ERRNO.
31456
31457 * kern/device.c: Include grub/partition.h.
31458 (grub_device_iterate): New function.
31459
31460 * include/grub/partition.h (grub_partition_iterate): Return int
31461 instead of grub_err_t.
31462
31463 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
31464 prototype.
31465 [GRUB_UTIL] (grub_search_fini): Likewise.
31466
31467 * include/grub/device.h (grub_device_iterate): New prototype.
31468
31469 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31470 commands/search.c.
31471 (pkgdata_MODULES): Added search.mod.
31472 (search_mod_SOURCES): New variable.
31473 (search_mod_CFLAGS): Likewise.
31474
31475 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
31476 (pkgdata_MODULES): Added search.mod.
31477 (search_mod_SOURCES): New variable.
31478 (search_mod_CFLAGS): Likewise.
31479
31480 * commands/ls.c (grub_ls_list_disks): Renamed to ...
31481 (grub_ls_list_devices): ... this, and use grub_device_iterate.
31482 All callers changed.
31483
31484 * DISTLIST: Added commands/search.c.
31485
31486 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31487
31488 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
31489 conversion.
31490 (grub_getcharwidth): New function.
31491
31492 * kern/misc.c (grub_utf8_to_ucs4): New function.
31493
31494 * include/grub/term.h (struct grub_term): Added a new member
31495 "getcharwidth".
31496 (grub_getcharwidth): New prototype.
31497
31498 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
31499
31500 * term/i386/pc/console.c (map_char): New function. Segregated from
31501 grub_console_putchar.
31502 (grub_console_putchar): Use map_char.
31503 (grub_console_getcharwidth): New function.
31504 (grub_console_term): Specified grub_console_getcharwidth as
31505 getcharwidth.
31506
31507 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
31508 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
31509
31510 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
31511 GRUB_ERRNO.
31512 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
31513 on grub_strtoul completely.
31514 (write_char): Declare local variables in the beginning of the
31515 function.
31516 (grub_vesafb_getcharwidth): New function.
31517 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
31518 getcharwidth.
31519
31520 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
31521
31522 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
31523 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
31524 commands/i386/pc/vbetest.c.
31525
31526 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
31527 call grub_vbe_get_controller_info again, because the returned
31528 information is volatile.
31529 (grub_vbe_set_video_mode): Mostly rewritten.
31530 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
31531 grub_vbe_status_t correctly.
31532 (grub_vbe_get_video_mode_info): Likewise.
31533 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
31534 several if statements.
31535
31536 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
31537 * commands/i386/pc/vbeinfo.c: ... this.
31538
31539 * commands/i386/pc/vbe_test.c: Renamed to ...
31540 * commands/i386/pc/vbetest.c: ... this.
31541
31542 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
31543 ...
31544 (grub_cmd_vbeinfo): ... this. Save video modes before
31545 iterating. Skip a video mode, if it is not available, not enough
31546 information is given or it is monochrome. Show the memory
31547 model. Leave the interpretation of MODEVAR to grub_strtoul
31548 completely.
31549 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
31550 (GRUB_MOD_FINI): Likewise.
31551
31552 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
31553 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
31554 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
31555 duplicated grub_env_get. Leave the interpretation of MODEVAR to
31556 grub_strtoul completely.
31557 (real2pm): Removed.
31558 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
31559 (GRUB_MOD_FINI): Likewise.
31560
31561 * normal/misc.c: Include grub/mm.h.
31562
31563 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
31564 vbe_list_modes with vbetest.mod and vbeinfo.mod.
31565 (vbe_list_modes_mod_SOURCES): Removed.
31566 (vbe_list_modes_mod_CFLAGS): Likewise.
31567 (vbe_test_mod_SOURCES): Likewise.
31568 (vbe_test_mod_CFLAGS): Likewise.
31569 (vbeinfo_mod_SOURCES): New variable.
31570 (vbeinfo_mod_CFLAGS): Likewise.
31571 (vbetest_mod_SOURCES): Likewise.
31572 (vbetest_mod_CFLAGS): Likewise.
31573
31574 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
31575
31576 * normal/misc.c: New file.
31577
31578 * DISTLIST: Added normal/misc.c.
31579
31580 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
31581 DISK to HOOK. Call HOOK with DISK.
31582 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31583 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31584 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31585
31586 * normal/menu_entry.c (struct screen): Added a new member
31587 "completion_shown".
31588 (completion_buffer): New global variable.
31589 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
31590 (store_completion): New function.
31591 (complete): Likewise.
31592 (clear_completions): Likewise.
31593 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
31594 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
31595 a tab, call complete.
31596
31597 * normal/completion.c (disk_dev): Removed.
31598 (print_simple_completion): Likewise.
31599 (print_partition_completion): Likewise.
31600 (print_func): New global variable.
31601 (add_completion): Do not take the arguments WHAT or PRINT any
31602 longer. Added a new argument TYPE. Instead of printing directly,
31603 call PRINT_FUNC if not NULL.
31604 All callers changed.
31605 (complete_device): Use a local variable DEV instead of
31606 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
31607 (grub_normal_do_completion): Take a new argument HOOK. Do not
31608 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
31609 empty string, return NULL instead.
31610 All callers changed.
31611
31612 * normal/cmdline.c (print_completion): New function.
31613
31614 * kern/partition.c (grub_partition_iterate): Add an argument DISK
31615 to HOOK.
31616 All callers changed.
31617
31618 * kern/disk.c (grub_print_partinfo): Removed.
31619
31620 * include/grub/partition.h (struct grub_partition_map): Add a new
31621 argument DISK into HOOK of ITERATE.
31622 (grub_partition_iterate): Add a new argument DISK to HOOK.
31623
31624 * include/grub/normal.h (enum grub_completion_type): New enum.
31625 (grub_completion_type_t): New type.
31626 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
31627 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
31628 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
31629 (GRUB_COMPLETION_TYPE_FILE): Likewise.
31630 (grub_normal_do_completion): Added a new argument HOOK.
31631 (grub_normal_print_device_info): New prototype.
31632
31633 * include/grub/disk.h (grub_print_partinfo): Removed.
31634
31635 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
31636 (normal_mod_SOURCES): Likewise.
31637 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31638 (normal_mod_SOURCES): Likewise.
31639
31640 * commands/ls.c (grub_ls_list_disks): Use
31641 grub_normal_print_device_info instead of grub_print_partinfo. Free
31642 PNAME.
31643 (grub_ls_list_files): Use grub_normal_print_device_info instead of
31644 duplicating the code.
31645
31646 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31647
31648 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
31649 follow GCS more precisely.
31650 * commands/i386/pc/vbe_test.c: Likewise.
31651 * include/grub/i386/pc/vbe.h: Likewise.
31652 * term/i386/pc/vesafb.c: Likewise.
31653 * video/i386/pc/vbe.c: Likewise.
31654
31655 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31656
31657 * DISTLIST: Added term/i386/pc/vesafb.c
31658 DISTLIST: Added video/i386/pc/vbe.c
31659 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
31660 DISTLIST: Added commands/i386/pc/vbe_test.c.
31661 * commands/i386/pc/vbe_list_modes.c: New file.
31662 * commands/i386/pc/vbe_test.c: Likewise.
31663 * term/i386/pc/vesafb.c: Likewise.
31664 * video/i386/pc/vbe.c: Likewise.
31665 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
31666 (grub_vbe_probe) Added prototype.
31667 (grub_vbe_set_video_mode) Likewise.
31668 (grub_vbe_get_video_mode) Likewise.
31669 (grub_vbe_get_video_mode_info) Likewise.
31670 (grub_vbe_set_pixel_rgb) Likewise.
31671 (grub_vbe_set_pixel_index) Likewise.
31672 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
31673 (pkgdata_MODULES): Added vesafb.mod.
31674 (pkgdata_MODULES): Added vbe_list_modes.mod.
31675 (pkgdata_MODULES): Added vbe_test.mod.
31676 (vbe_mod_SOURCES): Added.
31677 (vbe_mod_CFLAGS): Likewise.
31678 (vesafb_mod_SOURCES): Likewise.
31679 (vesafb_mod_CFLAGS): Likewise.
31680 (vbe_list_modes_mod_SOURCES): Likewise.
31681 (vbe_list_modes_mod_CFLAGS): Likewise.
31682 (vbe_test_mod_SOURCES): Likewise.
31683 (vbe_test_mod_CFLAGS): Likewise.
31684
31685 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
31686
31687 * normal/command.c (grub_command_execute): If INTERACTIVE is
31688 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
31689 CMDLINE. Disable the pager if INTERACTIVE is true.
31690 All callers are changed.
31691
31692 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
31693 before reading a config file.
31694 * normal/main.c (read_config_file): Even if a command is not
31695 found, register it if it is within an entry.
31696
31697 * util/grub-emu.c: Include sys/types.h and unistd.h.
31698 (options): Added --hold.
31699 (struct arguments): Added a new member "hold".
31700 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
31701 missing.
31702 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
31703 cleared by a debugger, if it is not zero.
31704
31705 * include/grub/normal.h (grub_command_execute): Add an argument
31706 INTERACTIVE.
31707
31708 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
31709
31710 * DISTLIST: Added include/grub/i386/pc/vbe.h.
31711
31712 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
31713
31714 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
31715 program with another one, because the old one didn't detect a bug
31716 in gcc-3.4. Always use regparm 2, because the new test is still
31717 not enough for gcc-4.0. Someone must investigate a simple test
31718 case which detects a bug in gcc-4.0.
31719
31720 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
31721
31722 * DISTLIST: Added normal/completion.c.
31723
31724 * normal/completion.c: New file.
31725
31726 * term/i386/pc/console.c (grub_console_getwh): New function.
31727 (grub_console_term): Assign grub_console_getwh to getwh.
31728
31729 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
31730 function is defined in normal/completion.c as
31731 grub_normal_do_completion.
31732 (grub_cmdline_get): Use grub_normal_do_completion instead of
31733 grub_tab_complete.
31734
31735 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
31736 returns non-zero, otherwise return 0.
31737 (grub_partition_iterate): First, probe the partition map. Then,
31738 call ITERATE only for this partition map.
31739
31740 * kern/misc.c (grub_strncmp): Rewritten.
31741
31742 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
31743 returns non-zero. Otherwise return 0.
31744
31745 * include/grub/partition.h (grub_partition_map_iterate): Return
31746 int instead of void.
31747
31748 * include/grub/normal.h (grub_normal_do_completion): New prototype.
31749
31750 * include/grub/misc.h (grub_strncmp): Change the type of N to
31751 grub_size_t.
31752
31753 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
31754 of void.
31755
31756 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
31757 unsigned explicitly before comparing it with I.
31758
31759 * kern/main.c (grub_env_write_root): Add the attribute unused into
31760 VAR.
31761
31762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31763 normal/completion.c.
31764 (normal_mod_SOURCES): Likewise.
31765 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31766 (normal_mod_SOURCES): Likewise.
31767
31768 * normal/command.c (grub_iterate_commands): If ITERATE returns
31769 non-zero, return one immediately.
31770
31771 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
31772
31773 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
31774 * kern/i386/pc/startup.S: Updated Global Descriptor table's
31775 descriptions.
31776 (grub_vbe_get_controller_info): New function.
31777 (grub_vbe_get_mode_info): Likewise.
31778 (grub_vbe_set_mode): Likewise.
31779 (grub_vbe_get_mode): Likewise.
31780 (grub_vbe_set_memory_window): Likewise.
31781 (grub_vbe_get_memory_window): Likewise.
31782 (grub_vbe_set_scanline_length): Likewise.
31783 (grub_vbe_get_scanline_length): Likewise.
31784 (grub_vbe_set_display_start): Likewise.
31785 (grub_vbe_get_display_start): Likewise.
31786 (grub_vbe_set_palette_data): Likewise.
31787 * include/grub/i386/pc/vbe.h: New file.
31788
31789 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31790
31791 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
31792 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
31793 * DISTLIST: Likewise.
31794 * kern/ieee1275/of.c: Moved to ...
31795 * kern/ieee1275/ieee1275.c: ... here.
31796
31797 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31798
31799 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
31800 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
31801 Pass 0 as `end' parameter to grub_strtoul().
31802
31803 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31804
31805 * include/grub/powerpc/ieee1275/console.h: Do not include
31806 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
31807 ifdef.
31808 (grub_console_cur_color): Remove i386-specific prototype.
31809 (grub_console_real_putchar): Likewise.
31810 (grub_console_checkkey): Likewise.
31811 (grub_console_getkey): Likewise.
31812 (grub_console_getxy): Likewise.
31813 (grub_console_gotoxy): Likewise.
31814 (grub_console_cls): Likewise.
31815 (grub_console_setcursor): Likewise.
31816 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
31817 Include <grub/machine/console.h>.
31818 * term/ieee1275/ofconsole.c: Likewise.
31819
31820 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
31821
31822 * Makefile.in (LIBLZO): New variable.
31823
31824 * configure.ac: Check for LZO version 2.
31825
31826 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
31827 lzo/lzo1x.h instead of lzo1x.h.
31828
31829 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
31830 of -llzo.
31831
31832 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
31833 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
31834
31835 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
31836 copying the data from PARTITION to P.
31837
31838 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31839
31840 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
31841 negative, unload the module.
31842
31843 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
31844 map is "pc_partition_map" but not "pc".
31845 (usage): Fix the description. The options are --boot-image and
31846 --core-image but not --boot-file or --core-file.
31847 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
31848 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
31849 DEFAULT_DIRECTORY.
31850
31851 * util/i386/pc/grub-install.in: Do not specify --boot-file or
31852 --core-file. Specify INSTALL_DEVICE as an argument.
31853
31854 * util/console.c: Include config.h.
31855 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
31856 [HAVE_NCURSES_H]: Include ncurses.h.
31857 [HAVE_CURSES_H]: Include curses.h.
31858 [!A_NORMAL] (A_NORMAL): Defined as zero.
31859 [!A_STANDOUT] (A_STANDOUT): Likewise.
31860
31861 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
31862 -lncurses.
31863 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
31864
31865 * configure.ac: Check for curses libraries and headers.
31866
31867 * Makefile.in (LIBCURSES): New variable.
31868
31869 * genmk.rb (Script::rule): Set the executable bits.
31870
31871 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
31872 name of the PC partition map is "pc_partition_map" but not "pc".
31873
31874 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31875
31876 * util/i386/pc/grub-install.in (grub_probefs): New variable.
31877 (modules): Likewise.
31878 (usage): Added descriptions for --modules and --grub-probefs.
31879 Handle --modules and --grub-probefs. Save the arguments in MODULES
31880 and GRUB_PROBEFS, respectively.
31881 Auto-detect a filesystem module against GRUBDIR. If the result is
31882 empty and modules are not specified explicitly, abort the
31883 installation. Add the result to MODULES.
31884
31885 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
31886 disk/powerpc/ieee1275/ofdisk.c,
31887 include/grub/powerpc/ieee1275/init.h and
31888 term/powerpc/ieee1275/ofconsole.c.
31889 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
31890 term/ieee1275/ofconsole.c.
31891
31892 * include/grub/powerpc/ieee1275/console.h: Resurrected.
31893
31894 * COPYING: Upgraded to the latest version. Only the address of the
31895 FSF office has changed.
31896
31897 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31898
31899 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
31900 kern/ieee1275.c with kern/ieee1275/of.c.
31901
31902 * kern/ieee1275.c: Moved to ...
31903 * kern/ieee1275/of.c: ... here.
31904
31905 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
31906
31907 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
31908 readability.
31909
31910 * config.guess: Updated to the latest version from gnulib.
31911 * config.sub: Likewise.
31912 * install.sh: Likewise.
31913 * mkinstalldirs: Likewise.
31914
31915 * include/grub/console.h: Removed. This file is arch-specific. Do
31916 not put this in include/grub.
31917
31918 * include/grub/i386/pc/console.h: Resurrected.
31919
31920 * util/console.c: Include grub/machine/console.h instead of
31921 grub/console.h.
31922 * util/grub-emu.c: Likewise.
31923
31924 2005-08-04 Marco Gerards <metgerards@student.han.nl>
31925
31926 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
31927 hardcoded value.
31928
31929 From Vincent Pelletier <subdino2004@yahoo.fr>
31930 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
31931 Redefined to use grub_getwh.
31932 (grub_term): New member named getwh.
31933 (grub_getwh): New prototype.
31934 * kern/term.c (grub_getwh): New function.
31935 * term/i386/pc/console.c (grub_console_getwh): New function.
31936 (grub_console_term): New member `getwh'.
31937 * term/i386/pc/vga.c (grub_vga_getwh): New function.
31938 (grub_vga_term): New member `getwh'.
31939 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
31940 grub_ssize_t.
31941 (grub_ofconsole_getw): New function.
31942 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
31943 (grub_ofconsole_term): New field named getwh and new initial
31944 value.
31945
31946 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
31947
31948 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
31949 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
31950 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
31951 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
31952 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
31953 of <grub/machine/ieee1275.h>.
31954 * commands/ieee1275/reboot.c: Likewise.
31955 * boot/powerpc/ieee1275/ieee1275.c: Move ...
31956 * kern/ieee1275.c: ... to here. All users updated. Change all
31957 parameter structs to use new type `grub_ieee1275_cell_t'.
31958 * term/powerpc/ieee1275/ofconsole.c: Move ...
31959 * term/ieee1275/ofconsole.c: ... to here. All users updated.
31960 * disk/powerpc/ieee1275/ofdisk.c: Move ...
31961 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
31962 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
31963 to return int.
31964 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
31965 Remove unused prototypes. All users updated.
31966 * include/grub/powerpc/ieee1275/console.h: Removed.
31967 * include/grub/powerpc/ieee1275/ieee1275.h: Define
31968 `grub_ieee1275_cell_t'.
31969 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
31970 Cast comparisons with -1 to the correct type.
31971 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
31972 type to match `grub_ieee1275_entry_fn'.
31973
31974 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
31975
31976 * DISTLIST: Added util/i386/pc/grub-probefs.c.
31977
31978 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
31979 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
31980 partmap/sun.c.
31981 (grub_probefs_SOURCES): New variable.
31982
31983 * util/i386/pc/grub-probefs.c: New file.
31984
31985 * util/i386/pc/grub-setup.c (main): Call
31986 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
31987 grub_hfs_init and grub_jfs_init to initialize the system. Call
31988 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
31989 grub_pc_partition_map_fini to finish the system.
31990
31991 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
31992
31993 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
31994 function.
31995 (grub_multiboot_load_elf32): Likewise.
31996 (grub_multiboot_is_elf64): Likewise.
31997 (grub_multiboot_load_elf64): Likewise.
31998 (grub_multiboot_load_elf): Likewise.
31999 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
32000 an ELF32 or ELF64 file.
32001 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
32002
32003 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
32004 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
32005 NULL before calling FS->LABEL.
32006 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
32007 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
32008 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
32009 before calling FS->LABEL.
32010
32011 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
32012
32013 * util/i386/pc/grub-install.in (datadir): New variable.
32014 (libdir): Removed.
32015 (pkgdatadir): New variable.
32016 (pkglibdir): Removed.
32017
32018 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
32019
32020 * DISTLIST: Added util/i386/pc/grub-install.in.
32021
32022 * util/i386/pc/grub-install.in: New file.
32023
32024 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
32025 (grub_install_SOURCES): Likewise.
32026
32027 * genmk.rb: Added support for scripts.
32028 (Script): New class.
32029 (scripts): New variable.
32030
32031 * Makefile.in (install-local): Install sbin_SCRIPTS by
32032 INSTALL_SCRIPT.
32033 (uninstall): Remove sbin_SCRIPTS.
32034
32035 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
32036 device, try to get a GRUB device by
32037 grub_util_biosdisk_get_grub_dev.
32038 Free DEST_DEV.
32039
32040 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
32041 description for --device-map.
32042
32043 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32044
32045 Change the semantics of variable hooks. They now return strings
32046 instead of error values.
32047
32048 * util/i386/pc/grub-setup.c: Include grub/env.h.
32049 (setup): Use grub_device_set_root instead of grub_env_set.
32050
32051 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
32052 grub_env_get instead of grub_device_set_root and
32053 grub_device_get_root, respectively.
32054
32055 * kern/main.c (grub_env_write_root): New function.
32056 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
32057 grub_env_set instead of grub_device_set_root.
32058
32059 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
32060 many variables.
32061 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
32062 rather than calling ENV->WRITE_HOOK afterwards.
32063 (grub_env_get): Return the result of ENV->READ_HOOK rather than
32064 passing a pointer of a pointer.
32065 (grub_register_variable_hook): Change the types of "read_hook" and
32066 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
32067 respectively.
32068 Allocate the default empty string on the heap, because this string
32069 may be freed later.
32070
32071 * kern/device.c: Include grub/env.h.
32072 (grub_device_set_root): Removed.
32073 (grub_device_get_root): Likewise.
32074 (grub_device_open): Use grub_env_get instead of
32075 grub_device_get_root.
32076
32077 * include/grub/env.h (grub_env_read_hook_t): New type.
32078 (grub_env_write_hook_t): Likewise.
32079 (grub_env_var): Change the types of "read_hook" and "write_hook"
32080 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
32081 (grub_register_variable_hook): Likewise.
32082
32083 * include/grub/device.h (grub_device_set_root): Removed.
32084 (grub_device_set_root): Likewise.
32085
32086 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
32087 make sure that DIRNAME terminates with '/', so that
32088 grub_fat_find_dir will fail if PATH is not a directory.
32089
32090 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
32091 from DIRNAME.
32092 Use the qualifier auto for print_files and print_files_long.
32093 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
32094 as a regular file.
32095 Put a newline only if there is no error.
32096 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
32097 used.
32098
32099 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32100
32101 * kern/partition.c (grub_partition_probe): Initialize PART to
32102 NULL. Otherwise, when no partition map is registered, this returns
32103 a garbage.
32104
32105 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
32106
32107 * partmap/apple.c (apple_partition_map_iterate): Check if POS
32108 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
32109 valid.
32110
32111 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
32112
32113 * commands/ls.c (grub_ls_list_disks): Print the filesystem
32114 information on each device, if it does not have partitions. Print
32115 "Device" instead of "Disk", because this function is not specific
32116 to disk devices.
32117
32118 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
32119 static to ensure that it is put on the memory rather than a
32120 register.
32121
32122 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32123
32124 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
32125 (grub_cat_init): Likewise.
32126 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
32127 (options): Likewise.
32128 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32129 (grub_configfile_init): Likewise.
32130 * font/manager.c (GRUB_MOD_INIT): Likewise.
32131 * commands/help.c (GRUB_MOD_INIT): Likewise.
32132 (grub_help_init): Likewise.
32133 * normal/command.c (grub_command_init): Likewise.
32134 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
32135 * disk/loopback.c (grub_loop_init): Likewise.
32136 (GRUB_MOD_INIT): Likewise.
32137 * commands/ls.c (grub_ls_init): Likewise.
32138 (GRUB_MOD_INIT): Likewise.
32139 (options): Likewise.
32140 * commands/boot.c (grub_boot_init): Likewise.
32141 (GRUB_MOD_INIT): Likewise.
32142 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
32143 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
32144 (GRUB_MOD_INIT): Likewise.
32145 * commands/cmp.c (grub_cmp_init): Likewise.
32146 (GRUB_MOD_INIT): Likewise.
32147
32148 * normal/arg.c: Use <> instead of "" to include header files.
32149 (SHORT_ARG_HELP): New macro.
32150 (SHORT_ARG_USAGE): Likewise.
32151 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
32152 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32153 descriptions.
32154 (find_short): Check if C is 'h' or 'u' explicitly.
32155 (grub_arg_show_help): Use space characters instead of tabs. Treat
32156 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32157 are shown with --help and --usage only if they are not used for
32158 the command itself.
32159 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32160 'h' and 'u'.
32161
32162 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32163 const into "longarg". Change the type of "shortarg" to int.
32164
32165 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32166
32167 * boot/i386/pc/boot.S (boot_drive_check): New label.
32168
32169 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32170 macro.
32171
32172 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32173 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32174
32175 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32176
32177 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32178 When turning off Gate A20, skip the check and return immediately,
32179 because this is not fatal usually.
32180
32181 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
32182
32183 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32184 be 0x7C00 instead of 0x8000.
32185
32186 * boot/i386/pc/pxeboot.S: Rewritten.
32187
32188 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32189 EXT_C.
32190 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32191 result.
32192
32193 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32194
32195 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32196 robustness. This routine now supports a BIOS call and System
32197 Control Port A to modify the gate A20.
32198
32199 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32200 Increased to 0x440.
32201
32202 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32203
32204 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32205 device path and resulting ihandle.
32206 (grub_ofdisk_close): dprintf the ihandle being closed.
32207 (grub_ofdisk_read): dprintf function parameters.
32208 * kern/mm.c (grub_mm_init_region): Likewise.
32209 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32210 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32211 size, and boot arguments.
32212 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32213 before loading into memory.
32214 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32215 before loading into memory.
32216
32217 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32218
32219 * kern/mm.c: Added much documentation.
32220 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32221 8, set to 5 instead of 8.
32222
32223 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32224
32225 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32226
32227 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32228 (grub_mkdevicemap_SOURCES): New variable.
32229
32230 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
32231 lib/device.c of GRUB Legacy.
32232
32233 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
32234
32235 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
32236 instead of PATH is NULL.
32237
32238 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
32239
32240 * commands/cmp.c (BUFFER_SIZE): New macro.
32241 (grub_cmd_cmp): Close the right file at the right time. Compare
32242 only data just read. Don't report files of different size as
32243 identical. Dynamically allocate buffers. Move variable
32244 declarations at the beginning of function.
32245
32246 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
32247
32248 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
32249 reverse.
32250
32251 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
32252
32253 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
32254 when backspace is pressed at beginning of line.
32255
32256 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
32257
32258 * DISTLIST: Added genfslist.sh.
32259
32260 * normal/main.c (fs_module_list): New variable.
32261 (autoload_fs_module): New function.
32262 (read_fs_list): Likewise.
32263 (grub_normal_execute): Call read_fs_list.
32264
32265 * kern/fs.c (grub_fs_autoload_hook): New variable.
32266 (grub_fs_probe): Added support for auto-loading.
32267
32268 * include/grub/normal.h (struct grub_fs_module_list): New struct.
32269 (grub_fs_module_list_t): New type.
32270
32271 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
32272 (grub_fs_autoload_hook): New prototype.
32273
32274 * genfslist.sh: New file.
32275
32276 * genmk.rb: Added a rule to generate a filesystem list.
32277
32278 2005-06-30 Marco Gerards <metgerards@student.han.nl>
32279
32280 * configure.ac: Fix the test for cross-compiling.
32281
32282 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
32283 define GRUB_UTIL anymore.
32284
32285 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
32286 so this function works on other systems than just big endian.
32287 (load_modules): Likewise.
32288 (add_segments): Likewise.
32289
32290 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
32291
32292 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
32293 contains `l' modifier, get a long from va_arg().
32294
32295 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
32296
32297 * kern/mm.c (grub_free): If the next free block which is being
32298 merged is the first free block, set the first block to the block
32299 being freed.
32300 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
32301
32302 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32303
32304 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
32305 `grub_ieee1275_chosen'.
32306
32307 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32308
32309 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
32310 (grub_ieee1275_chosen): New variable.
32311 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
32312 `chosen'.
32313 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
32314 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32315 Rename first argument to `phandle' for consistency.
32316 (grub_ieee1275_get_property_length): Likewise.
32317 (grub_ieee1275_next_property): Likewise. Change type of first argument
32318 to grub_ieee1275_phandle_t.
32319 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
32320 Move export next to declaration.
32321 (grub_ieee1275_chosen): New variable.
32322 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
32323 Correct cosmetic typo.
32324 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
32325 `grub_ieee1275_chosen'.
32326 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
32327 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
32328 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
32329 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
32330 `grub_ieee1275_chosen'.
32331
32332 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
32333
32334 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
32335 /chosen/bootargs.
32336 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
32337 /chosen/bootargs as "variable=value" pairs.
32338
32339 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
32340
32341 * include/grub/misc.h (grub_dprintf): New macro.
32342 (grub_real_dprintf): New prototype.
32343 (grub_strword): Likewise.
32344 (grub_iswordseparator): Likewise.
32345 * kern/misc.c (grub_real_dprintf): New function.
32346 (grub_strword): Likewise.
32347 (grub_iswordseparator): Likewise.
32348
32349 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
32350
32351 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
32352 (roundup): Remove macro.
32353 (grub_ieee1275_flags): Make static.
32354 (grub_ieee1275_realmode): Remove.
32355 (grub_ieee1275_test_flag): New function.
32356 (grub_ieee1275_set_flag): Likewise.
32357 (find_options): Rename to `grub_ieee1275_find_options'; update
32358 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
32359 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
32360 (cmain): New prototype.
32361 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
32362 `grub_ieee1275_flags' directly.
32363 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
32364 machine/biosdisk.h.
32365 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
32366 Don't include grub/machine/init.h.
32367 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
32368 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32369 Remove prototype.
32370 (grub_ieee1275_realmode): Likewise.
32371 (grub_ieee1275_flag): New enum.
32372 (grub_ieee1275_test_flag): New prototype.
32373 (grub_ieee1275_set_flag): New prototype.
32374 * include/grub/powerpc/ieee1275/init.h: Remove file.
32375 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
32376 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
32377 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
32378 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
32379 comment.
32380 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
32381 `grub_ieee1275_test_flag'.
32382 (grub_ieee1275_encode_devname): Likewise.
32383
32384 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
32385
32386 * include/grub/powerpc/ieee1275/ieee1275.h
32387 (grub_ieee1275_encode_devname): New prototype.
32388 (grub_ieee1275_get_filename): Likewise.
32389 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
32390 function.
32391 (grub_set_prefix): Likewise.
32392 (grub_machine_init): Call grub_set_prefix.
32393 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32394 (grub_parse_type): New enum.
32395 (grub_ieee1275_get_devargs): New function.
32396 (grub_ieee1275_get_devname): Likewise.
32397 (grub_ieee1275_parse_args): Likewise.
32398 (grub_ieee1275_get_filename): Likewise.
32399 (grub_ieee1275_encode_devname): Likewise.
32400
32401 2005-03-30 Marco Gerards <metgerards@student.han.nl>
32402
32403 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32404 `grub_loader_unset'.
32405
32406 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32407
32408 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32409 instead of grub_ieee1275_interpret.
32410 (grub_halt_init): New function.
32411 (grub_halt_fini): Likewise.
32412 (GRUB_MOD_INIT): Correct message grammar.
32413 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
32414 instead of grub_ieee1275_interpret.
32415 (grub_reboot_init): New function.
32416 (grub_reboot_fini): Likewise.
32417 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
32418 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
32419 util/i386/pc/misc.c with commands/ieee1275/halt.c,
32420 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
32421 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
32422 function.
32423 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
32424 Add prototype.
32425 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
32426 prototype.
32427 (grub_halt): Likewise.
32428 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
32429 (cmain): Remove __attribute__((unused)).
32430 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
32431 (grub_heap_len): Likewise.
32432 (grub_machine_fini): New function.
32433 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
32434 (grub_halt): Likewise.
32435 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
32436 function.
32437 * util/powerpc/ieee1275/misc.c: New file.
32438
32439 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32440
32441 * DISTLIST: New file.
32442 * gendistlist.sh: Likewise.
32443
32444 * Makefile.in (COMMON_DISTFILES): Removed.
32445 (BOOT_DISTFILES): Likewise.
32446 (CONF_DISTFILES): Likewise.
32447 (DISK_DISTFILES): Likewise.
32448 (FS_DISTFILES): Likewise.
32449 (INCLUDE_DISTFILES): Likewise.
32450 (KERN_DISTFILES): Likewise.
32451 (LOADER_DISTFILES): Likewise.
32452 (TERM_DISTFILES): Likewise.
32453 (UTIL_DISTFILES): Likewise.
32454 (DISTFILES): Likewise.
32455 (uninstall): Uninstall files in $(pkgdata_DATA).
32456 (DISTLIST): New target.
32457 (distdir): Use the contents of the file DISTLIST to get a list of
32458 distributed files.
32459
32460 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32461
32462 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
32463 descriptor. This is ported from GRUB Legacy.
32464
32465 * gencmdlist.sh: Added an extra semicolon to make it work with
32466 old sed versions. Reported by Robert Bihlmeyer
32467 <robbe@orcus.priv.at>.
32468
32469 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
32470
32471 Automatic loading of commands is supported.
32472
32473 * normal/main.c (read_command_list): New function.
32474 (grub_normal_execute): Call read_command_list.
32475
32476 * normal/command.c (grub_register_command): Return zero or CMD.
32477 Allocate CMD->NAME from the heap.
32478 Initialize CMD->MODULE_NAME to zero.
32479 Find the same name as well. If the same command is found and it is
32480 a dummy command, overwrite members. If it is not a dummy command,
32481 return zero.
32482 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
32483 (grub_command_find): If a dummy command is found, load a module
32484 and retry to find a command only once.
32485
32486 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
32487 make sure that each command is loaded.
32488
32489 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
32490 macro.
32491 (struct grub_command): Remove const from the member `name'.
32492 Add a new member `module_name'.
32493 (grub_register_command): Return grub_command_t.
32494
32495 * commands/help.c (grub_cmd_help): Call grub_command_find to make
32496 sure that each command is loaded.
32497
32498 * genmk.rb (PModule::rule): Specify a module name without the
32499 suffix ".mod" to gencmdlist.sh.
32500
32501 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32502
32503 * gencmdlist.sh: New file.
32504
32505 * genmk.rb (PModule::rule): Generate a rule for a command list.
32506 Clean command.lst.
32507 Generate command.lst from $(COMMANDFILES).
32508
32509 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
32510 (DATA): Added $(pkgdata_DATA).
32511 (install-local): Install files in $(pkgdata_DATA).
32512
32513 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32514
32515 * term/i386/pc/vga.c (debug_command): Removed.
32516 (GRUB_MOD_INIT): Do not register the command "debug".
32517
32518 From Hollis Blanchard:
32519 * commands/configfile.c: New file.
32520 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32521 commands/configfile.c.
32522 (pkgdata_MODULES): Added configfile.mod.
32523 (configfile_mod_SOURCES): New variable.
32524 (configfile_mod_CFLAGS): Likewise.
32525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32526 commands/configfile.c.
32527 (pkgdata_MODULES): Added configfile.mod.
32528 (configfile_mod_SOURCES): New variable.
32529 (configfile_mod_CFLAGS): Likewise.
32530 * util/grub-emu.c (main): Call grub_configfile_init and
32531 grub_configfile_fini.
32532 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
32533 prototype.
32534 [GRUB_UTIL] (grub_configfile_fini): Likewise.
32535
32536 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32537
32538 * normal/arg.c (grub_arg_show_help): Do not show the bug report
32539 address.
32540
32541 * commands/help.c (grub_cmd_help): Do not print newlines after
32542 the last command in print_command_help.
32543
32544 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32545
32546 * commands/default.h: New file.
32547 * commands/timeout.h: Likewise.
32548 * normal/context.c: Likewise.
32549
32550 * util/misc.c: Do not include sys/times.h.
32551 Include sys/time.h and grub/machine/time.h.
32552 (grub_get_rtc): Rewritten with gettimeofday.
32553
32554 * util/grub-emu.c (main): Call grub_default_init and
32555 grub_timeout_init before grub_normal_init, and call
32556 grub_timeout_fini and grub_default_fini after grub_main.
32557
32558 * util/console.c (grub_ncurses_checkkey): Return the read
32559 character or -1.
32560
32561 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
32562 timeouts.
32563
32564 * normal/main.c (read_config_file): Push MENU. If this fails,
32565 print an error and wait for a user input.
32566 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
32567 If a menu is empty or an error occurs, pop MENU.
32568 (grub_normal_execute): Pop and free MENU after grub_menu_run
32569 returns.
32570
32571 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
32572
32573 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
32574 include time.h.
32575 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32576 without GRUB_UTIL.
32577 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
32578 time.h.
32579 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32580 without GRUB_UTIL.
32581
32582 * include/grub/normal.h (struct grub_menu_list): New struct.
32583 (grub_menu_list_t): New type.
32584 (struct grub_context): New struct.
32585 (grub_context_t): New type.
32586 (grub_register_command): Got rid of EXPORT_FUNC.
32587 (grub_unregister_command): Likewise.
32588 (grub_context_get): New prototype.
32589 (grub_context_get_current_menu): Likewise.
32590 (grub_context_push_menu): Likewise.
32591 (grub_context_pop_menu): Likewise.
32592 [GRUB_UTIL] (grub_default_init): Likewise.
32593 [GRUB_UTIL] (grub_default_fini): Likewise.
32594 [GRUB_UTIL] (grub_timeout_init): Likewise.
32595 [GRUB_UTIL] (grub_timeout_fini): Likewise.
32596
32597 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
32598 commands/timeout.c and normal/context.c.
32599 (pkgdata_MODULES): Added default.mod and timeout.mod.
32600 (normal_mod_SOURCES): Added normal/context.c.
32601 (default_mod_SOURCES): New variable.
32602 (default_mod_CFLAGS): Likewise.
32603 (timeout_mod_SOURCES): Likewise.
32604 (timeout_mod_CFLAGS): Likewise.
32605 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
32606 conf/i386-pc.rmk.
32607 (pkgdata_MODULES): Added default.mod and timeout.mod.
32608 (normal_mod_SOURCES): Added normal/context.c.
32609 (default_mod_SOURCES): New variable.
32610 (default_mod_CFLAGS): Likewise.
32611 (timeout_mod_SOURCES): Likewise.
32612 (timeout_mod_CFLAGS): Likewise.
32613
32614 * Makefile.in (all-local): Added $(MKFILES).
32615
32616 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
32617
32618 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
32619 (grub_emu_SOURCES): Likewise.
32620 (pkgdata_MODULES): Add `sun.mod'.
32621 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32623 `partmap/sun.c'.
32624 (pkgdata_MODULES): Add `sun.mod'.
32625 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32626 * include/grub/partition.h (grub_sun_partition_map_init): New
32627 prototype.
32628 (grub_sun_partition_map_fini): Likewise.
32629 * partmap/sun.c: New file.
32630 * util/grub-emu.c (main): Initialize and de-initialize the sun
32631 partitionmap support.
32632
32633 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
32634
32635 This implements an Emacs-like menu entry editor.
32636
32637 * normal/menu_entry.c: New file.
32638
32639 * util/console.c (grub_ncurses_putchar): Translate some Unicode
32640 characters to ASCII.
32641 (saved_char): New variable.
32642 (grub_ncurses_checkkey): Rewritten completely.
32643 (grub_ncurses_getkey): Likewise.
32644 (grub_ncurses_init): Call raw instead of cbreak.
32645
32646 * normal/menu.c (print_entry): Do not put a space.
32647 (init_page): Renamed to ...
32648 (grub_menu_init_page): ... this. All callers changed.
32649 (edit_menu_entry): Removed.
32650 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
32651
32652 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
32653
32654 * kern/misc.c (grub_vprintf): Call grub_refresh.
32655
32656 * normal/menu.c (DISP_LEFT): Renamed to ...
32657 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
32658 * normal/menu.c (DISP_UP): Renamed to ...
32659 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
32660 * normal/menu.c (DISP_RIGHT): Renamed to ...
32661 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
32662 * normal/menu.c (DISP_DOWN): Renamed to ...
32663 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
32664 * normal/menu.c (DISP_HLINE): Renamed to ...
32665 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
32666 * normal/menu.c (DISP_VLINE): Renamed to ...
32667 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
32668 * normal/menu.c (DISP_UL): Renamed to ...
32669 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
32670 * normal/menu.c (DISP_UR): Renamed to ...
32671 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
32672 * normal/menu.c (DISP_LL): Renamed to ...
32673 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
32674 * normal/menu.c (DISP_LR): Renamed to ...
32675 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
32676 * normal/menu.c (TERM_WIDTH): Renamed to ...
32677 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
32678 * normal/menu.c (TERM_HEIGHT): Renamed to ...
32679 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
32680 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
32681 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
32682 * normal/menu.c (TERM_MARGIN): Renamed to ...
32683 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
32684 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
32685 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
32686 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
32687 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
32688 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
32689 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
32690 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
32691 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
32692 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
32693 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
32694 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
32695 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
32696 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
32697 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
32698 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
32699 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
32700 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
32701 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
32702 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
32703 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
32704 All callers changed.
32705
32706 * include/grub/normal.h: New prototype.
32707
32708 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32709 normal/menu_entry.c.
32710 (normal_mod_SOURCES): Likewise.
32711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32712 (normal_mod_SOURCES): Likewise.
32713
32714 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
32715
32716 * include/grub/normal.h (grub_halt_init): New prototype.
32717 (grub_halt_fini): Likewise.
32718 (grub_reboot_init): Likewise.
32719 (grub_reboot_fini): Likewise.
32720
32721 * util/grub-emu.c: Include signal.h.
32722 (main_env): New global variable.
32723 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
32724 catch C-c.
32725 (grub_machine_fini): New function.
32726 (main): Call grub_halt_init and grub_reboot_init before
32727 grub_main, and grub_reboot_fini and grub_halt_fini after it.
32728 Call setjmp with MAIN_ENV to go back afterwards.
32729 Call grub_machine_fini right before return.
32730
32731 * include/grub/util/misc.h: Include setjmp.h.
32732 (main_env): New prototype.
32733
32734 * include/grub/kernel.h (grub_machine_fini): New prototype.
32735 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
32736 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
32737
32738 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
32739 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
32740 * term/i386/pc/console.c (grub_console_fini): Likewise.
32741
32742 * util/i386/pc/misc.c: New file.
32743
32744 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32745 util/i386/pc/misc.c, commands/i386/pc/halt.c and
32746 commands/i386/pc/reboot.c.
32747
32748 2005-02-14 Guillem Jover <guillem@hadrons.org>
32749
32750 * include/grub/dl.h (grub_dl_check_header): New prototype.
32751 (grub_arch_dl_check_header): Change return type to grub_err_t,
32752 remove size parameter and export function. Update all callers.
32753 * kern/dl.c (grub_dl_check_header): New function.
32754 (grub_dl_load_core): Use `grub_dl_check_header' instead of
32755 `grub_arch_dl_check_header'. Check ELF type. Check if sections
32756 are inside the core.
32757 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
32758 independent ELF header checks.
32759 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32760 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
32761 `grub_dl_check_header' instead of explicit checks. Check for the
32762 ELF type.
32763 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
32764 `grub_dl_check_header' instead of explicit checks. Remove arch
32765 specific ELF header checks.
32766
32767 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
32768 argument SIZE.
32769
32770 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
32771
32772 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
32773 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
32774
32775 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
32776
32777 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
32778 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
32779 (part_map_iterate): Clear `grub_errno' and return 0 if
32780 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
32781 * partmap/amiga.c (amiga_partition_map_iterate): Return
32782 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
32783 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32784
32785 2005-02-01 Guillem Jover <guillem@hadrons.org>
32786
32787 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
32788 help info.
32789
32790 2005-01-31 Marco Gerards <metgerards@student.han.nl>
32791
32792 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
32793 Removed prototype.
32794 (grub_rescue_cmd_linux): New prototype.
32795 (grub_rescue_cmd_initrd): Likewise.
32796 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
32797 `bi_rec'.
32798 (grub_linux_release_mem): Release the memory for the initrd.
32799 (grub_load_linux): Renamed from this...
32800 (grub_rescue_cmd_linux): ...To this. Changed all callers.
32801 Changed `entry' not to be static. Loop over memory regions to
32802 find another one when the default fails.
32803 (grub_rescue_cmd_initrd): New function.
32804 (grub_linux_init): Remove function.
32805 (grub_linux_fini): Likewise.
32806 (GRUB_MOD_INIT): Register `initrd'.
32807 (GRUB_MOD_FINI): Unregister `initrd'.
32808 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
32809 Function removed.
32810 (grub_linux_normal_fini): Likewise.
32811 (GRUB_MOD_INIT): Register `initrd'.
32812 (GRUB_MOD_FINI): Unregister `initrd'.
32813
32814 2005-01-31 Marco Gerards <metgerards@student.han.nl>
32815
32816 * commands/help.c: New file.
32817 * normal/arg.c (show_help): Renamed to...
32818 (grub_arg_show_help): ... this.
32819 * commands/i386/pc/halt.c: New file.
32820 * commands/i386/pc/reboot.c: Likewise.
32821 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
32822 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
32823 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
32824 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
32825 variables.
32826 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32827 `commands/help.c'.
32828 (pkgdata_MODULES): Add `help.mod'.
32829 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
32830 * grub/i386/pc/init.h (grub_reboot): New prototype.
32831 (grub_halt): Likewise.
32832 * include/grub/normal.h (grub_arg_show_help): New prototype.
32833 (grub_help_init): Likewise.
32834 (grub_help_fini): Likewise.
32835 * util/grub-emu.c (main): Initialize and deinitialize the help
32836 command.
32837
32838 * normal/cmdline.c (grub_cmdline_get): Doc fix.
32839
32840 * normal/command.c (grub_command_init): Fixed the description of
32841 the `set' and `unset' commands.
32842
32843 2005-01-31 Marco Gerards <metgerards@student.han.nl>
32844
32845 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
32846 function.
32847 * commands/ieee1275/halt.c: New file.
32848 * commands/ieee1275/reboot.c: Likewise.
32849 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
32850 `__attribute__ ((unused))'. Some GCS related fixed.
32851 (grub_suspend_init) [GRUB_UTIL]: Function removed.
32852 (grub_suspend_fini): Likewise.
32853 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
32854 and `halt.mod'.
32855 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
32856 (halt_mod_CFLAGS): New variables.
32857 * include/grub/powerpc/ieee1275/ieee1275.h
32858 (grub_ieee1275_interpret): New prototype.
32859
32860 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
32861
32862 * include/grub/misc.h (memmove): New prototype.
32863 (memcpy): Likewise.
32864
32865 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
32866
32867 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
32868 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
32869
32870 2005-01-22 Marco Gerards <metgerards@student.han.nl>
32871
32872 * kern/misc.c (grub_strndup): Function rewritten.
32873
32874 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
32875
32876 * normal/menu.c (TERM_WIDTH): Macro redefined.
32877 (TERM_TOP_BORDER_Y): Likewise.
32878 (draw_border): Replaced while-loop by a for-loop. Make the number
32879 of lines consistent with the number of lines displayed in
32880 print_entries. Added a margin below the rectangle.
32881 (print_entry): Make the entry fit in the rectangle.
32882 (print_entries): Display the scroll arrows next to the right
32883 border.
32884
32885 2005-01-21 Marco Gerards <metgerards@student.han.nl>
32886
32887 * fs/minix.c (grub_minix_find_file): Reserve more space for
32888 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
32889 `grub_strncpy' to copy `path' into it.
32890
32891 2005-01-21 Marco Gerards <metgerards@student.han.nl>
32892
32893 Add the loopback device, a device via which files can be accessed
32894 as devices.
32895
32896 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
32897 (pkgdata_MODULES): Add loopback.mod.
32898 (loopback_mod_SOURCES): New variable.
32899 (loopback_mod_CFLAGS): Likewise.
32900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32901 `disk/loopback.c'.
32902 (pkgdata_MODULES): Add loopback.mod.
32903 (loopback_mod_SOURCES): New variable.
32904 (loopback_mod_CFLAGS): Likewise.
32905 * disk/loopback.c: new file.
32906 * include/grub/normal.h (grub_loop_init): New prototype.
32907 (grub_loop_fini): New prototype.
32908 * util/grub-emu.c (main): Initialize and de-initialize loopback
32909 support.
32910 * include/grub/disk.h (grub_disk_dev_id): Add
32911 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
32912
32913 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
32914
32915 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
32916 function.
32917 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
32918 (suspend_mod_SOURCES): New variable.
32919 (suspend_mod_CFLAGS): Likewise.
32920 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
32921 New prototype.
32922 * commands/ieee1275/suspend.c: New file.
32923
32924 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
32925
32926 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
32927 ((unused))' to `__attribute__ ((used))'.
32928 (GRUB_MOD_FINI): Likewise.
32929 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
32930 * genmk.rb (PModule): Assign space to common symbols when linking
32931 modules.
32932
32933 2005-01-20 Marco Gerards <metgerards@student.han.nl>
32934
32935 * include/grub/mm.h (grub_mm_init_region): Change the type of the
32936 `unsigned' arguments to `grub_size_t'.
32937 (grub_malloc): Likewise.
32938 (grub_realloc): Likewise.
32939 (grub_memalign): Likewise.
32940 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
32941 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32942 * util/misc.c (grub_malloc): Likewise.
32943 (grub_realloc): Likewise.
32944 * kern/mm.c (get_header_from_pointer): Change the casts to
32945 `unsigned' into a cast to `grub_size_t'.
32946
32947 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
32948 point to `currnode' when `currnode' is changed.
32949
32950 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
32951 Schottelius <nico-linux@schottelius.org>.
32952
32953 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
32954
32955 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
32956 (note_path): Remove variable.
32957 (GRUB_IEEE1275_NOTE_NAME): New macro.
32958 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
32959 (grub_ieee1275_note_hdr): New structure.
32960 (grub_ieee1275_note_desc): Likewise.
32961 (grub_ieee1275_note): Likewise.
32962 (load_note): Remove `dir' argument. All callers updated. Remove
32963 `note_img' and `path'. Do not load a file from `note_path'.
32964 Initialize a struct grub_ieee1275_note and write that to `out'.
32965 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
32966
32967 2005-01-05 Marco Gerards <metgerards@student.han.nl>
32968
32969 * util/misc.c (grub_util_read_image): Revert last change. It
32970 called `grub_util_read_at', which seeks from the beginning of the
32971 file.
32972
32973 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
32974
32975 * TODO: Add note about endianness in grub-mkimage.
32976 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
32977 section.
32978 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
32979 (grub_mkimage_SOURCES): New target.
32980 * include/grub/kernel.h (grub_start_addr): Remove variable.
32981 (grub_end_addr): Likewise.
32982 (grub_total_module_size): Likewise.
32983 (grub_kernel_image_size): Likewise.
32984 (GRUB_MODULE_MAGIC): New constant.
32985 (grub_module_info): New structure.
32986 (grub_arch_modules_addr): New prototype.
32987 (grub_get_end_addr): Remove prototype.
32988 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
32989 * include/grub/powerpc/ieee1275/kernel.h: New file.
32990 * include/grub/util/misc.h (grub_util_get_fp_size): New
32991 prototype.
32992 (grub_util_read_at): Likewise.
32993 (grub_util_write_image_at): Likewise.
32994 * kern/main.c (grub_get_end_addr): Remove function.
32995 (grub_load_modules): Call grub_arch_modules_addr instead of using
32996 grub_end_addr. Look for a grub_module_info struct in memory. Use
32997 the grub_module_info fields instead of calling grub_get_end_addr
32998 as loop conditions. Move grub_add_unused_region code here.
32999 (grub_add_unused_region): Remove function.
33000 * kern/i386/pc/init.c: Include grub/cache.h.
33001 (grub_machine_init): Remove call to grub_get_end_addr. Remove
33002 one call to add_mem_region.
33003 (grub_arch_modules_addr): New function.
33004 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
33005 (grub_total_module_size): Likewise.
33006 Include grub/machine/kernel.h.
33007 (grub_arch_modules_addr): New function.
33008 * util/grub-emu.c (grub_end_addr): Remove variable.
33009 (grub_total_module_size): Likewise.
33010 (grub_arch_modules_addr): New function.
33011 * util/misc.c: Include unistd.h.
33012 (grub_util_get_fp_size): New function.
33013 (grub_util_read_at): Likewise.
33014 (grub_util_write_image_at): Likewise.
33015 (grub_util_read_image): Call grub_util_read_at.
33016 (grub_util_write_image): Call grub_util_write_image_at.
33017 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
33018 additional memory in kernel_img for a struct grub_module_info.
33019 Fill in that grub_module_info.
33020 * util/powerpc/ieee1275/grub-mkimage.c: New file.
33021
33022 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33023
33024 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
33025 New function.
33026 * include/grub/powerpc/ieee1275/ieee1275.h
33027 (grub_ieee1275_milliseconds): New prototype.
33028 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
33029 Change to 1000.
33030 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
33031 grub_ieee1275_milliseconds.
33032
33033 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33034
33035 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
33036 variable.
33037 (find_options): New function.
33038 (cmain): Call find_options.
33039 * include/grub/powerpc/ieee1275/ieee1275.h
33040 (grub_ieee1275_realmode): New extern variable.
33041 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
33042 grub_map if grub_ieee1275_realmode is false.
33043
33044 2004-12-29 Marco Gerards <metgerards@student.han.nl>
33045
33046 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
33047 lines are inserted and make it work like readline. Reported by
33048 Vincent Pelletier <subdino2004@yahoo.fr>.
33049
33050 2004-12-28 Marco Gerards <metgerards@student.han.nl>
33051
33052 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
33053
33054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
33055 `kern/powerpc/cache.S'.
33056
33057 2004-12-27 Marco Gerards <metgerards@student.han.nl>
33058
33059 * genmk.rb: Handle the `Program' class in the main loop. Written
33060 by Johan Rydberg <jrydberg@gnu.org>.
33061 (Program): New class.
33062 (programs): New variable.
33063 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
33064 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
33065 instead of "grub/kernel.h". Include <grub/machine/init.h>.
33066 (help_arch): Function removed.
33067 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
33068 `powerpc/libgcc.h' and `loader.h'.
33069 (pkgdata_PROGRAMS): New variable.
33070 (sbin_UTILITIES): Variable removed.
33071 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
33072 (grubof_SOURCES): Variable re-defined so it only includes the
33073 core functionality.
33074 (grubof_CFLAGS): Remove `-DGRUBOF'.
33075 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
33076 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
33077 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
33078 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
33079 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
33080 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
33081 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
33082 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
33083 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
33084 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
33085 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33086 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
33087 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
33088 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
33089 (pc_mod_CFLAGS): New variables.
33090 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
33091 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
33092 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
33093 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
33094 Moved from here...
33095 * include/grub/i386/pc/init.h (grub_os_area_addr)
33096 (rub_os_area_size): ... to here.
33097 * include/grub/powerpc/ieee1275/ieee1275.h
33098 (grub_ieee1275_entry_fn): Export symbol.
33099 * include/grub/powerpc/ieee1275/init.h: New file.
33100 * include/grub/powerpc/libgcc.h: Likewise.
33101 * include/grub/cache.h: Likewise.
33102 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
33103 <hollis@penguinppc.org>.
33104 * kern/dl.c: Include <grub/cache.h>.
33105 (grub_dl_flush_cache): New function.
33106 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
33107 for this module.
33108 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
33109 (grub_console_init): Removed prototypes.
33110 (grub_machine_init): Don't initialize the modules anymore.
33111 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
33112 static.
33113 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
33114 Macro undef removed.
33115 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
33116 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
33117 relocation `R_PPC_REL32'. Return an error when the relocation is
33118 unknown.
33119 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
33120 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
33121 * util/misc.c (grub_arch_sync_caches): Likewise.
33122
33123 2004-12-19 Marco Gerards <metgerards@student.han.nl>
33124
33125 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
33126 `symlist.c', add `grubof_symlist.c'.
33127 (symlist.c): Variable removed.
33128 (grubof_HEADERS): Variable added.
33129 (grubof_symlist.c): New target.
33130 (kernel_syms.lst): Use `grubof_HEADERS' instead of
33131 `kernel_img_HEADERS'.
33132 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
33133 * kern/powerpc/dl.c: New file.
33134 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
33135 Function removed.
33136 (grub_arch_dl_relocate_symbols): Likewise.
33137 (grub_register_exported_symbols): Likewise.
33138
33139 2004-12-13 Marco Gerards <metgerards@student.han.nl>
33140
33141 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
33142 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
33143 to fail instead. Reported by Vincent Pelletier
33144 <subdino2004@yahoo.fr>.
33145
33146 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
33147 it is not allocated. Reported by Vincent Pelletier
33148 <subdino2004@yahoo.fr>.
33149
33150 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
33151 output so the output looks better.
33152
33153 2004-12-04 Marco Gerards <metgerards@student.han.nl>
33154
33155 Modulize the partition map support and add support for the amiga
33156 partition map.
33157
33158 * commands/ls.c: Include <grub/partition.h> instead of
33159 <grub/machine/partition.h>.
33160 * kern/disk.c: Likewise.
33161 * kern/rescue.c: Likewise.
33162 * loader/i386/pc/chainloader.c: Likewise.
33163 * normal/cmdline.c: Likewise.
33164 * kern/powerpc/ieee1275/init.c: Likewise.
33165 (grub_machine_init): Call `grub_pc_partition_map_init',
33166 `grub_amiga_partition_map_init' and
33167 `grub_apple_partition_map_init'.
33168 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33169 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33170 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33171 `partition.h' and `pc_partition.h'.
33172 (grub_setup_SOURCES): Remove
33173 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33174 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33175 (grub_emu_SOURCES): Likewise.
33176 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33177 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33178 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33180 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33181 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33182 (grubof_SOURCES): Likewise.
33183 * disk/i386/pc/partition.c: File removed.
33184 * disk/powerpc/ieee1275/partition.c: Likewise.
33185 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33186 * include/grub/i386/pc/partition.h: Likewise.
33187 * kern/partition.c: New file.
33188 * partmap/amiga.c: Likewise.
33189 * partmap/apple.c: Likewise.
33190 * partmap/pc.c: Likewise.
33191 * include/grub/partition.h: Likewise..
33192 * include/grub/pc_partition.h: Likewise.
33193 * util/grub-emu.c: Include <grub/partition.h> instead of
33194 <grub/machine/partition.h>.
33195 (main): Call `grub_pc_partition_map_init',
33196 `grub_amiga_partition_map_init' and
33197 `grub_apple_partition_map_init' and deinitialize afterwards.
33198 * util/i386/pc/biosdisk.c: Include `#include
33199 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33200 `<grub/machine/partition.h>'.
33201 * util/i386/pc/grub-setup.c: Likewise.
33202 * util/i386/pc/biosdisk.c: Likewise.
33203 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33204 partition information in case of a PC partition.
33205 * util/i386/pc/grub-setup.c: Include `#include
33206 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33207 `<grub/machine/partition.h>'.
33208 (setup): Only access the PC specific partition information in case
33209 of a PC partition.
33210
33211 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
33212
33213 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33214 (grub_longjmp): Likewise.
33215 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33216 20.
33217 * normal/powerpc/setjmp.S: New file.
33218 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33219 `normal/powerpc/setjmp.S'.
33220 (grubof_CFLAGS): Add `-DGRUBOF'.
33221 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33222 [GRUB_UTIL && !GRUBOF].
33223
33224 2004-11-16 Marco Gerards <metgerards@student.han.nl>
33225
33226 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33227 property named `name'. Correctly handle the error returned by
33228 `grub_ieee1275_finddevice' if a device can not be opened.
33229
33230 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
33231
33232 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
33233 `actual' for negativity.
33234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33235 kern/fshelp.c.
33236
33237 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33238
33239 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
33240 (PAGE_OFFSET): New macro.
33241 (CRTC_ADDR_PORT): Likewise.
33242 (CRTC_DATA_PORT): Likewise.
33243 (START_ADDR_HIGH_REGISTER): Likewise.
33244 (START_ADDR_LOW_REGISTER): Likewise.
33245 (GRAPHICS_ADDR_PORT): Likewise.
33246 (GRAPHICS_DATA_PORT): Likewise.
33247 (READ_MAP_REGISTER): Likewise.
33248 (INPUT_STATUS1_REGISTER): Likewise.
33249 (INPUT_STATUS1_VERTR_BIT): Likewise.
33250 (page): New variable.
33251 (wait_vretrace): New function.
33252 (set_read_map): Likewise.
33253 (set_start_address): Likewise.
33254 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
33255 the right page.
33256 (check_vga_mem): Take the page into account.
33257 (write_char): Likewise.
33258 (write_cursor): Likewise.
33259 (scroll_up): Likewise. Copy the page to the page that is not
33260 shown and switch between both pages.
33261 (grub_vga_putchar): Fix off by one error.
33262 (grub_vga_cls): Wait for the vertical retrace. Take the page into
33263 account.
33264
33265 2004-11-01 Marco Gerards <metgerards@student.han.nl>
33266
33267 Add support for iso9660 (including rockridge).
33268
33269 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33270 (iso9660_mod_SOURCES): New variable.
33271 (iso9660_mod_CFLAGS): Likewise.
33272 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33273 * include/grub/fs.h (grub_iso9660_init): New prototype.
33274 * util/grub-emu.c (main): Call `grub_iso9660_init'.
33275 * fs/iso9660.c: New file.
33276
33277 * include/grub/misc.h (grub_strncat): New prototype.
33278 * kern/misc.c (grub_strncat): New function.
33279
33280 * fs/hfs.c (grub_hfs_mount): Translate the error
33281 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
33282 * fs/jfs.c (grub_jfs_mount): Likewise.
33283 * fs/ufs.c (grub_ufs_mount): Likewise.
33284
33285 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
33286
33287 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
33288 which initialized BAT registers.
33289 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
33290 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33291 Move from here...
33292 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
33293 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33294 ... to here.
33295 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
33296 (grub_mapclaim): Likewise.
33297 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
33298 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
33299 hand.
33300
33301 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
33302
33303 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
33304 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
33305 -ffreestanding and -msoft-float.
33306
33307 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
33308
33309 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
33310 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
33311 set in grub_ieee1275_flags.
33312
33313 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
33314
33315 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
33316 prototype.
33317 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
33318 grub_console_init first.
33319 Change the memory range used for grub_ieee1275_claim and
33320 grub_mm_init_region.
33321 Print an error message if the claim fails.
33322 Include <grub/misc.h>.
33323
33324 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
33325
33326 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
33327 Call grub_children_iterate for device nodes of type `scsi',
33328 `ide', or `ata'.
33329 (grub_ofdisk_open): Remove manual device alias resolution.
33330 Fix memory leak when device cannot be opened.
33331 * include/grub/powerpc/ieee1275/ieee1275.h
33332 (grub_children_iterate): New prototype.
33333 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
33334 New function.
33335 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33336 Return -1 if args.size was -1.
33337
33338 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33339
33340 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
33341 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
33342 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
33343 Open Firmware's memory for it; claim memory from _start to _end.
33344 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
33345 (_end): New extern.
33346 (_start): Zero BSS from __bss_start to _end.
33347 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33348 New extern.
33349 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
33350
33351 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33352
33353 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
33354 -1 if args.base was -1.
33355
33356 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
33357
33358 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
33359 escape sequence instead of a literal ^L. Also call
33360 grub_ofconsole_gotoxy.
33361
33362 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
33363
33364 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
33365 void * arguments to grub_addr_t. All callers updated. Also make
33366 the `result' argument optional.
33367 (grub_ieee1275_release): change void * arguments to grub_addr_t.
33368 All callers updated.
33369
33370 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
33371
33372 * commands/ls.c (grub_ls_list_files): Use the string following the
33373 initial ')', if present, as the filesystem path.
33374 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
33375
33376 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
33377
33378 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
33379
33380 Make the source code of the menu interface more readable.
33381
33382 * normal/menu.c: Include grub/mm.h.
33383 (TERM_WIDTH): New macro.
33384 (TERM_HEIGHT): Likewise.
33385 (TERM_INFO_HEIGHT): Likewise.
33386 (TERM_MARGIN): Likewise.
33387 (TERM_SCROLL_WIDTH): Likewise.
33388 (TERM_TOP_BORDER_Y): Likewise.
33389 (TERM_LEFT_BORDER_X): Likewise.
33390 (TERM_BORDER_WIDTH): Likewise.
33391 (TERM_MESSAGE_HEIGHT): Likewise.
33392 (TERM_BORDER_HEIGHT): Likewise.
33393 (TERM_NUM_ENTRIES): Likewise.
33394 (TERM_FIRST_ENTRY_Y): Likewise.
33395 (TERM_ENTRY_WIDTH): Likewise.
33396 (TERM_CURSOR_X): Likewise.
33397 (draw_border): Use macros instead of magic numbers.
33398 (print_entry): Likewise.
33399 (print_entries): Likewise.
33400 (run_menu): Likewise. Also, handle the key 'e'.
33401 (run_menu_entry): Ignore empty command lines.
33402 (print_message): Added a new argument EDIT. If EDIT is true,
33403 print a different message.
33404 (init_page): Likewise.
33405 (edit_menu_entry): New function. Not implemented yet.
33406
33407 2004-09-17 Marco Gerards <metgerards@student.han.nl>
33408
33409 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33410 can be loaded from normal mode.
33411
33412 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
33413 `multiboot.mod'.
33414 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
33415 (multiboot_mod_CFLAGS): New variables.
33416 * loader/i386/pc/linux_normal.c: New file.
33417 * loader/i386/pc/multiboot_normal.c: Likewise.
33418
33419 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
33420 attribute `unused'.
33421
33422 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
33423 `fdiro' to read the mode information from instead of `diro'.
33424
33425 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
33426 looking up a symlink.
33427
33428 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
33429 macro.
33430 * normal/command.c (grub_command_execute): Don't parse the
33431 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
33432 flags of the command.
33433
33434 * normal/menu.c (grub_menu_run): Fix typo.
33435
33436 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
33437
33438 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
33439
33440 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
33441 `y + 1' instead of `y - 1'.
33442
33443 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
33444
33445 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
33446
33447 From Hollis Blanchard <hollis@penguinppc.org>:
33448 * kern/misc.c (memmove): New alias for grub_memmove.
33449 (memcmp): New alias for grub_memcmp.
33450 (memset): New alias for grub_memset.
33451 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33452 Change "int handle" to "grub_ieee1275_phandle_t handle".
33453 * include/grub/powerpc/ieee1275/ieee1275.h
33454 (grub_ieee1275_get_property): Likewise.
33455
33456 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
33457
33458 Added normal mode command `chainloader' as module chain.mod, which
33459 depends on normal.mod and _chain.mod.
33460
33461 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
33462 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
33463 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
33464 Deleted prototype.
33465 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
33466 but arguments parsing moved to ...
33467 (grub_chainloader_cmd): ... here. New function.
33468 * include/grub/i386/pc/chainloader.h: New file.
33469 * loader/i386/pc/chainloader_normal.c: Likewise.
33470
33471 2004-09-11 Marco Gerards <metgerards@student.han.nl>
33472
33473 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
33474 (grub_mkimage_LDFLAGS): Likewise.
33475 (grub_emu_SOURCES): Likewise.
33476 (kernel_img_HEADERS): Added fshelp.h.
33477 * fs/ext2.c: Include <grub/fshelp.h>.
33478 (FILETYPE_REG): New macro.
33479 (FILETYPE_INO_REG): Likewise.
33480 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
33481 Changed all users.
33482 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
33483 all users.
33484 (grub_fshelp_node): New struct.
33485 (grub_ext2_data): Added member `diropen'. Changed member `inode'
33486 to a pointer.
33487 (grub_ext2_get_file_block): Removed function.
33488 (grub_ext2_read_block): New function.
33489 (grub_ext2_read_file): Replaced parameter `data' by `node'.
33490 This function was written.
33491 (grub_ext2_mount): Read the root inode. Create a diropen struct.
33492 (grub_ext2_find_file): Removed function.
33493 (grub_ext2_read_symlink): New function.
33494 (grub_ext2_iterate_dir): Likewise.
33495 (grub_ext2_open): Rewritten.
33496 (grub_ext2_dir): Rewritten.
33497 * include/grub/fshelp.h: New file.
33498 * fs/fshelp.c: Likewise.
33499
33500 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
33501
33502 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
33503 (print_message): Add a missing newline.
33504 (run_menu): Added timeout support.
33505 (run_menu_entry): New local function.
33506 (grub_menu_run): Added support for booting.
33507
33508 * kern/loader.c (grub_loader_is_loaded): New function.
33509
33510 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
33511 (grub_get_rtc): Exported.
33512
33513 * include/grub/i386/pc/time.h: Include grub/symbol.h.
33514 (grub_get_rtc): Exported.
33515
33516 * include/grub/normal.h (struct grub_command_list): Remove
33517 constant from the member `command'.
33518
33519 * include/grub/loader.h (grub_loader_is_loaded): Declared.
33520
33521 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
33522
33523 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
33524
33525 2004-08-28 Marco Gerards <metgerards@student.han.nl>
33526
33527 Add support for the JFS filesystem.
33528
33529 * fs/jfs.c: New file.
33530 * include/grub/fs.h (grub_jfs_init): New prototype.
33531 (grub_jfs_fini): New prototype.
33532 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
33533 (grub_emu_SOURCES): Likewise.
33534 (pkgdata_MODULES): Add jfs.mod.
33535 (jfs_mod_SOURCES): New variable.
33536 (jfs_mod_CFLAGS): Likewise.
33537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
33538 (grubof_SOURCES): Likewise.
33539 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
33540
33541 * fs/fat.c (grub_fat_find_dir): Convert the filename little
33542 endian to the host endian.
33543 (grub_fat_utf16_to_utf8): Move function from there...
33544 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
33545 the endianness of the source string anymore.
33546 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
33547
33548 2004-08-24 Marco Gerards <metgerards@student.han.nl>
33549
33550 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
33551 (grub_boot_fini) [GRUB_UTIL]: Likewise.
33552 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
33553 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
33554
33555 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
33556 (grub_hfs_iterate_dir): Make the function static. Add prototypes
33557 for `node_found' and `it_dir'.
33558 (grub_hfs_dir): Add prototype for `dir_hook'.
33559
33560 * fs/minix.c (grub_minix_get_file_block): Add prototype for
33561 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
33562 and `indir32' to silence a gcc warning.
33563
33564 * include/grub/fs.h (grub_hfs_init): New prototype.
33565 (grub_hfs_fini): Likewise.
33566
33567
33568 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
33569
33570 Each disk device has its own id now. This is useful to make use
33571 of multiple disk devices.
33572
33573 * include/grub/disk.h (grub_disk_dev_id): New enum.
33574 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
33575 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
33576
33577 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
33578 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33579
33580 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
33581 GRUB_DISK_DEVICE_OFDISK_ID as an id.
33582
33583 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
33584 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33585
33586 * include/grub/disk.h (struct grub_disk_dev): Added a new member
33587 "id" which is used by the cache manager.
33588
33589 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
33590 of just "GRUB".
33591
33592 2004-08-18 Marco Gerards <metgerards@student.han.nl>
33593
33594 * fs/hfs.c: New file.
33595 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
33596 (grub_emu_SOURCES): Likewise.
33597 (pkgdata_MODULES): Add hfs.mod.
33598 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
33599 (grubof_SOURCES): Likewise.
33600 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
33601
33602 * include/grub/misc.h (grub_strncasecmp): Add prototype.
33603 * kern/misc.c (grub_strncasecmp): Add function.
33604
33605 2004-08-14 Marco Gerards <metgerards@student.han.nl>
33606
33607 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
33608 with parentheses.
33609
33610 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
33611 (grub_ext2_dir): In case the directory entry type is unknown, read
33612 it from the inode.
33613
33614 2004-08-02 Peter Bruin <pjbruin@dds.nl>
33615
33616 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
33617 grub_load_linux instead of grub_rescue_cmd_linux as second
33618 argument of grub_rescue_register_command.
33619
33620 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
33621
33622 2004-07-27 Marco Gerards <metgerards@student.han.nl>
33623
33624 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
33625 function.
33626 * commands/boot.c: Remove the check for `GRUB_UTIL'.
33627 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33628 `loader/powerpc/ieee1275/linux.c',
33629 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
33630 * include/grub/powerpc/ieee1275/ieee1275.h
33631 (grub_ieee1275_release): New prototype.
33632 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
33633 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
33634 normal, boot, linux and linux_normal.
33635 * loader/powerpc/ieee1275/linux.c: New file.
33636 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33637
33638 2004-07-12 Marco Gerards <metgerards@student.han.nl>
33639
33640 * normal/arg.c (grub_arg_parse): Correct error handling after
33641 reallocating the argumentlist (check if `argl' is not null instead
33642 of checking if `args' is not null).
33643 * kern/mm.c (grub_realloc): Return the same pointer when using the
33644 same region, instead of returning the header address.
33645
33646 2004-07-11 Marco Gerards <metgerards@student.han.nl>
33647
33648 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
33649 one block instead of two when looking for the initial partition.
33650 (grub_partition_probe): Initialize the local variable `p' with 0.
33651 Use base 10 for the grub_strtoul call.
33652 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
33653 need for one local variable.
33654 (grub_strtoul): Don't add the new value to `num', instead of that
33655 just assign it.
33656
33657 2004-07-11 Marco Gerards <metgerards@student.han.nl>
33658
33659 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
33660 (pxeboot_img_SOURCES): New variable.
33661 (pxeboot_img_ASFLAGS): Likewise.
33662 (pxeboot_img_LDFLAGS): Likewise.
33663 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
33664 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
33665 <lode_leroy@hotmail.com>.
33666
33667 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33668
33669 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
33670 there was no input.
33671
33672 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33673
33674 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
33675 the history buffer logic.
33676
33677 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33678
33679 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
33680 (FILETYPE_INO_SYMLINK): New macros.
33681 (grub_ext2_find_file): Check if the node is a directory using the
33682 inode stat information instead of using the filetype in the
33683 dirent. Exclude the first character of an absolute symlink.
33684 (grub_ext2_dir): Mask out the filetype part of the mode member of
33685 the inode.
33686
33687 2004-05-24 Marco Gerards <metgerards@student.han.nl>
33688
33689 Add support for UFS version 1 and 2. Add support for the minix
33690 filesystem version 1 and 2, both the variants with 14 and 30 long
33691 filenames.
33692
33693 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
33694 fs/minix.c.
33695 (grub_emu_SOURCES): Likewise.
33696 (pkgdata_MODULES): Add ufs.mod and minix.mod.
33697 (ufs_mod_SOURCES): New variable.
33698 (ufs_mod_CFLAGS): Likewise.
33699 (minix_mod_SOURCES): Likewise.
33700 (minix_mod_CFLAGS): Likewise.
33701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
33702 fs/minix.c.
33703 (grubof_SOURCES): Likewise.
33704 * fs/ufs.c: New file.
33705 * fs/minix.c: New file.
33706 * include/grub/fs.h (grub_ufs_init): New prototype.
33707 (grub_ufs_fini): Likewise.
33708 (grub_minix_init): Likewise.
33709 (grub_minix_fini): Likewise.
33710 * util/grub-emu.c (main): Initialize and deinitialize UFS and
33711 minix fs.
33712
33713 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
33714
33715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
33716 commands/ls.c, commands/terminal.c, commands/boot.c,
33717 commands/cmp.c and commands/cat.c.
33718 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
33719
33720 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
33721 "env.h"
33722
33723 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33724
33725 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
33726 and grub_, respectively. Because the conversion is trivial and
33727 mechanical, I omit the details here. Please refer to the CVS
33728 if you need more information.
33729
33730 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33731
33732 * include/pupa: Renamed to ...
33733 * include/grub: ... this.
33734 * util/i386/pc/pupa-mkimage.c: Renamed to ...
33735 * util/i386/pc/grub-mkimage.c: ... this.
33736 * util/i386/pc/pupa-setup.c: Renamed to ...
33737 * util/i386/pc/grub-setup.c: ... this.
33738 * util/pupa-emu.c: Renamed to ...
33739 * util/grub-emu.c: ... this.
33740
33741 2004-03-29 Marco Gerards <metgerards@student.han.nl>
33742
33743 Add support for the newworld apple macintosh (PPC). This has been
33744 tested on the powerbook 2000 only. It only adds support for
33745 generic ieee1275 functions, console and disk support. This should
33746 be easy to port to other architectures with support for Open
33747 Firmware.
33748
33749 * configure.ac: Accept the powerpc as host_cpu. In the case of
33750 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
33751 specific tests are only executed while building for the i386.
33752 Inverse test for crosscompile.
33753 * genmk.rb (Utility): Allow assembler files.
33754 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
33755 * conf/powerpc-ieee1275.rmk: New file.
33756 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
33757 * disk/powerpc/ieee1275/partition.c: Likewise.
33758 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
33759 * include/pupa/powerpc/ieee1275/console.h: Likewise.
33760 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
33761 * include/pupa/powerpc/ieee1275/time.h: Likewise.
33762 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
33763 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
33764 * include/pupa/powerpc/ieee1275/loader.h
33765 * include/pupa/powerpc/setjmp.h: Likewise.
33766 * include/pupa/powerpc/types.h: Likewise.
33767 * kern/powerpc/ieee1275/init.c: Likewise.
33768 * kern/powerpc/ieee1275/openfw.c: Likewise.
33769 * term/powerpc/ieee1275/ofconsole.c: Likewise.
33770
33771 These files were written by Johan Rydberg
33772 (jrydberg@night.trouble.net) and I only modified them slightly.
33773
33774 * boot/powerpc/ieee1275/cmain.c: New file.
33775 * boot/powerpc/ieee1275/crt0.S: Likewise.
33776 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
33777 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
33778
33779 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
33780
33781 * Makefile.in: Update copyright.
33782 * genmodsrc.sh: Likewise.
33783 * gensymlist.sh: Likewise.
33784 * term/i386/pc/vga.c: Indent correctly.
33785
33786 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
33787 bugreporting address.
33788 * util/i386/pc/pupa-setup.c (usage): Likewise,
33789 (main): Call pupa_ext2_init and pupa_ext2_fini.
33790
33791 * fs/fat.c (log2): Renamed to ...
33792 (fat_log2): ... this.
33793 All callers changed.
33794 * kern/misc.c (memcpy): Alias to pupa_memmove.
33795 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
33796 lvalue cast.
33797 * util/console.c (pupa_ncurses_fini): Return 0.
33798
33799 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
33800 Move fail label here.
33801 [__GNU__]: Don't warn when using stat.
33802 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
33803 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
33804 long int. Use strtol instead of strtoul.
33805
33806 2004-03-14 Marco Gerards <metgerards@student.han.nl>
33807
33808 * commands/boot.c: New file.
33809 * commands/cat.c: Likewise.
33810 * commands/cmp.c: Likewise.
33811 * commands/ls.c: Likewise.
33812 * commands/terminal.c: Likewise.
33813 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
33814 (pupa_register_command): Changed interface to match the new
33815 argument parser.
33816 (pupa_command_execute): Changed (almost rewritten) so it uses
33817 pupa_split_command. Added support for setting variables using the
33818 syntax `foo=bar'.
33819 (rescue_command): Changed to work with the new argument parser.
33820 (terminal_command): Moved from here to commands/terminal.c.
33821 (set_command): New function.
33822 (unset_command): New function.
33823 (insmod_command): New function.
33824 (rmmod_command): New function.
33825 (lsmod_command): New function.
33826 (pupa_command_init): Don't initialize the command terminal
33827 anymore. Initialize the commands set, unset, insmod, rmmod and
33828 lsmod.
33829 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
33830 (kernel_img_HEADERS): Add arg.h and env.h.
33831 (pupa_mkimage_LDFLAGS): Add kern/env.c.
33832 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
33833 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
33834 normal/arg.c.
33835 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
33836 terminal.mod.
33837 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
33838 (boot_mod_SOURCES): New variable.
33839 (terminal_mod_SOURCES): Likewise.
33840 (ls_mod_SOURCES): Likewise.
33841 (cmp_mod_SOURCES): Likewise.
33842 (cat_mod_SOURCES): Likewise.
33843
33844 * normal/arg.c: New file.
33845 * kern/env.c: Likewise.
33846 * include/pupa/arg.h: Likewise.
33847 * include/pupa/env.h: Likewise.
33848 * font/manager.c (font_command): Changed to match argument parsing
33849 interface changes.
33850 (PUPA_MOD_INIT): Likewise.
33851 * hello/hello.c (pupa_cmd_hello): Likewise.
33852 (PUPA_MOD_INIT): Likewise.
33853 * include/pupa/disk.h: Include <pupa/device.h>.
33854 (pupa_print_partinfo): New prototype.
33855 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
33856 (pupa_dl_get_prefix): Likewise.
33857 * include/pupa/misc.h: Include <pupa/err.h>.
33858 (pupa_isgraph): New prototype.
33859 (pupa_isdigit): Likewise.
33860 (pupa_split_cmdline): Likewise.
33861 * include/pupa/normal.h: Include <pupa/arg.h>.
33862 (pupa_command): Changed the prototype of the member `func' to
33863 match the argument parsing interface. Added member `options'.
33864 (pupa_register_command): Updated to match function.
33865 (pupa_arg_parse): New prototype.
33866 (pupa_hello_init) [PUPA_UTIL]: New prototype.
33867 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
33868 (pupa_ls_init) [PUPA_UTIL]: Likewise.
33869 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
33870 (pupa_cat_init) [PUPA_UTIL]: Likewise.
33871 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
33872 (pupa_boot_init) [PUPA_UTIL]: Likewise.
33873 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
33874 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
33875 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
33876 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
33877 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
33878 * kern/disk.c: Include <pupa/file.h>.
33879 (pupa_print_partinfo): New function.
33880 * kern/dl.c: Include <pupa/env.h>.
33881 (pupa_dl_dir): Variable removed.
33882 (pupa_dl_load): Use the environment variable `prefix' instead of
33883 the variable pupa_dl_dir.
33884 (pupa_dl_set_prefix): Function removed.
33885 (pupa_dl_get_prefix): Likewise.
33886 * kern/i386/pc/init.c: Include <pupa/env.h>.
33887 (pupa_machine_init): Use the environment variable `prefix' instead of
33888 using pupa_dl_set_prefix to set the prefix.
33889 * kern/main.c: Include <pupa/env.h>.
33890 (pupa_set_root_dev): Use the environment variable `prefix' instead of
33891 using pupa_dl_get_prefix to get the prefix.
33892 * kern/misc.c: Include <pupa/env.h>.
33893 (pupa_isdigit): New function.
33894 (pupa_isgraph): Likewise.
33895 (pupa_ftoa): Likewise.
33896 (pupa_vsprintf): Added support for printing values of the type
33897 `double'. Make it possible to format variable output when using
33898 formatting like `%1.2%f'.
33899 (pupa_split_cmdline): New function.
33900 * kern/rescue.c: Include <pupa/env.h>.
33901 (next_word): Removed function.
33902 (pupa_rescue_cmd_prefix): Likewise.
33903 (pupa_rescue_cmd_set): New function.
33904 (pupa_rescue_cmd_unset): New function.
33905 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
33906 split the command line instead of splitting it here. Added
33907 support for setting variables using the syntax `foo=bar'. Don't
33908 initialize the prefix command anymore. Initialized the set and
33909 unset commands.
33910 * normal/cmdline.c: Include <pupa/env.h>.
33911 (pupa_tab_complete): Added prototypes for print_simple_completion,
33912 print_partition_completion, add_completion, iterate_commands,
33913 iterate_dev, iterate_part and iterate_dir. Moved code to print
33914 partition information from here to kern/disk.c.
33915 (pupa_cmdline_run): Don't check if the function exists anymore.
33916 * normal/main.c: Include <pupa/env.h>.
33917 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
33918 instead of using pupa_dl_get_prefix to get the prefix.
33919 * term/i386/pc/vga.c: Include <pupa/arg.h>.
33920 (check_vga_mem): Cast pointers to `void *' to silence a gcc
33921 warning.
33922 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
33923 (pupa_vga_setcolor): Declare unused variables with `__attribute__
33924 ((unused))' to silence a gcc warning.
33925 (pupa_vga_setcolor): Likewise.
33926 (debug_command): Changed to match argument parsing
33927 interface changes.
33928 * util/pupa-emu.c: Include <pupa/env.h>.
33929 (options): Added 0's for unused fields to silence a gcc warning.
33930 (argp): Likewise.
33931 (main): Use the environment variable `prefix' instead of using
33932 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
33933 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
33934 and terminal.
33935
33936 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
33937 * util/misc.c: Include <malloc.h>.
33938 (pupa_malloc): Rewritten so errors are correctly reported.
33939 (pupa_realloc): Likewise.
33940 (pupa_memalign): Likewise.
33941 (pupa_mm_init_region): Declare unused variables with
33942 `__attribute__ ((unused))' to silence a gcc warning.
33943 * normal/i386/setjmp.S: Remove tab at the end of the file to
33944 silence a gcc warning.
33945 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
33946 variables with `__attribute__ ((unused))' to silence a gcc
33947 warning.
33948 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
33949 local variable i unsigned to silence a gcc warning.
33950
33951 * kern/term.c: Include <pupa/misc.h>.
33952 (pupa_more_lines): New variable.
33953 (pupa_more): Likewise.
33954 (pupa_putcode): When the pager is active pause at the end of every
33955 screen.
33956 (pupa_set_more): New function.
33957 * include/pupa/term.h (pupa_set_more): New prototype.
33958
33959
33960 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
33961
33962 Now this project is GRUB 2 rather than PUPA. The location of
33963 the CVS repository was moved to GRUB's.
33964
33965 * configure.ac: Use bug-grub as the reporting address.
33966 Use GRUB instead of PUPA.
33967 Change the version number to 1.90.
33968
33969 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
33970
33971 * genkernsyms.sh: Updated copyright information.
33972 * genmk.rb: Likewise.
33973 * genmodsrc.sh: Likewise.
33974 * gensymlist.sh: Likewise.
33975 * boot/i386/pc/boot.S: Likewise.
33976 * boot/i386/pc/diskboot.S: Likewise.
33977 * disk/i386/pc/biosdisk.c: Likewise.
33978 * disk/i386/pc/partition.c: Likewise.
33979 * font/manager.c: Likewise.
33980 * fs/ext2.c: Likewise.
33981 * fs/fat.c: Likewise.
33982 * include/pupa/boot.h: Likewise.
33983 * include/pupa/device.h: Likewise.
33984 * include/pupa/disk.h: Likewise.
33985 * include/pupa/dl.h: Likewise.
33986 * include/pupa/elf.h: Likewise.
33987 * include/pupa/err.h: Likewise.
33988 * include/pupa/file.h: Likewise.
33989 * include/pupa/font.h: Likewise.
33990 * include/pupa/fs.h: Likewise.
33991 * include/pupa/kernel.h: Likewise.
33992 * include/pupa/loader.h: Likewise.
33993 * include/pupa/misc.h: Likewise.
33994 * include/pupa/mm.h: Likewise.
33995 * include/pupa/net.h: Likewise.
33996 * include/pupa/normal.h: Likewise.
33997 * include/pupa/rescue.h: Likewise.
33998 * include/pupa/setjmp.h: Likewise.
33999 * include/pupa/symbol.h: Likewise.
34000 * include/pupa/term.h: Likewise.
34001 * include/pupa/types.h: Likewise.
34002 * include/pupa/i386/setjmp.h: Likewise.
34003 * include/pupa/i386/types.h: Likewise.
34004 * include/pupa/i386/pc/biosdisk.h: Likewise.
34005 * include/pupa/i386/pc/boot.h: Likewise.
34006 * include/pupa/i386/pc/console.h: Likewise.
34007 * include/pupa/i386/pc/init.h: Likewise.
34008 * include/pupa/i386/pc/kernel.h: Likewise.
34009 * include/pupa/i386/pc/linux.h: Likewise.
34010 * include/pupa/i386/pc/loader.h: Likewise.
34011 * include/pupa/i386/pc/memory.h: Likewise.
34012 * include/pupa/i386/pc/multiboot.h: Likewise.
34013 * include/pupa/i386/pc/partition.h: Likewise.
34014 * include/pupa/i386/pc/time.h: Likewise.
34015 * include/pupa/i386/pc/vga.h: Likewise.
34016 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
34017 * include/pupa/util/getroot.h: Likewise.
34018 * include/pupa/util/misc.h: Likewise.
34019 * include/pupa/util/resolve.h: Likewise.
34020 * kern/device.c: Likewise.
34021 * kern/disk.c: Likewise.
34022 * kern/dl.c: Likewise.
34023 * kern/err.c: Likewise.
34024 * kern/file.c: Likewise.
34025 * kern/fs.c: Likewise.
34026 * kern/loader.c: Likewise.
34027 * kern/main.c: Likewise.
34028 * kern/misc.c: Likewise.
34029 * kern/mm.c: Likewise.
34030 * kern/rescue.c: Likewise.
34031 * kern/term.c: Likewise.
34032 * kern/i386/dl.c: Likewise.
34033 * kern/i386/pc/init.c: Likewise.
34034 * kern/i386/pc/lzo1x.S: Likewise.
34035 * kern/i386/pc/startup.S: Likewise.
34036 * loader/i386/pc/chainloader.c: Likewise.
34037 * loader/i386/pc/linux.c: Likewise.
34038 * loader/i386/pc/multiboot.c: Likewise.
34039 * normal/cmdline.c: Likewise.
34040 * normal/command.c: Likewise.
34041 * normal/main.c: Likewise.
34042 * normal/menu.c: Likewise.
34043 * normal/i386/setjmp.S: Likewise.
34044 * term/i386/pc/console.c: Likewise.
34045 * term/i386/pc/vga.c: Likewise.
34046 * util/console.c: Likewise.
34047 * util/genmoddep.c: Likewise.
34048 * util/misc.c: Likewise.
34049 * util/pupa-emu.c: Likewise.
34050 * util/resolve.c: Likewise.
34051 * util/unifont2pff.rb: Likewise.
34052 * util/i386/pc/biosdisk.c: Likewise.
34053 * util/i386/pc/getroot.c: Likewise.
34054 * util/i386/pc/pupa-mkimage.c: Likewise.
34055 * util/i386/pc/pupa-setup.c: Likewise.
34056
34057 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
34058
34059 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
34060 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
34061 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
34062 reading and reset it after reading.
34063 (pupa_ext2_close): Return PUPA_ERR_NONE.
34064
34065 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
34066 Correct value.
34067 (struct linux_kernel_header): Add kernel_version and
34068 initrd_addr_max.
34069 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
34070 pupa_file_read succeeds.
34071 (pupa_rescue_cmd_initrd): Implement.
34072
34073 2003-12-03 Marco Gerards <metgerards@student.han.nl>
34074
34075 * fs/ext2.c (pupa_ext2_label): New function.
34076 (pupa_ext2_fs): Added label.
34077 * fs/fat.c (pupa_fat_label): New function.
34078 (pupa_fat_fs): Added label.
34079 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
34080
34081 * kern/misc.c (pupa_strndup): New function.
34082 * include/pupa/misc.h (pupa_strndup): New prototype.
34083
34084 * include/pupa/normal.h: Include <pupa/err.h>.
34085 (pupa_set_history): New prototype.
34086 (pupa_iterate_commands): New prototype.
34087 * normal/cmdline.c: Include <pupa/machine/partition.h>,
34088 <pupa/disk.h>, <pupa/file.h>.
34089 (hist_size): New variable.
34090 (hist_lines): Likewise.
34091 (hist_end): Likewise.
34092 (hist_used): Likewise.
34093 (pupa_set_history): New function.
34094 (pupa_history_get): Likewise.
34095 (pupa_history_add): Likewise.
34096 (pupa_history_replace): Likewise.
34097 (pupa_tab_complete): Likewise.
34098 (pupa_cmdline_run): Added tab completion and history buffer. Tab
34099 completion shows partitionnames while completing partitions, this
34100 feature was suggested by Jeff Bailey.
34101 * normal/command.c (pupa_iterate_commands): New function.
34102 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
34103 (pupa_normal_init): Initialize history buffer.
34104 (PUPA_MOD_INIT): Likewise.
34105 (pupa_normal_fini): Free the history buffer.
34106 (PUPA_MOD_FINI): Likewise.
34107
34108 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
34109 key.
34110
34111 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
34112 * configure.ac [i386]: Check for regparam bug.
34113 (NESTED_FUNC_ATTR) [! i386]: Defined.
34114
34115 2003-11-17 Marco Gerards <metgerards@student.han.nl>
34116
34117 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
34118 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
34119 (pupa_emu_SOURCES): New variable.
34120 (pupa_emu_LDFLAGS): Likewise.
34121 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
34122 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
34123 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
34124 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34125 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
34126 (pupa_jmp_buf): New typedef.
34127 (pupa_setjmp) [PUPA_UTIL]: New macro.
34128 (pupa_longjmp) [PUPA_UTIL]: Likewise.
34129 * include/pupa/term.h (struct pupa_term): New member `refresh'.
34130 (pupa_refresh): New prototype.
34131 * include/pupa/util/getroot.h: New file.
34132 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
34133 it.
34134 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
34135 (pupa_rescue_cmd_cat): Likewise.
34136 (pupa_rescue_cmd_ls): Likewise.
34137 (pupa_rescue_cmd_testload): Likewise.
34138 (pupa_rescue_cmd_lsmod): Likewise.
34139 * normal/cmdline.c (pupa_cmdline_get): Likewise.
34140 * normal/menu.c (run_menu): Likewise.
34141 * kern/term.c (pupa_cls): Likewise.
34142 (pupa_refresh): New function.
34143 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
34144 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34145 * util/console.c: New file.
34146
34147 * util/i386/pc/getroot.c: New file.
34148 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
34149 (pupa_putchar): New function.
34150 (pupa_refresh): Likewise.
34151 (xgetcwd): Function moved to ...
34152 (strip_extra_slashes): Likewise.
34153 (get_prefix): Likewise.
34154 * util/i386/pc/getroot.c: ... here.
34155 (find_root_device): Function moved and renamed to...
34156 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34157 Changed all callers.
34158 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34159 and renamed to...
34160 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34161 Changed all callers.
34162 * util/misc.c (pupa_memalign): New function.
34163 (pupa_mm_init_region): Likewise.
34164 (pupa_register_exported_symbols): Likewise.
34165 (pupa_putchar): Function removed.
34166 * util/pupa-emu.c: New file.
34167
34168 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34169
34170 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34171 (_multiboot_mod_SOURCES): New variable.
34172 (_multiboot_mod_CFLAGS): Likewise.
34173 * loader/i386/pc/multiboot.c: New file.
34174 * include/pupa/i386/pc/multiboot.h: Likewise.
34175 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34176 (pupa_multiboot_real_boot): New function.
34177 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34178 (pupa_multiboot_real_boot): New prototype.
34179 (pupa_rescue_cmd_multiboot): Likewise
34180 (pupa_rescue_cmd_module): Likewise.
34181
34182 * kern/loader.c (pupa_loader_set): Continue when
34183 pupa_loader_unload_func() fails.
34184 (pupa_loader_unset): New function.
34185 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34186
34187 * kern/misc.c (pupa_stpcpy): New function.
34188 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34189
34190 2003-11-12 Marco Gerards <metgerards@student.han.nl>
34191
34192 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34193 for available extensions.
34194
34195 * include/pupa/i386/pc/time.h: New file.
34196 * kern/disk.c: Include <pupa/machine/time.h>.
34197 (PUPA_CACHE_TIMEOUT): New macro.
34198 (pupa_last_time): New variable.
34199 (pupa_disk_open): Flush the cache when there was a timeout.
34200 (pupa_disk_close): Reset the timer.
34201 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34202 pupa_currticks.
34203 * util/misc.c: Include <sys/times.h>
34204 (pupa_get_rtc): New function.
34205
34206 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34207
34208 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34209 as blocks.
34210 (pupa_ext2_get_file_block): Use blocks member.
34211
34212 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34213 first block. Return -1 instead of pupa_errno on error.
34214
34215 2003-10-27 Marco Gerards <metgerards@student.han.nl>
34216
34217 * README: In the pupa-mkimage example use _chain instead of chain
34218 and ext2 instead of fat.
34219 * TODO: Replace ext2fs with jfs as an example. Add an item for
34220 adding journal playback for ext2fs.
34221 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34222 (pkgdata_MODULES): Added ext2.mod.
34223 (ext2_mod_SOURCES): New variable.
34224 (ext2_mod_CFLAGS): Likewise.
34225 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34226 * include/pupa/misc.h (pupa_strncpy): New prototype.
34227 (pupa_strcat): Likewise.
34228 (pupa_strncmp): Likewise.
34229 * kern/misc.c (pupa_strcat): Enable function.
34230 (pupa_strncpy): New function.
34231 (pupa_strncmp): Likewise.
34232 * fs/ext2.c: New file.
34233
34234 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
34235 when the read failed before retrying.
34236 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
34237 (_FILE_OFFSET_BITS): Likewise.
34238 * configure.ac: Added AC_SYS_LARGEFILE.
34239
34240 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34241
34242 * genmk.rb (PModule#rule): Make sure to get only symbol names
34243 from the output of nm.
34244 Reported by Robert Millan <rmh.grub@aybabtu.com>.
34245
34246 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34247
34248 I forgot to check in these changes for a long time. This adds
34249 incomplete support for VGA console, and this is still very
34250 buggy. Also, a lot of consideration is required for I18N,
34251 UNICODE, and VGA font issues. Therefore, assume that this is
34252 such that "better than nothing".
34253
34254 * font/manager.c: New file.
34255 * include/pupa/font.h: Likewise.
34256 * include/pupa/i386/pc/vga.h: Likewise.
34257 * term/i386/pc/vga.c: Likewise.
34258 * util/unifont2pff.rb: Likewise.
34259
34260 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
34261 (pkgdata_MODULES): Added vga.mod and font.mod.
34262 (vga_mod_SOURCES): New variables.
34263 (vga_mod_CFLAGS): Likewise.
34264 (font_mod_SOURCES): Likewise.
34265 (font_mod_CFLAGS): Likewise.
34266
34267 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
34268
34269 * include/pupa/term.h: Include pupa/err.h.
34270 (struct pupa_term): Added init and fini.
34271 Changed the argument of putchar to pupa_uint32_t.
34272
34273 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
34274 (pupa_console_real_putchar): New prototype.
34275 (pupa_console_putchar): Removed.
34276 (pupa_console_checkkey): Exported.
34277 (pupa_console_getkey): Likewise.
34278
34279 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
34280 characters.
34281
34282 * kern/term.c (pupa_term_set_current): Rewritten.
34283 (pupa_putchar): Likewise.
34284 (pupa_putcode): New function.
34285
34286 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
34287 (pupa_console_real_putchar): ... this.
34288 (pupa_vga_set_mode): New function.
34289 (pupa_vga_get_font): Likewise.
34290
34291 * normal/command.c: Include pupa/term.h.
34292 (terminal_command): New function.
34293 (pupa_command_init): Register the command "terminal".
34294
34295 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
34296 (DISP_UP): Likewise.
34297 (DISP_RIGHT): Likewise.
34298 (DISP_DOWN): Likewise.
34299 (DISP_HLINE): Likewise.
34300 (DISP_VLINE): Likewise.
34301 (DISP_UL): Likewise.
34302 (DISP_UR): Likewise.
34303 (DISP_LL): Likewise.
34304 (DISP_LR): Likewise.
34305
34306 * term/i386/pc/console.c (pupa_console_putchar): New function.
34307
34308 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
34309
34310 * util/resolve.c (pupa_util_resolve_dependencies): BUG
34311 FIX. Reverse the path_list.
34312
34313 * include/pupa/normal.h: Export pupa_register_command and
34314 pupa_unregister_command.
34315
34316 * hello/hello.c (pupa_cmd_hello): New module.
34317 * conf/i386-pc.rmk: Added hello.mod.
34318
34319 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
34320
34321 * kern/i386/pc/lzo1x.S: New file.
34322
34323 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
34324 (compress_kernel): New variable.
34325 (generate_image): Heavily modified to support compressing a
34326 large part of the core image.
34327
34328 * util/misc.c (pupa_util_read_image): Fix a file descriptor
34329 leak.
34330 (pupa_util_load_image): New function.
34331
34332 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
34333 (pupa_compressed_size): New variable.
34334 (codestart): Enable Gate A20 here.
34335 Decompress the compressed part of the core image.
34336 Rearrange the code to put functions and variables which are
34337 required for initialization in the non-compressed part.
34338 Include lzo1x.S.
34339
34340 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
34341 here.
34342
34343 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
34344
34345 * include/pupa/i386/pc/kernel.h
34346 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
34347 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
34348 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34349 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34350 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
34351
34352 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
34353
34354 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
34355 (Utility#rule): Likewise.
34356
34357 * configure.ac: Check if LZO is available.
34358
34359 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
34360
34361 * include/pupa/normal.h: New file.
34362 * include/pupa/setjmp.h: Likewise.
34363 * include/pupa/i386/setjmp.h: Likewise.
34364 * normal/cmdline.c: Likewise.
34365 * normal/command.c: Likewise.
34366 * normal/main.c: Likewise.
34367 * normal/menu.c: Likewise.
34368 * normal/i386/setjmp.S: Likewise.
34369
34370 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
34371 (pupa_rescue_cmd_initrd): Likewise.
34372
34373 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
34374 Likewise.
34375
34376 * kern/i386/pc/startup.S (translation_table): New variable.
34377 (translate_keycode): New function.
34378 (pupa_console_getkey): Call translate_keycode.
34379
34380 * kern/rescue.c (attempt_normal_mode): New function.
34381 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
34382 it failed, print a message.
34383
34384 * kern/mm.c (pupa_real_malloc): Print more information when a
34385 free magic is broken.
34386 (pupa_free): If the first free header is not free actually, set
34387 it to P.
34388
34389 * kern/main.c (pupa_load_normal_mode): Just load the module
34390 "normal".
34391 (pupa_main): Don't print the message
34392 "Entering into rescue mode..." here.
34393
34394 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34395 Declared.
34396 (pupa_rescue_cmd_initrd): Likewise.
34397 (pupa_rescue_cmd_initrd): Likewise.
34398
34399 * include/pupa/symbol.h (FUNCTION): Specify the type.
34400 (VARIABLE): Likewise.
34401
34402 * include/pupa/err.h (pupa_err_t): Added
34403 PUPA_ERR_UNKNOWN_COMMAND.
34404
34405 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34406 (pupa_dl_get_prefix): Likewise.
34407
34408 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34409 Added _chain.mod and _linux.mod instead of chain.mod and
34410 linux.mod.
34411 (chain_mod_SOURCES): Renamed to ...
34412 (_chain_mod_SOURCES): ... this.
34413 (chain_mod_CFLAGS): Renamed to ...
34414 (_chain_mod_CFLAGS): ... this.
34415 (linux_mod_SOURCES): Renamed to ...
34416 (_linux_mod_SOURCES): ... this.
34417 (linux_mod_CFLAGS): Renamed to ...
34418 (_linux_mod_CFLAGS): ... this.
34419 (normal_mod_SOURCES): New variable.
34420 (normal_mod_CFLAGS): Likewise.
34421 (normal_mod_ASFLAGS): Likewise.
34422
34423 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
34424
34425 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
34426 possible.
34427
34428 * kern/dl.c (pupa_dl_ref): Refer depending modules
34429 recursively.
34430 (pupa_dl_unref): Unrefer depending modules recursively.
34431 Don't call pupa_dl_unload implicitly, because PUPA can crash if
34432 a module is unloaded before one depending on that module is
34433 unloaded.
34434 (pupa_dl_unload): Unload depending modules explicitly,
34435 if possible.
34436
34437 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
34438
34439 * include/pupa/i386/pc/linux.h: New file.
34440 * loader/i386/pc/linux.c: Likewise.
34441
34442 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
34443 Removed.
34444 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
34445 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
34446 of PUPA_CHAINLOADER_BOOT_SECTOR.
34447
34448 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
34449 (pupa_linux_prot_size): New variable.
34450 (pupa_linux_tmp_addr): Likewise.
34451 (pupa_linux_real_addr): Likewise.
34452 (pupa_linux_boot_zimage): New function.
34453 (pupa_linux_boot_bzimage): Likewise.
34454
34455 * kern/i386/pc/init.c (struct mem_region): New structure.
34456 (MAX_REGIONS): New macro.
34457 (mem_regions): New variable.
34458 (num_regions): Likewise.
34459 (pupa_os_area_addr): Likewise.
34460 (pupa_os_area_size): Likewise.
34461 (pupa_lower_mem): Likewise.
34462 (pupa_upper_mem): Likewise.
34463 (add_mem_region): New function.
34464 (compact_mem_regions): Likewise.
34465 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
34466 the size of the conventional memory and that of so-called upper
34467 memory (before the first memory hole).
34468 Instead of adding each found region to free memory, use
34469 add_mem_region and add them after removing overlaps.
34470 Also, add only 1/4 of the upper memory to free memory. The rest
34471 is used for loading OS images. Maybe this is ad hoc, but this
34472 makes it much easier to relocate OS images when booting.
34473
34474 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
34475 (pupa_enter_rescue_mode): Don't register initrd and module.
34476
34477 * kern/mm.c: Include pupa/dl.h.
34478
34479 * kern/main.c: Include pupa/file.h and pupa/device.h.
34480
34481 * kern/loader.c (pupa_loader_load_module_func): Removed.
34482 (pupa_loader_load_module): Likewise.
34483
34484 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
34485 ``.o''.
34486
34487 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
34488 (pupa_linux_tmp_addr): Likewise.
34489 (pupa_linux_real_addr): Likewise.
34490 (pupa_linux_boot_zimage): Likewise.
34491 (pupa_linux_boot_bzimage): Likewise.
34492
34493 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
34494 (pupa_upper_mem): Likewise.
34495 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
34496 module is too dangerous.
34497
34498 * include/pupa/loader.h (pupa_os_area_addr): Declared.
34499 (pupa_os_area_size): Likewise.
34500 (pupa_loader_set): Remove the first argument. Loader doesn't
34501 manage modules or initrd any longer.
34502 (pupa_loader_load_module): Removed.
34503
34504 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
34505 (linux_mod_SOURCES): New variable.
34506 (linux_mod_CFLAGS): Likewise.
34507
34508 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
34509
34510 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
34511 the length of a blocklist correctly.
34512
34513 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
34514 Use ioctl only if the OS file is a block device.
34515 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
34516 not very useful for normal files.
34517
34518 * kern/main.c (pupa_set_root_dev): New function.
34519 (pupa_load_normal_mode): Likewise.
34520 (pupa_main): Call those above.
34521
34522 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
34523 pupa_uint16_t.
34524
34525 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
34526
34527 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34528
34529 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
34530 (setup): Configure the installed partition information and the
34531 dl prefix.
34532
34533 * loader/i386/pc/chainloader.c (my_mod): New variable.
34534 (pupa_chainloader_unload): New function.
34535 (pupa_rescue_cmd_chainloader): Refer itself.
34536 (PUPA_MOD_INIT): Save its own module in MY_MOD.
34537
34538 * kern/i386/pc/startup.S (install_partition): Removed.
34539 (version_string): Likewise.
34540 (config_file): Likewise.
34541 (pupa_install_dos_part): New variable.
34542 (pupa_install_bsd_part): Likewise.
34543 (pupa_prefix): Likewise.
34544 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
34545
34546 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
34547 and pupa/misc.h.
34548 (make_install_device): New function.
34549 (pupa_machine_init): Set the dl prefix.
34550
34551 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
34552 (buf): Renamed to ...
34553 (linebuf): ... this.
34554 (pupa_rescue_cmd_prefix): New function.
34555 (pupa_rescue_cmd_insmod): Likewise.
34556 (pupa_rescue_cmd_rmmod): Likewise.
34557 (pupa_rescue_cmd_lsmod): Likewise.
34558 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
34559 rmmod and lsmod.
34560
34561 * kern/mm.c (pupa_memalign): If failed even after invalidating
34562 disk caches, unload unneeded modules and retry.
34563
34564 * kern/misc.c (pupa_memmove): New function.
34565 (pupa_memcpy): Removed.
34566 (pupa_strcpy): New function.
34567 (pupa_itoa): Made static.
34568
34569 * kern/dl.c (pupa_dl_iterate): New function.
34570 (pupa_dl_ref): Likewise.
34571 (pupa_dl_unref): Likewise.
34572 (pupa_dl_unload): Return if succeeded or not.
34573 (pupa_dl_unload_unneeded): New function.
34574 (pupa_dl_unload_all): Likewise.
34575 (pupa_dl_init): Renamed to ...
34576 (pupa_dl_set_prefix): ... this.
34577 (pupa_dl_get_prefix): New function.
34578
34579 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
34580 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
34581 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34582 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34583 (pupa_install_dos_part): Declared.
34584 (pupa_install_bsd_part): Likewise.
34585 (pupa_prefix): Likewise.
34586 (pupa_boot_drive): Likewise.
34587
34588 * include/pupa/types.h: Fix a typo.
34589
34590 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
34591 pupa_memmove.
34592 (pupa_memmove): Declared.
34593 (pupa_strcpy): Likewise.
34594
34595 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
34596 pupa_mod_init takes one argument, its own module.
34597 (pupa_dl_unload_unneeded): Declared.
34598 (pupa_dl_unload_all): Likewise.
34599 (pupa_dl_ref): Likewise.
34600 (pupa_dl_unref): Likewise.
34601 (pupa_dl_iterate): Likewise.
34602 (pupa_dl_init): Renamed to ...
34603 (pupa_dl_set_prefix): ... this.
34604 (pupa_dl_get_prefix): Declared.
34605
34606 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
34607 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
34608 unloaded.
34609 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
34610 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
34611
34612 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
34613 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
34614
34615 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34616
34617 * util/i386/pc/pupa-setup.c (setup): Define the internal
34618 function find_first_partition_start at the top level, because GCC
34619 3.0.x cannot compile internal functions in deeper scopes
34620 correctly.
34621 (find_root_device): Use lstat instead of stat.
34622 Don't follow symbolic links.
34623 Fix the path-constructing code.
34624
34625 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
34626 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
34627 by a BLKGETSIZE ioctl first, because block devices don't fill
34628 the member st_mode of the structure stat on Linux.
34629 [__linux__] (linux_find_partition): Use a temporary buffer
34630 REAL_DEV for the working space. Copy it to DEV before returning.
34631 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
34632 buffer cache consistent.
34633 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
34634 strncmp. The previous value was merely wrong.
34635 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
34636
34637 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
34638 FAT size is 12. The previous value was merely wrong.
34639
34640 * kern/main.c (pupa_main): Don't split the starting message from
34641 newlines.
34642
34643 * kern/term.c (pupa_putchar): Put CR after LF instead of before
34644 LF, because BIOS goes crazy about character attributes in this
34645 case.
34646
34647 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34648
34649 * include/i386/pc/util/biosdisk.h: New file.
34650 * util/i386/pc/biosdisk.c: Likewise.
34651 * util/i386/pc/pupa-setup.c: Likewise.
34652
34653 * Makefile.in (INCLUDE_DISTFILES): Added
34654 include/pupa/i386/pc/util/biosdisk.h.
34655 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
34656 directory util/i386/pc.
34657 (install-local): Added a rule for sbin_UTILITIES.
34658 (uninstall): Likewise.
34659
34660 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
34661
34662 * util/misc.c (xrealloc): New function.
34663 (pupa_malloc): Likewise.
34664 (pupa_free): Likewise.
34665 (pupa_realloc): Likewise.
34666 (pupa_stop): Likewise.
34667 (pupa_putchar): Likewise.
34668
34669 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
34670
34671 * include/pupa/util/misc.h (xrealloc): Declared.
34672
34673 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
34674 macro.
34675 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
34676 (PUPA_BOOT_MACHINE_BPB_END): ... this.
34677
34678 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
34679 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34680
34681 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
34682 way should be implemented.
34683 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34684
34685 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
34686 the size of NAME for safety.
34687 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
34688 0x88.
34689
34690 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
34691 (pupa_setup_SOURCES): Likewise.
34692
34693 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
34694
34695 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34696
34697 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
34698 bunch of pushl's from pusha, because this destroys the return
34699 value.
34700
34701 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34702
34703 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
34704 This means that any missing prototypes could be fatal. Also, you
34705 must take care when writing assembly code. See the comments at
34706 the beginning of startup.S, for more details.
34707
34708 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
34709 compilation mechanism.
34710 (pupa_chainloader_real_boot): Likewise.
34711 (pupa_biosdisk_rw_int13_extensions): Likewise.
34712 (pupa_biosdisk_rw_standard): Likewise.
34713 (pupa_biosdisk_check_int13_extensions): Likewise.
34714 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
34715 (pupa_biosdisk_get_diskinfo_standard): Likewise.
34716 (pupa_get_memsize): Likewise.
34717 (pupa_get_mmap_entry): Likewise.
34718 (pupa_console_putchar): Likewise.
34719 (pupa_console_setcursor): Likewise.
34720 (pupa_getrtsecs): Use pushl instead of push.
34721
34722 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
34723 memory instead of the stack for a mmap entry, because some
34724 BIOSes may ignore the maximum size and overflow.
34725
34726 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
34727
34728 * genmk.rb (PModule#rule): Compile automatically generated
34729 sources with module-specific CFLAGS as well as other sources.
34730
34731 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34732
34733 * configure.ac: Check ld.
34734 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
34735 respectively, before checking endianness and sizes.
34736
34737 * Makefile.in (LD): New variable.
34738
34739 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34740
34741 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
34742
34743 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34744
34745 * Changelog: New file.
34746