aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorJames <james.mckenzie@citrix.com>2012-11-16 10:41:01 +0000
committerJames <james.mckenzie@citrix.com>2012-11-16 10:41:01 +0000
commit041d1ea37802bf7178a31a53f96c26efa6b8fb7b (patch)
treec193e84ad1237f25a79d0f6a267722e44c73f56a /ChangeLog
downloadgrub-1.99-041d1ea37802bf7178a31a53f96c26efa6b8fb7b.tar.gz
grub-1.99-041d1ea37802bf7178a31a53f96c26efa6b8fb7b.tar.bz2
grub-1.99-041d1ea37802bf7178a31a53f96c26efa6b8fb7b.zip
fish
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog35345
1 files changed, 35345 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..9575204
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,35345 @@
+2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
+
+ * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
+ and add some clarification.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
+ platforms if kernel is compressed.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
+ unused modules since currently referrence counter isn't reliable and
+ there isn't much memory to recover there anyway.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
+ rather than resetting it to allow modules to reference themselves
+ in init.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
+ counter on dependencies since grub_dl_unref already handles this.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
+ on error if not already done.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix few potential memory misusage.
+
+ * grub-core/font/font.c (load_font_index): Don't free char_index to
+ avoid double free.
+ (grub_font_load): Zero-fill font at alloc for safety.
+ Close file on error.
+ (free_font): Free bmp_idx.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Installation): Fix several outdated claims.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Handle module_license on windows.
+
+ * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
+ sections shifted.
+ (insert_string): Make argument const char * instead of char *.
+ (write_section_data): Handle long section names.
+ Handle module_license.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
+ handle class-free menuentries.
+ (grub_normal_add_menu_entry): Add a check to be sure.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
+ PgUp and PgDown.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Bump version to 1.99.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Give ATA device a bit more time on first try in order to allow disks
+ to spin up.
+
+ * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
+ if dev->present is 1. Reset dev->present on failure.
+ (grub_ata_device_initialize): Set dev->present to 1.
+ * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
+ (grub_ata_device): New member 'present'.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkimage.c (generate_image): Update hash.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Flush caches on DMA memory.
+
+ * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
+ * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
+ (grub_dma_free): Likewise.
+ * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
+ to avoid asm treating ld and sd as macros.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/boot/mips/startup_raw.S: Flush cache after loading
+ decompressor.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
+ grub_decompress_core since later would fail if grub_decompress_core
+ is too far.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
+ R_MIPS_JALR since it's used by newer compiler.
+
+2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/10_linux.in: Correctly handle the Linux in root.
+
+2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
+ file_path to 0 for surety.
+ (grub_chainloader_boot): Set exit_data to NULL.
+ Unset the loader once done.
+ (grub_cmd_chainloader): Fix confusing error message if file is empty.
+
+2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
+ unknown key into a dprintf.
+
+2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
+ on first non-existant partition.
+
+2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
+ openning fails.
+ Reported by: Mark Korenberg.
+
+2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
+ overflow.
+
+2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkimage.c (main): Explicitely flush and sync the output
+ before closing to ensure that it will be readable by grub-setup.
+
+2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
+ (devpath_1): Use MAKE_PIWG_PATH.
+ (devpath_2): Likewise.
+ (devpath_3): Likewise.
+ (devpath_4): Likewise.
+ (devpath_5): Likewise.
+ (devpath_6): Likewise.
+
+ The appleldr.mod was checked that to be binary identical to previous
+ version.
+
+2011-05-05 Zach <mikezackles>
+
+ Support 2010 Macbooks.
+
+ * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
+ (devs): Add devpath_6.
+
+2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
+ /dev/random. /dev/urandom is good enough for our purposes (salting).
+
+2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
+
+2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
+ hexadecimal.
+
+2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
+ and not 0 on failure.
+
+2011-05-03 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
+ GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
+ disk; otherwise grub_fs_probe will not fall back to the next
+ filesystem.
+ (grub_pxefs_open): Likewise, for consistency.
+ Reported and tested by: Ezekiel Grave.
+
+2011-05-03 Colin Watson <cjwatson@ubuntu.com>
+
+ * tests/partmap_test.in: Don't hardcode path to parted.
+ Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
+
+2011-05-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
+ of `ls' to find out which devices are available.
+
+2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
+ than source address for efi mmap buffer.
+
+2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
+ wrong action on non-detecting the magic.
+
+2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
+ already supplied by another part of the module (fixes compilation on
+ FreeBSD).
+
+2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
+ match the one used by mdadm.
+
+2011-04-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * po/README: Add instructions for creating po/LINGUAS.
+
+2011-04-21 Colin Watson <cjwatson@ubuntu.com>
+
+ Add "SEE ALSO" sections to most man pages. Fixes Debian bug
+ #551428.
+
+ * docs/man/grub-editenv.h2m (SEE ALSO): New section.
+ * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-install.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
+
+2011-04-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/kern/emu/getroot.c
+ (grub_find_root_device_from_mountinfo): Remove non-virtual-device
+ test that was incorrectly reintroduced in r3214.
+ Reported by: Ian Dall. Fixes Savannah bug #33133.
+
+2011-04-21 Colin Watson <cjwatson@ubuntu.com>
+
+ Fix stack pointer handling in 16-bit relocator.
+
+ * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
+ grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
+ Fixes Ubuntu bug #683904.
+
+2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Bump version to 1.99~rc2.
+
+2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
+ * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
+ * grub-core/lib/x86_64/setjmp.S: Likewise.
+ * grub-core/lib/mips/setjmp.S: Likewise.
+ * grub-core/lib/powerpc/setjmp.S: Likewise.
+ * grub-core/lib/sparc64/setjmp.S: Likewise.
+
+2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
+ * grub-core/lib/efi/datetime.c: Likewise.
+
+2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
+ New function.
+ (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
+ * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
+ * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
+
+2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
+ bitmap.
+ (grub_gfxterm_term_init): Likewise.
+
+2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Take into account the decorations the computing menu entry width.
+
+ * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
+ (grub_gfxmenu_create_box): Register get_border_width.
+ * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
+ if available.
+ * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
+ get_border_width.
+
+2011-04-18 Endres Puschner <code@e7p.de>
+
+ * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
+ Don't skip first class.
+
+2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
+ chunks.
+ * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
+
+2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Complete 64-bit division support.
+
+ * grub-core/kern/misc.c (grub_divmod64): Rename to ...
+ (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
+ * include/grub/misc.h (grub_divmod64): Rename to ...
+ (grub_divmod64_full): ... this.
+ (grub_divmod64): New inline function.
+
+2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkimage.c (generate_image): Add forgotten comma.
+
+2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
+ performing the necessary test.
+
+2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
+ (kfreebsd.elf): Likewise.
+ (pc-chainloader.elf): Likewise.
+ (ntldr.elf): Likewise.
+
+2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Identify RAID by its UUID rather than (guessed) name.
+
+ * grub-core/disk/raid.c (ascii2hex): New function.
+ (grub_raid_open): Accept mduuid/%s specification.
+ * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
+ (get_mdadm_uuid): ... this.
+ (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
+
+2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
+ to negative size.
+
+2011-04-13 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
+ btrfs subvolume.
+ * util/grub.d/20_linux_xen.in: Likewise.
+
+2011-04-13 Colin Watson <cjwatson@ubuntu.com>
+
+ Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
+ move-mounts appearing out of order. Fixes Ubuntu bug #738345.
+
+ * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
+ Build a list of relevant visible mounts using the mnt_id and
+ parent_mnt_id fields, and then scan that list at the end.
+
+2011-04-12 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (normal): New section.
+ (normal_exit): New section.
+ (Embedded configuration): Add reference to normal.
+ (GRUB only offers a rescue shell): Likewise.
+ * docs/grub-dev.texi (Error Handling): Fix typo.
+
+2011-04-12 Colin Watson <cjwatson@ubuntu.com>
+
+ * NEWS: Drop obsolete entry about probe-only btrfs support.
+
+2011-04-12 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/import_gcry.py: Fix typo.
+
+2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * NEWS: Add btrfs support.
+
+2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
+2011-04-11 Colin Watson <cjwatson@ubuntu.com>
+
+ BtrFS support. Written by me (Vladimir) with important bugfixes and
+ even more important testing by Colin.
+
+ * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
+ * grub-core/Makefile.core.def (btrfs): Add crc.c.
+ * grub-core/fs/btrfs.c: Stub replaced with real implementation.
+ * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
+ mem_input_off and mem_input. All users updated to accept in-RAM input.
+ (gzio_seek): New function.
+ (test_zlib_header): Likewise.
+ (grub_gzio_read): Likewise.
+ (grub_zlib_decompress): Likewise.
+ * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
+ Accept partial and non-virtual mounts.
+ (grub_guess_root_device): Do rescanning after device_from_mountinfo to
+ avoid receiving /dev/dm-X as device.
+ * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
+ Handle bind and partial mounts.
+ * grub-core/lib/crc.c: New file.
+ * include/grub/deflate.h: Likewise.
+ * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
+ proto.
+ * include/grub/lib/crc.h: New file.
+
+2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Implement automatic module license checking according to new GNU
+ guidelines.
+
+ * grub-core/kern/dl.c (grub_dl_check_license): New function.
+ (grub_dl_load_core): Use grub_dl_check_license.
+ * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
+ (GRUB_MOD_LICENSE): Likewise.
+ (GRUB_MOD_DUAL_LICENSE): Likewise.
+ All modules updated.
+
+2011-04-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
+ reserved_first_sector to 1. btrfs reserves plenty of space for boot
+ loaders.
+ Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
+
+2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-fstest.c (cmd_cmp): Check that sizes match.
+
+2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-fstest.c (read_file): Report GRUB error if file opening
+ failed.
+
+2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/file.c (grub_file_open): Don't take into account the
+ parenthesis in the middle of the filename.
+
+2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
+ rather than trying to put initrd way too high.
+ Reported by: Ryan Lortie <desrt@desrt.ca>
+
+2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
+ improperly removed string.
+
+2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
+ is_disk.
+ (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
+ (open_device) Likewise.
+ (grub_util_biosdisk_close): Likewise.
+ Reported by: Mark Korenberg.
+
+2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
+
+ * util/grub-mkconfig_lib.in: Add missing quotes.
+
+2011-04-10 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
+ is NULL.
+
+2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Dynamically count the number of lines for the lower banner.
+
+ * grub-core/normal/menu_entry.c (per_term_screen): New member
+ num_entries.
+ (print_down): Use num_entries.
+ (update_screen): Likewise.
+ (grub_menu_entry_run): Set num_entries.
+ * grub-core/normal/menu_text.c (menu_viewer_data): New member
+ num_entries.
+ (grub_print_message_indented): Move real part to ...
+ (grub_print_message_indented_real): ... here. Additional argument
+ dry_run.
+ (draw_border): Additional argument num_entries.
+ (print_message): Additional argument dry_run.
+ (print_entries): Receive menu viewer data.
+ (grub_menu_init_page): New argment num_entries.
+ (menu_text_set_chosen_entry): Use num_entries.
+ (grub_menu_try_text): Likewise.
+ * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
+ All users updated.
+ (grub_ucs4_count_lines): New function.
+ * include/grub/term.h (grub_term_cursor_x): Moved from here ..
+ * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
+ * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
+ (grub_term_border_height): Likewise.
+ (grub_term_num_entries): Likewise.
+
+2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
+ Remove now unused string.
+
+2011-04-09 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub-dev.texi (Finding your way around): Update for 1.99
+ build system.
+ (Getting started): GRUB is developed in Bazaar now, not Subversion.
+
+ (Comment): Fix typo.
+ (Getting started): General copy-editing.
+ (Typical Development Experience): Likewise.
+ (Error Handling): Likewise.
+ (Video API): Likewise.
+
+2011-04-09 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
+ throughout.
+
+2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkimage.c (main): Handle special naming of yeeloong
+ directory.
+
+2011-04-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub-dev.texi: Fix spelling of "developer" throughout.
+ * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
+ "development".
+
+2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
+ grub_strcpy since the lines aren't necessarily 0-terminated.
+
+2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
+ root on legacy.
+
+2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/probe.c (options): Argument to set isn't optional.
+ (GRUB_MOD_INIT): DEVICE isn't optional.
+
+2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
+ word on new line if it's too long anyway. Fixes a hang.
+
+2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
+ const.
+ * util/grub-setup.c (main): Reuse md device name if available.
+ * util/raid.c (grub_util_raid_getmembers): Receive device name and
+ not GRUB name as argument.
+ Based on patch by: Florian Wagner <fwagner>.
+
+2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
+ Place mbi on low memory for better compatibility.
+
+2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
+
+2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
+2011-04-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * autogen.sh: Ensure that collate and ctype locale is C.
+ * conf/Makefile.common: Likewise.
+
+2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/menu.c: Add missing include.
+
+2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
+
+2011-04-08 Martin Zuther <mzuther@mzuther.de>
+
+ * util/grub-mkconfig.in: Ignore emacsen backup.
+
+2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
+ on open.
+ (grub_util_biosdisk_close): Likewise.
+
+2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
+ const attribute and use grub_isdigit.
+
+2011-04-06 Andrey <dev_null@ukr.net>
+
+ * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
+ gcc warning.
+
+2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
+ useful grub_dprintf's.
+
+2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
+
+2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
+
+2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Output errors if theme loading failed.
+
+ * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
+ grub_gfxterm_fullscreen on error paths to ...
+ * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
+ theme loading error.
+
+2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
+ space for older compilers.
+ (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
+
+2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
+ and report them as not RAID members since they are useless for GRUB.
+ * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
+
+2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Increase LVM implementation robustness in order not to crash on
+ configurations like pvmove. Previously code assumed that in some places
+ only lvs or only pvs are used whereas it seems that they are used
+ interchangeably.
+
+ * grub-core/disk/lvm.c (read_node): New function.
+ (read_lv): Use read_node.
+ (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
+ Match volumes only at the end when all lvs are found. Take both
+ pvs (first) and lvs (second) into account.
+ * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
+ mirror_* into node_*. All users updated.
+ (grub_lvm_stripe): Merge this ...
+ (grub_lvm_mirror): ... and this ...
+ (grub_lvm_node): ... into this. All users updated.
+
+2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
+ of function to allow further scanning for LVMs.
+
+2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
+ on failed seek as it breaks open fd reusage.
+
+2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-install.in: Add a recommendation to use --recheck before
+ reporting bugs.
+
+2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
+ are obtained.
+
+2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ GRUB developper manual based on existing Internals section and
+ contributions by the various authors with active copyright assignment.
+
+ * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
+ * docs/font_char_metrics.png: New file.
+ * docs/font_char_metrics.txt: Likewise.
+ * docs/grub-dev.texi: Likewise.
+ * docs/grub.texi (Internals): Move from here ...
+ * docs/grub-dev.texi: ... here.
+
+2011-04-01 Colin Watson <cjwatson@ubuntu.com>
+
+ Store the loopback device as data on loopback grub_disk structures,
+ rather than the file it points to. This fixes use of freed memory
+ if an existing loopback device is replaced.
+
+ * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
+ disk->data, not dev->file.
+ (grub_loopback_read): Adjust file assignment to match.
+ Fixes Ubuntu bug #742967.
+
+2011-04-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
+ when replacing an existing device.
+
+2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
+ memory corruptions.
+
+ * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
+ unsigned.
+ (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
+ (grub_jfs_blkno): Use 64-bit quantities for block sectors.
+ (grub_jfs_read_inode): Likewise.
+ (grub_jfs_opendir): Likewise. Remove now useless casts.
+ (grub_jfs_getent): Likewise.
+ Make ino a grub_uint32_t rather than int.
+ (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
+ (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
+ division and module with bit operations.
+ (grub_jfs_find_file): Make ino a grub_uint32_t.
+ (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
+
+2011-04-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/normal/menu_entry.c (run): Quieten uninitialised
+ warning. (This was in fact always initialised before use, but GCC
+ wasn't smart enough to prove that.)
+ * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
+
+2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
+ stack alignment.
+ (efi_wrap_1): Likewise.
+ (efi_wrap_2): Likewise.
+ (efi_wrap_3): Likewise.
+ (efi_wrap_4): Likewise.
+ (efi_wrap_5): Likewise.
+ (efi_wrap_6): Likewise.
+ (efi_wrap_10): Likewise.
+ Based on information by: Red Hat/Peter Jones.
+
+2011-03-31 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
+ set-but-not-used variable.
+
+2011-03-31 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Simple configuration): Be more explicit about
+ GRUB_DEFAULT, and add an example.
+ Reported by: Leslie Rhorer.
+
+2011-03-30 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
+ shell".
+
+2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
+
+ * util/grub.d/10_linux.in: Add gentoo-specific config filename.
+ * util/grub.d/20_linux_xen.in: Likewise.
+
+2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/10_linux.in: Try alternative config filenames where
+ we parse config file.
+ * util/grub.d/20_linux_xen.in: Likewise.
+
+2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
+
+ * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
+ * util/grub.d/20_linux_xen.in: Likewise.
+
+2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/raid.c (insert_array): Add few potentially
+ useful grub_util_info.
+ (grub_raid_register): Likewise.
+
+2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
+ Preserve partition number in mdadm code path.
+
+2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
+ few potentially useful grub_util_info.
+
+2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
+
+2011-03-30 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (default): Use @example rather than nested
+ itemized lists to avoid breaking gendocs.
+
+2011-03-30 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Future): Update.
+
+2011-03-30 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Environment): New chapter.
+ (Changes from GRUB Legacy): Link to "Environment block" section for
+ details of limitations.
+ (Simple configuration): Likewise. Link to documentation of gfxmode
+ and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
+ respectively.
+ (Shell-like scripting): Note that normal variables are stored in the
+ environment.
+ (gettext): Link to documentation of lang and locale_dir.
+ (list_env): New section.
+ (load_env): New section.
+ (save_env): New section.
+
+ (Reporting bugs): Fix typo.
+
+2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
+ the example.
+
+2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/at_keyboard.c (set_scancodes)
+ [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
+
+2011-03-30 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Menu-specific commands): Remove some semantics
+ that were true in GRUB Legacy but not in GRUB 2.
+ (submenu): New section.
+ (false): New section.
+ (read): New section.
+ (true): New section.
+
+2011-03-30 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
+
+2011-03-30 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Simple configuration): Explain some of the
+ current limitations of grub-mkconfig.
+ Reported by: Leslie Rhorer.
+
+2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Old macs search for boot.efi rather than for bootia32.efi.
+
+ * util/grub-install.in: Copy bootia32.efi to boot.efi.
+ * util/grub-mkrescue.in: Likewise.
+ Suggested by: Peter Jones.
+
+2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
+
+2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
+ (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
+ (grub_lvm_mirror): New struct.
+ * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
+ (grub_lvm_iterate): Iterate only visible volumes.
+ (grub_lvm_read): Factor out to ..
+ (read_lv): ... this. Support mirrors.
+ (grub_lvm_read): New wrapper function.
+ (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
+ stripped or mirrored.
+
+2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
+
+2011-03-29 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (loopback): New section.
+
+2011-03-29 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
+ removed -p option.
+
+2011-03-29 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (BIOS installation): New section, partly based on
+ previous text in other sections.
+ (Installing GRUB using grub-install): Replace BIOS discussion with a
+ cross-reference.
+ (Images): Likewise.
+
+2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (find_partition_start)
+ [HAVE_DIOCGDINFO]: Add safety checks.
+
+2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
+ per default compiled in kernel and prior to 8.0 isn't shipped at all.
+
+2011-03-29 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
+ real_sb->size is zero (e.g. RAID-0), get the disk size from
+ real_sb->data_size instead.
+ Fixes Ubuntu bug #743136.
+
+2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
+ printf clauses for printing size and start.
+
+2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
+ Reported and tested by: Timothy Nikkel.
+
+2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
+ (dirty_region_add_real): ... this.
+ (dirty_region_add): Don't discard margin refresh when performing
+ scheduled repaint.
+
+2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/relocator.c (allocate_regstart)
+ [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
+ terminals are capabple of malloc-free operation.
+ (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
+ (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
+
+2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
+
+ * util/grub-setup.c: Copy the partition table zone if floppy support
+ is disabled, even if no partition table is found.
+
+ Otherwise, the BIOS on Dell Latitude E series laptops will freeze
+ during POST if an invalid partition table is contained in the PBR
+ of the active partition when GRUB is installed to a partition.
+
+2011-03-28 Colin Watson <cjwatson@debian.org>
+
+ * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
+ comment.
+
+2011-03-28 Colin Watson <cjwatson@debian.org>
+
+ * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
+ to be specific about what kind of RAID device we're scanning for.
+
+2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
+
+ * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
+ return freed string.
+
+2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
+
+2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use libgeom on FreeBSD to detect partitions.
+
+ * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
+ (grub-mkrelpath): Likewise.
+ (grub-script-check): Likewise.
+ (grub-editenv): Likewise.
+ (grub-mkpasswd-pbkdf2): Likewise.
+ (grub-fstest): Likewise.
+ (grub-mkfont): Likewise.
+ (grub-mkdevicemap): Likewise.
+ (grub-probe): Likewise.
+ (grub-setup): Likewise.
+ (grub-ofpathname): Likewise.
+ (grub-mklayout): Likewise.
+ (example_unit_test): Likewise.
+ (grub-menulst2cfg): Likewise.
+ * grub-core/Makefile.core.def (grub-emu): Likewise.
+ (grub-emu-lite): Likewise.
+ * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
+ * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
+ define HAVE_DIOCGDINFO.
+ (follow_geom_up) [FreeBSD]: New function.
+ (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
+ (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
+ (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
+ unconditionally of HAVE_DIOCGDINFO.
+
+2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix FreeBSD compilation problem.
+
+ * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
+ (FLOPPY_MAJOR) [FreeBSD]: Likewise.
+
+2011-03-24 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
+ Switch back to page zero before loading a kernel, since some kernel
+ drivers expect that.
+ Thanks to: Felix Kuehling.
+
+2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
+ [DEBUG_RELOCATOR]: Reuse grub_mm_check.
+ (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
+
+2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
+ (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
+
+2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
+ DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
+ malloc is disabled.
+
+2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
+ for modules headers when counting the needed allocation size.
+
+2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
+ if no ASCII character is found to prevent crash.
+
+2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
+
+ * grub-core/video/bitmap.c (match_extension): Ignore case.
+
+2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
+
+2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/script/parser.y: Declare "time" as valid argument.
+
+2011-03-23 Peter Jones <pjones@redhat.com>
+
+ Fix incorrect assert failure reporting.
+
+ * grub-core/tests/example_functional_test.c (example_test): Add
+ a failure comment.
+ * grub-core/tests/lib/test.c (add_failure): Renamed to ...
+ (failure_start): ...this. Check that malloc succeeded.
+ Don't call xvasprintf. Return failure struct.
+ (failure_append_vtext): New function.
+ (failure_append_text): Likewise.
+ (add_failure): Likewise.
+ (grub_test_assert_helper): Likewise.
+ * include/grub/test.h (grub_test_assert_helper): New declaration.
+ (grub_test_assert): Macro rewritten.
+
+2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
+
+2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/i386/pc/biosnum.c: Add missing include.
+
+2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
+ into GRUB-style one.
+
+2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
+ error and not grub_errno.
+ * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
+
+2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
+ GRUB_USB_SPEED_NONE in case of failure and not the error code.
+
+2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/efiemu/i386/pc/cfgtables.c
+ (grub_machine_efiemu_init_tables): Make declaration a prototype.
+ * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
+ (grub_xnu_unlock): Likewise.
+ * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
+
+2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/bus/usb/usb.c (attach_hooks): Make static.
+ * grub-core/bus/usb/usbhub.c (hubs): Likewise.
+ * grub-core/commands/hashsum.c (aliases): Likewise.
+ * grub-core/commands/setpci.c (pci_registers): Likewise.
+ * grub-core/disk/usbms.c (attach_hook): Likewise.
+ * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
+ (zio_checksum_table): Likewise.
+ * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
+ * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
+ * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
+ * grub-core/lib/relocator.c (leftovers): Likewise.
+ (extra_blocks): Likewise.
+ * grub-core/loader/i386/bsd.c (relocator): Likewise.
+ * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
+ (modules_last): Likewise.
+ * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
+ (devices): Likewise.
+ * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
+ (modules_last): Likewise.
+ * grub-core/normal/auth.c (users): Likewise.
+ * grub-core/normal/context.c (initial_menu): Likewise.
+ (current_menu): Likewise.
+ * grub-core/normal/crypto.c (crypto_specs): Likewise.
+ * grub-core/term/serial.c (grub_serial_ports): Likewise.
+ (grub_serial_terminfo_input_template): Likewise.
+ (grub_serial_terminfo_output_template): Likewise.
+ (grub_serial_terminfo_input): Likewise.
+ (grub_serial_terminfo_output): Likewise.
+ (registered): Likewise.
+ * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
+
+2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/video/bochs.c (grub_video_bochs_setup): Use
+ grub_video_mode_type_t.
+ * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
+ * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
+ * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
+
+2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-install.in: Correct the x86-64 name as x86_64.
+
+2011-03-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
+ initial chunk read from the kernel always includes GRUB's multiboot
+ header, which is now outside the first sector.
+
+2011-03-09 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
+ cached mmap_size, so that this works correctly when called multiple
+ times.
+ Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
+
+2011-03-09 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Simple configuration): Tidy up formatting.
+
+2011-03-07 Szymon Janc <szymon@janc.net.pl>
+
+ * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
+ Set-but-not-used variable removed.
+
+2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Workaround yet another IEEE1275 bug.
+
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
+ GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
+ * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
+ adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
+ is set.
+ * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
+ GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
+
+2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
+ error.
+
+2011-02-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
+ empty, since in that case we can only generate either nothing or a
+ syntactically invalid configuration file.
+ Reported by: Michal Suchanek. Fixes Debian bug #612898.
+
+2011-02-09 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
+ (Making a GRUB bootable CD-ROM): Likewise.
+ (Invoking grub-mkrescue): New section.
+ Reported by: Yann Dirson. Fixes Debian bug #612585.
+
+2011-02-09 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in: Remove unnecessary brackets from tr
+ arguments.
+ * util/grub.d/10_hurd.in: Likewise.
+ * util/grub.d/10_kfreebsd.in: Likewise.
+ * util/grub.d/10_linux.in: Likewise.
+ * util/grub.d/20_linux_xen.in: Likewise.
+ Reported by: Jamie Heilman. Fixes Debian bug #612564.
+
+2011-02-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/file.h (not_easly_seekable): Rename to ...
+ (not_easily_seekable): ... this. Update all users.
+
+2011-01-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
+ grub-mkrescue.
+
+2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkimage.c (generate_image): Refuse to create the images
+ bigger than the actual flash (512K) in Loongson machines. 512K is also
+ the biggest chip supported by them.
+
+2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
+
+2011-01-22 Anthony DeRobertis <anthony@derobert.net>
+
+ * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
+ super_offset field.
+
+2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-install.in: Ignore install device on platforms
+ where it doesn't make sense. Always use UUIDs except on pc, efi and
+ sparc64.
+ Reported by: Daniel Kahn Gillmor.
+
+2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
+
+2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
+ (iterate_real): Don't rely on partition being non-NULL.
+
+2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
+ supported platforms. Put a compile time assert for this rather than
+ generate a warning with 32-bit shift.
+
+2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
+ logical expression more readable.
+
+2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
+ even if some elements have a name.
+ Reported by: Alexander GQ Gerasiov.
+
+2011-01-22 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
+ path unreadable if `grub-probe -t abstraction' fails, for example if
+ memberlist fails on an LVM volume group.
+ Reported by: Darius Jahandarie.
+
+2011-01-22 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Simple configuration): Document
+ GRUB_PRELOAD_MODULES.
+
+2011-01-17 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Remove nonexistent grub-pbkdf2.
+
+2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Bump version to 1.99~rc1.
+
+2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
+ for safety.
+
+2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
+ module.
+
+2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
+
+2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
+ diskdevid.
+
+2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix compilation on cygwin.
+
+ * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
+ -R .drectve on cygwin.
+ * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
+ * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
+ (COND_CYGWIN): New condition.
+ * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
+ * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
+ not @TARGET_OBJ2ELF@.
+ * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
+ type to determine whether aux is to be used.
+
+2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
+ realpath'ed device string.
+ Handle floppy (somewhat).
+ Issue error in unknown case rather than garbage.
+ Reported by: Axel Beckert.
+
+2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/00_header.in (load_video): Handle the case when no video
+ drivers available.
+ Thanks to: Axel Beckert.
+
+2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
+ variable. Fixes problem on big endian platforms.
+
+2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
+ It doesn't work well there.
+
+2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/context.c (grub_env_context_close): Silence spurious
+ warning.
+ * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
+ * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
+ counter.
+
+2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use alias->path rather than buggy "canon".
+
+ * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
+ (ofdisk_hash_add): New argument curcan. All users updated.
+
+2011-01-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * configure.ac: Fall back to `true' if `makeinfo' does not exist.
+
+2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
+ loadmask before doing any calculations. Use correct type for offset.
+ (grub_linux_load64): Likewise.
+
+2011-01-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
+ with NULL.
+ (console_grub_equivalences_unshift): Likewise.
+ Reported by: Daniel Dehennin.
+
+2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
+ (set_env_limn_ro): Likewise.
+ (GRUB_MOD_INIT): Likewise.
+ * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
+ ARRAY_SIZE while on it.
+ (GRUB_MOD_FINI): Change to ARRAY_SIZE.
+ * grub-core/normal/context.c (grub_env_export): Move from here ...
+ * grub-core/kern/env.c (grub_env_export): ... here.
+ * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
+ prefix.
+ * grub-core/kern/main.c (grub_main): Export root and prefix.
+ * include/grub/env.h (grub_env_export): Export.
+ Reported by: Seth Goldberg.
+
+2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
+ Take into account space used by ELF sections and multiboot palette.
+ Reported by: Grégoire Sutre.
+
+2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * BUGS: New file.
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Pass more appropriate video id to Linux.
+
+ * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
+ grub_video_get_driver_id and variable gfxpayloadforcelfb to
+ fill have_vga.
+ (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
+ shift params->lfb_size.
+ * include/grub/i386/linux.h: Make an enume out of have_vga values.
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-menulst2cfg.c: Add missing include of misc.h.
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
+ separator and pass bootpath/devid even if only one of them is available.
+ Reported by: Seth Goldberg.
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Don't use post-4G memory on EFI even if 64-bit since some non-compliant
+ implementations bug on them.
+
+ * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
+ memory.
+ (filter_memory_map): Likewise.
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
+ Reported by: nebuchadnezzar.
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-kbdcomp.in: Add missing transform and bindir variables.
+ Reported by: nebuchadnezzar.
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Submenu default support.
+
+ * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
+ auto_boot. All users updated.
+ Declared static.
+ Handle chosen and default with submenus.
+ (grub_menu_execute_with_fallback): Declared static.
+ Don't notify failure if autobooted. Upper level does it.
+ (menuentry_eq): New function.
+ (get_entry_number): Use menuentry_eq.
+ (show_menu): New parameter "autobooted". All users updated.
+ (grub_show_menu): Likewise.
+ * include/grub/normal.h (grub_show_menu): Likewise.
+ * include/grub/menu.h (grub_menu_execute_entry): Removed.
+ (grub_menu_execute_with_fallback): Likewise.
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mklayout.c (usage): Update help text.
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-menulst2cfg.c (main): Trim the line.
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
+ (grub_machine_init): Don't check amount of low memory as reportedly
+ INT 12h can be broken and if low memory is too low we wouldn't have
+ gotten into grub_machine_init anyway.
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
+ (grub_machine_mmap_iterate): Take low memory into account
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
+ badfs.
+ Reported by: TiCPU.
+
+2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
+ members errors.
+
+2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
+ (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
+
+2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
+ openbsd and netbsd types being in part_bsd module.
+
+2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * config.h.in (_LARGEFILE_SOURCE): Add missing define.
+ (_FILE_OFFSET_BITS): Likewise.
+ Reported by: Seth Goldberg.
+
+2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * configure.ac: Check for libdevmapper header.
+
+2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
+ avoid aliasing.
+ (fzap_lookup): Likewise.
+ (dnode_get): Likewise.
+ (make_mdn): Likewise.
+ (zfs_mount): Likewise.
+ (fzap_iterate): Use temporary pointer to avoid aliasing.
+ (grub_zfs_read): Likewise.
+ * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
+ * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
+ pointers to avoid aliasing.
+ (grub_cmd_xnu_kernel64): Likewise.
+ (grub_xnu_load_driver): Likewise.
+
+2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
+ aliasing warning.
+ (grub_cmd_terminal_output): Likewise.
+ Reported and tested by: Grégoire Sutre.
+
+2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
+ warning.
+ Reported and tested by: Grégoire Sutre.
+
+2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Do CPU substitution even if it's specified explicitly.
+ Reported and tested by: Alain Greppin.
+
+2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
+ Reported and tested by: Alain Greppin.
+
+2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Satisfy some bison versions need for inttypes.h.
+
+ * grub-core/lib/posix_wrap/inttypes.h: New file.
+ * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
+ (int16_t): Likewise.
+ (int32_t): Likewise.
+ (int64_t): Likewise.
+ Reported and tested by: Alain Greppin.
+
+2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
+ Silence spurious warning.
+ Reported and tested by: Alain Greppin.
+
+2011-01-07 Szymon Janc <szymon@janc.net.pl>
+
+ * docs/grub.texi (Support automatic decompression): Update with xz
+ decompression support.
+
+2011-01-07 Szymon Janc <szymon@janc.net.pl>
+
+ Improve loaders' kernel command line handling.
+
+ * grub-core/lib/cmdline.c: New file.
+ * include/grub/lib/cmdline.h: Likewise.
+ * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
+ grub_create_loader_cmdline to create kernel command line.
+ * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
+ * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
+ * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
+ * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
+ (linux): Add lib/cmdline.c on common.
+
+2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
+ inopos might be unaligned.
+
+2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
+ endian transformations.
+ * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
+ Based on report by: Doug Nazar.
+
+2011-01-07 Doug Nazar <nazard.michi@gmail.com>
+
+ * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
+ array->members[i].start_sector.
+ * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
+
+2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
+ Reported and tested by: Grégoire Sutre.
+
+2011-01-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
+ avoid causing test failures by clearing the screen.
+
+2011-01-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
+ Fix prefix check to handle the case where dir ends with a slash
+ (most significantly, "/" itself).
+ Reported by: Michael Vogt.
+
+2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Run terminfo_cls on initing terminfo output to clear the screen and
+ move the cursor to (0,0).
+
+ * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
+ Call grub_terminfo_output_init.
+ * grub-core/term/serial.c (grub_serial_term_output): Set .init.
+ * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
+ * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
+
+2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
+ only when needed.
+
+2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
+ CTRL.
+
+2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ The E820 type 5 is BADRAM, not EXEC_CODE.
+
+ * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
+ (GRUB_E820_BADRAM): New define.
+ * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
+ into reserved. Propagate BADRAM.
+ * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
+ (GRUB_E820_BADRAM): New define.
+
+2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
+ Ignore the memory post-4G.
+ (grub_relocator_firmware_alloc_region): Additional debug statement.
+
+2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
+ names.
+ Reported by: David Pravec.
+
+2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
+ BIOSes.
+
+2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
+ Prevent overflow.
+ (grub_reed_solomon_recover): Likewise.
+
+2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
+
+2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
+ variable.
+
+2011-01-04 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
+ descriptions of extract_legacy_entries_source and
+ extract_legacy_entries_configfile.
+ Reported by: Seung Soo, Ha.
+
+2011-01-03 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
+ on devices that do not implement function 0.
+
+2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
+
+ * grub-core/fs/hfsplus.c: Make parent unsigned.
+ (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
+ overflows.
+ (grub_hfsplus_cmp_extkey): Likewise
+
+2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-install.in: Correctly use bootloader_id and not
+ GRUB_DISTRIBUTOR on efibootmgr line.
+
+2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkfont.c (main): Report errors in FT_New_Face.
+
+2010-12-31 Ian Campbell <ijc@hellion.org.uk>
+
+ * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
+ Xen and reorder menu item wording to make it clearer that this entry
+ will launch Xen. Print separate messages when loading Xen and
+ Linux.
+
+2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
+ (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
+ loop in case of incorrect amiga partmap.
+
+2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
+ (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
+ Reported by:EHeM.
+
+2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
+ spurious warning.
+ Reported by: crocket
+
+2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
+ Preload EFIemu.
+ (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
+
+2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
+ is loaded
+ (grub_cmd_xnu_kextdir): Likewise.
+ (grub_cmd_xnu_splash): Likewise.
+
+2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Avoid using Reed-Solomon with 0 redundancy.
+
+ * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
+ * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
+ or 0 redundancy.
+ (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
+ (grub_reed_solomon_recover): Likewise.
+
+2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Don't use disk subsystem in freebsd_boot.
+
+ * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
+ (freebsd_biosdev): Likewise.
+ (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
+ (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
+
+2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Handling of files of unknown size is currently limited. They can't be
+ used e.g. for initrd or modules. Moreover gzip handling of not
+ easily seekable files is buggy. Disable unknown file size for now. May
+ be inefficient but works.
+
+ * grub-core/io/gzio.c (test_header): Always retrieve the file size.
+ * grub-core/io/xzio.c (grub_xzio_open): Likewise.
+
+2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
+
+ * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
+ floppy probe.
+
+2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
+
+ * grub-core/disk/raid.c (insert_array): Don't add spurious members.
+
+2010-12-25 Shea Levy <shlevy>
+
+ * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
+
+2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
+ Windows Server 2008.
+ Reported by: Devin Giddings.
+
+2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
+ writing an error message because of async power management.
+ * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
+ (grub_reboot): Likewise.
+
+2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
+
+ * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
+ keep unit tests from failing when they shouldn't.
+
+2010-12-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
+ previous patch increased the size of the RS code by 20 bytes (at
+ least with gcc-4.4), so increase this by 20 bytes to match.
+ (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
+
+2010-12-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
+ scratch area. Make sure to initialise chosen in standalone mode as
+ well as non-standalone.
+ Reported by: Robert Hooker and Andy Whitcroft.
+ Tested by: Andy Whitcroft.
+
+2010-12-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
+ constructing a new unescaped string and passing it to grub_xputs in
+ one go, rather than passing characters to grub_printf one at a time.
+
+2010-12-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/fs/udf.c (read_string): Pacify GCC warning by
+ initialising utf16.
+
+2010-12-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
+ comment. Add an extra layer of quotation, requiring the output of
+ this function to be used in a printf format string.
+ (gettext_printf): New function.
+ * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
+ Extract translatable strings from here-documents and use a temporary
+ variable instead, so that xgettext can find them.
+ * util/grub.d/10_kfreebsd.in: Likewise.
+ * util/grub.d/10_linux.in: Likewise.
+ * util/grub.d/20_linux_xen.in: Likewise.
+
+ * po/grub.d.sed: New file.
+ * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
+ arguments. Set c-format flags on all strings extracted from
+ util/grub.d/ (xgettext refuses to include these itself for strings
+ it extracted from a shell file, but these really are c-format).
+
+2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
+ Avoid next pointing to nowhere.
+
+2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
+ rather than assuming than rootblock is exactly in the middle.
+ (grub_affs_label): Likewise.
+
+2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
+ reserved_first_sector to 0.
+ * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
+ * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
+ * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
+
+2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix handling of UTF-16 UDF labels.
+
+ * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
+ (read_string): .. here.
+ (grub_udf_label): Use read_string.
+
+2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * grub-core/normal/menu_entry.c (run): Execute commands from menu
+ editor under argument scope.
+ Reported by: Jordan Uggla
+
+2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
+
+2010-12-18 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/normal/term.c (print_more): Make \r or \n scroll one
+ line, and other keys scroll an entire page (previous handling was
+ for \r and \n to scroll a page and other keys to scroll two lines).
+
+2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
+ Set ptrdest to correct get_physical_target_address rather than
+ incorrect get_virtual_current_address.
+
+2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
+
+ * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
+ correct cat to grub_uint8_t * rather than grub_uint32_t *.
+
+2010-12-10 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Ignore grub-core/rs_decoder.S.
+
+2010-12-10 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
+ .mo/.mo.gz opening sequence to ...
+ (grub_mofile_open_lang): ... here.
+ (grub_gettext_init_ext): If opening ll_CC fails, try ll.
+ * util/grub.d/00_header.in (grub_lang): Include country part of
+ locale.
+ Reported by: Mario Limonciello.
+
+2010-12-09 Robert Millan <rmh@gnu.org>
+
+ * NEWS: Document addition of ZFS support.
+
+2010-12-04 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
+ rather than `/ 2', as the latter requires -Wa,--divide which would
+ require bumping our minimum binutils version.
+
+2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * util/grub-script-check.c (main): Print script line number on
+ error.
+
+2010-12-01 Robert Millan <rmh@gnu.org>
+
+ * grub-core/fs/zfs/zfs.c: New file.
+ * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
+ * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
+ * grub-core/fs/zfs/zfs_sha256.c: Likewise.
+ * grub-core/fs/zfs/zfsinfo.c: Likewise.
+
+ * include/grub/zfs/dmu.h: Likewise.
+ * include/grub/zfs/dmu_objset.h: Likewise.
+ * include/grub/zfs/dnode.h: Likewise.
+ * include/grub/zfs/dsl_dataset.h: Likewise.
+ * include/grub/zfs/dsl_dir.h: Likewise.
+ * include/grub/zfs/sa_impl.h: Likewise.
+ * include/grub/zfs/spa.h: Likewise.
+ * include/grub/zfs/uberblock_impl.h: Likewise.
+ * include/grub/zfs/vdev_impl.h: Likewise.
+ * include/grub/zfs/zap_impl.h: Likewise.
+ * include/grub/zfs/zap_leaf.h: Likewise.
+ * include/grub/zfs/zfs.h: Likewise.
+ * include/grub/zfs/zfs_acl.h: Likewise.
+ * include/grub/zfs/zfs_znode.h: Likewise.
+ * include/grub/zfs/zil.h: Likewise.
+ * include/grub/zfs/zio.h: Likewise.
+ * include/grub/zfs/zio_checksum.h: Likewise.
+
+ * Makefile.util.def: Build ZFS into libgrubmods.
+ * grub-core/Makefile.core.def: Build zfs.mod.
+
+2010-11-30 Szymon Janc <szymon@janc.net.pl>
+
+ * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
+ variable.
+ * grub-core/commands/wildcard.c (match_files): Likewise.
+
+2010-11-30 Robert Millan <rmh@gnu.org>
+
+ * grub-core/loader/i386/bsd.c
+ (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
+ whether kernel is loaded using grub_loader_is_loaded(), rather
+ than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
+ certain error conditions.
+
+2010-11-30 Robert Millan <rmh@gnu.org>
+
+ * grub-core/commands/echo.c: Include `<grub/term.h>'.
+ (grub_cmd_echo): Call grub_refresh() after printing a message.
+
+2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Avoid using tricks for initialising endian variables.
+
+ * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
+ Make const.
+ (GRUB_MOD_INIT): Don't byte-swap.
+ * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
+ Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
+ * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
+ (grub_swap_bytes32_compile_time): Likewise.
+ (grub_cpu_to_le32_compile_time): Likewise.
+ (grub_cpu_to_le16_compile_time): Likewise.
+
+2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-setup.c (setup): Stop recommending --force. People who
+ understand the dangers of blocklists are able to find this option
+ anyway and the ones who don't shouldn't use it anyway.
+
+2010-11-26 Robert Millan <rmh@gnu.org>
+
+ * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
+ Update all users.
+
+2010-11-26 Colin Watson <cjwatson@ubuntu.com>
+
+ Fix LVM-on-RAID probing.
+
+ * util/grub-probe.c (probe): Remember which disk was detected as
+ RAID (perhaps an LVM physical volume). Use that disk's raidname
+ rather than that of the top-level disk.
+
+2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix cmdline argument quotes for setparams command of menuentry
+ definitions.
+
+ * grub-core/commands/menuentry.c (setparams_prefix): Use single
+ quotes for arguments.
+ * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
+ grub_strchrsub function instead.
+
+ * include/grub/misc.h (grub_strchrsub): New function.
+
+2010-11-24 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
+ effort by skipping "." and ".." entries up-front.
+ Suggested by: Michael Lazarev.
+
+2010-11-24 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
+ ldflags to ldadd, to fix link line ordering.
+ (none_decompress): Likewise.
+
+2010-11-24 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
+ platforms.
+ (grub-emu-lite): Remove kern/emu/cache.S.
+
+2010-11-23 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/deviceiter.c (compare_devices): If the by-id link for a
+ device couldn't be resolved, fall back to sorting by the by-id link
+ rather than segfaulting.
+ Reported and tested by: Daniel Mierswa.
+
+2010-11-23 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
+ ldflags, to fix link line ordering.
+
+2010-11-23 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
+ linkers are picky about this.
+
+2010-11-23 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/Makefile.am (command.lst): Adjust sed expression
+ ordering so that extended and priority commands aren't treated as
+ ordinary commands.
+
+2010-11-23 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
+ Remove byte-swapping function calls, which are not valid in
+ structure initialisers.
+ * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
+ non-const.
+ (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
+ grub_gpt_partition_type_bios_boot.
+
+2010-11-22 Colin Watson <cjwatson@ubuntu.com>
+
+ Fix test program build on GNU/kFreeBSD.
+
+ * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
+ $(LIBNVPAIR)' library dependencies.
+
+2010-11-22 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
+
+2010-11-22 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in: Remove excessive quoting that broke
+ installations to RAID devices.
+
+2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
+ bootloader version instead of 0.
+
+2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
+ warning.
+
+2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
+ retrieve the metadat sector if size isn't known.
+ * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
+
+2010-11-18 Robert Millan <rmh@gnu.org>
+
+ * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
+ with grub_memcmp().
+
+2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
+ arrow.
+ Reported by: Jordan Uggla.
+
+2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Make better UTF compliant.
+
+ * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
+ sequences as incorrect.
+ (grub_is_valid_utf8): Likewise.
+ (grub_utf8_to_ucs4): Likewise.
+ (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
+ (grub_ucs4_to_utf8_alloc): Likewise.
+ * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
+
+2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Make legacy_source behave like source.
+
+ * grub-core/commands/legacycfg.c (legacy_file): Don't call
+ grub_show_menu.
+ (grub_cmd_legacy_source): Call grub_show_menu if needed.
+
+2010-11-16 Colin Watson <cjwatson@debian.org>
+
+ * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
+ (-Wunused implies -Wunused-parameter, but not vice versa).
+
+2010-11-16 Colin Watson <cjwatson@ubuntu.com>
+
+ * configure.ac: Make error messages less confusing by testing for
+ -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
+ accepted, but produces a diagnostic if something else is wrong).
+
+2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
+ [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
+ (now unused).
+ (grub_keyboard_controller_init)
+ [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
+ read the initial state since controller isn't inited yet.
+
+2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/relocator.c (malloc_in_range): Take into account that
+ allocate_regbeg may need to create new chunk header.
+
+2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix quoting in legacy parser.
+
+ * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
+ single quotes.
+ (grub_legacy_parse): Likewise.
+ Reported by: Jordan Uggla.
+ Tested by: Jordan Uggla.
+
+2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Don't add -lgcc on i386 and x86_64.
+
+ * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
+ * conf/Makefile.common (LDADD_KERNEL): Likewise.
+ * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
+
+2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Add -Wno-trampolines when supported.
+
+2010-11-14 Modestas Vainius <modax@debian.org>
+
+ * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
+ fakeraid.
+
+2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
+
+ Add generic logical block size support for UDF.
+
+ * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
+ (GRUB_UDF_BLKSZ): Removed.
+ (struct grub_udf_data): New field "lbshift" to hold the logical block
+ size of the file system in log2 format. All users updated.
+ (sblocklist): Change type to unsigned.
+ (grub_udf_mount): Change type of "sblklist" to unsigned.
+ Move AVDP search before VRS recognition, because the latter requires
+ knowledge of the logical block size, which is detected during the
+ former.
+ Detect and validate logical block size during AVDP search, adding
+ support for block sizes 512, 1024 and 4096.
+ Make VRS recognition independent of block size.
+
+2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
+
+ Properly handle deleted files on UDF.
+
+ * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
+ whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
+ set.
+
+2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
+
+ Support reading files larger than 2 GiB.
+
+ * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
+ "offset" to grub_off_t.
+ (grub_udf_read_file): Likewise for parameter "pos".
+
+2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
+ unavailable.
+ (Simple configuration): Refer to Changes from GRUB Legacy about
+ save_env availability.
+
+2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-install.in: Ignore empty partition table detection
+ instead of trying to include part_ module.
+
+2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
+ LVM on RAID support.
+
+2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Properly define WORDS_BIGENDIAN in wrapped environments.
+
+ * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
+ definition.
+ * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
+
+ Reported by: Manoel Rebelo Abranches.
+ Tested by: Manoel Rebelo Abranches.
+
+2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkconfig.in: Fix quoting.
+
+2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support big ext2 files.
+
+ * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
+ (grub_ext2_read_block): Support triple indirect blocks.
+ (grub_ext2_read_file): Use 64-bit types and read size_high.
+ (grub_ext2_open): Read size_high.
+ Reported by: Ximin Luo.
+ Tested by: Manoel Rebelo Abranches.
+
+2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-install.in: Handle filenames containing spaces.
+ Reported by: Jordan Uggla.
+ Tested by: Jordan Uggla.
+
+2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkconfig.in (grub_script_check): New variable.
+ Use grub_script_check instead of grub-script-check.
+ Reported by: Barry Jackson.
+
+2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (menu): Correct the order.
+ Reported by: D. Hugh Redelmeier.
+
+2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
+ jump.
+
+2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
+
+ * include/grub/elfload.h (grub_elf32_size): New parameter.
+ All users updated.
+ Return maximum segments alignment.
+ (grub_elf64_size): Likewise.
+ * kern/elf.c (grub_elf32_size): New parameter. All users updated.
+ Return maximum segments alignment.
+ (grub_elf64_size): Likewise.
+ * grub-core/loader/powerpc/ieee1275/linux.c:
+ (grub_linux_claimmap_iterate): New function. Uses the
+ "available" property in the "memory" node for memory allocation
+ for kernel in the PowerPC loader.
+ (grub_linux_load32): Correctly find linux entry point offset.
+ (grub_linux_load64): Likewise.
+
+2010-11-07 Robert Millan <rmh@gnu.org>
+
+ On mips-yeeloong, build with -march=loongson2f when this flag is
+ available (GCC >= 4.4).
+ * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
+ `-march=mips3'.
+ * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
+ or otherwise add -march=mips3.
+
+2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Suppress shell expansion on echo '*' and echo "*" like cases.
+ Reported by: Jordan Uggla.
+
+ * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
+ string arguments before shell expansion.
+ * tests/grub_cmd_echo.in: New testcases.
+
+2010-11-07 Robert Millan <rmh@gnu.org>
+
+ * conf/mips-qemu-mips.rmk: Remove stale file from previous
+ transition.
+
+2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c
+ (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
+
+2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
+ * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
+ * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
+
+2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
+
+2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-install.in: Replace useless recomendation to pass
+ --modules with a recomendation to report a bug.
+
+2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Properly register serial terminfo.
+ Reported by: Jordan Uggla
+
+ * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
+ const.
+ (grub_serial_terminfo_output_template): Likewise.
+ (grub_cmd_serial): Register "serial" with terminfo.
+ (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
+ grub_serial_terminfo_output.
+
+2010-11-05 Robert Millan <rmh@gnu.org>
+
+ * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
+ needed).
+
+2010-11-05 Robert Millan <rmh@gnu.org>
+
+ On Yeeloong, pass machine type information to Linux.
+
+ * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
+ (LOONGSON_MACHTYPE): New macro, set to
+ "machtype=lemote-yeeloong-2f-8.9inches".
+ [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
+ additional argument to Linux.
+
+2010-11-04 Robert Millan <rmh@gnu.org>
+
+ * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
+ limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
+ (its SATA disks are detected as slaveless IDE master drives on
+ kFreeBSD).
+ Reported by Carsten Aulbert.
+
+2010-11-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/bin2h.c (main): Fix spelling error in generated output.
+
+2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
+
+2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
+ vga= option is supplied.
+
+2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
+ * util/grub.d/10_kfreebsd.in: Likewise.
+ * util/grub.d/10_linux.in: Likewise.
+ * util/grub.d/20_linux_xen.in: Likewise.
+
+2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
+ argument as an argument to no-argument option.
+
+2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/10_linux.in: Add missing load_video with explicit
+ GRUB_GFXPAYLOAD_LINUX.
+
+2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
+
+2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
+ elements with invlid index.
+ * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
+ * grub-core/disk/raid.c (insert_array): Automatically reallocate
+ members.
+ * include/grub/raid.h (grub_raid_member): New struct.
+ (grub_raid_array): Transform devices and start_sector into usage of
+ grub_raid_member. All users updated
+ (allocated_devs): New member.
+
+2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/man/grub-set-default.h2m: Clarify that only saved default entry
+ is modified
+
+2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
+
+ NetBSD build fix for getline function conflict from gnulib.
+
+ * Makefile.util.def (libgrubkern.a): New library for grub kernel
+ components that depend on gnulib headers.
+ (libgrubmods.a): Renamed from earlier libgrub.a.
+ * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
+
+2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
+ install rather than creating a broken install.
+
+2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-setup.c (argp): Remove misleading example of installing to
+ a partition.
+
+2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-setup.c (setup): Clarify the error message.
+
+2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/types.h (grub_target_off_t): Removed no longer used type.
+
+2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/misc.c
+ (grub_make_system_path_relative_to_its_root)
+ [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
+
+2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/misc.c
+ (grub_make_system_path_relative_to_its_root): Revert r2882.
+
+2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
+ useless field head. All users updated.
+ (free_subchunk): Correct handling of IN_REGION subchunk.
+
+2010-10-22 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Installing GRUB using grub-install): Proofread.
+ (Supported kernels): Likewise.
+
+2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ Make mktemp invocations portable.
+
+ * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
+ exit if mktemp fails.
+ * tests/grub_script_blockarg.in: Likewise.
+ * tests/partmap_test.in: Likewise.
+ * tests/util/grub-shell-tester.in: Likewise.
+ * tests/util/grub-shell.in: Likewise.
+ * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
+ * Makefile.am: Likewise, and chain shell commands with `&&'
+ instead of ';'.
+ * util/grub-mkrescue.in: Use the same explicit template as above, and
+ exit if mktemp fails.
+
+2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
+ Linux kernel, reported by Dennis Schridde.
+
+2010-10-17 Szymon Janc <szymon@janc.net.pl>
+
+ * grub-core/normal/auth.c (grub_auth_check_authentication):
+ Set-but-not-used variable removed.
+
+2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (GNU/Linux): Document APM unavailability with
+ 32-bit linux protocol.
+
+2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
+ cursor shape for sanity.
+
+2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Installation): Document buggy BIOS install.
+
+2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Installation): Indent.
+
+2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-setup.c (setup): New parameter allow_floppy.
+ (arguments): New member allow_floppy.
+ (argp_parser): Handle --allow-floppy.
+ (main): Pass allow_floppy.
+ * util/grub-install.in: New option --allow-floppy passed though to
+ grub-setup.
+
+2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-install.in: Handle partitionless disks.
+
+2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-setup.c (setup): Don't clean blocklists before readability
+ verfification.
+
+2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Installation): Document embedding zone. Remove
+ obsolete grub-install example.
+
+2010-10-16 Szymon Janc <szymon@janc.net.pl>
+
+ * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
+ Set-but-not-used variable ifdef'ed.
+ * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
+ * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
+ variable removed.
+ * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
+ * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
+ * grub-core/fs/minix.c (grub_minix_dir): Likewise.
+ * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
+ * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
+ * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
+ * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
+ * grub-core/gfxmenu/widget-box.c (draw): Likewise.
+ * grub-core/lib/relocator.c (malloc_in_range): Likewise.
+ * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
+ * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
+ Likewise.
+
+2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
+ * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
+ enum value.
+
+2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
+ synonym to _S5_. Needed for some DSDTs.
+
+2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Userspace ACPI parser debugging.
+
+ * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
+ headers and add relevant defines. Don't include standard headers.
+ (main) [GRUB_DSDT_TEST]: New function.
+ * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
+ Don't declare functions.
+
+2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove dead grub_efi_mm_fini.
+
+ * grub-core/kern/efi/mm.c (allocated_page): Removed.
+ (ALLOCATED_PAGES_SIZE): Likewise.
+ (MAX_ALLOCATED_PAGES): Likewise.
+ (allocated_pages): Likewise.
+ (grub_efi_allocate_pages): Don't record allocated pages.
+ (grub_efi_free_pages): Likewise.
+ (grub_efi_mm_init): Likewise.
+ (grub_efi_mm_fini): Removed.
+
+2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
+ (grub_efi_mm_init): Take into account the memory map size increase.
+
+2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
+ (serial_hw_put): Wait based on real time rather than port reads. Don't
+ roken ports.
+ * include/grub/serial.h (grub_serial_port): New field broken.
+
+2010-10-16 Robert Millan <rmh@gnu.org>
+
+ * grub-core/kern/emu/misc.c
+ (grub_make_system_path_relative_to_its_root): Fix premature return
+ when processing non-root ZFS filesystems.
+ Reported by Sergio Talens-Oliag.
+
+2010-10-15 Robert Millan <rmh@gnu.org>
+
+ * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
+ guarantee compressed ones are processed first.
+
+2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
+ grub_efiemu_autocore.
+
+2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
+ rather than 0x1b.
+ (grub_console_getkey): Use correct jae opcode rather than ja.
+
+2010-10-12 Robert Millan <rmh@gnu.org>
+
+ * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
+ `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
+ variable. All references updated.
+
+ * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
+
+2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Correctly distinguish mdraid flavours.
+
+ * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
+ (insert_array): New argument raid.
+ * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
+ * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
+ * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
+
+2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
+ handling of special keys.
+
+2010-10-02 Aleš Nesrsta <starous@volny.cz>
+
+ * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
+ GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
+
+2010-10-02 Aleš Nesrsta <starous@volny.cz>
+
+ * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
+ * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
+ users updated.
+ * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
+ Use right endpoint when querying descriptor.
+
+2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Clear out 0x80 color bit on EFI.
+ Tested by: decoder
+ Reported by: decoder and meta tech.
+
+ * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
+ (grub_console_setcolorstate): Clear out 0x80 bit.
+ Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
+ (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
+ Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
+
+2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
+ Set to "auto".
+
+2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
+ mo_file after freeing.
+
+2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/term.c (read_terminal_list): Free in a right order.
+
+2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
+ flags.
+
+2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
+ usage.
+
+2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Put terminfo into core on ieee1275 and yeeloong (needed for console).
+
+ * gentpl.py: New groups terminfoinkernel and terminfomodule.
+ * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
+ and terminfo.h when needed.
+ * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
+ term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
+ (terminfo): Enable only on terminfokernel.
+ (extcmd): Likewise.
+ * include/grub/extcmd.h: Add missing EXPORT_FUNC.
+ * include/grub/lib/arg.h: Likewise.
+ * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
+ incorrect usage of ->.
+
+2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
+ [GRUB_MACHINE_EFI && __i386__]: Fix typo.
+
+2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix coreboot compilation.
+
+ * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
+ Take VBE info into account even if only text is supported.
+ (fill_vbe_info): Take into account the case when only VGA text
+ is supported.
+ * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
+ on coreboot, multiboot and qemu.
+
+2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
+ debug messages.
+ (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
+
+2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
+ parameters.
+
+2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
+ if they were BSD-style.
+
+2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/boot/i386/pc/lnxboot.S: Replace
+ GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
+ GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
+
+2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Write embedding zone using Reed-Solomon.
+
+ * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
+ * grub-core/Makefile.am (rs_decoder.S): New target.
+ (kern/i386/pc/startup.S): Depend on rs_decoder.S.
+ * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
+ (multiboot): Move to RS part.
+ (post_reed_solomon): New label.
+ (grub_boot_drive): Move to non-RS part since it's modified in memory
+ on boot.
+ Include rs_decoder.S.
+ * grub-core/lib/reed_solomon.c: New file.
+ * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
+ New definition.
+ (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
+ (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
+ (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
+ * include/grub/partition.h (grub_partition_map): Change prototype of
+ embed to allow returning additional sectors.
+ * include/grub/reed_solomon.h: New file.
+ * util/grub-setup.c (setup): Handle Reed-Solomon.
+
+2010-09-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
+ i386 and x86-64 definedness tests.
+
+2010-09-27 Yves Blusseau <blusseau@zetam.org>
+
+ Fix generation of kernel_syms.lst
+
+ * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
+ ASM_PREFIX
+
+2010-09-26 Robert Millan <rmh@gnu.org>
+
+ Support degraded ZFS arrays in "grub-probe -t device" resolution.
+
+ * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
+ the pool is an array of devices, iterate through it and return the
+ first device that passes a stat() test (instead of blindly returning
+ the first one).
+
+2010-09-26 Robert Millan <rmh@gnu.org>
+
+ Build fixes for GNU/kFreeBSD.
+
+ * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
+ to programs that require ZFS conversion.
+ * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
+ kernels that don't have FLOPPY_MAJOR.
+
+2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
+
+2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix grub-emu build.
+
+ * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
+ * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
+ mdraid09 and mdraid1x.
+
+2010-09-24 Colin Watson <cjwatson@ubuntu.com>
+
+ Re-enable grub-extras.
+
+ * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
+ avoid confusing Automake. Run autogen only twice, once for the top
+ level and once for grub-core. Add Makefile.util.def and
+ Makefile.core.def from extra modules to the appropriate autogen
+ invocations. If Makefile.common exists in an extra module, include
+ it in both Makefile.util.am and grub-core/Makefile.core.am;
+ similarly, include any Makefile.util.common file in Makefile.util.am
+ and any Makefile.core.common file in grub-core/Makefile.core.am.
+ * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
+ Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
+ ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
+ * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
+
+ * gentpl.py (gvar_add): Turn GVARS into a set.
+ (global_variable_initializers): Sort global variables on output.
+ (vars_init): New function.
+ (first_time): Likewise.
+ (library): Ensure that non-global variable initialisations are
+ emitted before the first time we emit code for a library block.
+ Append to variables rather than setting them. Only emit
+ noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
+ each conditional path.
+ (program): installdir() emits an Autogen macro, so must be passed to
+ var_add rather than gvar_add.
+ (data): Likewise.
+ (script): Likewise.
+ (rules): New function, centralising handling for different target
+ types. Set up Guile association lists for first_time and vars_init,
+ and send most output to a diversion so that variable initialisations
+ can be emitted first.
+ (module_rules): Use new rules function.
+ (kernel_rules): Likewise.
+ (image_rules): Likewise.
+ (library_rules): Likewise.
+ (program_rules): Likewise.
+ (script_rules): Likewise.
+ (data_rules): Likewise.
+
+ * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
+
+ * .bzrignore: Add contrib and grub-core/contrib. Remove
+ grub-core/Makefile.gcry.am.
+
+2010-09-24 Yves Blusseau <blusseau@zetam.org>
+
+ * grub-core/lib/LzFind.c: Add missing include.
+ * grub-core/lib/LzmaEnc.c: Likewise.
+ * grub-core/script/lexer.c: Likewise.
+ * grub-core/script/yylex.l: Likewise.
+ * util/grub-macho2img.c: Likewise.
+ * util/grub-menulst2cfg.c: Likewise.
+ * util/grub-mklayout.c: Likewise.
+ * util/grub-mkpasswd-pbkdf2.c
+ * util/grub-mkrelpath.c: Likewise.
+ * util/resolve.c: Likewise.
+
+2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * Makefile.util.def (example_unit_test): Add
+ grub-core/gnulib/libgnu.a.
+
+2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
+
+2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support xz compression on yeeloong.
+
+ * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
+ * configure.ac: Check for LZMA.
+ * grub-core/Makefile.core.def (xz_decompress): New target.
+ (none_decompress): Likewise.
+ * grub-core/boot/decompressor/minilib.c: New file.
+ * grub-core/boot/decompressor/none.c: Likewise.
+ * grub-core/boot/decompressor/xz.c: Likewise.
+ * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
+ * grub-core/kern/mips/cache_flush.S: Likewise.
+ * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
+ * grub-core/kern/mips/startup.S: Move first stage to ...
+ * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
+ nomacro.
+ * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
+ * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
+ * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
+ Allocate statically.
+ * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
+ Allocate statically or use scratch. Don't check CRC32.
+ * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
+ Allocate statically. Don't check CRC32.
+ * include/grub/decompressor.h: New file.
+ * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
+ Removed.
+ (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
+ (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
+ (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
+ (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
+ (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
+ * util/grub-mkimage.c (grub_compression_t): New type.
+ (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
+ (image_target_desc): New field default_compression.
+ (image_targets): Adjust yeeloong targets.
+ (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
+ (compress_kernel): New parameter comp.
+ (generate_image): Likewise. Handle new compression case.
+ (options): New option --compression
+ (help): Likewise.
+ (main): Handle new option.
+
+2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
+
+2010-09-22 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
+ typo in __i386__ conditional.
+
+2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
+ include.
+
+2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Implement EFI and ACPI multiboot2 extensions.
+
+ * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
+ new tags as supported.
+ (acpiv2_size): New function.
+ (grub_multiboot_get_mbi_size): Take new tags into account.
+ (grub_multiboot_make_mbi): Add new tags.
+ * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
+
+2010-09-21 Aleš Nesrsta <starous@volny.cz>
+
+ * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
+ Added missing configuration of USB device.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/normal/menu_entry.c (run): Make sure we always return
+ a value.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
+ NumberOfPages is UINT64 according to the UEFI specification, not
+ UINTN. Fix printf format.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
+ `err' to grub_usb_err_t.
+ Reported and tested by: KESHAV P.R.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
+ tpart non-const, so that we can assign to it. (Since this is a
+ typedef, the constness refers to the pointer rather than what it
+ points to.)
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * conf/Makefile.common (CPPFLAGS_GNULIB): Add
+ $(top_srcdir)/grub-core/gnulib as well as
+ $(top_builddir)/grub-core/gnulib.
+ Reported by: KESHAV P.R.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in: Fix the bootloader ID option to be
+ consistently --bootloader-id, not --bootloader_id.
+ Reported by: KESHAV P.R.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
+ check hash checksum." consistently translatable.
+
+2010-09-21 Yves Blusseau <blusseau@zetam.org>
+
+ * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
+ $(top_builddir).
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
+ (GRUB_MOD_INIT): Register sha1sum command.
+ (GRUB_MOD_FINI): Unregister sha1sum command.
+
+2010-09-21 Yves Blusseau <blusseau@zetam.org>
+
+ Keep boot and grub directory names in sync with utils scripts
+
+ * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
+ * config.h.in: Add previous macros.
+ * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
+ * util/grub-install.in: Use $bootdir and $grubdir variables.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
+ convert partition names to disk names if the new `convert' parameter
+ is set.
+ (grub_util_biosdisk_get_grub_dev): If opening the disk device
+ returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
+ disk in its own right. This can happen with Xen disk images.
+
+2010-09-21 Yves Blusseau <blusseau@zetam.org>
+
+ * util/grub-editenv.c: Update strings to avoid warnings when generating
+ grub.pot file.
+ * util/grub-setup.c: Likewise.
+
+2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Change version to 1.99~beta0.
+
+2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
+ Add BADRAM.
+ * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
+ Likewise.
+ * include/multiboot.h: Resynced with specification.
+ * include/multiboot2.h: Likewise.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ Fix po directory handling.
+
+ * configure.ac: Create po/Makefile.in rather than po/Makefile.
+ * grub-core/gnulib/Makefile.am: Import gettext module.
+ * m4/gnulib-cache.m4: Likewise.
+ * m4/gnulib-comp.m4: Likewise.
+ * m4/gettext.m4: New file, from gnulib.
+ * m4/glibc2.m4: Likewise.
+ * m4/iconv.m4: Likewise.
+ * m4/intdiv0.m4: Likewise.
+ * m4/intl.m4: Likewise.
+ * m4/intldir.m4: Likewise.
+ * m4/intlmacosx.m4: Likewise.
+ * m4/intmax.m4: Likewise.
+ * m4/inttypes-pri.m4: Likewise.
+ * m4/lcmessage.m4: Likewise.
+ * m4/lib-ld.m4: Likewise.
+ * m4/lib-link.m4: Likewise.
+ * m4/lib-prefix.m4: Likewise.
+ * m4/lock.m4: Likewise.
+ * m4/nls.m4: Likewise.
+ * m4/po.m4: Likewise.
+ * m4/printf-posix.m4: Likewise.
+ * m4/progtest.m4: Likewise.
+ * m4/threadlib.m4: Likewise.
+ * m4/uintmax_t.m4: Likewise.
+ * m4/visibility.m4: Likewise.
+ * po/Makefile.am: Remove.
+ * po/Makefile.in.in: New file, from gettext.
+ ($(DOMAIN).pot-update): Support POTFILES-shell.
+ * po/Makevars: New file.
+ * po/POTFILES-shell: Rename to ...
+ * po/POTFILES-shell.in: ... this. Update.
+ * po/POTFILES: Rename to ...
+ * po/POTFILES.in: ... this. Update.
+ * po/Rules-quot: New file, from gettext.
+ * po/boldquot.sed: Likewise.
+ * po/en@boldquot.header: Likewise.
+ * po/en@quot.header: Likewise.
+ * po/insert-header.sin: Likewise.
+ * po/quot.sed: Likewise.
+ * po/remove-potcdate.sin: Likewise.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/20_linux_xen.in: Use submenus.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support submenus.
+
+ * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
+ parameter submenu. All users updated.
+ * grub-core/normal/main.c (free_menu): Rename to ...
+ (grub_normal_free_menu): ... this. Made global.
+ * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
+ if requested.
+ * grub-core/normal/menu_entry.c (screen): New field submenu.
+ (make_screen): Set submenu.
+ (run): Open new context if requested.
+ * include/grub/menu.h (grub_menu_entry): New field submenu.
+ * include/grub/normal.h (grub_normal_free_menu): New proto.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Menu entries extractor.
+
+ * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
+ variants.
+ (GRUB_MOD_INIT): Register new variants.
+ (GRUB_MOD_FINI): Unregister new variants.
+ * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
+ into grub_cmd_legacy_source.
+ (grub_cmd_legacy_source): Implement extractor variants.
+ (GRUB_MOD_INIT): Register new variants.
+ (GRUB_MOD_FINI): Unregister new variants.
+ * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
+ as an extractor.
+ * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
+ search as an extractor.
+ * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
+ test as an extractor.
+ * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
+ as an extractor.
+ * grub-core/normal/context.c (grub_env_context_open): Reorganised.
+ (grub_env_new_context): New function.
+ (grub_env_context_open): Likewise.
+ (grub_env_extractor_open): Likewise.
+ (grub_env_extractor_close): Likewise.
+ * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
+ grub_extractor_level.
+ * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
+ * include/grub/env.h (grub_env_extractor_open): New proto.
+ (grub_env_extractor_close): Likewise.
+ * include/grub/normal.h (grub_extractor_level): New external variable.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Make cutmem accept a region specification.
+ Suggested by: Samuel Thibault
+
+ * grub-core/mmap/mmap.c (parsemem): New function.
+ (grub_cmd_cutmem): Handle new arguments.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ New command cutmem.
+
+ * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
+ (GRUB_MOD_INIT): Register new command.
+ (GRUB_MOD_FINI): Unregister new command.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support some annoying BSD and Minix subpartitions.
+
+ * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
+ * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
+ Properly handle concatenation.
+ * grub-core/kern/device.c (grub_device_iterate): Likewise.
+ * grub-core/normal/completion.c (iterate_partition): Likewise.
+ * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
+ contain partition. All users updated.
+ * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
+ struct.
+ (grub_openbsdlabel_partition_map): Likewise.
+ (bsdlabel_partition_map_iterate): Rename to ..
+ (iterate_real): ... this. New arguments sector, freebsd and pmap.
+ (bsdlabel_partition_map_iterate): New function.
+ (netopenbsdlabel_partition_map_iterate): Likewise.
+ (netbsdlabel_partition_map_iterate): Likewise.
+ (openbsdlabel_partition_map_iterate): Likewise.
+ (GRUB_MOD_INIT): Register new partmaps.
+ (GRUB_MOD_FINI): Unregister new partmaps.
+ * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
+ (grub_partition_msdos_iterate): ... this. All users updated.
+ Don't support embedding other than in a minix partition.
+ * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
+ proto.
+ * include/grub/partition.h (grub_partition): New field msdostype.
+ * util/grub-install.in: Handle openbsd and netbsd types being in
+ part_bsd module.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
+
+ * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
+ * grub-core/Makefile.core.def (mdraid): Renamed to ...
+ (mdraid09): ... this.
+ (mdraid1x): New module.
+ * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
+ * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
+ vsprintf.
+
+2010-09-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/commands/efi/lsefimmap.c: Correct header.
+ * NEWS: Update.
+
+2010-09-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-editenv.c (argp_parser): Don't pass translated strings
+ as printf format strings; the translations might contain '%' which
+ could cause a crash.
+ (main): Likewise.
+ * util/grub-fstest.c (argp_parser): Likewise.
+ * util/grub-setup.c (argp_parser): Likewise.
+ (main): Likewise.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use argp in grub-fstest.
+
+ * util/grub-fstest.c: Don't include getopt.h.
+ Include argp.h.
+ (root): New variable.
+ (args_count): Likewise.
+ (nparm): Likewise.
+ (num_disks): Likewise.
+ (images): Likewise.
+ (cmd): Likewise.
+ (debug_str): Likewise.
+ (args): Likewise.
+ (options): Transformed to argp.
+ (usage): Removed.
+ (main): Split argument parsing into ...
+ (argp_parser): ... this. Changed to argp format.
+ (argp): New variable.
+ (main): Use argp_parse.
+
+2010-09-20 Tristan Gingold <gingold@free.fr>
+2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/efi/lsefimmap.c: New file.
+ * grub-core/Makefile.core.def (lsefimmap): New module.
+ * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Pause the execution (10s max) if any errors are displayed so the user
+ has a chance to see them.
+
+ * grub-core/kern/err.c (grub_err_printed_errors): New variable.
+ (grub_print_error): Increment grub_err_printed_errors.
+ * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
+ execution if any errors were displayed.
+ (show_menu): Remove old code for pause.
+ * grub-core/normal/menu_entry.c (run): Likewise.
+ * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
+ users updated.
+ (grub_normal_get_char_counter): Likewise.
+ * include/grub/err.h (grub_err_printed_errors): New external variable.
+ * include/grub/normal.h (grub_normal_get_char_counter): Removed.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support multiboot VBE info.
+
+ * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
+ Take VBE info into account.
+ (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
+ (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
+ Call fill_vbe_info when appropriate.
+ (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
+ * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
+ as supported.
+ (grub_multiboot_get_mbi_size): Take new tags into account.
+ (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
+ (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
+ Call fill_vbe_tag when appropriate.
+ (grub_multiboot_make_mbi): Properly align tags.
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
+ function.
+ * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
+ proto.
+ * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Suport manual terminal geometry specification.
+
+ * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
+ Save state in grub_ofconsole_terminfo_output.
+ (grub_ofconsole_term): Use grub_terminfo_getwh.
+ (grub_ofconsole_getwh): Removed.
+ * grub-core/term/serial.c (grub_serial_getwh): Removed.
+ (grub_serial_term): Use grub_terminfo_getwh.
+ * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
+ (options): New struct.
+ (OPTION_*): New enum.
+ (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
+ * include/grub/terminfo.h (grub_terminfo_output_state): New fields
+ width and height.
+ (grub_terminfo_getwh): New proto.
+ * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Handle legacy "terminal" command.
+
+ * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
+ and FLAG_TERMINAL.
+ (legacy_commands): Add terminal and title.
+ (grub_legacy_parse): Handle terminal. Simplify title handling.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
+ parameters overflow.
+
+2010-09-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
+ widthspec.h.
+
+ * docs/grub.texi (Shell-like scripting): Document `!'.
+ (Network): Simplify using new i386-pc-pxe format. Mention
+ grub-mknetdir.
+
+ * NEWS: Update.
+
+2010-09-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.am (SUBDIRS): Restore "."; it's important to force
+ ordering, so that e.g. ascii.h is built before grub-core/font/font.c
+ when needed.
+
+2010-09-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/commands/efi/lsefisystab.c: Correct header.
+ * grub-core/commands/efi/lssal.c: Likewise.
+ * grub-core/commands/testload.c: Likewise.
+
+2010-09-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrescue.in: Add explicit root argument to --set to
+ prevent the UUID being interpreted as an argument to --set (matches
+ previous change to prepare_grub_to_access_device).
+
+2010-09-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
+ on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
+ the verbosity of later #ifs.
+ (find_partition_start): Define this function on FreeBSD too.
+ (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
+ function.
+ (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
+ on FreeBSD.
+
+2010-09-20 Yves Blusseau <blusseau@zetam.org>
+
+ * util/grub-editenv.c: Use argp instead of getopt.
+
+2010-09-20 Yves Blusseau <blusseau@zetam.org>
+
+ * util/grub-setup.c: Use argp instead of getopt.
+
+2010-09-20 Yves Blusseau <blusseau@zetam.org>
+
+ Use gnulib-tool to create gnulib source files.
+
+ * Add gnulib files generated by gnulib-tool in build-aux, m4 and
+ grub-core/gnulib directories
+ * .bzignore: Add **/.deps and autogenerated gnulib files
+ * configure.ac: Assign auxiliary directory to build-aux, add invocation
+ of gnulib macros, add grub-core/gnulib/Makefile
+ * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
+ include m4 directory to aclocal.
+ * Makefile.util.def: Remove direct compilation of gnulib source files
+ and use the new grub-core/gnulib/libgnu.a.
+ * build-aux/config.rpath: move config.rpath from top directory to
+ build-aux
+ * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
+ in gnulib headers
+ * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
+ * grub-core/Makefile.core.def: Remove unnecessary extra_dist
+ * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
+ header.
+ * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
+ string.
+
+2010-09-20 Yves Blusseau <blusseau@zetam.org>
+
+ * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
+ grub-core/genmod.sh and grub-core/gensyminfo.sh
+
+2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Add a test for echo command options.
+
+ * tests/grub_cmd_echo.in: New test.
+ * Makefile.util.def: Rules for new test.
+
+2010-09-20 Szymon Janc <szymon@janc.net.pl>
+
+ Remove crc.mod and move crc command to hashsum.mod.
+ Remove lib/crc.c - users updated to use gcrypt implementation.
+
+ * grub-core/commands/crc.c: Removed.
+ * grub-core/Makefile.core.def (crc): Module removed.
+ * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
+ * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
+ * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
+ * grub-core/lib/crc.c: Removed.
+ * include/grub/lib/crc.h: Removed.
+ * Makefile.util.def (crc): Remove lib/crc.c
+ * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
+ * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
+ * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
+ * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
+ * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
+ * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
+
+2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
+
+2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Split config.h for util and core.
+
+ * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
+ (ADDR32): Likewise.
+ (DATA32): Likewise.
+ (BSS_START_SYMBOL): Likewise.
+ (END_SYMBOL): Likewise.
+ (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
+ (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
+ * config.h.in: New file.
+ * configure.ac: Use config-util.h as config define file.
+ Rename MACHINE into GRUB_MACHINE. All users updated.
+ (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
+ updated.
+ (NESTED_FUNC_ATTR): Likewise.
+ Substitue new variables.
+ (COND_HAVE_ASM_USCORE): New conditional.
+ * grub-core/Makefile.am (ASM_PREFIX): New variable.
+ (kernel_syms.lst): Use ASM_PREFIX.
+ * grub-core/kern/emu/console.c: Include config-util.h.
+ * grub-core/kern/emu/misc.c: Likewise.
+ * grub-core/kern/emu/mm.c: Likewise.
+ * include/grub/emu/misc.h: Likewise.
+ * include/grub/libgcc.h: Likewise.
+
+2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
+ constants usage.
+ * grub-core/kern/emu/console.c (grub_ncurses_getkey):
+ Fix GRUB_TERM_KEY_* constants usage.
+ * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
+
+2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
+ print pointer.
+ * grub-core/bus/usb/uhci.c: Remove empty define.
+ (grub_uhci_check_transfer): Add missing cast.
+ * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
+ print pointer.
+ * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
+ PRIuGRUB_SIZE.
+ * include/grub/types.h (PRIuGRUB_SIZE): New definition.
+
+2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/Makefile.core.def (legacycfg): Add
+ lib/i386/pc/vesa_modes_table.c on emu.
+
+2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Reduce number of temporary files generated by build system.
+
+ * grub-core/gencmdlist.sh: Removed.
+ * grub-core/genfslist.sh: Removed.
+ * grub-core/genhandlerlist.sh: Removed.
+ * grub-core/genmodsrc.sh: Removed.
+ * grub-core/genpartmaplist.sh: Removed.
+ * grub-core/genparttoollist.sh: Removed.
+ * grub-core/gentermiinallist.sh: Removed.
+ * grub-core/genvideolist.sh: Removed.
+
+ * grub-core/genmod.sh.in: New file.
+ * grub-core/gensyminfo.sh.in: New file.
+
+ * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
+ * conf/Makefile.extra-dist: Update with new files.
+ * gentpl.py: Remove rules related to unnecessary temporary files.
+ * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
+ and und-* files.
+ * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
+ genmod.sh scripts.
+ * grub-core/bus/usb/uhci.c: Remove empty #define.
+ * grub-core/genmoddep.awk: Updated with new syminfo format.
+ * util/bash-completion.d/Makefile.am: Add config.log to
+ CLEANFILES.
+
+2010-09-19 Yves Blusseau <blusseau@zetam.org>
+
+ * Makefile.util.def: Add forgotten $(LIBINTL) library.
+
+2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * util/grub-mkconfig.in: Check the config script for syntax errors
+ before saving.
+
+2010-09-19 Colin Watson <cjwatson@ubuntu.com>
+2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.util.def (grub-install): Use util/grub-install.in on all
+ platforms.
+ * util/grub-install.in: Add EFI and IEEE1275 support.
+ * util/i386/efi/grub-install.in: Removed.
+ * util/ieee1275/grub-install.in: Likewise.
+
+2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/i386/cmostest.c (+parse_args): New function.
+ (grub_cmd_cmosclean): Likewise.
+ (GRUB_MOD_INIT): Register command cmosclean.
+ * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
+ * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
+
+2010-09-18 Carles Pina i Estany <carles@pina.cat>
+2010-09-18 Aleš Nesrsta <starous@volny.cz>
+2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Add keyboard layouts support.
+
+ * Makefile.util.def (grub-mklayout): New file.
+ (grub-kbdcomp): New script.
+ * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
+ Add keyboard_layouts.h.
+ * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
+ commands/boot.c on yeeloong.
+ (keylayouts): New module.
+ * grub-core/bus/usb/ohci.c
+ * grub-core/bus/usb/uhci.c
+ * grub-core/bus/usb/usbhub.c (rescan): New variable.
+ (grub_usb_add_hub): Poll interrupt pipe for device handling.
+ (attach_root_port): Likewise.
+ (poll_nonroot_hub): Likewise.
+ (grub_usb_poll_devices): Likewise.
+ (detach_device): Close transfer.
+ * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
+ function.
+ (grub_usb_bulk_setup_readwrite): Likewise.
+ (grub_usb_bulk_finish_readwrite): Likewise.
+ * grub-core/commands/keylayouts.c: New file.
+ * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
+ * grub-core/commands/menuentry.c (hotkey_aliases): All several new
+ aliases.
+ * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
+ support scancode 2.
+ * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
+ * include/grub/keyboard_layouts.h: New file.
+ * util/grub-mklayout.c: New file.
+ * util/grub-kbdcomp.in: Likewise.
+
+2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Unify memory types.
+
+ * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
+ * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
+ types.
+ * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
+ (grub_upper_mem): Likewise.
+ * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
+ * include/grub/memory.h (grub_memory_type_t): New enum.
+ All users updated.
+
+2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/Makefile.core.def (lsapm): New module.
+ * grub-core/commands/i386/pc/lsapm.c: New file.
+ * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
+ * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
+ Likewise.
+ * include/grub/i386/pc/apm.h: New file.
+ * include/multiboot.h (multiboot_apm_info): New struct.
+
+2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ GRUB-legacy configuration file support.
+
+ * Makefile.util.def (grub-menulst2cfg): New util.
+ * docs/man/grub-menulst2cfg.h2m: New file.
+ * grub-core/Makefile.core.def (legacycfg): New module.
+ * grub-core/commands/legacycfg.c: New file.
+ * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
+ (grub_normal_add_menu_entry): ... this.
+ * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
+ (grub_normal_set_password): ...this.
+ * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
+ * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
+ * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
+ * grub-core/lib/legacy_parse.c: New file.
+ * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
+ * include/grub/i386/pc/vesa_modes_table.h: New file.
+ * include/grub/legacy_parse.h: Likewise.
+ * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
+ * util/grub-menulst2cfg.c: New file.
+
+2010-09-17 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/kern/emu/hostdisk.c
+ (convert_system_partition_to_system_disk): Initialise node.
+
+2010-09-17 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/kern/emu/hostdisk.c
+ (convert_system_partition_to_system_disk): Fix devmapper memory pool
+ leak.
+ Reported and based on patch by: Modestas Vainius.
+
+2010-09-17 Colin Watson <cjwatson@ubuntu.com>
+
+ Fix DM-RAID probing with recent versions of device-mapper udev
+ rules.
+
+ * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
+ canonicalise device paths under /dev/mapper/.
+ (convert_system_partition_to_system_disk): Compare the
+ uncanonicalised path to /dev/mapper/ rather than the canonicalised
+ path, since device nodes under /dev/mapper/ are often symlinks.
+
+2010-09-17 Yves Blusseau <blusseau@zetam.org>
+
+ * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
+
+2010-09-16 Yves Blusseau <blusseau@zetam.org>
+
+ * configure.ac: Avoid some annoying error messages if freetype-config
+ program is not found.
+
+2010-09-16 Colin Watson <cjwatson@ubuntu.com>
+
+ Support RAID on virtio devices, and others.
+
+ * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
+ Rename to ...
+ [__MINGW32__] (grub_find_device): ... this.
+ [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
+ [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
+ reasonable default if dir is NULL.
+ [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
+ ...
+ [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
+ (grub_guess_root_device): Update callers.
+ * include/grub/emu/getroot.h (grub_find_device): Add prototype.
+
+ * util/raid.c (grub_util_getdiskname): Remove.
+ (grub_util_raid_getmembers): Use grub_find_device rather than
+ grub_util_getdiskname.
+
+2010-09-16 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (serial): Remove obsolete comment about GRUB
+ needing to be compiled with serial support.
+ (ls): Indicate that multiple files are accepted.
+ * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
+ indicate that multiple files are accepted.
+
+2010-09-16 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
+ libgrub_a_init.c, and util/bash-completion.d/grub.
+
+2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-setup.c (setup): Fix incorrect container semantics.
+
+2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
+ misusage.
+ Reported by: J. Nick Terry
+
+2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Move embedding routines to partmap sources files.
+
+ * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
+ [GRUB_UTIL]: New variable.
+ (gpt_partition_map_iterate): Set part.parent.
+ (gpt_partition_map_embed) [GRUB_UTIL]: New function.
+ (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
+ * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
+ New function.
+ (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
+ * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
+ (grub_partition_map) [GRUB_UTIL]: New field embed.
+ * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
+ (setup): Use ->embed.
+
+2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
+ function.
+ * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
+ * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
+
+2010-09-15 Yves Blusseau <blusseau@zetam.org>
+
+ Add function to get completions from usage.
+
+ * util/bash-completion.d/grub-completion.bash.in: Add function to get
+ completions from usage. Use LC_ALL=C to get options properly.
+
+2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/gnulib/basename-lgpl.c: Imported.
+ * grub-core/gnulib/basename.c: Likewise.
+ * grub-core/gnulib/dirname-lgpl.c: Likewise.
+ * grub-core/gnulib/dirname.c: Likewise.
+ * grub-core/gnulib/dirname.h: Likewise.
+ * grub-core/gnulib/stripslash.c: Likewise.
+
+2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/gnulib/error.c: Resynced.
+ * grub-core/gnulib/getopt.c: Likewise.
+ * grub-core/gnulib/getopt_int.h: Likewise.
+ * grub-core/gnulib/regex.h: Likewise.
+ * grub-core/gnulib/regex_internal.c: Likewise.
+ * grub-core/gnulib/regex_internal.h: Likewise.
+
+2010-09-15 Szymon Janc <szymon@janc.net.pl>
+
+ * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
+ CRC calculations and validity checks.
+ * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
+ calculations.
+
+2010-09-15 Szymon Janc <szymon@janc.net.pl>
+
+ * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
+
+2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix incorrect echo options handling.
+ Reported by: Yves Blusseau.
+
+ * include/grub/command.h (grub_command_flags_t): New flags
+ GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
+ * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
+ * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
+
+2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
+ users updated.
+ (GRUB_COMMAND_FLAG_MENU): Likewise.
+ (GRUB_COMMAND_FLAG_BOTH): Likewise.
+ (GRUB_COMMAND_FLAG_TITLE): Removed.
+ (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
+ (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
+ (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
+ (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
+ (grub_command_flags_t): New enum. All users updated.
+
+2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
+
+ Fix solaris compilation.
+
+ * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
+ (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
+ (grub-emu-list): Likewise.
+
+2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove deprecated root command.
+
+ * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
+ updated.
+
+2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/i386/pc/grub-setup.c: Merge this ...
+ * util/sparc64/ieee1275/grub-setup.c: ... and this ...
+ * util/grub-setup.c: ... into this.
+ * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
+ New struct.
+
+2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
+ possible.
+
+2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
+ allocate p.
+
+2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
+ explicit root argument to set to prevent UUID to be interpreted as
+ argument to set.
+
+2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
+
+2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Don't export grub_gate_a20.
+
+ * grub-core/kern/i386/pc/init.c: Remove leftovers.
+ * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
+ to ...
+ (grub_gate_a20): ... this. All users updated.
+ * include/grub/i386/pc/init.h: Removed. All users updated.
+
+2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Create euro.pf2 which supports most European languages.
+
+ * Makefile.am (grubdata_DATA): Add euro.pf2.
+ (euro.pf2): New target.
+ (CLEANFILES): Add euro.pf2.
+
+2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Disable emu-usb by default to prevent inadvertent
+ device takeover.
+
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Disable usbserial on grub-emu since our libusb code isn't good enough
+ yet.
+
+ * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
+ (usbserial_pl2303): Likewise.
+ (usbserial_ftdi): Likewise.
+
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/disk.h (grub_disk): Remove has_partitions.
+ All users updated.
+ * disk/loopback.c (grub_loopback): Remove has_partitions.
+ All users updated.
+ (options): Remove partitions. All users updated.
+ * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
+ * util/i386/pc/grub-setup.c (setup): copy partition table only when
+ actual partition table is found.
+
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove readability checks (too many false negatives).
+
+ * util/grub-install.in: Remove readability checks.
+ * util/grub-mkconfig.in: Likewise.
+ * util/grub.d/10_hurd.in: Likewise.
+ * util/grub.d/10_kfreebsd.in: Likewise.
+ * util/grub.d/10_linux.in: Likewise.
+ * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
+ way.
+
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Enable acpi shutdown on all ACPI platforms.
+
+ * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
+ on coreboo, multiboot and EFI.
+ * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
+ (grub_acpi_halt): Likewise.
+ * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
+ (grub_cmd_halt): Don't call grub_acpi_halt directly.
+ * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
+ * grub-core/lib/i386/halt.c (grub_halt)
+ [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
+
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
+ context.
+
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/video/efi_gop.c: Fix over-80-chars line.
+ * grub-core/video/efi_uga.c: Likewise.
+
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Filter devaliases and never open same device twice.
+
+ * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
+ (last_ihandle): Likewise.
+ (ofdisk_hash_ent): New member shortest.
+ (ofdisk_hash_add): Add canonical path too.
+ (scan): New function.
+ (grub_ofdisk_iterate): Iterate over hashed entries.
+ (compute_dev_path): Don't add :0.
+ (grub_ofdisk_open): Don't really open the disk.
+ (grub_ofdisk_close): Avoid closing unrelated disk.
+ (grub_ofdisk_read): Implement reopen logic.
+ * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
+ New function.
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
+ New proto.
+
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix sparc64.
+
+ * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
+ * grub-core/Makefile.core.def (kernel): Make ldflags just use the
+ right address. Add sparc64_ieee1275_ldflags.
+ * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
+ * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
+ to grub_host_to_target_addr
+ (load_image): Likewise.
+
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/completion.c (complete_file): Handle device
+ containing slash.
+ Fix based on patch by Doug Nazar.
+
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ grub-mknetdir script.
+
+ * Makefile.util.def (grub-mknetdir): New module.
+ * tests/util/grub-shell.in: Support boot=net
+ * util/grub-mknetdir.in: New file.
+
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ videoinfo on non-vbe.
+
+ * grub-core/Makefile.core.def (vbeinfo): Removed.
+ (vbetest): Removed.
+ (videoinfo): New module.
+ * grub-core/commands/i386/pc/vbeinfo.c: Removed.
+ * grub-core/commands/i386/pc/vbetest.c: Removed.
+ * grub-core/commands/videoinfo.c: New file.
+ * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
+ specification.
+ (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
+ as vbetest.
+ (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
+ (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
+ * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
+ mode_number. New parameter mode. All users updated.
+ (grub_video_gop_iterate): New function.
+ (grub_video_efi_gop): New member iterate.
+ * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
+ (grub_vbe_set_video_mode): Remove setting useless fields.
+ (vbe2videoinfo): New function.
+ (grub_video_vbe_iterate): Likewise.
+ (grub_video_vbe_setup): Use vbe2videoinfo.
+ (grub_video_vbe_print_adapter_specific_info): New function.
+ (grub_video_vbe_adapter): New fields iterate and
+ print_adapter_specific_info.
+ * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
+ All users updated.
+ (grub_video_mode_info): New field mode_number.
+ (grub_video_adapter): New fields iterate and
+ print_adapter_specific_info.
+
+2010-09-13 Tristan Gingold <gingold@free.fr>
+2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/efi/lsefisystab.c: New file.
+ * grub-core/commands/efi/lssal.c: Likewise.
+ * grub-core/Makefile.core.def (lsacpi): New module.
+ (lsefisystab): Likewise.
+ * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
+ (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
+ (grub_efi_sal_system_table): New struct.
+ (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
+ (grub_efi_sal_system_table_memory_descriptor): Likewise.
+ (grub_efi_sal_system_table_platform_features): Likewise.
+ (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
+ (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
+ (grub_efi_sal_system_table_ap_wakeup): Likewise.
+ * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
+
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support explicit user claim that a device is BIOS-visible.
+
+ * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
+ Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
+ * grub-core/kern/emu/hostdisk.c
+ (convert_system_partition_to_system_disk): Support mdX.
+ (find_system_device): New parameter add. All users updated.
+ (grub_util_biosdisk_is_present): New function.
+ * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
+ proto.
+
+2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Search hints support.
+
+ * commands/search.c (FUNC_NAME): New arguments hints and nhints.
+ All users updated.
+
+2010-09-13 Yves Blusseau <blusseau@zetam.org>
+
+ Bash completion script for util commands
+
+ * Makefile.am: Add util/bash-completion.d directory
+ * configure.ac: Likewise.
+ * util/bash-completion.d/Makefile.am: New file.
+ * util/bash-completion.d/grub-completion.bash.in: Likewise.
+
+2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
+ (print_backlog): set backlog_ucs4 and backlog_glyphs.
+ Reported by: Yves Blusseau.
+
+2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/misc.c (grub_normal_print_device_info): Show
+ partition size and offset.
+
+2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/wildcard.c (make_regex): Escape brackets.
+
+2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
+
+2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
+ (grub_xvasprintf): Likewise.
+
+2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
+
+2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
+ args ending with NULL.
+
+2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
+ pointer.
+
+2010-09-11 Szymon Janc <szymon@janc.net.pl>
+
+ * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
+
+2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Shutdown using ACPI.
+
+ * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
+ * grub-core/commands/acpihalt.c: New file.
+ * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
+ * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
+ (grub_acpi_halt): New proto.
+ (GRUB_ACPI_SLP_EN): New const.
+ (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
+ (GRUB_ACPI_OPCODE_*): New enum.
+ (GRUB_ACPI_EXTOPCODE_*): Likewise.
+
+2010-09-11 Tristan Gingold <gingold@free.fr>
+2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
+2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/lsacpi.c: New file.
+ * grub-core/Makefile.core.def (lsacpi): New module.
+ * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
+ (GRUB_ACPI_MADT_SIGNATURE): Likewise.
+ (grub_acpi_madt_entry_header): New struct.
+ (grub_acpi_madt): Likewise.
+ (grub_acpi_madt_entry_interrupt_override): Likewise.
+ (grub_acpi_madt_entry_sapic): Likewise.
+ (grub_acpi_madt_entry_lsapic): Likewise.
+ (grub_acpi_madt_entry_platform_int_source): Likewise.
+ * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
+ (PRIuGRUB_UINT32_T): Likewise.
+ (PRIxGRUB_UINT64_T): Likewise.
+
+2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Implement loading palette on ieee1275_fb.
+
+ * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
+ (have_setcolors): Likewise.
+ (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
+ (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
+ (grub_video_ieee1275_set_palette): Implement.
+
+2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
+2010-09-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in (grub_partition): New variable.
+ Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
+ * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
+ Fixes a bug reported by Yves Blusseau.
+
+2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix emu on mipsel.
+
+ * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
+ =grub_cpu_flush_cache on all mips and not only yeeloong.
+ * configure.ac (COND_mips): New conditional.
+ * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
+ platforms.
+ * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
+ * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
+ [GRUB_LINKER_HAVE_INIT]: New function.
+ (grub_emu_post_init): Likewise.
+ * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
+ * grub-core/kern/emu/main.c: Use grub_emu_post_init.
+ * include/grub/cache.h (_mips): Include mips/cache.h.
+ * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
+ LVM and RAID prototypes.
+ * include/grub/emu/misc.h (grub_emu_post_init): New proto.
+ * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
+ function.
+
+2010-09-10 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in: Don't try to verify core.img until after
+ running grub-mkimage to create it.
+
+2010-09-10 Robert Millan <rmh@gnu.org>
+
+ * util/grub.d/10_hurd.in: Add misc readability checks.
+ * util/grub.d/10_kfreebsd.in: Likewise.
+ * util/grub.d/10_linux.in: Likewise.
+
+2010-09-10 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in: ${imgext} won't be defined here until the
+ install branch is merged. For the meantime, only verify core.img on
+ i386-pc and sparc64-ieee1275 platforms.
+
+2010-09-10 Robert Millan <rmh@gnu.org>
+
+ Solaris support in grub_find_zpool_from_dir(). Thanks
+ Seth Goldberg for referring to getextmntent() facility.
+
+ * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
+ `sys/mkdev.h'.
+ * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
+ `<sys/mnttab.h>'.
+ [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
+ [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
+ method for finding zpool name.
+
+2010-09-10 Colin Watson <cjwatson@ubuntu.com>
+
+ grub-fstest needs the host and hostfs modules while other utilities
+ actively require those modules to be absent, so grub-fstest needs
+ its own initialisation and finalisation code.
+
+ * Makefile.am (grub_fstest.pp): New target.
+ (grub_fstest_init.lst): Likewise.
+ (grub_fstest_init.c): Likewise.
+ * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
+
+2010-09-10 Robert Millan <rmh@gnu.org>
+
+ * configure.ac: Check for `struct statfs.f_fstypename' and
+ `struct statfs.f_mntfromname'.
+
+ * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
+ kFreeBSD-specific code.
+
+2010-09-10 Robert Millan <rmh@gnu.org>
+
+ * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
+ on ZFS. Now non-main filesystems are supported as / too.
+
+2010-09-09 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
+ and grub-core/disk/host.c to ...
+ (grub-fstest): ... here. Having the host disk implementation
+ present confuses grub-probe and other utility programs.
+
+ * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
+ when writing to a file, not when writing to stdout.
+
+2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * tests/partmap_test.in: New test for partitions.
+ * Makefile.util.def: Rules for new test.
+
+2010-09-09 Robert Millan <rmh@gnu.org>
+
+ * util/grub-probe.c (probe): Fix a pair of unhandled error
+ conditions.
+
+2010-09-09 Robert Millan <rmh@gnu.org>
+
+ Basic Btrfs support (detection and UUID).
+
+ * grub-core/fs/btrfs.c: New file.
+ * Makefile.util.def (library): Register btrfs.c.
+ * grub-core/Makefile.core.def: Likewise.
+
+2010-09-08 Robert Millan <rmh@gnu.org>
+
+ * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
+ with (optional) parameters to specify device and relative path.
+ * util/grub-install.in: Use is_path_readable_by_grub() to
+ verify readability of a few critical files.
+ * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
+ verify readability of grub.cfg.new.
+
+2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Split minix.mod into minix.mod and minix2.mod.
+
+ * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
+ * grub-core/Makefile.core.def (minix2): New module.
+ * grub-core/fs/minix.c: Use definitions instead of runtime version
+ checking.
+ * grub-core/fs/minix2.c: New file.
+
+2010-09-08 Yves Blusseau <blusseau@zetam.org>
+
+ Add new --boot-directory option to replace --root-directory
+
+ * util/grub-install.in: Add new --boot-directory option
+ * util/grub-reboot.in: Likewise.
+ * util/grub-set-default.in: Likewise.
+
+2010-09-08 Yves Blusseau <blusseau@zetam.org>
+
+ * util/grub-mkconfig.in: Use new variable.
+
+2010-09-08 Yves Blusseau <blusseau@zetam.org>
+
+ * configure.ac: Define some useful variables.
+
+2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
+ GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
+ * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
+ Use terminfo and don't use cursor-on/cursor-off unless it's known
+ to work.
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
+ GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
+
+2010-09-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
+ starts with "(,", fill the drive containing the loaded image in
+ between those two characters, but expect that a full partition
+ specification including partition map names will follow.
+
+2010-09-08 Robert Millan <rmh@gnu.org>
+
+ * configure.ac: Remove `--enable-grub-fstest' option.
+ * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
+
+ * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
+ `grub-fstest' instead of `grub-probe' for readability verification.
+ * util/grub-probe.c (probe): Remove readability verification kludge.
+
+2010-09-08 Robert Millan <rmh@gnu.org>
+
+ * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
+ initializing `GRUB_FS'.
+
+2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Not command (!) support to GRUB script.
+
+ * tests/grub_script_not.in: New test.
+ * Makefile.util.def: Rules for new test.
+
+ * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
+ ! command as a special case.
+ * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
+
+2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
+ grub_free.
+
+2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
+
+2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * docs/grub.texi (Shell-like scripting): Documentation for break,
+ continue, shift and return commands.
+
+2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Rename CD-ROM to cd on BIOS.
+
+ * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
+ "cd".
+ (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
+ * util/grub-probe.c (main): Likewise.
+ * util/i386/pc/grub-setup.c (main): Likewise.
+ * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
+ Reported and debugged by: alexxy
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
+ diagnostic info.
+
+2010-09-05 Jo Shields <directhex@apebox.org>
+
+ * util/grub.d/30_os-prober.in: Add missing classes.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Theme file format): Document new position format.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
+ a table. Use @code instead of @verbatim.
+
+2010-09-05 Colin D Bennett <colin@gibibit.com>
+
+ Gfxmenu documentation.
+
+ * docs/grub.texi (Theme file format): New chapter.
+
+2010-09-05 Szymon Janc <szymon@janc.net.pl>
+
+ * grub-core/Makefile.core.def (xzio): New module.
+ * grub-core/io/xzio.c: New file.
+ * grub-core/lib/xzembed/xz.h: New file (from xembed).
+ * grub-core/lib/xzembed/xz_config.h: Likewise.
+ * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
+ * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
+ * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
+ * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
+ * grub-core/lib/xzembed/xz_private.h: Likewise.
+ * grub-core/lib/xzembed/xz_stream.h: Likewise.
+ * include/grub/file.h (grub_file_filter_id): New compression filter
+ GRUB_FILE_FILTER_XZIO.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
+ * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
+ size.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
+ GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Uncompressed checksum support.
+
+ * grub-core/commands/hashsum.c (options): Add option --uncompress.
+ (check_list): New parameter uncompress.
+ (grub_cmd_hashsum): Handle --uncompress.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Reintroduce testload.
+
+ * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
+ from here ...
+ * grub-core/commands/testload.c (grub_cmd_testload): ... here.
+ (GRUB_MOD_INIT): New function.
+ (GRUB_MOD_FINI): Likewise.
+ * grub-core/Makefile.core.def (testload): New module.
+
+2010-09-05 Szymon Janc <szymon@janc.net.pl>
+
+ * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
+ (uint8_t): New type.
+ (uint16_t): Likewise.
+ (uint32_t): Likewise.
+ (uint64_t): Likewise.
+
+2010-09-05 Szymon Janc <szymon@janc.net.pl>
+
+ * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
+ Made static.
+ (grub_gzfile_open): Removed. All users updated.
+ (GRUB_MOD_INIT): New function.
+ (GRUB_MOD_FINI): Likewise.
+ * grub-core/kern/file.c (grub_file_filters_all): New variable.
+ (grub_file_filters_enabled): Likewise.
+ (grub_file_open): Handle filters.
+ * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
+ * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
+ * include/grub/file.h (grub_file_filter_id_t): New type.
+ (grub_file_filter_t): Likewise.
+ (grub_file_filters_all): New extern variable.
+ (grub_file_filters_enabled): Likewise.
+ (grub_file_filter_register): New inline function.
+ (grub_file_filter_unregister): Likewise.
+ (grub_file_filter_disable): Likewise.
+ (grub_file_filter_disable_compression): Likewise.
+ * include/grub/gzio.h: Removed.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Filename expansion support for wildcards in GRUB script.
+
+ * tests/grub_script_expansion.in: New test.
+ * Makefile.util.def: Rule for new test.
+
+ * grub-core/commands/wildcard.c: New file, implements filename
+ expansion support for GRUB script.
+ * grub-core/Makefile.core.def: Rule update for regexp.mod.
+ * grub-core/script/argv.c: Cosmetic changes.
+ * grub-core/script/execute.c (grub_script_arglist_to_argv):
+ Refactored to perform wildcard expansion on arguments.
+ * include/grub/script_sh.h (grub_script_wildcard_translator): New
+ struct.
+
+ * tests/util/grub-shell.in: Fix quoting for read input.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Support for updating environment variables with matched substrings
+ of regexp.
+
+ * tests/grub_cmd_regexp.in: New test.
+ * Makefile.util.def: Rule for new test.
+
+ * grub-core/commands/regexp.c: New option -s to update environment
+ variables with regexp matches.
+
+2010-09-04 Szymon Janc <szymon@janc.net.pl>
+
+ * include/grub/file.h (grub_file): New member not_easly_seekable.
+ (grub_file_seekable): New inline function.
+ * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
+ easily seekable.
+ (grub_gzio_open): Set not_easly_seekable.
+ * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
+ * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Support for options to appear multiple times on cmdline.
+
+ * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
+ * grub-core/commands/extcmd.c: Support for repeatable option.
+ * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
+ repeatable option support.
+
+ Refactor menuentry into a regular command.
+
+ * grub-core/commands/menuentry.c: New file, menuentry command
+ implementation.
+ * grub-core/Makefile.core.def: Rule update for normal.mod.
+ * grub-core/normal/main.c: Moved menuentry creation to
+ grub-core/commands/menuentry.c.
+ * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
+ (grub_menu_execute_entry_real): Removed.
+ * grub-core/script/execute.c (grub_script_execute_sourcecode): New
+ function.
+ (grub_script_execute_menuentry): Removed.
+ * grub-core/script/parser.y (menuentry): Removed.
+ * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
+ * grub-core/script/yylex.l (menuentry): Removed.
+ * include/grub/menu.h (grub_menu_init): New prototype.
+ (grub_menu_fini): New prototype.
+ * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
+ * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
+ (grub_script_execute_sourcecode): New prototype.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ "return" command for GRUB script functions.
+
+ * tests/grub_script_return.in: New test.
+ * Makefile.util.def: Rules for new test.
+
+ * grub-core/script/execute.c (grub_script_return): New function.
+ * grub-core/script/main.c: Register/unregister return commaond.
+ * include/grub/script_sh.h (grub_script_return): New prototype.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ "setparams" command to update positional parameters.
+
+ * tests/grub_script_setparams.in: New test.
+ * Makefile.util.def: Rules for new test.
+
+ * grub-core/script/argv.c (grub_script_argv_make): New function.
+ * grub-core/script/execute.c (replace_scope): New function.
+ (grub_script_setparams): New function.
+ * grub-core/script/lexer.c: Remove unused variables.
+ * grub-core/script/main.c: Register/unregister setparams command.
+ * include/grub/script_sh.h (grub_script_argv_make): New prototype.
+ (grub_script_setparams): New prototype.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * grub-core/normal/completion.c (grub_normal_do_completion): Fix
+ grub_free order.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Support for passing block of commands as an argument to extcmds.
+
+ * Makefile.util.def: Rules for new test.
+ * tests/grub_script_blockarg.in: New test.
+ * grub-core/tests/test_blockarg.c: New file, block argument
+ command used in the test.
+
+ * include/grub/extcmd.h (grub_extcmd_context): New struct.
+ (grub_register_extcmd_prio): New function prototype.
+ (grub_extcmd_dispatcher): New function prototype.
+ * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
+ type.
+ * include/grub/script_sh.h (struct grub_script): New members
+ `children', `next_siblings' and `refcnt' for block arguments and
+ reference counting.
+ (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
+ (grub_script_arg): New member `script' for block argument.
+ (grub_script_argv): New member `script' for block argument.
+ (grub_parser_param): New member `scripts' for block argument.
+ (grub_script_mem_free): New extern function prototype.
+ (grub_script_ref): New function prototype.
+ (grub_script_unref): New function prototype.
+
+ * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
+ extcmd form to support block arguments.
+ * grub-core/script/argv.c: Block arguments support.
+ * grub-core/script/execute.c: Likewise.
+ * grub-core/script/lexer.c: Likewise.
+ * grub-core/script/main.c: Likewise.
+ * grub-core/script/script.c: Likewise.
+ * grub-core/script/parser.y: Likewise. New `block' and `block0'
+ non-terminals.
+
+ * grub-core/commands/acpi.c: Update extcmd implementations with
+ grub_extcmd_context_t.
+ * grub-core/commands/cat.c: Likewise.
+ * grub-core/commands/echo.c: Likewise.
+ * grub-core/commands/extcmd.c: Likewise.
+ * grub-core/commands/hashsum.c: Likewise.
+ * grub-core/commands/hdparm.c: Likewise.
+ * grub-core/commands/help.c: Likewise.
+ * grub-core/commands/hexdump.c: Likewise.
+ * grub-core/commands/i386/cpuid.c: Likewise.
+ * grub-core/commands/i386/pc/drivemap.c: Likewise.
+ * grub-core/commands/i386/pc/halt.c: Likewise.
+ * grub-core/commands/i386/pc/sendkey.c: Likewise.
+ * grub-core/commands/iorw.c: Likewise.
+ * grub-core/commands/keystatus.c: Likewise.
+ * grub-core/commands/loadenv.c: Likewise.
+ * grub-core/commands/ls.c: Likewise.
+ * grub-core/commands/lspci.c: Likewise.
+ * grub-core/commands/memrw.c: Likewise.
+ * grub-core/commands/probe.c: Likewise.
+ * grub-core/commands/search_wrap.c: Likewise.
+ * grub-core/commands/setpci.c: Likewise.
+ * grub-core/commands/sleep.c: Likewise.
+ * grub-core/disk/loopback.c: Likewise.
+ * grub-core/hello/hello.c: Likewise.
+ * grub-core/loader/i386/bsd.c: Likewise.
+ * grub-core/loader/xnu.c: Likewise.
+ * grub-core/term/gfxterm.c: Likewise.
+ * grub-core/term/serial.c: Likewise.
+ * grub-core/tests/lib/functional_test.c: Likewise.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Multi-line quoted strings support.
+
+ * grub-core/script/lexer.c (append_newline): Removed.
+ (grub_script_lexer_yywrap): Refactored.
+ (grub_script_lexer_init): Refactored.
+ * grub-core/script/yylex.l (yywrap): New function.
+ (grub_lexer_resplit): New function.
+ (grub_lexer_unput): New function.
+ * include/grub/script_sh.h (grub_lexer_param): New members, unput
+ and resplit.
+ * tests/grub_script_echo1.in: Added few more testcases.
+
+2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/misc.c: Don't add abort alias in utils.
+ Reported by: echoline.
+
+2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Add missing files into "make dist" tarball for other platforms.
+
+ * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
+ * conf/Makefile.common (dist_noinst_DATA): New variable.
+ * conf/Makefile.extra-dist: Added missing make dist files.
+ * grub-core/Makefile.core.def: Likewise.
+
+2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Compress grub_prefix.
+
+ * grub-core/boot/i386/pc/lnxboot.S: Use
+ GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
+ * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
+ * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
+ GRUB_MACHINE_PREFIX_END. All users updated.
+ (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
+ (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
+ + 0x40.
+ (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
+ * util/grub-mkimage.c (image_target_desc): Change data_end to
+ prefix_end. All users updated.
+
+2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
+ value.
+ (grub_openbsd_boot): Likewise.
+ (grub_netbsd_boot): Likewise.
+ * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
+ (grub_xnu_boot): Likewise.
+
+2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Clean LIBS variable after tests.
+
+2010-09-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
+
+2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
+ echo if libdevmapper will be used.
+
+2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
+
+ * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
+ constant for the same file.
+
+2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
+
+2010-09-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
+ grub-core/*.pp.
+
+2010-09-02 Colin Watson <cjwatson@ubuntu.com>
+
+ Zero %ebp and %edi when entering Linux's 32-bit entry point, as
+ required by the boot protocol.
+
+ * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
+ ebp and edi members.
+ * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
+ state.ebp and state.edi.
+ * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
+ %ebp and %edi according to grub_relocator32_ebp and
+ grub_relocator32_edi respectively.
+ * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
+ and state.edi.
+
+2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Add i386-pc-pxe image target.
+
+ * util/grub-mkimage.c (image_target_desc): New enum value
+ IMAGE_I386_PC_PXE.
+ (image_targets): New target i386-pc-pxe.
+ (generate_image): Handle i386-pc-pxe image.
+
+2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix grub_pxe_scan.
+
+ * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
+ (grub_pxe_scan): Fix types and pxe_rm_entry computation.
+ All users updated.
+ * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
+ (grub_pxe_pxenv): Correct type.
+
+2010-09-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * NEWS: Document most of the important changes since 1.98.
+
+2010-09-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
+ generated manual page) a little.
+
+2010-09-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi: Add myself as an author.
+
+2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.util.def (libgrub.a): Add missing sunpc.
+ Reported by: Seth Goldberg.
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Interrupt wrapping and code simplifications.
+
+ * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
+ x86_noieee1275 which are functionaly equivalent in this case.
+ (grub-install): Make source on each platform explicit. Enable on
+ all noemu.
+ * gentpl.py (x86_efi_pc): Removed group.
+ (x86_noefi): Likewise.
+ (i386_noefi): Likewise.
+ (x86_noieee1275): Likewise.
+ (i386_noieee1275): Likewise.
+ (i386_noefi_noieee1275): Likewise.
+ (i386_pc_qemu_coreboot): Likewise.
+ (i386_coreboot_multiboot): Likewise.
+ (i386_pc_coreboot_multiboot_qemu): Likewise.
+ (x86_noefi_mips): Likewise.
+ (noieee1275): Likewise.
+ (ieee1275_mips): Likewise.
+ (noemu_noieee1275): Likewise.
+ (cmos): New group.
+ (usb): Likewise.
+ (videoinkernel): Likewise.
+ (videomodules): Likewise.
+ * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
+ include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
+ include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
+ include/grub/loader.h, include/grub/msdos_partition.h,
+ include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
+ include/grub/machine/console.h, include/grub/machine/vga.h,
+ include/grub/machine/vbe.h, include/grub/machine/init.h,
+ include/grub/machine/kernel.h, include/grub/cpu/time.h,
+ include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
+ (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
+ (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
+ * grub-core/Makefile.core.def (kernel): Explicit the source for
+ startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
+ Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
+ Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
+ Use videoinkernel tag.
+ (usb): Enable on all usb.
+ (usbserial_common): Likewise.
+ (usbserial_pl2303): Likewise.
+ (usbserial_ftdi): Likewise.
+ (uhci): Enable on all x86.
+ (ohci): Enable on all pci.
+ (cmostest): Enable on all CMOS.
+ (acpi): Include commands/acpi.c on all platforms.
+ (halt): Add relevant lib/*/halt.c.
+ (hdparm): Enable on all pci.
+ (lspci): Likewise.
+ (usbtest): Enable on all usb.
+ (ata): Enable on all pci.
+ (ata_pthru): Likewise.
+ (usbms): Enable on all usb.
+ (usb_keyboard): Likewise.
+ (font): Use tag videomodules.
+ (bufio): Likewise.
+ (datetime): Use tag cmos. Enable on all noemu.
+ (mmap): Use tags common and x86.
+ (gfxterm): Use tag videomodules.
+ (bitmap): Likewise.
+ (bitmap_scale): Likewise.
+ (video_fb): Likewise.
+ (video): Likewise.
+ * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
+ adjust padding accordingly. All users updated.
+ (grub_ohci_transaction): Fix bad format specification.
+ (GRUB_MOD_INIT): Add asserts for struct size.
+ * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
+ (grub_alloc_td): Likewise.
+ (grub_free_queue): Likewise.
+ (grub_uhci_transfer): Likewise.
+ (grub_uhci_transaction): Fix bad format specification.
+ * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
+ (grub_usb_bulk_readwrite): Likewise.
+ * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
+ * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
+ Made static.
+ * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
+ Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
+ * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
+ Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
+ Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
+ ... here. Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
+ Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
+ ... here. Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S
+ (grub_biosdisk_check_int13_extensions): Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c
+ (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
+ Made static.
+ * grub-core/kern/i386/pc/startup.S
+ (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c
+ (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
+ Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S
+ (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c
+ (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
+ Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S
+ (grub_biosdisk_get_diskinfo_standard): Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c
+ (grub_biosdisk_get_diskinfo_standard): ... here.
+ Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S
+ (grub_biosdisk_get_num_floppies): Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c
+ (grub_biosdisk_get_num_floppies): ... here.
+ Transformed into C. Made static.
+ * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
+ New function.
+ * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
+ * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
+ Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
+ * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
+ Transformed into C. Made static.
+ * grub-core/kern/i386/ieee1275/init.c: Removed.
+ * grub-core/kern/i386/misc.S: Likewise.
+ * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
+ Splitted from here ...
+ * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
+ Transformed into C. Made static. All users updated.
+ * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
+ Transformed into C. Made static. All users updated.
+ * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
+ Moved from here...
+ * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
+ Transformed into C. Made static. All users updated.
+ * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
+ Moved from here...
+ * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
+ Transformed into C. Made static. All users updated.
+ * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
+ Removed (replaced by C version).
+ * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
+ Moved from here...
+ * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
+ Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
+ ... here. Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S
+ (grub_vbe_bios_getset_dac_palette_width):Moved from here...
+ * grub-core/video/i386/pc/vbe.c
+ (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
+ ... here. Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
+ ... here. Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
+ ... here. Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
+ pxe_rm_entry as third argument.
+ (grub_bios_interrupt): New function.
+ * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
+ * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
+ of calling grub_stop.
+ * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
+ * grub-core/lib/efi/halt.c (grub_halt): ...here.
+ * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
+ * grub-core/lib/emu/halt.c (grub_halt): ... here.
+ * grub-core/lib/i386/halt.c: Moved from here ...
+ * grub-core/lib/i386/halt.c: ... here.
+ * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
+ * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
+ * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
+ grub_stop_floppy.
+ * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
+ * include/grub/i386/coreboot/init.h: Removed.
+ * include/grub/i386/multiboot/init.h: Likewise.
+ * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
+ * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
+ * include/grub/i386/pc/int.h: New file.
+ * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
+ (grub_pxe_scan): Removed.
+ (grub_pxe_call): Update prototype.
+ * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
+ prototypes.
+ * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
+ * include/grub/i386/qemu/init.h: Removed.
+ * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
+ noreturn.
+ (grub_halt): Likewise.
+ * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
+ (grub_reboot): Likewise.
+ * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
+ * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
+ * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
+
+2010-08-30 Robert Millan <rmh@gnu.org>
+
+ * NEWS: Document addition of ZFS support in `grub-install' and
+ `grub-mkconfig'.
+
+2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
+ dprintf output.
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove leftover embedding of font objects.
+
+ * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
+ * util/grub-install.in (font): Removed.
+ * util/grub-mkimage.c (generate_image): Remove font support. All users
+ updated.
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove leftover embedding of font objects.
+
+ * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
+ * util/grub-install.in (font): Removed.
+ * util/grub-mkimage.c (generate_image): Remove font support. All users
+ updated.
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Network): Fix reference to pxe_blksize.
+ Reported by: Ian Turner
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
+ timeout to avoid indefinite boot stalling.
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
+ (grub_env_write_color_highlight): Likewise.
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/term.c (print_more): Return to normal and not
+ to standard state after printing "---MORE---".
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
+ Mask out the bit 0x80 since it has other meaning that specifiing color.
+
+2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ New relocator. Allows for more kernel support and more straightforward
+ loader writing.
+
+ * Makefile.am (BOOTTARGET): New variable.
+ (QEMU32): Likewise.
+ (linux.init.x86_64): New target.
+ (linux.init.i386): Likewise.
+ (multiboot.elf): Likewise.
+ (kfreebsd.elf): Likewise.
+ (kfreebsd.aout): Likewise.
+ (pc-chainloader.elf): Likewise.
+ (pc-chainloader.bin): Likewise.
+ (ntldr.elf): Likewise.
+ (ntldr.bin): Likewise.
+ (multiboot2.elf): Likewise.
+ (kfreebsd.init.x86_64): Likewise.
+ (kfreebsd.init.i386): Likewise.
+ (knetbsd.init.i386): Likewise.
+ (kopenbsd.init.i386): Likewise.
+ (knetbsd.init.x86_64): Likewise.
+ (kopenbsd.init.x86_64): Likewise.
+ (linux-initramfs.i386): Likewise.
+ (linux-initramfs.x86_64): Likewise.
+ (kfreebsd-mfsroot.i386.img): Likewise.
+ (knetbsd.image.i386): Likewise.
+ (kopenbsd.image.i386): Likewise.
+ (kopenbsd.image.x86_64): Likewise.
+ (knetbsd.miniroot-image.i386.img): Likewise.
+ (kfreebsd-mfsroot.x86_64.img): Likewise.
+ (knetbsd.image.x86_64): Likewise.
+ (knetbsd.miniroot-image.x86_64.img): Likewise.
+ (kfreebsd-mfsroot.i386.gz): Likewise.
+ (bootcheck-kfreebsd-i386): Likewise.
+ (kfreebsd-mfsroot.x86_64.gz): Likewise.
+ (bootcheck-kfreebsd-x86_64): Likewise.
+ (knetbsd.miniroot-image.i386.gz): Likewise.
+ (bootcheck-knetbsd-i386): Likewise.
+ (bootcheck-kopenbsd-i386): Likewise.
+ (bootcheck-kopenbsd-x86_64): Likewise.
+ (knetbsd.miniroot-image.x86_64.gz): Likewise.
+ (bootcheck-knetbsd-x86_64): Likewise.
+ (bootcheck-linux-i386): Likewise.
+ (bootcheck-linux-x86_64): Likewise.
+ (bootcheck-linux16-i386): Likewise.
+ (bootcheck-linux16-x86_64): Likewise.
+ (bootcheck-multiboot): Likewise.
+ (bootcheck-multiboot2): Likewise.
+ (bootcheck-kfreebsd-aout): Likewise.
+ (bootcheck-pc-chainloader): Likewise.
+ (bootcheck-ntldr): Likewise.
+ (CLEANFILES): Add new targets.
+ (BOOTCHECKS): New variable.
+ (.PHONY): Add bootchecks.
+ (SUCCESSFUL_BOOT_STRING): New variable.
+ (BOOTCHECK_TIMEOUT): Likewise.
+ (bootcheck): New target
+ * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
+ * configure.ac: Correct efiemu excuse.
+ * docs/grub.texi (Supported kernels): New chapter.
+ * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
+ include/grub/mm_private.h. Simplify inclusion of
+ include/grub/boot.h, include/grub/loader.h
+ and include/grub/msdos_partition.h
+ (KERNEL_HEADER_FILES) [i386_coreboot]:
+ Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
+ (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
+ (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
+ (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
+ include/grub/machine/loader.h.
+ (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
+ * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
+ extra_dist.
+ (pci.mod): Enable on i386-multiboot.
+ (acpi.mod): Enable on i386-multiboot and i386-coreboot.
+ (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
+ i386-qemu.
+ (relocator.mod): Rewritten.
+ (aout.mod): Enable on all x86.
+ (bsd.mod): Likewise.
+ (ntldr.mod): New module.
+ (linux.mod): Use loader/i386/linux.c on all x86.
+ (xnu.mod): Enable on all x86.
+ (vga_text.mod): disable on EFI and QEMU.
+ * grub-core/efiemu/i386/coredetect.c: Remove useless include.
+ * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
+ * grub-core/efiemu/loadcore.c: Likewise.
+ * grub-core/efiemu/main.c: Likewise.
+ (grub_efiemu_exit_boot_services): Removed.
+ (grub_efiemu_finish_boot_services): Likewise.
+ * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
+ function.
+ * grub-core/efiemu/i386/nocfgtables.c: New file.
+ * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
+ * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
+ (grub_efi_finish_boot_services): Moved from here ...
+ * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
+ Fille finish memory map and related data.
+ (finish_mmap_buf): New variable.
+ (grub_efi_uintn_t finish_mmap_size): Likewise.
+ (grub_efi_uintn_t finish_key): Likewise.
+ (grub_efi_uintn_t finish_desc_size): Likewise.
+ (grub_efi_uint32_t finish_desc_version): Likewise.
+ (grub_efi_is_finished): Likewise.
+ (grub_efi_get_memory_map): Use saved memory map if EFI is already
+ finished.
+ * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
+ (grub_elf64_phdr_iterate): Likewise.
+ * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
+ (grub_os_area_size): Likewise.
+ (grub_machine_init): Don't reserve os area.
+ * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
+ * grub-core/kern/i386/ieee1275/startup.S: Likewise.
+ * grub-core/kern/i386/loader.S: Removed.
+ * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
+ (grub_os_area_size): Likewise.
+ (grub_machine_init): Don't reserve os area.
+ * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
+ Don't call grub_dl_unload_all.
+ Don't include loader.S.
+ * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
+ Declare the memory after _end as available.
+ * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
+ * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
+ (GRUB_MM_ALLOC_MAGIC): Moved from here...
+ * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
+ * grub-core/kern/mm.c (grub_mm_header): Moved from here...
+ * include/grub/mm_private.h (grub_mm_header): ... here.
+ * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
+ * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
+ * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
+ (grub_mm_region): ..here. Removed addr. Added pre_size.
+ All users updated.
+ * grub-core/kern/mm.c (base): Renamed to ...
+ (grub_mm_base): ... this. Made global.
+ (grub_real_malloc): Alloc from end of region.
+ (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
+ * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
+ * grub-core/kern/powerpc/cache_flush.S: ... here.
+ * grub-core/lib/efi/relocator.c: New file.
+ * grub-core/lib/i386/relocator.c: Rewritten.
+ * grub-core/lib/i386/relocator16.S: New file.
+ * grub-core/lib/i386/relocator32.S: Likewise.
+ * grub-core/lib/i386/relocator64.S: Likewise.
+ * grub-core/lib/i386/relocator_asm.S: Rewritten.
+ * grub-core/lib/i386/relocator_common.S: New file.
+ * grub-core/lib/ieee1275/relocator.c: Likewise.
+ * grub-core/lib/mips/relocator.c: Rewritten.
+ * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
+ stylistic adjustments.
+ * grub-core/lib/powerpc/relocator.c: New file.
+ * grub-core/lib/powerpc/relocator_asm.S: Likewise.
+ * grub-core/lib/relocator.c: Rewritten.
+ * grub-core/lib/x86_64/relocator_asm.S: New file.
+ * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
+ * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
+ (bsd_tag): New struct.
+ (tags): New variable.
+ (tags_last): Likewise.
+ (netbsd_module): New struct.
+ (netbsd_mods): New variable.
+ (netbsd_mods_last): Likewise.
+ (openbsd_opts): New parameter "serial".
+ (OPENBSD_SERIAL_ARG): New definition.
+ (netbsd_opts): New parameter "serial".
+ (NETBSD_SERIAL_ARG): New definition.
+ (grub_freebsd_add_meta): Reorganised into ...
+ (grub_bsd_add_meta): ...this. All users updated.
+ (grub_freebsd_add_mmap): Reorganised into ...
+ (generate_e820_mmap): ...this...
+ (grub_bsd_add_mmap): ...and this. All users updated.
+ (grub_freebsd_list_modules): Use tags.
+ (grub_netbsd_add_meta_module): New function.
+ (grub_netbsd_list_modules): Likewise.
+ (grub_freebsd_boot): Use relocator and finish EFI.
+ (grub_openbsd_boot): Likewise.
+ (grub_netbsd_setup_video): New function.
+ (grub_netbsd_add_modules): Likewise.
+ (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
+ and finish EFI.
+ (grub_bsd_unload): Unload tags.
+ (grub_bsd_load_aout): Use relocator.
+ (grub_bsd_elf32_size_hook): New function.
+ (grub_bsd_elf32_hook): Use relocator.
+ (grub_bsd_elf64_size_hook): New function.
+ (grub_bsd_elf64_hook): Use relocator.
+ (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
+ (grub_bsd_load): Zero-out openbsd_ramdisk.
+ (grub_bsd_load): Use relocator.
+ (grub_cmd_openbsd): Support serial.
+ (grub_cmd_netbsd): Support modules.
+ (grub_cmd_freebsd_module): Use relocator.
+ (grub_netbsd_module_load): New function.
+ (grub_cmd_netbsd_module): Likewise.
+ (grub_cmd_openbsd_ramdisk): Likewise.
+ (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
+ kopenbsd_ramdisk.
+ (GRUB_MOD_FINI): Unregister new commands.
+ * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
+ (grub_freebsd_load_elfmodule_obj): Use relocator.
+ (grub_freebsd_load_elfmodule): Likewise.
+ (grub_freebsd_load_elf_meta): Likewise.
+ (grub_netbsd_load_elf_meta): New function.
+ (grub_openbsd_find_ramdisk): Likewise.
+ * grub-core/loader/i386/bsd_helper.S: Removed.
+ * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
+ * grub-core/loader/i386/bsd_trampoline.S: Removed.
+ * grub-core/loader/i386/efi/linux.c: Likewise.
+ * grub-core/loader/i386/ieee1275/linux.c: Likewise.
+ * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
+ (DEFAULT_VIDEO_MODE): Likewise.
+ (real_mode_target): New variable.
+ (prot_mode_target): Likewise.
+ (initrd_mem_target): Likewise.
+ (relocator): Likewise.
+ (efi_mmap_buf): Likewise.
+ (efi_mmap_size): Likewise.
+ (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
+ (free_pages): Use relocator.
+ (allocate_pages): Account for efi_mmap and use relocator. Return error.
+ (grub_linux_setup_video): Return error.
+ (grub_linux_trampoline_start): Removed.
+ (grub_linux_trampoline_end): Likewise.
+ (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
+ andd video parameters depending on firmware.
+ [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
+ [GRUB_MACHINE_EFI]: Pass EFI parameters.
+ (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
+ (grub_cmd_initrd): Use relocator.
+ * grub-core/loader/i386/linux_trampoline.S: Removed.
+ * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
+ (elf_sec_entsize): Likewise.
+ (elf_sec_shstrndx): Likewise.
+ (elf_sections): Likewise.
+ (grub_multiboot_load): Use relocator.
+ (grub_multiboot_get_mbi_size): Account for sections.
+ (grub_multiboot_make_mbi): Use relocator and support sections.
+ (grub_multiboot_add_elfsyms): New function.
+ (grub_multiboot_free_mbi): Free sections.
+ * grub-core/loader/i386/pc/linux.c (relocator): New variable.
+ (grub_linux_real_target): Likewise.
+ (grub_linux_real_chunk): Likewise.
+ (grub_linux16_prot_size): Likewise.
+ (grub_linux16_boot): Use relocator.
+ (grub_linux_unload): Unload relocator.
+ (grub_cmd_linux): Use relocator.
+ (grub_cmd_initrd): Likewise.
+ * grub-core/loader/i386/pc/ntldr.c: New file.
+ * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
+ Don't try to guess CPU frequency.
+ (grub_xnu_set_video): Stretch bitmap.
+ (grub_xnu_boot): Use relocator.
+ * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
+ (grub_linux_unload): Free relocator.
+ (grub_linux_load32): Use relocator.
+ (grub_linux_load64): Likewise.
+ (grub_cmd_initrd): Likewise.
+ * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
+ (grub_multiboot_unload): Unload relocator.
+ (grub_cmd_multiboot): Use relocator.
+ (grub_cmd_module): Likewise.
+ * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
+ Use relocator and support sections.
+ * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
+ (elf_sec_entsize): Likewise.
+ (elf_sec_shstrndx): Likewise.
+ (elf_sections): Likewise.
+ (grub_multiboot_load): Use relocator.
+ (grub_multiboot_get_mbi_size): Account for sections.
+ (grub_multiboot_make_mbi): Use relocator and support sections.
+ (grub_multiboot_add_elfsyms): New function.
+ * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
+ * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
+ * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
+ Prototype changed. All users updated.
+ (grub_xnu_align_heap): Simplified.
+ (grub_xnu_writetree_toheap): Likewise.
+ (grub_xnu_unload): Unload relocator.
+ (grub_cmd_xnu_kernel): Use relocator.
+ (grub_cmd_xnu_kernel64): Likewise.
+ (grub_xnu_register_memory): Simplified.
+ * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
+ * grub-core/term/efi/console.c (grub_console_putchar): Abort if
+ EFI is finished.
+ (grub_console_checkkey): Likewise.
+ (grub_console_getkey): Likewise.
+ (grub_console_getwh): Likewise.
+ (grub_console_getxy): Likewise.
+ (grub_console_gotoxy): Likewise.
+ (grub_console_cls): Likewise.
+ (grub_console_setcolorstate): Likewise.
+ (grub_console_setcursor): Likewise.
+ * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
+ * grub-core/tests/boot/kbsd.init-i386.S: New file.
+ * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
+ * grub-core/tests/boot/kbsd.spec.txt: Likewise.
+ * grub-core/tests/boot/kernel-8086.S: Likewise.
+ * grub-core/tests/boot/kernel-i386.S: Likewise.
+ * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
+ * grub-core/tests/boot/kfreebsd.cfg: Likewise.
+ * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
+ * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
+ * grub-core/tests/boot/knetbsd.cfg: Likewise.
+ * grub-core/tests/boot/kopenbsd.cfg: Likewise.
+ * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
+ * grub-core/tests/boot/linux.cfg: Likewise.
+ * grub-core/tests/boot/linux.init-i386.S: Likewise.
+ * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
+ * grub-core/tests/boot/linux16.cfg: Likewise.
+ * grub-core/tests/boot/multiboot.cfg: Likewise.
+ * grub-core/tests/boot/multiboot2.cfg: Likewise.
+ * grub-core/tests/boot/ntldr.cfg: Likewise.
+ * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
+ * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
+ * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
+ New definition.
+ * include/grub/dl.h (grub_dl_unload_all): Removed.
+ * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
+ (grub_efi_finish_boot_services): Change prototype.
+ (grub_efi_is_finished): New variable.
+ * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
+ Changed prototype.
+ (grub_efiemu_finish_boot_services): Removed.
+ (grub_machine_efiemu_init_tables): New prototype.
+ * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
+ (grub_elf64_phdr_iterate): Likewise.
+ * include/grub/i386/bsd.h: Include relocator.h.
+ (freebsd_tag_header): New struct.
+ (grub_openbsd_bios_mmap): Removed.
+ (grub_unix_real_boot): Removed.
+ (grub_freebsd_load_elfmodule32): Changed prototype.
+ (grub_freebsd_load_elfmodule_obj64): Likewise.
+ (grub_freebsd_load_elf_meta32): Likewise.
+ (grub_freebsd_load_elf_meta64): Likewise.
+ (grub_freebsd_add_meta): Removed.
+ (grub_netbsd_load_elf_meta32): New prototype.
+ (grub_netbsd_load_elf_meta64): Likewise.
+ (grub_bsd_add_meta): Likewise.
+ (grub_openbsd_ramdisk_descriptor): New struct.
+ (grub_openbsd_find_ramdisk32): New prototype.
+ (grub_openbsd_find_ramdisk64): Likewise.
+ * include/grub/i386/coreboot/loader.h: Removed.
+ * include/grub/i386/efi/loader.h: Likewise.
+ * include/grub/i386/ieee1275/loader.h: Likewise.
+ * include/grub/i386/linux.h (linux_kernel_header): Change void *
+ to grub_uint32_t.
+ * include/grub/i386/loader.h: Removed.
+ * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
+ value.
+ (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
+ (grub_phys_addr_t): New type.
+ (grub_vtop): New inline function.
+ (grub_map_memory): Likewise.
+ (grub_unmap_memory): Likewise.
+ * include/grub/i386/multiboot/loader.h: Removed.
+ * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
+ (NETBSD_BTINFO_CONSOLE): New definition.
+ (NETBSD_BTINFO_SYMTAB): Likewise.
+ (NETBSD_BTINFO_MODULES): Likewise.
+ (NETBSD_BTINFO_FRAMEBUF): Likewise.
+ (grub_netbsd_bootinfo): New struct.
+ (grub_netbsd_btinfo_common): Use explicit bitsize.
+ (grub_netbsd_btinfo_mmap_entry): Removed.
+ (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
+ (grub_netbsd_btinfo_bootdisk): New struct.
+ (grub_netbsd_btinfo_symtab): Likewise.
+ (grub_netbsd_btinfo_serial): Likewise.
+ (grub_netbsd_btinfo_modules): Likewise.
+ (grub_netbsd_btinfo_framebuf): Likewise.
+ (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
+ * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
+ Likewise.
+ (grub_openbsd_bootargs): Use explicit bitsize.
+ (grub_openbsd_bootarg_console): New struct.
+ (GRUB_OPENBSD_COM_MAJOR): New definition.
+ (GRUB_OPENBSD_VGA_MAJOR): Likewise.
+ * include/grub/i386/pc/efiemu.h: Removed.
+ * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
+ * include/grub/i386/qemu/loader.h: Removed.
+ * include/grub/i386/relocator.h: Rewritten.
+ * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
+ * include/grub/mips/memory.h: New file.
+ * include/grub/mips/multiboot.h: Rewritten.
+ * include/grub/mips/relocator.h: Rewritten.
+ * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
+ (grub_vtop): New function.
+ (grub_map_memory): Likewise.
+ (grub_unmap_memory): Likewise.
+ * include/grub/misc.h (ALIGN_DOWN): New definition.
+ * include/grub/mm.h (grub_mm_check_real): New proto.
+ (GRUB_MM_CHECK): New definition.
+ * include/grub/mm_private.h: New file.
+ * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
+ (grub_multiboot_get_mbi_size): Removed.
+ (grub_multiboot_make_mbi): Change prottype.
+ (grub_multiboot_set_accepts_video): New proto.
+ (grub_multiboot_add_elfsyms): Likewise.
+ (grub_multiboot_payload_eip): New variable.
+ * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
+ New prototype.
+ * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
+ New definition.
+ (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
+ (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
+ * include/grub/powerpc/ieee1275/loader.h: Removed.
+ * include/grub/powerpc/memory.h: New file.
+ * include/grub/powerpc/relocator.h: Likewise.
+ * include/grub/relocator.h: Likewise.
+ * include/grub/relocator_private.h: Likewise.
+ * include/grub/sparc64/ieee1275/loader.h: Removed.
+ * include/grub/x86_64/memory.h: New file.
+ * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
+ (grub_xnu_heap_malloc): Likewise.
+ (grub_xnu_heap_real_start): Removed.
+ (grub_xnu_heap_start): Likewise.
+ (grub_xnu_relocator): New variable.
+ (grub_xnu_heap_target_start): Likewise.
+ * tests/util/grub-shell.in: Support non-pc.
+ * util/grub-mkimage.c (image_targets): Fix multiboot target.
+
+2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
+ on malloc error.
+ (grub_bidi_logical_to_visual): Check that malloc succeded.
+ * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
+ puts.
+ (grub_xputs_normal): Likewise.
+
+2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
+ extra_dist.
+
+2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/efiemu/runtime/efiemu.sh: Removed.
+
+2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.util.def (grub-ofpathname): Add missing ldadd.
+
+2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
+ dprintf.
+
+2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * Makefile.util.def: Use ldadd instead of ldflags for libraries.
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/term.c (print_more): Fix a memory leak.
+ (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
+ (grub_xputs_normal): Likewise.
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
+ the begining of the string
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/script/script.c (grub_script_parse): Free parsed on
+ failure.
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
+ on failure.
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
+ return.
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
+ (scroll_up): Fix a memory leak.
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
+ errors.
+
+2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Handle USB pendrives exposed as floppies.
+
+ * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
+ floppy.
+ * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
+ Check for partitions on all devices.
+
+2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
+ (readkey): Likewise.
+
+2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Multiple variable names support to "export" command.
+
+ * normal/context.c (grub_cmd_export): "export" command supports
+ multiple variable names.
+
+2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
+ --target=drive output to Mach device name.
+
+2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
+
+ New Automake based build system for GRUB.
+
+ * ABOUT-NLS: New file.
+ * Makefile.am: New file. GRUB host utils' rules that doesn't fit
+ in Makefile.util.def file.
+ * Makefile.util.def: New file. Autogen build definitions file for
+ GRUB host utils.
+ * conf/Makefile.common: New file. Common variables for GRUB host
+ utils and target modules.
+ * conf/Makefile.extra-dist: New file. Extra files for make dist.
+ * docs/Makefile.am: New file. Automake file for docs.
+ * gentpl.py: New file. Python script to generate Autogen
+ template.
+ * grub-core/Makefile.am: New file. GRUB target modules' rules
+ that doesn't fit in Makefile.core.def file.
+ * grub-core/Makefile.core.def: New file. Autogen build
+ definitions file for GRUB target modules.
+ * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
+ specific setjmp.S file.
+ * po/Makefile.am: New file.
+
+ * .bzrignore: New ignores.
+ * INSTALL: New requirements, without Ruby.
+ * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
+ * autogen.sh: Updated to invoke autogen as necessary.
+ * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
+ and defines for Automake conditionals.
+ * geninit.sh: Refactoring.
+
+ * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
+ necessary.
+ * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
+ New prototype.
+
+ * include/grub/test.h: Fix functional test modules' naming.
+ * grub-core/tests/example_functional_test.c: Fix test module name.
+
+ * util/misc.c: Hosted versions' of grub functions for libgrub.a
+ * tests/lib/unit_test.c: Remove hosted versions of grub functions.
+ * util/grub-editenv.c: Likewise.
+ * util/grub-fstest.c: Likewise.
+ * util/grub-mkdevicemap.c: Likewise.
+ * util/grub-mkfont.c: Likewise.
+ * util/grub-mkimage.c: Likewise.
+ * util/grub-mkpasswd-pbkdf2.c: Likewise.
+ * util/grub-probe.c: Likewise.
+ * util/grub-script-check.c: Likewise.
+ * util/i386/pc/grub-setup.c: Likewise.
+ * util/sparc64/ieee1275/grub-setup.c: Likewise.
+
+ * tests/util/grub-shell.in: Fix override directory path.
+ * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
+ * util/import_gcry.py: Create Makefile.gcry.def file instead.
+
+ * util/lvm.c: Update #includes.
+ * util/raid.c: Likewise.
+ * util/resolve.c: Likewise.
+ * grub-core/bus/emu/pci.c: Likewise.
+ * grub-core/lib/posix_wrap/stdlib.h: Likewise.
+ * grub-core/lib/posix_wrap/string.h: Likewise.
+ * grub-core/kern/emu/main.c: Likewise.
+
+ * grub-core/gensymlist.sh: New file. Script for generating kernel
+ symbols file.
+ * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
+
+ * grub-core/gentrigtables.c: Fix unused variable warnings.
+
+ * Makefile.in: Removed.
+ * conf/any-emu.rmk: Removed.
+ * conf/common.rmk: Removed.
+ * conf/i386-coreboot.rmk: Removed.
+ * conf/i386-efi.rmk: Removed.
+ * conf/i386-ieee1275.rmk: Removed.
+ * conf/i386-multiboot.rmk: Removed.
+ * conf/i386-pc.rmk: Removed.
+ * conf/i386-qemu.rmk: Removed.
+ * conf/i386.rmk: Removed.
+ * conf/mips-yeeloong.rmk: Removed.
+ * conf/mips.rmk: Removed.
+ * conf/powerpc-ieee1275.rmk: Removed.
+ * conf/sparc64-ieee1275.rmk: Removed.
+ * conf/tests.rmk: Removed.
+ * conf/x86-efi.rmk: Removed.
+ * conf/x86_64-efi.rmk: Removed.
+ * gendistlist.sh: Removed.
+ * geninitheader.sh: Removed.
+ * genkernsyms.sh.in: Removed.
+ * genmk.rb: Removed.
+ * gensymlist.sh.in: Removed.
+ * mkinstalldirs: Removed.
+ * boot: Moved ...
+ * grub-core/boot: ... to here.
+ * bus: Moved ...
+ * grub-core/bus: ... to here.
+ * commands: Moved ...
+ * grub-core/commands: ... to here.
+ * disk: Moved ...
+ * grub-core/disk: ... to here.
+ * efiemu: Moved ...
+ * grub-core/efiemu: ... to here.
+ * font: Moved ...
+ * grub-core/font: ... to here.
+ * fs: Moved ...
+ * grub-core/fs: ... to here.
+ * gencmdlist.sh: Moved ...
+ * grub-core/gencmdlist.sh: ... to here.
+ * genemuinit.sh: Moved ...
+ * grub-core/genemuinit.sh: ... to here.
+ * genemuinitheader.sh: Moved ...
+ * grub-core/genemuinitheader.sh: ... to here.
+ * genfslist.sh: Moved ...
+ * grub-core/genfslist.sh: ... to here.
+ * genhandlerlist.sh: Moved ...
+ * grub-core/genhandlerlist.sh: ... to here.
+ * genmoddep.awk: Moved ...
+ * grub-core/genmoddep.awk: ... to here.
+ * genmodsrc.sh: Moved ...
+ * grub-core/genmodsrc.sh: ... to here.
+ * genpartmaplist.sh: Moved ...
+ * grub-core/genpartmaplist.sh: ... to here.
+ * genparttoollist.sh: Moved ...
+ * grub-core/genparttoollist.sh: ... to here.
+ * genterminallist.sh: Moved ...
+ * grub-core/genterminallist.sh: ... to here.
+ * gentrigtables.c: Moved ...
+ * grub-core/gentrigtables.c: ... to here.
+ * genvideolist.sh: Moved ...
+ * grub-core/genvideolist.sh: ... to here.
+ * gettext: Moved ...
+ * grub-core/gettext: ... to here.
+ * gfxmenu: Moved ...
+ * grub-core/gfxmenu: ... to here.
+ * gnulib: Moved ...
+ * grub-core/gnulib: ... to here.
+ * hello: Moved ...
+ * grub-core/hello: ... to here.
+ * hook: Moved ...
+ * grub-core/hook: ... to here.
+ * io: Moved ...
+ * grub-core/io: ... to here.
+ * kern: Moved ...
+ * grub-core/kern: ... to here.
+ * lib: Moved ...
+ * grub-core/lib: ... to here.
+ * loader: Moved ...
+ * grub-core/loader: ... to here.
+ * mmap: Moved ...
+ * grub-core/mmap: ... to here.
+ * normal: Moved ...
+ * grub-core/normal: ... to here.
+ * partmap: Moved ...
+ * grub-core/partmap: ... to here.
+ * parttool: Moved ...
+ * grub-core/parttool: ... to here.
+ * script: Moved ...
+ * grub-core/script: ... to here.
+ * term: Moved ...
+ * grub-core/term: ... to here
+ * tests/example_functional_test.c: Moved ...
+ * grub-core/tests/example_functional_test.c: ... to here.
+ * tests/lib/functional_test.c: Moved ...
+ * grub-core/tests/lib/functional_test.c: ... to here.
+ * tests/lib/test.c: Moved ...
+ * grub-core/tests/lib/test.c: ... to here.
+ * video: Moved ...
+ * grub-core/video: ... to here.
+
+2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Replace --enable-grub-emu-modules with grub-emu-lite.
+
+ * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
+ cache.S.
+
+ * include/grub/emu/misc.h (grub_emu_init): New prototype.
+ * kern/emu/full.c: New file. For grub-emu specific initialization.
+ * kern/emu/lite.c: New file. For grub-emu-lite initialization.
+ * kern/emu/main.c: Call initialization function grub_emu_init.
+
+ * Makefile.in: Include grub-emu-lite in install.
+ * commands/parttool.c: Use grub_no_autoload to differentiate
+ between grub-emu and grub-emu-lite.
+ * include/grub/misc.h: New variable grub_no_autoload.
+
+ * conf/any-emu.rmk: New rules for grub-emu-lite.
+ * configure.ac: Remove --enable-grub-emu-modules.
+ * genmk.rb: Cleanup unnecessary rules.
+ * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
+
+ * normal/main.c: Don't load list files on grub-emu-lite.
+ * util/misc.c (grub_arch_sync_caches): Removed.
+
+2010-08-23 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/mips/startup.S (grub_prefix): Update comment to refer to
+ grub-mkimage rather than grub-mkelfimage.
+ * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
+
+2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
+ a key after CapsLock or NumLock. It's just a qemu bug.
+
+2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
+ needed by libusb wrapper.
+
+2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
+
+2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/multiboot.c (grub_cmd_module): Don't unzip module if
+ --nounzip is passed.
+
+2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ USB hotunplugging and USB serial support.
+
+ * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
+ * bus/usb/uhci.c (grub_free_queue): Compute *actual.
+ (grub_uhci_transfer): Respect timeout and set *actual.
+ * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
+ non-standard length.
+ (grub_usb_device_attach): Autoload modules.
+ (GRUB_MOD_INIT): Set grub_term_poll_usb.
+ (GRUB_MOD_FINI): Unset grub_term_poll_usb.
+ * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
+ users updated.
+ (grub_usb_add_hub): Fill nports and children.
+ (attach_root_port): Receive hub instead of controller.
+ All users updated. Fill hub->devices.
+ (grub_usb_root_hub): Allocate hub->devices.
+ (detach_device): New function.
+ (poll_nonroot_hub): Fill children and detach devices.
+ * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
+ actual arguments. All users updated.
+ (grub_usb_bulk_read_extended): New function.
+ * bus/usb/serial/common.c: New file.
+ * bus/usb/serial/ftdi.c: Likewise.
+ * bus/usb/serial/pl2303.c: Likewise.
+ * commands/terminal.c (handle_command): Support wildcard.
+ * commands/usbtest.c: Output "Unknown" instead of empty string.
+ * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
+ (usbserial_common_mod_SOURCES): New variable.
+ (usbserial_common_mod_CFLAGS): Likewise.
+ (usbserial_common_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES): Add usbserial_pl2303.mod.
+ (usbserial_pl2303_mod_SOURCES): New variable.
+ (usbserial_pl2303_mod_CFLAGS): Likewise.
+ (usbserial_pl2303_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES): Add usbserial_ftdi.mod.
+ (usbserial_ftdi_mod_SOURCES): New variable.
+ (usbserial_ftdi_mod_CFLAGS): Likewise.
+ (usbserial_ftdi_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES): Add serial.mod.
+ (serial_mod_SOURCES): New variable.
+ (serial_mod_CFLAGS): Likewise.
+ (serial_mod_LDFLAGS): Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/mips-yeeloong.rmk: Likewise.
+ * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
+ * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
+ * disk/usbms.c (first_available_slot): New variable.
+ (grub_usbms_attach): Don't reuse free slots due to potential cache
+ problems.
+ * include/grub/serial.h: Moved to ..
+ * include/grub/ns8250.h: ...this.
+ * include/grub/serial.h: New file.
+ * include/grub/term.h (grub_term_poll_usb): New variable.
+ * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
+ readkey. All users updated.
+ (grub_terminfo_output_state): Pass term to put.
+ * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
+ (grub_usb_controller_dev): Add timeout and actual arguments to
+ transfer. All users updated.
+ (grub_usb_interface): New field detach_data.
+ (grub_usb_device): New fields children and nports.
+ (grub_usb_ep_type_t): New type.
+ (grub_usb_get_ep_type): New function.
+ (grub_usb_bulk_read_extended): Likewise.
+ * include/grub/usbdesc.h (grub_usb_desc): New type.
+ * include/grub/usbserial.h: New file.
+ * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
+ * kern/term.c (grub_term_poll_usb): New variable.
+ (grub_getkey): Call grub_term_poll_usb if set.
+ (grub_checkkey): Likewise.
+ (grub_getkeystatus): Likewise.
+ * term/serial.c: Moved controller-specific parts to ...
+ * term/ns8250.c: ... here.
+ * term/serial.c: Mostly rewritten.
+ * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
+ according to spec.
+
+2010-08-20 Robert Millan <rmh@gnu.org>
+
+ Make kFreeBSD code more generic to support ext2fs as root, ufs as
+ a separate module and maybe other interesting combinations.
+
+ * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
+ (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
+ (kfreebsd_entry): Add generic filesystem module load routine.
+ Map GRUB `ext2' to kFreeBSD `ext2fs'.
+
+2010-08-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
+ "numcenter" (I misunderstood the purpose of this entry).
+ * docs/grub.texi (sendkey): Likewise.
+
+2010-08-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/i386/pc/sendkey.c (options): Remove "keep" from all
+ status flag options; simply omitting the option is equivalent and
+ simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
+ (keysym_table): Rename "num5numlock" to "numlock".
+ (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
+ can uniformly say that only the last of multiple `sendkey'
+ invocations has any effect.
+ * docs/grub.texi (sendkey): New section.
+
+2010-08-19 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/i386/pc/sendkey.c (options): Fix three typos.
+
+2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Implement sendkey support.
+
+ * commands/i386/pc/sendkey.c: New file.
+ * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
+ (sendkey_mod_SOURCES): New variable.
+ (sendkey_mod_CFLAGS): Likewise.
+ (sendkey_mod_LDFLAGS): Likewise.
+
+2010-08-18 Colin Watson <cjwatson@ubuntu.com>
+
+ * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
+ fix warnings from Autoconf.
+
+2010-08-18 Colin Watson <cjwatson@ubuntu.com>
+
+ * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
+ to avoid false positives with some assemblers that output things
+ like "someprefix_func" as part of their output.
+
+2010-08-15 Robert Millan <rmh@gnu.org>
+
+ * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
+ errors.
+ * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
+ grub_get_libzfs_handle() errors.
+
+2010-08-14 Robert Millan <rmh@gnu.org>
+
+ * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
+ filesystem is not ZFS.
+
+2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix for misspelled color names defaulting to black/black (bug
+ reported by Doug Nazar)
+
+ * include/grub/normal.h (grub_parse_color_name_pair): Add return
+ status to prototype.
+ * normal/color.c (grub_parse_color_name_pair): Return failure
+ status.
+ (grub_env_write_color_normal): Ignore bad color names.
+ (grub_env_write_color_highlight): Likewise.
+ * normal/main.c (GRUB_MOD_INIT): Set default color names.
+
+2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
+
+ "shift" command support to GRUB script.
+
+ * include/grub/script_sh.h (grub_script_shift): New prototype.
+ * script/execute.c (grub_script_shift): New function.
+ * script/main.c (grub_script_init): Register shift command.
+ (grub_script_fini): Unregister shift command.
+ * util/grub-script-check.c (grub_script_cmd_shift): New function.
+
+ * tests/grub_script_shift.in: New testcase.
+ * conf/tests.rmk: Rules for new testcase.
+
+2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
+
+ "continue" command support to GRUB script.
+
+ * script/execute.c (grub_script_execute_cmdwhile): Continue support.
+ (grub_script_break): Continue support.
+ * script/main.c (grub_script_init): Register continue command.
+ (grub_script_fini): Unregister continue command.
+
+ * tests/grub_script_continue.in: New testcase.
+ * conf/tests.rmk: Rules for new testcase.
+
+2010-08-12 BVK Chaitanya <bvk@dbook>
+
+ "break" command support to GRUB script.
+
+ * conf/common.rmk: Rule updates to grub-script-check.
+ * include/grub/misc.h (grub_min): New function.
+ * include/grub/script_sh.h (grub_script_init): New prototype.
+ (grub_script_fini): New prototype.
+ (grub_script_break): New prototype.
+ * script/main.c (grub_script_init): New function.
+ (grub_script_fini): New function.
+ * script/execute.c (grub_script_break): New function.
+ * normal/main.c: Calls to grub_script_{init,fini}.
+ * util/grub-script-check.c (grub_script_break): New function.
+
+ * tests/grub_script_break.in: New testcase.
+ * conf/tests.rmk: Rules for new test case.
+
+2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Function parameters support to GRUB script.
+
+ * script/yylex.l (VARIABLE): Regular expression update.
+ * script/function.c (grub_script_function_call): Moved ...
+ * script/execute.c (grub_script_function_call): ... to here.
+ (grub_script_execute_arglist_to_argv): Removed.
+ (grub_script_arglist_to_argv): New function.
+ * script/argv.c: New file.
+ (grub_script_argv_free): New function.
+ (grub_script_argv_next): Likewise.
+ (grub_script_argv_append): Likewise.
+ (grub_script_argv_split_append): Likewise.
+ * include/grub/script_sh.h (grub_script_argv): New struct.
+ (grub_script_argv_free): New function.
+ (grub_script_argv_next): Likewise.
+ (grub_script_argv_append): Likewise.
+ (grub_script_argv_split_append): Likewise.
+
+ * conf/common.rmk (normal.mod): New source script/argv.c.
+
+ * tests/grub_script_echo1.in: More tests.
+ * tests/grub_script_vars1.in: Likewise.
+ * tests/grub_script_functions.in: New test case.
+ * conf/tests.rmk: Rules for new testcase.
+
+2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Remove grub_script_cmdblock struct.
+
+ * include/grub/script_sh.h: Remove grub_script_cmdblock.
+ * script/parser.y: Likewise.
+ * script/execute.c: Rename cmdblock suffix to cmdlist.
+ * script/script.c: Likewise.
+ * util/grub-script-check.c: Likewise.
+
+2010-08-11 Yves Blusseau <blusseau@zetam.org>
+
+ * .bzrignore: add grub-macho2img
+
+2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
+
+2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove the dump of sm712 initialisation sequence.
+
+ * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
+ * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
+ (GRUB_VGA_IO_MISC_WRITE): Likewise.
+ (GRUB_VGA_CR_*): Added many registers.
+ (GRUB_VGA_SR_*): Likewise.
+ (GRUB_VGA_GR_*): Likewise.
+ (grub_vga_write_arx): New function.
+ (grub_video_hw_config): New struct.
+ (grub_vga_set_geometry): New function.
+ * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
+ GRUB_PCI_CLASS_SUBCLASS_VGA.
+ * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
+ * video/sm712.c (grub_sm712_write_reg): New function
+ (grub_sm712_read_reg): Likewise.
+ (grub_sm712_sr_write): Likewise.
+ (grub_sm712_gr_write): Likewise.
+ (grub_sm712_cr_write): Likewise.
+ (grub_sm712_write_arx): Likewise.
+ (grub_sm712_cr_shadow_write): Likewise.
+ (grub_sm712_write_dda_lookup): Likewise.
+ (grub_video_sm712_setup): Initialise the video rather then
+ blindly replay the dump.
+ (main) [TEST]: Add a routine to be able to compile as standalone for
+ tests.
+ * video/sm712_init.c (sm712_init): Removed.
+ (sm712_sr_seq1): New array.
+ (sm712_sr_seq2): Likewise.
+
+2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/vga.h: Add missing grub/pci.h include.
+
+2010-08-10 Yves Blusseau <blusseau@zetam.org>
+
+ * util/grub-macho2img.c (main): fix typo
+
+2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
+ (grub_vga_gr_read): Likewise.
+ (grub_vga_cr_write): Likewise.
+ (grub_vga_cr_read): Likewise.
+ (grub_vga_sr_write): Likewise.
+ (grub_vga_sr_read): Likewise.
+ (grub_vga_palette_read): Likewise.
+ (grub_vga_palette_write): Likewise.
+ * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
+ (grub_sm712_sr_read): New function.
+ (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
+ * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
+
+2010-08-09 Robert Millan <rmh@gnu.org>
+
+ * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
+ out unused variables on non-ZFS build.
+
+2010-08-08 Robert Millan <rmh@gnu.org>
+
+ Fix path generation for sub-filesystems in ZFS.
+
+ * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
+ missing slash.
+
+2010-08-08 Robert Millan <rmh@gnu.org>
+
+ * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
+
+2010-08-08 Robert Millan <rmh@gnu.org>
+
+ * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
+ exist, issue a proper error message (rely on `ls' for translated
+ strings).
+
+2010-08-08 Robert Millan <rmh@gnu.org>
+
+ Fix grub-probe invocation.
+
+ * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
+
+2010-08-04 Robert Millan <rmh@gnu.org>
+
+ * configure.ac: Remove checks for getfsstat() and getmntany().
+ Add checks for `<sys/param.h>' and `<sys/mount.h>'.
+ * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
+ [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
+ [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
+ [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
+ function.
+ (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
+ via find_mount_point_from_dir() and getfsstat() / getmntany().
+
+2010-08-04 Robert Millan <rmh@gnu.org>
+
+ * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
+ (grub_find_zpool_from_mount_point): Merge into ...
+ (grub_find_zpool_from_dir): ... this.
+ * kern/emu/misc.c: Likewise.
+
+ * kern/emu/misc.c
+ (grub_make_system_path_relative_to_its_root): Replace
+ grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
+ with grub_find_zpool_from_dir().
+ * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
+
+2010-08-04 Robert Millan <rmh@gnu.org>
+
+ Support OpenSolaris in ZFS device resolution.
+
+ * configure.ac: Check for getmntany().
+ * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
+ [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
+ support.
+
+2010-08-03 Robert Millan <rmh@gnu.org>
+
+ Fix grub-emu build.
+
+ * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
+ * include/grub/emu/misc.h: ... here.
+
+ * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
+ * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
+
+ * util/misc.c: Remove `<grub/util/libzfs.h>'.
+ [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
+ (grub_get_libzfs_handle): Move to ...
+ * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
+ (grub_get_libzfs_handle): ... here.
+
+2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * script/execute.c (grub_script_execute_cmdline): Check for NULL
+ as command name case.
+
+2010-08-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * disk/raid.c (insert_array): Select unique numbers for named arrays
+ as well, for use as keys in the disk cache.
+
+2010-08-01 Robert Millan <rmh@gnu.org>
+
+ * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
+ kFreeBSD device name, except on ZFS where the filesystem label is
+ used.
+ (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
+ `/boot/zfs/zpool.cache'.
+ Set mountfrom kernel variable using ${kfreebsd_device}.
+
+2010-08-01 Robert Millan <rmh@gnu.org>
+
+ Make it even harder to use uninitialized `libzfs_handle' (and
+ make the interface a bit simpler).
+
+ * include/grub/util/misc.h (grub_util_init_libzfs)
+ (libzfs_handle): Remove.
+ (grub_get_libzfs_handle): New prototype.
+
+ * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
+ attribute.
+ (grub_util_init_libzfs): Remove.
+ (grub_get_libzfs_handle): New function.
+
+ * kern/emu/getroot.c (find_root_device_from_libzfs): Use
+ grub_get_libzfs_handle() to obtain a libzfs handle instead of
+ accessing `libzfs_handle' directly.
+
+2010-08-01 Robert Millan <rmh@gnu.org>
+
+ * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
+ (grub_find_zpool_from_mount_point): New function prototypes.
+
+ * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
+ * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
+
+ * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
+ * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
+ `static' attribute.
+
+ * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
+ finding zpool from mount point into ...
+ * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
+
+ * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
+ requested path is part of a ZFS pool, use
+ grub_find_zpool_from_mount_point() to detect its filesystem name,
+ and generate a path with `/fsname@path' syntax.
+
+2010-08-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/util/libzfs.h (libzfs_init): Set argument list to
+ (void) rather than () so that this is a proper prototype.
+
+2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
+
+2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
+ [HAVE_LIBZFS && HAVE_LIBNVPAIR]
+
+2010-08-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
+
+2010-08-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
+
+2010-08-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
+ and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
+ GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
+ disable gfxpayload.
+ (Shell-like scripting): Add real content.
+ (Serial terminal): Suggest `terminal_input serial; terminal_output
+ serial' rather than putting the two commands on separate lines,
+ since console input will be inoperative after the first command.
+ (menuentry): Document --class, --users, and --hotkey options.
+ (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
+ Vladimir Serbinenko).
+
+2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
+2010-08-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
+
+2010-08-01 Robert Millan <rmh@gnu.org>
+
+ * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
+ (grub_find_zpool_from_mount_point): New function prototypes.
+
+ * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
+ * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
+
+ * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
+ * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
+ `static' attribute.
+
+ * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
+ finding zpool from mount point into ...
+ * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
+
+ * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
+ requested path is part of a ZFS pool, use
+ grub_find_zpool_from_mount_point() to detect its filesystem name,
+ and generate a path with `/fsname@path' syntax.
+
+2010-08-01 Robert Millan <rmh@gnu.org>
+
+ Prevent accidental use of uninitialized libzfs_handle.
+
+ * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
+ * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
+ * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
+
+2010-08-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
+ util/grub.d/10_linux.in). Fixes Debian bug #591093.
+
+2010-08-01 Robert Millan <rmh@gnu.org>
+
+ * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
+
+2010-07-31 Robert Millan <rmh@gnu.org>
+
+ * util/grub.d/10_kfreebsd.in: Make module handling more generic.
+
+2010-07-31 Robert Millan <rmh@gnu.org>
+
+ * kern/emu/misc.c: Add missing license header.
+
+2010-07-31 Robert Millan <rmh@gnu.org>
+
+ * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
+
+ * include/grub/util/libnvpair.h: Include `<config.h>'.
+ [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
+ declaring libnvpair prototypes ourselves.
+ * include/grub/util/libzfs.h: Include `<config.h>'.
+ [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
+ declaring libzfs prototypes ourselves.
+
+ (libzfs_handle): Moved to ...
+ * include/grub/util/misc.h (libzfs_handle): ... here.
+ Include `<grub/util/libzfs.h>'.
+
+2010-07-30 Robert Millan <rmh@gnu.org>
+
+ * include/grub/emu/misc.h: Add missing license header.
+
+2010-07-30 Robert Millan <rmh@gnu.org>
+
+ Enable `grub-probe -t device' resolution on ZFS.
+
+ * configure.ac: Check for getfsstat(), libzfs and libnvpair.
+ * include/grub/util/libnvpair.h: New file.
+ * include/grub/util/libzfs.h: New file.
+
+ * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
+ [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
+ `<grub/util/libnvpair.h>'.
+ [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
+
+ (find_mount_point_from_dir): New static function.
+ [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
+ function.
+ [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
+ find_root_device_from_libzfs() before ressorting to find_root_device().
+
+ * include/grub/util/misc.h (grub_util_init_libzfs): New function
+ prototype.
+ * util/misc.c: Include `<grub/util/libzfs.h>'.
+ (grub_util_init_libzfs): New function.
+ [HAVE_LIBZFS] (libzfs_handle): New global variable.
+ [HAVE_LIBZFS] (fini_libzfs): New static function.
+ (grub_util_init_libzfs): New function.
+ * util/grub-probe.c (main): Call grub_util_init_libzfs().
+
+2010-07-30 Robert Millan <rmh@gnu.org>
+
+ * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
+ (xmalloc, xrealloc, xstrdup, xasprintf): Add
+ `warn_unused_result' attribute.
+ * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
+ (grub_xasprintf, grub_xvasprintf): Likewise.
+ * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
+
+2010-07-29 Robert Millan <rmh@gnu.org>
+
+ * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
+ (probe): Handle `PRINT_FS_LABEL'.
+ (main): Handle `-t fs_label'.
+
+2010-07-29 Robert Millan <rmh@gnu.org>
+
+ * configure.ac: Remove grub-mkisofs checks.
+
+2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/ieee1275/grub-install.in: Don't use empty grub_device.
+ Reported by: Lennart Sorensen.
+
+2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/00_header.in: Remove compatibility with terminal.mod
+ prior to terminal_input/terminal_output separation. It's been over 1.5
+ years and those versions weren't widely deployed.
+
+2010-07-22 Colin Watson <cjwatson@ubuntu.com>
+
+ * disk/raid.c (insert_array): Don't count named arrays when looking
+ for unused array numbers.
+ Reported and tested by: Michael Guntsche.
+
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
+ implementation of this so that grub-emu links again, with a note
+ that this should support hotplugging in the future.
+
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
+
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
+ handle on failure.
+ (grub_loopback_close): Remove empty function.
+ (grub_loopback_dev): Remove close method.
+
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ Disable EFI cursor when the EFI console becomes inactive.
+
+ * term/efi/console.c (grub_efi_console_init): New function.
+ (grub_efi_console_fini): New function.
+ (grub_console_term_output): Register init and fini methods.
+
+2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * tests/util/grub-shell-tester.in: Remove bashism and declare as
+ sh script.
+
+2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/loopback.c (grub_loopback): Replace filename with file.
+ (delete_loopback): Handle new semantics.
+ (grub_cmd_loopback): Likewise.
+ (grub_loopback_iterate): Likewise.
+ (grub_loopback_close): Likewise.
+
+2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
+ with -p "".
+ Reported by: Tito Keitel.
+
+2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Naming convention): Document new naming convention.
+
+2010-07-20 Vadim Solomin <vadic052@gmail.com>
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ Generate device.map in something closer to the old ordering.
+
+ * util/deviceiter.c (struct device): New declaration.
+ (compare_file_names): Rename to ...
+ (compare_devices): ... this. Sort by kernel name in preference to
+ the stable by-id name, but keep the latter as a fallback comparison.
+ Update header comment.
+ (grub_util_iterate_devices) [__linux__]: Construct and sort an array
+ of `struct device' rather than of plain file names.
+
+2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
+
+ * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
+ on i386.
+
+2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/acpi.c (setup_common_tables): Use sizeof instead of
+ hardcoding size.
+ (setv1table): Likewise.
+
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
+ removing the homehost if present.
+ * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
+ (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
+ removing the homehost if present.
+ (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
+ if possible.
+ * util/i386/pc/grub-setup.c (main): Handle md/* devices.
+
+ * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
+ parameter. Set its pointer target to 0.
+ * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
+ parameter. Set its pointer target to 0 for 0.9 metadata, or to the
+ `data_offset' value from the superblock for 1.x metadata.
+ * disk/raid.c (grub_raid_read): Offset reads by the start sector of
+ data on the device.
+ (insert_array): Record the start sector of data on the device.
+ (grub_raid_register): Pass start_sector parameters to
+ grub_raid_list->detect and insert_array.
+ * include/grub/raid.h (struct grub_raid_array): Add start_sector
+ member.
+ (struct grub_raid): Add start_sector parameter to `detect'.
+
+ * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
+ __attribute__ ((packed)), leaving a comment.
+ (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
+ (grub_mdraid_detect_09): ... here and ...
+ (grub_mdraid_detect_1x): ... here.
+
+2010-07-20 Peter Henn <peter.henn@web.de>
+
+ * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
+ chunk size and disk size, which are already given as sector counts
+ as distinct from the 0.90 units. Fetch the correct device number
+ from the role table instead of using the table index.
+
+2010-07-20 Felix Zielcke <fzielcke@z-51.de>
+
+ * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
+ * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
+ (WriteMostly1): New macro.
+ Set array->name to NULL for metadata format 0.90. Add support for
+ metadata 1.x. Fix some comments.
+ * disk/raid.c (): Add support for name based RAID arrays. Fix a
+ few comments.
+ * util/getroot.c (grub_util_get_grub_dev): Add support for
+ /dev/md/name style devices.
+
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Ignore 20_linux_xen.
+
+2010-07-17 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/import_unicode.py: Remove unnecessary imports.
+
+2010-07-17 Aleš Nesrsta <starous@volny.cz>
+
+ Hotplugging and USB hub support.
+
+ * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
+ (grub_ohci): Likewise.
+ (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
+ (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
+ (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
+ (GRUB_OHCI_CTRL_EDS): Likewise.
+ (GRUB_OHCI_BULK_EDS): Likewise.
+ (GRUB_OHCI_TDS): Likewise.
+ (GRUB_OHCI_ED_ADDR_MASK): Likewise.
+ (grub_ohci_ed_phys2virt): New function.
+ (grub_ohci_virt_to_phys): Likewise.
+ (grub_ohci_td_phys2virt): Likewise.
+ (grub_ohci_td_virt2phys): Likewise.
+ (grub_ohci_pci_iter): Allocate memory and don't wait for stable
+ attachment.
+ (grub_ohci_find_ed): New function.
+ (grub_ohci_alloc_td): Likewise.
+ (grub_ohci_free_td): Likewise.
+ (grub_ohci_free_tds): Likewise.
+ (grub_ohci_transfer): Use previously allocated memory.
+ (grub_ohci_portstatus): Reset status changed bit.
+ (grub_ohci_detect_dev): Supply status changed.
+ (grub_ohci_fini_hw): Free memory.
+ (grub_ohci_restore_hw): Reallocate memory.
+ * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
+ Reset status change.
+ (grub_uhci_detect_dev): Supply status_change.
+ * bus/usb/usb.c (attach_hooks): New var.
+ (grub_usb_device_attach): New function.
+ (grub_usb_register_attach_hook_class): Likewise.
+ (grub_usb_unregister_attach_hook_class): Likewise.
+ * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
+ (grub_usb_add_hub): Reset connection changed bit.
+ (attach_root_port): New function.
+ (grub_usb_root_hub): Likewise.
+ (poll_nonroot_hub): Likewise.
+ (grub_usb_poll_devices): Likewise.
+ * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
+ * disk/usbms.c (grub_usbms_open): Use device hooks.
+ (grub_usbms_iterate) :Poll devices.
+ (grub_usbms_finddevs): Split into ...
+ (grub_usbms_attach): ... this ...
+ (grub_usbms_attach): ... and this.
+ * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
+ in detect_dev.
+ (grub_usb_interface): New fields attached and detach_hook.
+ (grub_usb_attach_hook_class): New type.
+ (grub_usb_attach_desc): New struct.
+ (grub_usb_register_attach_hook_class): New function.
+ (grub_usb_unregister_attach_hook_class): Likewise.
+ (grub_usb_poll_devices): Likewise.
+ (grub_usb_device_attach): Likewise.
+ * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
+ (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
+
+2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
+ * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
+ delta determination style. Works with most NetBSD partitions too.
+
+2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
+ * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
+
+2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
+
+2010-07-14 Anton Blanchard <anton@samba.org>
+
+ * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
+ ET_DYN files.
+
+2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
+
+2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * kern/partition.c (grub_partition_check_containment): New function to
+ check that a partition is physically contained in a parent. Since
+ offsets are relative (and non-negative), this reduces to checking that
+ the partition ends before its parent.
+ (grub_partition_map_probe): Discard out-of-range sub-partitions.
+ (grub_partition_iterate): Likewise.
+ * include/grub/partition.h (grub_partition_map): Slightly more detailed
+ comments.
+ * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
+ partitions that start before their parent, and add debug printfs.
+
+2010-07-13 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in (.SUFFIX): Spell correctly, as ...
+ (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
+ bare module name without `.mod', e.g. `test') tried to invoke a
+ Modula-2 compiler.
+
+2010-07-13 Colin Watson <cjwatson@ubuntu.com>
+
+ * README: Point to the Info manual.
+
+2010-07-13 Jiro SEKIBA <jir@unicus.jp>
+
+ * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
+ 2nd superblock position from partition size.
+
+2010-07-10 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in (MAINTAINER_CLEANFILES): Remove
+ unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
+ unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
+ outputs.
+
+2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Restructure SCSI .id handling.
+ Reported and tested by: Aleš Nesrsta.
+
+ * disk/ata.c (grub_atapi_close): Removed. All users updated.
+ (grub_atapi_dev): Changed .name to "ata". New field .id.
+ * disk/usbms.c (grub_usbms_close): Removed. All users updated.
+ (grub_usbms_dev): New field .id.
+ * disk/scsi.c (grub_scsi_iterate): Generate name.
+ (grub_scsi_open): Parse name.
+ * include/grub/scsi.h (grub_make_scsi_id): New function.
+ (grub_scsi_dev): Change iterate and open to number instead of naming
+ busses. All users updated.
+ (grub_scsi): Remove name. Add .bus.
+
+2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/help.c (grub_cmd_help): Fix a typo.
+
+2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
+ Reported and tested by: Colin Watson.
+
+2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
+ in this context.
+
+2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
+
+2010-07-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
+ indentation.
+
+2010-07-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
+ and disk/raid6_recover.c.
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
+
+2010-07-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * term/gfxterm.c (repaint_schedulded): Rename to ...
+ (repaint_scheduled): ... this. Update all callers.
+ (repaint_was_schedulded): Rename to ...
+ (repaint_was_scheduled): ... this. Update all callers.
+
+2010-07-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
+ which we expect to be handled by upper layers.
+
+2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * bus/usb/usbhub.c: #include time.h header.
+
+2010-07-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
+ entry_name also for entries without stat blocks (e.g. ".."); fixes
+ corruption of the first entry in a directory.
+
+2010-07-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
+ after setting gfxterm as the active terminal. GRUB_BACKGROUND
+ doesn't work otherwise.
+
+2010-07-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Features): Update list of supported file systems.
+ (GNU/Linux): Update for GRUB 2.
+ (Serial terminal): Remove mention of --disable-serial, which was a
+ GRUB Legacy configure option. Update instructions to use
+ `terminal_input' and `terminal_output' rather than `terminal'.
+ (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
+ configuration' and `Installing GRUB using grub-install'.
+ (Menu entry editor): Update for GRUB 2.
+ (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
+ Document new -a, -u, and -v options.
+ (initrd): New section.
+ (initrd16): New section.
+ (linux): New section.
+ (linux16): New section.
+ (search): The `var' argument to `--set' is optional.
+ (GRUB only offers a rescue shell): Go into a little more detail on
+ drive ordering.
+
+2010-07-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
+
+2010-07-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
+ unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
+
+2010-07-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/i386/pc/grub-setup.c (setup): Rename prefix to
+ install_prefix, in line with install_dos_part and install_bsd_part.
+ Add new prefix variable, which is copied to install_prefix after
+ comparing core.img in memory with the one read from disk in the
+ no-embedding case, and use that rather than overwriting
+ install_prefix immediately when installing to a partition.
+ Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
+ Bicakci.
+
+2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * configure.ac: Avoid == in test command, it's not portable.
+ * util/grub.d/30_os-prober.in: Likewise.
+
+2010-07-04 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
+
+2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * util/i386/pc/grub-setup.c (setup): Do not embed when there are
+ multiple (top-level) partmaps.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/i386/efi/grub-install.in: Don't use empty grub_device.
+ Reported by: Tino Keitel.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Bidi and diacritics support.
+
+ * Makefile.in (widthspec.bin): New target.
+ (widthspec.h): Likewise.
+ (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
+ * autogen.sh: Generate unidata.c.
+ * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
+ * commands/ls.c (grub_ls_list_devices): Likewise.
+ (grub_ls_list_files): Likewise.
+ * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
+ (grub_mini_cmd_lsmod): Likewise.
+ * commands/read.c: Likewise.
+ * kern/corecmd.c (grub_core_cmd_ls): Likewise.
+ * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
+ * lib/arg.c (grub_arg_show_help): Likewise.
+ * lib/crypto.c (grub_password_get): Likewise.
+ * normal/auth.c (grub_username_get): Likewise.
+ * normal/misc.c (grub_normal_print_device_info): Likewise.
+ * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
+ * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
+ (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
+ (normal/charset.c_DEPENDENCIES): New variable.
+ (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
+ (pkglib_MODULES): Remove charset.mod.
+ (charset_mod_SOURCES): Removed.
+ (charset_mod_CFLAGS): Likewise.
+ (charset_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
+ * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
+ and term/tparm.c.
+ * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
+ * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
+ (kernel_img_HEADERS): Add terminfo.h.
+ * font/font.c (ascii_glyph_lookup): Return NULL on failure.
+ Fill ->font. Reverse ascii bitmaps.
+ (grub_font_get_xheight): New function.
+ * font/font.c (grub_font_get_string_width): Moved from here ...
+ * gfxmenu/font.c (grub_font_get_string_width): ... here.
+ * font/font.c (grub_font_draw_string): Moved from here ...
+ * gfxmenu/font.c (grub_font_draw_string): ... here.
+ * font/font.c (grub_font_dup_glyph): New function.
+ (grub_font_blit_glyph): Likewise.
+ (grub_font_blit_glyph_mirror): Likewise.
+ (blit_comb): Likewise.
+ (grub_font_construct_dry_run): Likewise.
+ (grub_font_get_constructed_device_width): Likewise.
+ (grub_font_construct_glyph): Likewise.
+ * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
+ * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
+ * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
+ * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
+ (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
+ (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
+ (grub_font_get_xheight): New proto.
+ (grub_font_get_constructed_device_width): Likewise.
+ (grub_font_construct_glyph): Likewise.
+ * include/grub/font.h (grub_font_get_string_width): Moved from here ...
+ * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
+ * include/grub/font.h (grub_font_draw_string): Moved from here ...
+ * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
+ * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
+ * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
+ * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
+ (grub_console_getcharwidth): Likewise.
+ * include/grub/misc.h (grub_xputs): New proto.
+ (grub_puts): Inlined.
+ * include/grub/normal.h (grub_print_ucs4): Add margin specification.
+ (grub_normal_get_line_counter): Removed.
+ (grub_install_newline_hook): Likewise.
+ (grub_normal_get_char_counter): New proto.
+ (grub_normal_reset_more): Likewise.
+ (grub_xputs_normal): Likewise.
+ * include/grub/powerpc/ieee1275/console.h: Removed.
+ * include/grub/sparc64/ieee1275/console.h: Likewise.
+ * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
+ (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
+ (GRUB_TERM_CODE_TYPE_CP437): Likewise.
+ (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
+ (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
+ (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
+ (grub_term_input): Pass reference to self. All users updated.
+ (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
+ Pass reference to self. New fields normal_color, highlight_color and
+ data. All users updated.
+ (grub_putchar): Removed.
+ (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
+ (grub_unicode_estimate_width): New function.
+ (grub_term_getcharwidth): Add defaults.
+ (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
+ (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
+ (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
+ (grub_cls): Remove EXPORT_FUNC.
+ (grub_setcolorstate): Inline.
+ (grub_newline_hook): Removed.
+ * include/grub/terminfo.h: Rewritten. All users updated.
+ * include/grub/unicode.h: New file.
+ * include/grub/video.h (grub_video_signed_rect): New type.
+ * kern/emu/console.c (grub_console_highlight_color): Removed.
+ (grub_console_normal_color): Likewise.
+ (grub_console_standard_color): Made static.
+ (grub_ncurses_putchar): Remove mapping.
+ (grub_ncurses_getcharwidth): Removed.
+ (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
+ (grub_ncurses_setcolor): Removed.
+ (grub_ncurses_getcolor): Likewise.
+ * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
+ (grub_console_putchar): ... this.
+ (grub_console_putchar): Handle argument difference.
+ * kern/ieee1275/init.c (grub_machine_init): Split console_init into
+ console_init_early and console_init_lately.
+ * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
+ * kern/misc.c (grub_puts): Removed.
+ (grub_vprintf): Store UTF-8 string instead of outputting it directly.
+ (grub_vsnprintf_real): Remove str = NULL support.
+ * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
+ * normal/charset.c (grub_utf8_to_ucs4): ... here.
+ * kern/term.c (grub_putcode): Renamed to ...
+ (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
+ (grub_putchar): Removed.
+ (grub_xputs_dumb): New function.
+ (grub_xputs): New variable.
+ * lib/charset.c: Move from here ...
+ * normal/charset.c: ... to here.
+ (grub_ucs4_to_utf8): New function.
+ (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
+ (join_types): New variable.
+ (unpack_join): New function.
+ (bidi_types): New variable.
+ (unpack_bidi): New function.
+ (get_bidi_type): Likewise.
+ (get_join_type): Likewise.
+ (is_mirrored): Likewise.
+ (grub_unicode_get_comb_type): Likewise.
+ (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
+ (is_type_after): Likewise.
+ (grub_unicode_aglomerate_comb): Likewise.
+ (bidi_line_wrap): Likewise.
+ (grub_bidi_line_logical_to_visual): Likewise.
+ (grub_bidi_logical_to_visual): Likewise.
+ (grub_unicode_mirror_code): Likewise.
+ (grub_unicode_shape_code): Likewise.
+ * normal/cmdline.c (grub_cmdline_get): Reset more counter.
+ Don't use grub_putchar.
+ * normal/main.c (grub_normal_init_page): Use grub_putcode.
+ (grub_normal_reader_init): Likewise.
+ (grub_xputs_saved): New variable.
+ (GRUB_MOD_INIT): Set grub_xputs.
+ (GRUB_MOD_FINI): Restore grub_xputs.
+ * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
+ (menu_init): Avoid printing gfxmenu error.
+ (show_menu): Use grub_normal_get_char_counter.
+ * normal/menu_entry.c (update_screen): Fix out-of-array.
+ (complete): Avoid NULL dereferencing.
+ * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
+ * normal/menu_text.c (print_spaces): Removed.
+ (grub_print_ucs4): Likewise.
+ (grub_print_message_indented): Use grub_print_ucs4.
+ (print_message): Use grub_putcode.
+ (print_entry): Hanlde diacritics.
+ * normal/term.c (term_state): New type.
+ (grub_more_lines): Removed.
+ (term_states): New variable.
+ (grub_normal_line_counter): Renamed to ..
+ (grub_normal_char_counter): ...this. All users updated.
+ (grub_normal_get_line_counter): Renamed to ...
+ (grub_normal_get_char_counter): ... this.
+ (grub_normal_reset_more): New function.
+ (process_newline): Removed.
+ (print_more): New function.
+ (grub_install_newline_hook): Removed.
+ (map_code): New function.
+ (grub_puts_terminal): Use grub_print_ucs4.
+ (putglyph): New function.
+ (putcode_real): Likewise.
+ (grub_putcode): Use putcode_real.
+ (get_maxwidth): New function.
+ (get_startwidth): Likewise.
+ (print_ucs4_terminal): Likewise.
+ (find_term_state): Likewise.
+ (put_glyphs_terminal): Likewise.
+ (print_backlog): Likewise.
+ (print_ucs4_real): Likewise.
+ (grub_print_ucs4): Likewise.
+ (grub_xputs_normal): Likewise.
+ * term/efi/console.c (grub_console_putchar): Output diacritics.
+ (grub_console_getcharwidth): Removed.
+ (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
+ * term/gfxterm.c (clear_char): Free chars.
+ (scroll_up): Avoid leaking memory.
+ (grub_gfxterm_putchar): Support diacritics.
+ (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
+ * term/i386/pc/console.c (grub_console_term_output): Declare as
+ GRUB_TERM_CODE_TYPE_VGA.
+ * term/i386/pc/vga.c (grub_vga_term): Declare as
+ GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
+ * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
+ GRUB_TERM_CODE_TYPE_VGA.
+ * term/i386/vga_common.c (map_char): Removed.
+ (grub_console_putchar): Likewise.
+ (grub_console_getcharwidth): Likewise.
+ * term/ieee1275/ofconsole.c: Simplify using terminfo.
+ (colors): Reordered to match terminfo.
+ (grub_ofconsole_normal_color): Removed.
+ (grub_ofconsole_writeesc): Likewise.
+ (grub_ofconsole_highlight_color): Likewise.
+ (grub_ofconsole_getcharwidth): Likewise.
+ (grub_ofconsole_setcolorstate): Likewise.
+ (grub_ofconsole_setcolor): Likewise.
+ (grub_ofconsole_getcolor): Likewise.
+ (grub_ofconsole_readkey): Renamed to ...
+ (readkey): ... this. Remove escape sequence handling. Return -1 on no
+ key.
+ (grub_ofconsole_checkkey): Removed.
+ (grub_ofconsole_getkey): Likewise.
+ (grub_ofconsole_getxy): Likewise.
+ (grub_ofconsole_gotoxy): Likewise.
+ (grub_ofconsole_cls): Likewise.
+ (grub_ofconsole_refresh): Likewise.
+ (grub_ofconsole_terminfo_input): New struct.
+ (grub_ofconsole_terminfo_output): Likewise.
+ (grub_ofconsole_term_input): Use terminfo.
+ (grub_ofconsole_term_output): Likewise.
+ (grub_console_init): Split into ...
+ (grub_console_init_early): ...this and ...
+ (grub_console_init_lately): ...this. Use terminfo.
+ (grub_ofconsole_putchar): Renamed to ...
+ (put): ... this. Remove mapping.
+ (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
+ * term/serial.c: Simplify using terminfo.
+ (xpos): Removed.
+ (ypos): Likewise.
+ (keep_track): Likewise.
+ (registered): Likewise.
+ (input_buf): Likewise.
+ (npending): Likewise.
+ (serial_translate_key_sequence): Likewise.
+ (fill_input_buf): Likewise.
+ (grub_serial_checkkey): Likewise.
+ (grub_serial_getkey): Likewise.
+ (grub_serial_getxy): Likewise.
+ (grub_serial_gotoxy): Likewise.
+ (grub_serial_putchar): Likewise.
+ (grub_serial_cls): Likewise.
+ (grub_serial_setcolorstate): Likewise.
+ (grub_serial_setcursor): Likewise.
+ (serial_hw_init): Use serial_hw_fetch.
+ (grub_serial_terminfo_input): New variable.
+ (grub_serial_terminfo_output): Likewise.
+ (grub_serial_term_input): Use terminfo.
+ (grub_serial_term_output): Likewise.
+ * term/terminfo.c (putstr): Use put.
+ (grub_terminfo_all_free): New function
+ (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
+ (grub_terminfo_output_register): New function.
+ (grub_terminfo_output_unregister): Likewise.
+ (grub_terminfo_getxy): Likewise.
+ (grub_terminfo_readkey): Likewise.
+ (grub_terminfo_checkkey): Likewise.
+ (grub_terminfo_getkey): Likewise.
+ (grub_terminfo_input_init): Likewise.
+ (print_terminfo): Likewise.
+ (grub_cmd_terminfo): Handle encoding.
+ (grub_terminfo_gotoxy): Track position.
+ (grub_terminfo_cls): Likewise.
+ (grub_terminfo_putchar): Likewise.
+ (grub_terminfo_setcolorstate): Handle colors
+ (grub_terminfo_cursor_on): This ...
+ (grub_terminfo_cursor_off): ... and this merged into ...
+ (grub_terminfo_setcursor): ... this.
+ * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
+ * unicode/ArabicShaping.txt: New file (imported from Unicode).
+ * unicode/BidiMirroring.txt: Likewise.
+ * unicode/UnicodeData.txt: Likewise.
+ * unicode/COPYING: Likewise.
+ * util/grub-editenv.c (grub_putchar): Removed.
+ (grub_xputs_real): New function.
+ (grub_xputs): New variable.
+ * util/grub-fstest.c (grub_putchar): Removed.
+ (grub_xputs_real): New function.
+ (grub_xputs): New variable.
+ * util/grub-mkdevicemap.c (grub_putchar): Removed.
+ (grub_xputs_real): New function.
+ (grub_xputs): New variable.
+ * util/grub-probe.c (grub_putchar): Removed.
+ (grub_xputs_real): New function.
+ (grub_xputs): New variable.
+ * util/grub-script-check.c (grub_putchar): Removed.
+ (grub_xputs_real): New function.
+ (grub_xputs): New variable.
+ * util/i386/pc/grub-setup.c (grub_putchar): Removed.
+ (grub_xputs_real): New function.
+ (grub_xputs): New variable.
+ * util/import_unicode.py: New file.
+ * util/grub-mkfont.c (ft_errmsgs): New array.
+ (grub_glyph_info): Make bitmap a pointer.
+ (file_formats): New type WIDTH_SPEC.
+ (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
+ (options): Add width-spec.
+ (help): Likewise.
+ (add_char): Renamed to ...
+ (add_glyph): ... this.
+ (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
+ (glyph_replace): New type.
+ (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
+ (add_char): New function.
+ (add_subst): Likewise.
+ (process_cursive): Likewise.
+ (add_font): Handle GSUB.
+ (write_font_width_spec): New function.
+ (main): Sort glyphs.
+ * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
+ * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
+ * kern/term.c (grub_cls): Moved from here...
+ * normal/term.c (grub_cls): ... here.
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
+ suitable for using within the format argument of printf when
+ converting grub_size_t.
+ * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
+ "x" to convert grub_size_t arguments.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
+ too long captions.
+ (list_get_minimal_size): Take selection box into account.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
+ NULL font.
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
+ devices when iterating over /dev/disk/by-id; they will be handled
+ later if appropriate, which they aren't always (e.g. LVM).
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/misc.h (grub_reboot): Declare as noreturn.
+ * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
+ fails.
+ (grub_halt): Likewise.
+ * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
+ reset-all fails.
+ (grub_halt): Don't return, even if all of shut-down, power-off, and
+ poweroff fail.
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
+ arguments, not three.
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig_lib.in (uses_abstraction): New function.
+ * util/grub.d/10_linux.in: Use it to check for LVM, so that
+ LVM-on-RAID is handled correctly.
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Changes from GRUB Legacy): New section.
+ (Future): Fix typo.
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
+ grub.d/README accidentally ends up executable for one reason or
+ another. Ignore it.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
+ (gpt_partition_map_iterate): Support non-512B sectors.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/efi/init.c (grub_efi_init): Disable watchdog.
+ Tested by: Seth Goldberg.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
+ Properly align mbi.
+ Reported by: Seth Goldberg.
+
+2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in: Avoid module duplication.
+
+2010-07-01 Sean Finney <seanius@seanius.net>
+
+ * util/grub.d/10_linux.in: Don't use UUID for LVM root.
+
+2010-07-01 Sean Finney <seanius@seanius.net>
+
+ * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
+
+2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/lvm.c (grub_lvm_checkvalue): New function.
+ (grub_lvm_check_flag): Likewise.
+
+2010-07-01 Robert Millan <rmh@gnu.org>
+
+ * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
+ Support 'p' as partition separator on kernel of FreeBSD (used
+ with GPT labels).
+ (grub_util_biosdisk_get_grub_dev): Likewise.
+
+2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Yeeloong firmware port.
+
+ * boot/mips/yeeloong/fwstart.S: New file.
+ * bus/cs5536.c (gpiodump): New const.
+ (set_io_space): New function.
+ (set_iod): Likewise.
+ (set_p2d): Likewise.
+ (grub_cs5536_init_geode): Likewise.
+ * commands/mips/yeeloong/lsspd.c: New file.
+ * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
+ (serial_mod_SOURCES): New variable.
+ (serial_mod_CFLAGS): Likewise.
+ (serial_mod_LDFLAGS): Likewise.
+ * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
+ term/terminfo.c and term/tparm.c.
+ (pkglib_IMAGES): Add fwstart.img.
+ (fwstart_img_SOURCES): New variable.
+ (fwstart_img_CFLAGS): Likewise.
+ (fwstart_img_ASFLAGS): Likewise.
+ (fwstart_img_LDFLAGS): Likewise.
+ (fwstart_img_FORMAT): Likewise.
+ (pkglib_MODULES): Add lsspd.mod.
+ (lsspd_mod_SOURCES): New variable.
+ (lsspd_mod_CFLAGS): Likewise.
+ (lsspd_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES): Add halt.mod.
+ (halt_mod_SOURCES): New variable.
+ (halt_mod_CFLAGS): Likewise.
+ (halt_mod_LDFLAGS): Likewise.
+ * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
+ (serial_mod_SOURCES): Removed.
+ (serial_mod_CFLAGS): Likewise.
+ (serial_mod_LDFLAGS): Likewise.
+ * disk/ata.c (check_device): New function.
+ (grub_ata_device_initialize): Use check_device.
+ (grub_ata_iterate): Recheck devices.
+ (grub_ata_open): Likewise.
+ (grub_atapi_iterate): Likewise.
+ (grub_atapi_open): Likewise.
+ * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
+ (GRUB_ATA_CH1_PORT1): Likewise.
+ (GRUB_ATA_CH0_PORT2): Likewise.
+ (GRUB_ATA_CH1_PORT2): Likewise.
+ * include/grub/mips/loongson.h: New file.
+ * include/grub/mips/yeeloong/ec.h: Likewise.
+ * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
+ (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
+ (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
+ * include/grub/misc.h (grub_halt): Declare as noreturn.
+ * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
+ (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
+ (UART_ENABLE_FIFO_TRIGGER1): New definition.
+ (UART_ENABLE_DTRRTS): Likewise.
+ (UART_ENABLE_MODEM): Removed.
+ (UART_ENABLE_OUT2): New const.
+ * include/grub/term.h (grub_term_register_input_active): New function.
+ (grub_term_register_output_active): Likewise.
+ * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
+ argument.
+ * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
+ (init_pci): New function.
+ (grub_machine_init): Execute platform init when firmware. Init serial.
+ (grub_halt): Implement.
+ (grub_exit): Likewise.
+ (grub_reboot): Likewise.
+ * term/serial.c (serial_hw_init): Update macros.
+ [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
+ * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
+ (image_targets): New target mipsel-yeeloong-flash.
+ (generate_image): Support IMAGE_YEELOONG_FLASH.
+ * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
+ (grub_video_sm712_setup): Init card.
+ (grub_video_sm712_set_palette): Removed.
+ * video/sm712_init.c: New file.
+
+2010-06-30 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in (install-local): Temporarily prepend $(builddir) to
+ PATH when running help2man and then run it on the unadorned
+ executable names, rather than passing $(builddir)/* paths to
+ help2man. This avoids the build directory ending up in generated
+ manual pages.
+
+2010-06-29 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
+ to avoid accidents when debugging with 'sh -x'.
+ * util/grub-mkrescue.in: Likewise.
+ * util/grub.d/00_header.in: Likewise.
+ * util/grub.d/10_hurd.in: Likewise.
+ * util/grub.d/10_kfreebsd.in: Likewise.
+ * util/grub.d/10_linux.in: Likewise.
+ * util/grub.d/10_netbsd.in: Likewise.
+ * util/grub.d/10_windows.in: Likewise.
+ * util/grub.d/20_linux_xen.in: Likewise.
+ * util/grub.d/30_os-prober.in: Likewise.
+ * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
+
+2010-06-29 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
+ last character in the buffer.
+ Reported by: Vladimir Serbinenko.
+
+2010-06-29 Robert Millan <rmh@gnu.org>
+
+ * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
+ (Command-line and menu entry commands): Document `badram' command.
+
+2010-06-28 Robert Millan <rmh@gnu.org>
+
+ * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
+ * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
+ command using ${GRUB_BADRAM} as parameter.
+
+2010-06-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Device map): New section.
+ (Themes): New section (stub).
+ * Makefile.in (docs/grub.info): The info documentation now builds
+ without errors. Make sure it stays that way.
+
+2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use normal parser for menu entries.
+ Reported by: Thomas Frauendorfer
+
+ * include/grub/parser.h (grub_parser_execute): Don't export.
+ * normal/menu.c (grub_menu_execute_entry_real): New function.
+ (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
+
+2010-06-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Embedded configuration): New section (replacing
+ old "Preset Menu" stub).
+ (Images): New section.
+ (configfile): Note that any menu entries defined in `file' are shown
+ immediately.
+
+2010-06-28 Josh Triplett <josh@joshtriplett.org>
+
+ * mmap/i386/pc/mmap_helper.S: Set CF on return.
+
+2010-06-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in: Add --debug-image= option.
+
+2010-06-28 Colin Watson <cjwatson@ubuntu.com>
+
+ Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
+ possible on Linux.
+
+ * util/deviceiter.c (check_device): Rename to ...
+ (check_device_readable_unique): ... this. Update all callers.
+ Maintain and check a list of which devices (by canonicalized name)
+ have already been seen.
+ (clear_seen_devices): New function.
+ (compare_file_names) [__linux__]: New function.
+ (grub_util_iterate_devices): Clear the list of seen devices on exit
+ and (just in case) on entry.
+ (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
+ devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
+ seen-devices list, superseded by general code in check_device.
+
+2010-06-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/cat.c (options): New variable.
+ (grub_cmd_cat): Parse options. If the --dos option is given, print
+ DOS-style "\r\n" line endings as simple newlines (Debian bug
+ #586358).
+ (GRUB_MOD_INIT): Use extcmd.
+ (GRUB_MOD_FINI): Likewise.
+ * docs/grub.texi (cat): Document --dos.
+
+2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ XEN with Linux grub-mkconfig support.
+
+ * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
+ * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
+ GRUB_CMDLINE_XEN_DEFAULT.
+ * util/grub.d/20_linux_xen.in: New file.
+
+2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Initialise VGA video on qemu ourselves.
+
+ * boot/i386/qemu/boot.S: Don't call 0xc000.
+ * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
+ (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
+ (kernel_img_HEADERS): Add pci.h.
+ * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
+ * configure.ac: Force unifont on qemu and yeeloong.
+ * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
+ (grub_vga_palette_write): Use correct register.
+ * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
+ Call grub_qemu_init_cirrus.
+ * kern/i386/qemu/init.c: New file.
+ * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
+
+ * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
+
+2010-06-26 Pavel Roskin <proski@gnu.org>
+
+ * util/grub.d/10_linux.in: Add support for initrd images on Fedora
+ 13.
+
+2010-06-26 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Simple configuration): Explain that
+ GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
+ set to `true' to disable their respective recovery entries, not
+ merely set.
+
+2010-06-26 Colin Watson <cjwatson@ubuntu.com>
+
+ Make the `source' command slightly faster.
+
+ * normal/main.c (grub_normal_execute): Don't re-read list files when
+ nested.
+
+2010-06-23 Colin Watson <cjwatson@ubuntu.com>
+
+ * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
+ field position and mask size to red fields from mode_info, not
+ green.
+ * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
+ Remove redundant tag->common.framebuffer_type assignment.
+ Reported by: Seth Goldberg.
+
+2010-06-23 Colin Watson <cjwatson@ubuntu.com>
+
+ Sync up other versions of the Linux loader with Robert Millan's
+ change of 2010-01-09, "Make loader output a bit more user-friendly".
+
+ * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
+ grub_dprintf().
+ (grub_cmd_linux): Likewise.
+ (grub_cmd_initrd): Likewise.
+ * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
+ * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
+
+2010-06-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
+ larger than MEMORY_MAP_SIZE.
+
+2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix parallel build.
+
+ * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
+ dependency.
+ * script/parser.y: #include grub_script.tab.h header.
+
+2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support >3GiB and <16MiB RAM in i386-qemu.
+
+ * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
+ (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
+ (grub_lower_mem): Removed.
+ (grub_upper_mem): Likewise.
+ (mem_size): Made static.
+ (above_4g): New variable.
+ (grub_machine_mmap_init): Detect small mem_size and above_4g.
+ (grub_machine_mmap_iterate): Order in ascending order and add above_4g
+ support.
+
+2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Cirrus 5446 and Bochs video cards support.
+
+ * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
+ video_bochs.mod
+ (video_cirrus_mod_SOURCES): New variable.
+ (video_cirrus_mod_CFLAGS): Likewise.
+ (video_cirrus_mod_LDFLAGS): Likewise.
+ (video_bochs_mod_SOURCES): Likewise.
+ (video_bochs_mod_CFLAGS): Likewise.
+ (video_bochs_mod_LDFLAGS): Likewise.
+ * include/grub/vga.h: New file.
+ * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
+ (grub_video_fb_set_page_t): New type.
+ (grub_video_fb_setup): New prototype.
+ (grub_video_fb_swap_buffers): Likewise.
+ (grub_video_fb_get_info_and_fini): Likewise.
+ * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
+ (CRTC_DATA_PORT): Likewise.
+ (CRTC_CURSOR): Likewise.
+ (CRTC_CURSOR_ADDR_HIGH): Likewise.
+ (CRTC_CURSOR_ADDR_LOW): Likewise.
+ (CRTC_CURSOR_DISABLE): Likewise.
+ (update_cursor): Use grub_vga_cr_write.
+ (grub_vga_text_setcursor): Likewise.
+ * video/bochs.c: New file.
+ * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
+ (palette): Likewise.
+ (palette_size): Likewise.
+ (framebuffer): New variable.
+ (grub_video_fb_init): Use 'framebuffer'.
+ (grub_video_fb_fini): Likewise.
+ (grub_video_fb_get_info): Likewise.
+ (grub_video_fb_get_palette): Likewise.
+ (grub_video_fb_set_palette): Likewise.
+ (grub_video_fb_set_viewport): Likewise.
+ (grub_video_fb_get_viewport): Likewise.
+ (grub_video_fb_map_color): Likewise.
+ (grub_video_fb_map_rgb): Likewise.
+ (grub_video_fb_map_rgba): Likewise.
+ (grub_video_fb_unmap_color): Likewise.
+ (grub_video_fb_unmap_color_int): Likewise.
+ (grub_video_fb_fill_rect): Likewise.
+ (grub_video_fb_blit_bitmap): Likewise.
+ (grub_video_fb_blit_render_target): Likewise.
+ (grub_video_fb_scroll): Likewise.
+ (grub_video_fb_create_render_target): Likewise.
+ (grub_video_fb_doublebuf_blit_init): Likewise.
+ (grub_video_fb_set_active_render_target): Handle doublebuffering.
+ (doublebuf_pageflipping_update_screen): New function.
+ (doublebuf_pageflipping_init): Likewise.
+ (grub_video_fb_setup): Likewise.
+ (grub_video_fb_swap_buffers): Likewise.
+ (grub_video_fb_get_info_and_fini): Likewise.
+ * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
+ All users updated.
+ (doublebuf_pageflipping_commit): Restructured into ...
+ (doublebuf_pageflipping_set_page): ... this.
+ (doublebuf_pageflipping_update_screen): Removed.
+ (doublebuf_pageflipping_init): Likewise.
+ (double_buffering_init): Likewise.
+ (grub_video_vbe_setup): Use grub_video_fb_setup.
+ (grub_video_vbe_swap_buffers): Removed.
+ (grub_video_vbe_set_active_render_target): Likewise.
+ (grub_video_vbe_get_active_render_target): Likewise.
+ (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
+ (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
+ grub_video_fb_set_active_render_target and
+ grub_video_fb_get_active_render_target.
+ * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
+ (SEQUENCER_DATA_PORT): Likewise.
+ (MAP_MASK_REGISTER): Likewise.
+ (CRTC_ADDR_PORT): Likewise.
+ (CRTC_DATA_PORT): Likewise.
+ (START_ADDR_HIGH_REGISTER): Likewise.
+ (START_ADDR_LOW_REGISTER): Likewise.
+ (GRAPHICS_ADDR_PORT): Likewise.
+ (GRAPHICS_DATA_PORT): Likewise.
+ (READ_MAP_REGISTER): Likewise.
+ (INPUT_STATUS1_REGISTER): Likewise.
+ (INPUT_STATUS1_VERTR_BIT): Likewise.
+ (get_map_mask): Use grub_vga_sr_read.
+ (set_map_mask): Use grub_vga_sr_write.
+ (set_read_map): Use grub_vga_gr_write.
+ (set_start_address): Use grub_vga_cr_write.
+ * video/sm712.c (framebuffer): Remove leftover fields.
+
+2010-06-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
+ setting GRUB_VIDEO_BACKEND. Make it available as a user override
+ instead. Replace the gfxterm backend check with a check that
+ ${GRUB_PREFIX}/video.lst is non-empty.
+ * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
+ again.
+ (load_video): New generated function. Call it before loading
+ gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
+ * util/grub.d/10_linux.in (linux_entry): Call load_video.
+ * util/grub.d/30_os-prober.in (osx_entry): Likewise.
+ * docs/grub.texi (Simple configuration): Document
+ GRUB_VIDEO_BACKEND.
+
+2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use video functions in linux and xnu loaders.
+
+ * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
+ * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
+ * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
+ * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
+ loader/i386/pc/linux.c.
+ (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
+ (find_line_len): Removed.
+ (find_framebuf): Likewise.
+ (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
+ * loader/i386/efi/xnu.c: Removed.
+ * loader/i386/pc/xnu.c: Moved from here...
+ * loader/i386/xnu.c: ...here.
+
+ Enable priorities in video drivers.
+
+ * include/grub/video.h (grub_video_adapter_prio_t): New type.
+ (grub_video_adapter): New field prio.
+ (grub_video_register): Respect prio when inserting.
+ * video/efi_gop.c (grub_video_gop_adapter): Add prio.
+ * video/efi_uga.c (grub_video_uga_adapter): Likewise.
+ * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
+ * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
+ * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
+ * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
+ * video/sm712.c (grub_video_sm712_adapter): Likewise.
+
+ Fix SDL driver ID.
+
+ * include/grub/video.h (grub_video_driver_id_t): New value
+ GRUB_VIDEO_DRIVER_SDL.
+ * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
+
+2010-06-17 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
+ argument to printf.
+ * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
+
+2010-06-17 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/i386/pc/grub-setup.c (usage): Fix syntax error.
+ * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
+
+2010-06-17 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
+ directly, and recommend grub-install instead.
+ * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
+
+2010-06-17 Colin Watson <cjwatson@ubuntu.com>
+
+ Fix i386-pc prefix handling with nested partitions (Debian bug
+ #585068). Note that the case where the core image is booted using
+ multiboot and relocated from its original location still requires
+ more work.
+
+ * kern/i386/pc/init.c (make_install_device): If the prefix starts
+ with "(,", fill the boot drive in between those two characters, but
+ expect that a full partition specification including partition map
+ names will follow.
+ * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
+ specified, write a prefix without the drive name but including a
+ full partition specification.
+
+2010-06-16 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig.in: Ignore non-option arguments, for
+ compatibility with older versions (before 2010-06-12) which did the
+ same. In particular, this makes it easier to ship an update-grub
+ wrapper which is compatible with that used with GRUB Legacy (Debian
+ bug #586056).
+
+2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
+ for manual page generation.
+
+2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * po/POTFILES: Remove leftover commands/handler.c.
+
+2010-06-14 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig.in: Remove vestige of old argument parsing that
+ left this script non-functional.
+
+2010-06-14 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/man/grub-emu.h2m: New file.
+
+2010-06-13 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Commands): Document reduced command set in rescue
+ mode.
+ (cpuid): New section.
+
+2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
+ new partition naming style.
+ * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
+
+2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Add "-o grub.iso" like cmdline options support.
+
+ * util/grub-install.in: Improve cmdline option parsing.
+ * util/grub-mkconfig.in: Likewise.
+ * util/grub-mkrescue.in: Likewise.
+ * util/grub-reboot.in: Likewise.
+ * util/grub-set-default.in: Likewise.
+ * util/i386/efi/grub-install.in: Likewise.
+ * util/ieee1275/grub-install.in: Likewise.
+ * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
+
+2010-06-12 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Ignore 41_custom.
+
+2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
+
+ * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
+
+2010-06-12 Colin Watson <cjwatson@ubuntu.com>
+
+ Avoid false positives in fs.lst, partmap.lst, and video.lst due to
+ prototype declarations.
+
+ * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
+ generating fs, partmap, and video lists.
+ * include/grub/fs.h (grub_fs_register): Omit prototype if
+ GRUB_LST_GENERATOR is defined.
+ * include/grub/partition.h (grub_partition_map_register): Likewise.
+ * include/grub/video.h (grub_video_register): Likewise.
+
+2010-06-12 Javier Martín <lordhabbit@gmail.com>
+
+ * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
+
+2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
+
+ * util/grub-mkrescue.in: Support --xorriso argument.
+
+2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
+ Suggested by: Thomas Schmitt.
+
+2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
+ Suggested by: Thomas Schmitt.
+
+2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ custom.cfg support.
+
+ * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
+ * util/grub.d/41_custom.in: New file.
+
+2010-06-12 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrescue.in (make_image): Remove sh module, which has
+ been merged back into normal.
+
+2010-06-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
+ (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
+
+2010-06-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
+ when generating manual pages.
+ * docs/man/grub-bin2h.h2m: New file.
+ * docs/man/grub-editenv.h2m: New file.
+ * docs/man/grub-fstest.h2m: New file.
+ * docs/man/grub-install.h2m: New file.
+ * docs/man/grub-macho2img.h2m: New file.
+ * docs/man/grub-mkconfig.h2m: New file.
+ * docs/man/grub-mkdevicemap.h2m: New file.
+ * docs/man/grub-mkfont.h2m: New file.
+ * docs/man/grub-mkimage.h2m: New file.
+ * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
+ * docs/man/grub-mkrelpath.h2m: New file.
+ * docs/man/grub-mkrescue.h2m: New file.
+ * docs/man/grub-ofpathname.h2m: New file.
+ * docs/man/grub-pe2elf.h2m: New file.
+ * docs/man/grub-probe.h2m: New file.
+ * docs/man/grub-reboot.h2m: New file.
+ * docs/man/grub-script-check.h2m: New file.
+ * docs/man/grub-set-default.h2m: New file.
+ * docs/man/grub-setup.h2m: New file.
+
+2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use FOR_* macros instead of *_iterate whenever possible.
+
+ * commands/handler.c: Removed.
+ * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
+ * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
+ * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
+ * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
+ (grub_probe_SOURCES): Remove kern/parser.c.
+ (util/grub-script-check.c_DEPENDENCIES): Removed.
+ (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
+ and grub_script_check_init.c.
+ (grub_script_check_init.lst): Removed.
+ (grub_script_check_init.h): Likewise.
+ (grub_script_check_init.c): Likewise.
+ (pkglib_MODULES): Remove handler.mod and sh.mod.
+ (handler_mod_SOURCES): Removed.
+ (handler_mod_CFLAGS): Likewise.
+ (handler_mod_LDFLAGS): Likewise.
+ (normal_mod_SOURCES): Remove normal/handler.c.
+ Add script/main.c, script/script.c, script/execute.c,
+ script/function.c, script/lexer.c, grub_script.tab.c
+ and grub_script.yy.c.
+ * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
+ * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
+ (grub_setup_SOURCES): Remove kern/parser.c.
+ * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
+ * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
+ * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
+ (grub_setup_SOURCES): Remove kern/parser.c.
+ * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
+ * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
+ * include/grub/command.h (grub_command_iterate): Removed.
+ (FOR_COMMANDS): New macro.
+ * include/grub/dl.h (grub_dl): New member next.
+ (grub_dl_iterate): Removed.
+ (grub_dl_head): New variable declaration.
+ (FOR_DL_MODULES): New macro.
+ * include/grub/fs.h: Include list.h.
+ (grub_fs): Make next first element.
+ (grub_fs_list): New variable declaration.
+ (grub_fs_register): Make inline.
+ (grub_fs_unregister): Likewise.
+ (grub_fs_iterate): Removed.
+ (FOR_FILESYSTEMS): New macro.
+ * include/grub/handler.h: Removed.
+ * include/grub/list.h (grub_list_hook_t): Removed.
+ (grub_list_test_t): Likewise.
+ (grub_list_pop): Likewise.
+ (grub_list_iterate): Likewise.
+ (grub_list_insert): Likewise.
+ (FOR_LIST_ELEMENTS): New macro.
+ * include/grub/parser.h (grub_parser_class): Removed.
+ (grub_parser_register): Likewise.
+ (grub_parser_unregister): Likewise.
+ (grub_parser_get_current): Likewise.
+ (grub_parser_set_current): Likewise.
+ (grub_register_rescue_parser): Likewise.
+ (grub_rescue_parse_line): New function.
+ * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
+ * include/grub/script_sh.h (grub_script_function_list): New variable
+ declaration.
+ (FOR_SCRIPT_FUNCTIONS): New macro.
+ (grub_script_function_iterate): Removed.
+ (grub_normal_parse_line): New prototype.
+ * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
+ (FOR_DISABLED_TERM_INPUTS): Likewise.
+ (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
+ (FOR_DISABLED_TERM_OUTPUTS): Likewise.
+ * include/grub/video.h (grub_video_adapter): Move 'next' to first
+ element.
+ (grub_video_register): Inline.
+ (grub_video_unregister): Likewise.
+ (grub_video_adapter_list): New variable declaration.
+ (grub_video_iterate): Removed.
+ (FOR_VIDEO_ADAPTERS): New macro.
+ * kern/dl.c (grub_dl_list): Removed. All users updated.
+ (grub_dl_iterate): Removed.
+ * kern/fs.c (grub_fs_list): Make global.
+ (grub_fs_register): Removed.
+ (grub_fs_unregister): Likewise.
+ (grub_fs_iterate): Likewise.
+ * kern/handler.c: Removed.
+ * kern/list.c (grub_list_pop): Removed.
+ (grub_list_iterate): Likewise.
+ (grub_list_insert): Likewise.
+ (grub_named_list_find): Use FOR_LIST_ELEMENTS.
+ (grub_prio_list_insert): Don't use grub_list_insert.
+ * kern/main.c (grub_register_rescue_parser): Don't call
+ grub_register_rescue_parser.
+ * kern/parser.c (grub_parser_class): Removed.
+ (grub_parser_execute): Use grub_rescue_parse_line.
+ * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
+ (grub_rescue_parser): Removed.
+ (grub_register_rescue_parser): Likewise.
+ * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
+ * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
+ (grub_auth_check_authentication): Likewise.
+ * normal/completion.c (iterate_command): Removed.
+ (grub_normal_do_completion): Use FOR_COMMANDS.
+ * normal/handler.c: Removed.
+ * normal/main.c (read_config_file): Remove parser changing.
+ (grub_normal_execute): Don't call read_handler_list.
+ (grub_normal_read_line_real): Statically allocate prompt.
+ (grub_cmdline_run): Use grub_normal_parse_line.
+ (GRUB_MOD_FINI): Don't call free_handler_list.
+ * normal/menu_entry.c (run): Likewise.
+ * script/function.c (grub_script_function_list): Make global.
+ (grub_script_function_iterate): Removed.
+ * script/main.c (grub_normal_parse_line): Make global.
+ (grub_sh_parser): Removed.
+ (GRUB_MOD_INIT): Likewise.
+ (GRUB_MOD_FINI): Likewise.
+ * tests/lib/functional_test.c (grub_functional_test): Use
+ FOR_LIST_ELEMENTS.
+ * tests/lib/test.c (free_failures): Don't use grub_list_pop.
+ (grub_test_run): Use FOR_LIST_ELEMENTS.
+ * tests/lib/unit_test.c (main): Likewise.
+ * util/deviceiter.c (grub_util_iterate_devices): Don't use
+ grub_list_pop.
+ * util/grub-fstest.c (grub_term_input_class): Removed.
+ (grub_term_output_class): Likewise.
+ * util/grub-probe.c: Likewise.
+ * util/i386/pc/grub-setup.c: Likewise.
+ * util/sparc64/ieee1275/grub-setup.c: Likewise.
+ * util/grub-script-check.c (main): Don't call grub_init_all and
+ grub_fini_all.
+ * video/video.c (grub_video_adapter_list): Make global.
+ (grub_video_register): Removed.
+ (grub_video_unregister): Likewise.
+ (grub_video_iterate): Likewise.
+
+2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
+ reported by Henrique Ferreiro.
+
+2010-06-09 Robert Millan <rmh@gnu.org>
+
+ * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
+ ones, when both are available.
+
+2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ Make --version uniform and avoid hard-coded program name.
+
+ * util/grub-mkimage.c (main): Use `program_name' instead of
+ hard-coded string.
+ * util/i386/pc/grub-setup.c (main): Likewise.
+ * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
+ * util/grub-install.in: Save the basename of $0 in $self, and use the
+ latter in informational messages. Use the same format for --version
+ as the binary programs.
+ * util/grub-mkconfig.in: Likewise.
+ * util/grub-mkrescue.in: Likewise.
+ * util/grub-reboot.in: Likewise.
+ * util/grub-set-default.in: Likewise.
+ * util/i386/efi/grub-install.in: Likewise.
+ * util/ieee1275/grub-install.in: Likewise.
+ * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
+
+2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
+ embedding area. Use <= instead of == when checking for non-emptiness.
+
+2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * configure.ac: Add `.' to the directories searched for unifont.
+
+2010-06-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
+ grub_script.yy.h.
+
+2010-06-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (History): Expand to cover GRUB 2.
+ (Serial terminal): Refer to `terminal_input' and `terminal_output'
+ commands, not `terminal'.
+ (serial): Likewise.
+ (terminal_input): New section.
+ (terminal_output): New section.
+ (uppermem): New section (stub).
+ (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
+
+2010-06-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Security): Menu entries are unrestricted by
+ default, not restricted to superusers as I had previously thought.
+ Reword to account for this.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/emu/misc.c (device_mapper_null_log): New function.
+ (grub_device_mapper_supported): New function.
+ * include/grub/emu/misc.h (grub_device_mapper_supported): Add
+ prototype.
+ * kern/emu/hostdisk.c (find_partition_start): Check whether
+ device-mapper is supported before trying to use it.
+ * util/deviceiter.c (grub_util_iterate_devices): Likewise.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
+ (File name syntax): Likewise.
+ (help): --all is no longer supported in GRUB 2. Be more precise
+ about pattern matching.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * normal/completion.c (grub_normal_do_completion): When completing
+ arguments to "set" and the current word contains an equals sign,
+ skip to after the equals sign before starting completion.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Network): New section.
+ (Device syntax): The network device is called `(pxe)' in GRUB 2, not
+ `(nd)' as in GRUB Legacy.
+ (pxe_unload): New section.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Troubleshooting): `echo' is not usually available
+ in the rescue shell, so recommend using `set' instead. Thanks,
+ Jordan Uggla.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
+ (password): New section.
+ (password_pbkdf2): New section.
+ (search): New section.
+ (Security): New section.
+ (Troubleshooting): New section, currently very incomplete.
+ (Invoking grub-mkpasswd-pbkdf2): New section.
+ (Internals): New section, currently very incomplete.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/00_header.in: Add some more quoting (of
+ "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
+ work again.
+ Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
+ to `count', fixing variable shadowing that broke the -c option.
+
+2010-06-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
+ in case they contain spaces.
+
+2010-06-04 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
+ "part_" to partmap module names, in line with grub-install.
+ Reported by: Jindřich Makovička (Debian bug #584426).
+
+2010-06-04 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkimage.c: Make target-related error messages slightly
+ more helpful; -O talks about "format". Explicitly point to the use
+ of -O if no target is specified.
+ Reported by: Didier Raboud (Debian bug #584415).
+
+2010-06-03 Colin Watson <cjwatson@ubuntu.com>
+
+ * INSTALL: Document several build requirements for optional features
+ (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
+
+2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
+ [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
+ (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
+ Thanks to Jordan Uggla for spotting this.
+
+2010-06-02 Aleš Nesrsta <starous@volny.cz>
+
+ Finally make USB usable.
+
+ * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
+ (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
+ (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
+ (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
+ (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
+ (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
+ (GRUB_OHCI_FSMPS): Likewise.
+ (GRUB_OHCI_PERIODIC_START): Likewise.
+ (GRUB_OHCI_FRAME_INTERVAL): Likewise.
+ (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
+ (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
+ (GRUB_OHCI_SET_PORT_RESET): Likewise.
+ (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
+ * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
+ (grub_ohci_transaction): Likewise.
+ (grub_ohci_transfer): Improve condition detection algorithms.
+ Handle toggle property. Program the transactions correctly.
+ Improve error handling. Various important fixups.
+ (grub_ohci_portstatus): Put register writes in right order.
+ * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
+ (grub_uhci_transfer): Don't show "failed" message on success.
+ * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
+ array.
+ (grub_usb_device_initialize): Read first 8 bytes of descriptor to
+ determine its size.
+ * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
+ before initialization is completed. Use IN direction for empty
+ transfers. Use last_trans and compute toggle.
+ * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
+ (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
+ (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
+ (GRUB_USB_FEATURE_TEST_MODE): Likewise.
+ * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
+ (grub_usb_device): Increase toggle to 256.
+ (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
+ GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
+ GRUB_USBMS_SUBCLASS_SFF8070.
+ * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
+ (grub_scsi_inquiry): New member page and alloc_length.
+ (grub_scsi_request_sense): New structure.
+ (grub_scsi_request_sense_data): Likewise.
+ (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
+ control.
+ * disk/scsi.c (grub_scsi_request_sense): New function.
+ (grub_scsi_test_unit_ready): Likewise.
+ (grub_scsi_inquiry): Fill new fields.
+ (grub_scsi_read_capacity): Likewise.
+ (grub_scsi_read10): Add request sense at the end.
+ (grub_scsi_read12): Likewise.
+ (grub_scsi_write10): Likewise.
+ (grub_scsi_write12): Likewise.
+ (grub_scsi_open): Add Test Unit Ready.
+ * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
+ Support additional subclasses. Con't clear halt yet. Activate the
+ proper config. Calculate LUNs correctly.
+ (grub_usbms_transfer): Various important fixups.
+
+2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
+ * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
+ (grub_ohci_fini_hw): New function.
+ (grub_ohci_restore_hw): Likewise.
+ (GRUB_MOD_INIT(ohci)): Register preboot hook.
+ (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
+ * term/usb_keyboard.c: Remove include of grub/machine/console.h.
+
+2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Dedicated DMA allocations.
+
+ * bus/pci.c (grub_memalign_dma32): New function
+ (grub_dma_free): Likewise.
+ (grub_dma_get_virt): Likewise.
+ (grub_dma_get_phys): Likewise.
+ * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
+ (grub_ohci_pci_iter): Use dma32_alloc.
+ (grub_ohci_transfer): Likewise.
+ * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
+ (grub_usb_bulk_readwrite): Likewise.
+ * include/grub/pci.h: Add declarations.
+
+2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ CS5536 support.
+
+ * bus/cs5536.c: New file.
+ * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
+ * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
+ (cs5536_mod_SOURCES): New variable.
+ (cs5536_mod_CFLAGS): Likewise.
+ (cs5536_mod_LDFLAGS): Likewise.
+ * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
+ machine/pci.h.
+ (kernel_img_SOURCES): Add bus/cs5536.c.
+ (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
+ usb_keyboard.mod.
+ (usb_mod_SOURCES): New variable.
+ (usb_mod_CFLAGS): New variable.
+ (usb_mod_LDFLAGS): New variable.
+ (usbtest_mod_SOURCES): New variable.
+ (usbtest_mod_CFLAGS): New variable.
+ (usbtest_mod_LDFLAGS): New variable.
+ (ohci_mod_SOURCES): New variable.
+ (ohci_mod_CFLAGS): New variable.
+ (ohci_mod_LDFLAGS): New variable.
+ (usbms_mod_SOURCES): New variable.
+ (usbms_mod_CFLAGS): New variable.
+ (usbms_mod_LDFLAGS): New variable.
+ (usb_keyboard_mod_SOURCES): New variable.
+ (usb_keyboard_mod_CFLAGS): New variable.
+ (usb_keyboard_mod_LDFLAGS): New variable.
+ * include/grub/smbus.h: New file.
+ * include/grub/cs5536.h: New file.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/00_header.in: Add safety check to make sure that
+ ${locale_dir} exists before trying to probe it.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
+ per the GNU Coding Standards; this is now too obscure to be worth
+ documenting.
+ (QNX): Likewise.
+ (chainloader): Remove cross-reference to `SCO UnixWare'.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Chain-loading): New section.
+ (DOS/Windows): New section, borrowed from GRUB Legacy with details
+ adjusted for GRUB 2.
+ (SCO UnixWare): Likewise.
+ (QNX): Likewise.
+ (chainloader): Add reference to `Block list syntax'.
+ (drivemap): New section.
+ (parttool): New section.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
+ the grub shell'.
+ (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
+ (Installing GRUB using grub-install): Remove reference to the grub
+ shell; mention `grub-mkimage' and `grub-setup' instead.
+ (Invoking grub-install): Likewise.
+ (Interface): Add reference to `Menu entry editor'.
+ (serial): Remove `--device' option.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Configuration): New section, documenting
+ configuration file generation using grub-mkconfig. I've left a slot
+ for documenting the full shell scripting format but have not yet
+ started on writing that up.
+ (Invoking grub-mkconfig): New section.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (direntry): Remove grub-terminfo reference.
+ (GNU GRUB manual): Likewise.
+ (General commands): Update description of `terminfo' for GRUB 2.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
+ (GRUB_MOD_INIT): Fix capitalisation.
+ * docs/grub.texi (Command-line and menu entry commands): Document
+ gettext and gptsync commands.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
+ kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
+
+2010-06-01 Colin Watson <cjwatson@ubuntu.com>
+
+ Add btrfs probing support, currently only in the single-device case.
+
+ * kern/emu/getroot.c (find_root_device_from_mountinfo): New
+ function.
+ (grub_guess_root_device): Call find_root_device_from_mountinfo
+ before looking in /dev.
+
+2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
+ GRUB_DISK_SIZE_UNKNOWN.
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
+
+2010-05-31 Jiro SEKIBA <jir@unicus.jp>
+
+ * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
+ * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
+ corrupted or not synced properly.
+
+2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
+ Reported by: Seth Goldberg.
+
+2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
+ addition of dest.
+ Reported by: Seth Goldberg.
+
+2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
+ Reported by: Seth Goldberg.
+
+2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
+ 64-bit address as signed on MIPS.
+
+2010-05-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
+ to the empty string.
+
+2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix grub-emu issues on NetBSD, with gcc 4.1.3.
+
+ * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
+ * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
+ * kern/misc.c (__enable_execute_stack): Disable on
+ GRUB_MACHINE_EMU.
+
+2010-05-28 Colin Watson <cjwatson@ubuntu.com>
+
+ Make grub-probe work with symbolic links under /dev/mapper as well
+ as with real block devices. The Linux world seems to be (at best)
+ in transition here, and GRUB shouldn't get caught in the middle.
+
+ * kern/emu/getroot.c (find_root_device): Follow symbolic links under
+ /dev/mapper.
+
+2010-05-27 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-script-check.c (main): Ensure defined behaviour on empty
+ input files (in which case exit zero).
+
+2010-05-27 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/emu/misc.c (canonicalize_file_name): realpath can still
+ return NULL for various reasons even if it has a maximum-length
+ buffer: for example, there might be a symlink loop, or the path
+ might exceed PATH_MAX. If this happens, return NULL.
+
+2010-05-27 Robert Millan <rmh@gnu.org>
+
+ * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
+ partmap module to handle cross-partmap setups.
+ Reported by Orestes Mas. Gràcies!
+
+2010-05-27 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrescue.in: Initialise override_dir rather than
+ assuming that it's unset or empty in the environment.
+
+2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
+ variable index into p_index to suppress a warning with -Wshadow.
+
+2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * INSTALL: Added flex >= 2.5.35 requirement.
+
+2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
+
+2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ cmostest support.
+
+ * commands/i386/cmostest.c: New file.
+ * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
+ (cmostest_mod_SOURCES): New variable.
+ (cmostest_mod_CFLAGS): Likewise.
+ (cmostest_mod_LDFLAGS): Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * docs/grub.texi (Vendor power-on keys): New section.
+ * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
+ GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
+ and GRUB_BUTTON_CMOS_ADDRESS.
+ * util/grub.d/00_header.in: Handle powering-on by separate button.
+
+2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
+ Removed drawing_scrollbar argument. All users updated
+ Fixes #29792.
+ Reported by Jo Shields
+
+2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
+ buffer since gfxterm handles double repaint.
+
+2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
+ * term/gfxterm.c (real_scroll): Likewise.
+
+2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
+ before calling BIOS.
+
+2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/i18n.h: Always enable grub_gettext.
+
+2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
+ partition naming style.
+
+2010-05-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig.in: Fix handling of -o so that it works when
+ not the first option.
+
+2010-05-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
+
+2010-05-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/misc.c: Move inclusion of <limits.h> to ...
+ * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
+
+2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
+ Fix merge error in NetBSD code.
+ (find_partition_start) [__NetBSD__]: Likewise.
+
+2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix grub-mkrescue usage unit testing.
+
+ * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
+
+2010-05-18 Christian Franke <franke@computer.org>
+
+ * util/grub.d/10_windows.in: Use path names instead of
+ drive letters to prevent warning from Cygwin 1.7.
+ Add drivemap command to menuentry if needed.
+
+2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
+
+ * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
+ gnumach and gnumach.gz.
+
+2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/i18n.h (gettext): Inline instead of using #define.
+ (grub_gettext): Likewise.
+ (_): Likewise.
+
+2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
+ -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
+ * util/grub-mkimage.c (image_targets): Add i386-multiboot.
+ (main): Add a slash after pkglibdirroot.
+
+2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-install.in: Add missing "in" keyword.
+
+2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in: Remove -O i386-pc duplication.
+ Reported by: Seth Goldberg.
+
+2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
+
+2010-05-18 Colin Watson <cjwatson@ubuntu.com>
+
+ * configure.ac: Check for Linux device-mapper support.
+
+ * util/hostdisk.c (device_is_mapped): New function.
+ (find_partition_start): New function, partly broken out from
+ linux_find_partition and grub_util_biosdisk_get_grub_dev but with
+ device-mapper support added.
+ (linux_find_partition): Use find_partition_start.
+ (convert_system_partition_to_system_disk): Add `st' argument.
+ Support Linux /dev/mapper/* devices if device-mapper support is
+ available; only DM-RAID devices are understood at present.
+ (find_system_device): Add `st' argument. Pass it to
+ convert_system_partition_to_system_disk.
+ (grub_util_biosdisk_get_grub_dev): Pass stat result to
+ find_system_device and convert_system_partition_to_system_disk. Use
+ find_partition_start.
+
+ * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
+ kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
+ * util/deviceiter.c [__linux__]: Define MINOR.
+ (grub_util_iterate_devices): Add support for DM-RAID disk devices.
+ * util/mkdevicemap.c (grub_putchar): New function.
+ (grub_getkey): New function.
+ (grub_refresh): New function.
+ (main): Set debug=all if -v -v is used.
+
+2010-05-18 Colin Watson <cjwatson@ubuntu.com>
+
+ Fix build with non-GNU libcs.
+
+ * util/misc.c (canonicalize_file_name): Move to ...
+ * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
+ grub_make_system_path_relative_to_its_root.
+
+2010-05-18 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrescue.in: Sync up with grub-install in terms of how
+ we handle finding grub-mkimage. Default to finding grub-mkimage in
+ ${bindir} with program_transform_name applied, and provide a
+ --grub-mkimage option to override this.
+
+2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove grub-mkisofs.
+
+ * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
+ (grub_mkisofs_SOURCES): Removed.
+ (grub_mkisofs_CFLAGS): Removed.
+ * util/mkisofs/defaults.h: Removed.
+ * util/mkisofs/eltorito.c: Likewise.
+ * util/mkisofs/exclude.h: Likewise.
+ * util/mkisofs/hash.c: Likewise.
+ * util/mkisofs/include/: Likewise.
+ * util/mkisofs/include/fctldefs.h: Likewise.
+ * util/mkisofs/include/mconfig.h: Likewise.
+ * util/mkisofs/include/prototyp.h: Likewise.
+ * util/mkisofs/include/statdefs.h: Likewise.
+ * util/mkisofs/iso9660.h: Likewise.
+ * util/mkisofs/joliet.c: Likewise.
+ * util/mkisofs/match.c: Likewise.
+ * util/mkisofs/match.h: Likewise.
+ * util/mkisofs/mkisofs.c: Likewise.
+ * util/mkisofs/mkisofs.h: Likewise.
+ * util/mkisofs/msdos_partition.h: Likewise.
+ * util/mkisofs/multi.c: Likewise.
+ * util/mkisofs/name.c: Likewise.
+ * util/mkisofs/rock.c: Likewise.
+ * util/mkisofs/tree.c: Likewise.
+ * util/mkisofs/write.c: Likewise.
+
+2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Unify grub-mkimage accross platforms.
+
+ * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
+ * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
+ (grub_mkelfimage_SOURCES): Removed.
+ (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
+ (util/grub-mkimage.c_DEPENDENCIES): .. this.
+ (bin_UTILITIES): Add grub-mkimage.
+ (grub_mkimage_SOURCES): New variable.
+ (kernel_img_HEADERS): Remove machine/kernel.h.
+ * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
+ (pkglib_PROGRAMS): Add kernel.img.
+ (kernel_img_HEADERS): Add machine/kernel.h.
+ (kernel_img_FORMAT): Removed.
+ (bin_UTILITIES): Remove grub-mkimage.
+ (grub_mkimage_SOURCES): Removed.
+ (grub_mkimage_CFLAGS): Likewise.
+ (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
+ * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
+ (pkglib_PROGRAMS): Add kernel.img.
+ (bin_UTILITIES): Remove grub-mkimage.
+ (grub_mkimage_SOURCES): Removed.
+ (grub_mkimage_CFLAGS): Likewise.
+ (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
+ * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
+ (pkglib_PROGRAMS): Add kernel.img.
+ * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
+ (pkglib_PROGRAMS): Add kernel.img.
+ * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
+ (grub_mkimage_SOURCES): Removed.
+ (grub_mkimage_CFLAGS): Likewise.
+ (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
+ * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
+ (pkglib_PROGRAMS): Add kernel.img.
+ (bin_UTILITIES): Remove grub-mkimage.
+ (grub_mkimage_SOURCES): Removed.
+ (grub_mkimage_CFLAGS): Likewise.
+ (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
+ * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
+ (grub_mkimage_SOURCES): Removed.
+ (grub_mkimage_CFLAGS): Likewise.
+ (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
+ * configure.ac (machine_CFLAGS): Add "-DMACHINE".
+ * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
+ (grub_pe32_optional_header): ... this.
+ (grub_pe64_optional_header): ... and this. All users updated.
+ (GRUB_PE32_PE32_MAGIC): Split into ..
+ (GRUB_PE32_PE32_MAGIC): .. this.
+ (GRUB_PE32_PE64_MAGIC): .. and this.
+ (GRUB_PE32_SIGNATURE_SIZE): New definition.
+ * include/grub/elf.h (PT_GNU_STACK): New definition.
+ * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
+ * include/grub/i386/efi/kernel.h: Likewise.
+ * include/grub/i386/kernel.h: Likewise.
+ * include/grub/i386/pc/kernel.h: Likewise.
+ * include/grub/i386/qemu/boot.h: Likewise.
+ * include/grub/mips/kernel.h: Likewise.
+ * include/grub/mips/qemu-mips/kernel.h: Likewise.
+ * include/grub/powerpc/ieee1275/kernel.h: Likewise.
+ * include/grub/powerpc/kernel.h: Likewise.
+ * include/grub/sparc64/ieee1275/boot.h: Likewise.
+ * include/grub/sparc64/ieee1275/kernel.h: Likewise.
+ * include/grub/sparc64/kernel.h: Likewise.
+ * include/grub/x86_64/efi/kernel.h: Likewise.
+ * include/grub/x86_64/kernel.h: Likewise.
+ * include/grub/offsets.h: New file.
+ * include/grub/kernel.h (grub_module_info): Split into ...
+ (grub_module_info32): ... this.
+ (grub_module_info64): ... and this.
+ * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
+ * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
+ (grub_boot_blocklist): Moved from here ...
+ * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
+ * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
+ * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
+ * include/grub/types.h (grub_target_to_host16): Removed.
+ (grub_target_to_host32): Likewise.
+ (grub_target_to_host64): Likewise.
+ (grub_host_to_target16): Likewise.
+ (grub_host_to_target32): Likewise.
+ (grub_host_to_target64): Likewise.
+ (grub_host_to_target_addr): Likewise.
+
+ Support grub-mkrescue for efi, coreboot and qemu.
+
+ * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
+ * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
+ * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
+ * util/grub-mkrawimage.c: Moved from here ...
+ * util/grub-mkimage.c: ... here. All users updated.
+ (ALIGN_ADDR): Use image_target.
+ (TARGET_NO_FIELD): New const.
+ (image_target_desc): New type.
+ (image_targets): New array.
+ (grub_target_to_host64): Use image_target.
+ (grub_target_to_host32): Likewise.
+ (grub_target_to_host16): Likewise.
+ (grub_host_to_target64): Likewise.
+ (grub_host_to_target32): Likewise.
+ (grub_host_to_target16): Likewise.
+ (grub_host_to_target_addr): Likewise.
+ (generate_image): Handle multiimage.
+ (main): Require -O parameter. All users updated.
+ * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
+ util/efi/grub-mkimage.c
+ * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
+ New option --rom-directory.
+ Use xorriso.
+ * util/i386/efi/grub-mkimage.c: Removed.
+ * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
+ (grub_target_to_host32): Likewise.
+ (grub_target_to_host64): Likewise.
+ (grub_host_to_target16): Likewise.
+ (grub_host_to_target32): Likewise.
+ (grub_host_to_target64): Likewise.
+ * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
+ (grub_target_to_host32): Likewise.
+ (grub_target_to_host64): Likewise.
+ (grub_host_to_target16): Likewise.
+ (grub_host_to_target32): Likewise.
+ (grub_host_to_target64): Likewise.
+
+2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Source tree is reorganized for emu build.
+
+ * include/grub/util/console.h: Move from here...
+ * include/grub/emu/console.h: ...to here.
+ * include/grub/util/getroot.h: Move from here...
+ * include/grub/emu/getroot.h: ...to here.
+ * include/grub/util/hostdisk.h: Move from here...
+ * include/grub/emu/hostdisk.h: ...to here.
+ * util/console.c: Move from here...
+ * kern/emu/console.c: ...to here.
+ * util/getroot.c: Move from here...
+ * kern/emu/getroot.c: ...to here.
+ * util/grub-emu.c: Move from here...
+ * kern/emu/main.c: ...to here.
+ * util/hostdisk.c: Move from here...
+ * kern/emu/hostdisk.c: ...to here.
+ * util/hostfs.c: Move from here...
+ * kern/emu/hostfs.c: ...to here.
+ * util/mm.c: Move from here...
+ * kern/emu/mm.c: ...to here.
+ * util/pci.c: Move from here...
+ * bus/emu/pci.c: ...to here.
+ * util/sdl.c: Move from here...
+ * video/emu/sdl.c: ...to here.
+ * util/time.c: Move from here...
+ * kern/emu/time.c: ...to here.
+ * util/usb.c: Move from here...
+ * bus/usb/emu/usb.c: ...to here.
+
+ * include/grub/emu/misc.h: New header for grub-emu functions.
+ * kern/emu/misc.c: grub-emu functions separated from util/misc.c
+
+ * conf/any-emu.rmk: Rule updates for above renames.
+ * conf/common.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/i386-qemu.rmk: Likewise.
+ * conf/mips.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * conf/x86-efi.rmk: Likewise.
+
+ * disk/lvm.h: #include updates for above renames.
+ * util/grub-mkrelpath.c: Likewise.
+ * util/grub-probe.c: Likewise.
+ * util/i386/pc/grub-setup.c: Likewise.
+ * util/sparc64/ieee1275/grub-setup.c: Likewise.
+ * kern/emu/console.c: Likewise.
+ * kern/emu/getroot.c: Likewise.
+ * kern/emu/hostdisk.c: Likewise.
+ * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
+
+ * include/grub/dl.h: Remove grub_dl_{ref,unref}.
+ * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
+ * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
+ * util/misc.c: Remove grub-emu functions.
+
+2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix gfxmenu crash.
+ Reported by: Thorsten Grützmacher.
+
+ * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
+ timeout hook.
+ (circprog_set_property): Register and unregister timeout hook.
+ * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
+ (label_destroy): Free template. and unregister hook.
+ (label_set_state): New function.
+ (label_set_property): Handle templates and hooks.
+ * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
+ timeout hook.
+ (progress_bar_set_property): Register and unregister timeout hook.
+ * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
+ * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
+ * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
+ (update_timeout_visit): Removed.
+ (update_timeouts): New function.
+ (redraw_timeouts): Likewise.
+ (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
+ (grub_gfxmenu_clear_timeout): Likewise.
+ * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
+ (grub_gfxmenu_timeout_notify): Likewise.
+ (grub_gfxmenu_timeout_notifications): New external variable.
+ (grub_gfxmenu_timeout_register): New function.
+ (grub_gfxmenu_timeout_unregister): Likewise.
+
+2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Transform (broken) vga terminal into (working) vga video driver.
+
+ * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
+ video/i386/pc/vga.c.
+ * include/grub/video.h (grub_video_driver_id):
+ Add GRUB_VIDEO_DRIVER_VGA.
+ * term/i386/pc/vga.c: Renamed to ...
+ * video/i386/pc/vga.c: ...this
+ (DEBUG_VGA): Removed.
+ (CHAR_WIDTH): Likewise.
+ (CHAR_HEIGHT): Likewise.
+ (TEXT_WIDTH): Likewise.
+ (TEXT_HEIGHT): Likewise.
+ (DEFAULT_FG_COLOR): Likewise.
+ (DEFAULT_BG_COLOR): Likewise.
+ (colored_char): Likewise.
+ (xpos): Likewise.
+ (ypos): Likewise.
+ (cursor_state): Likewise.
+ (fg_color): Likewise.
+ (bg_color): Likewise.
+ (text_buf): Likewise.
+ (page): Likewise.
+ (font): Likewise.
+ (framebuffer): New variable.
+ (set_read_map): Disabled.
+ (setup): New variable.
+ (is_target): Likewise.
+ (grub_vga_mod_init): Likewise.
+ (grub_vga_mod_fini): Likewise.
+ (check_vga_mem): Likewise.
+ (write_char): Likewise.
+ (write_cursor): Likewise.
+ (scroll_up): Likewise.
+ (grub_vga_putchar): Likewise.
+ (grub_vga_getcharwidth): Likewise.
+ (grub_vga_getwh): Likewise.
+ (grub_vga_getxy): Likewise.
+ (grub_vga_gotoxy): Likewise.
+ (grub_vga_cls): Likewise.
+ (grub_vga_setcolorstate): Likewise.
+ (grub_vga_setcursor): Likewise.
+ (grub_video_vga_init): New function.
+ (grub_video_vga_setup): Likewise.
+ (grub_video_vga_fini): Likewise.
+ (update_target): Likewise.
+ (grub_video_vga_blit_bitmap): Likewise.
+ (grub_video_vga_blit_render_target): Likewise.
+ (grub_video_vga_set_active_render_target): Likewise.
+ (grub_video_vga_get_active_render_target): Likewise.
+ (grub_video_vga_swap_buffers): Likewise.
+ (grub_video_vga_set_palette): Likewise.
+ (grub_video_vga_get_info_and_fini): Likewise.
+ (grub_vga_term): Removed.
+ (grub_video_vga_adapter): New variable.
+ (GRUB_MOD_INIT): Register a video driver instead of terminal.
+ (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
+
+2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * video/readers/jpeg.c: Indented.
+
+2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Various jpeg cleanups.
+
+ * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
+ (grub_jpeg_decode_quan_table): Use sizeof.
+ (grub_jpeg_decode_du): Use ARRAY_SIZE.
+
+2010-05-05 Peter Hurley <No e-mail available> (tiny change)
+
+ * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
+ tables. Ignore non-last ac bit.
+ (grub_jpeg_decode_quan_table): Likewise.
+
+2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
+ GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
+ * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
+ GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
+ * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
+ 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
+
+2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
+ error.
+
+2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
+
+2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
+ condition.
+
+2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
+ part.
+
+2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/mm.c (grub_mm_init_region): Check for region size after aligning
+ pointers.
+
+2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
+
+2010-05-01 Christian Franke <franke@computer.org>
+
+ * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
+ Remove broken Cygwin path conversion.
+ * util/misc.c: [__CYGWIN__] Add include and define.
+ [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
+ for Cygwin 1.7.
+ (make_system_path_relative_to_its_root): Simplify loop, replace early
+ return by break.
+ [__CYGWIN__] Add conversion to win32 path.
+ Include "/" case in trailing slash removal.
+
+2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/main.c (grub_load_config): Fix copy-pasted comment.
+ Reported by: Seth Goldberg
+
+2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/help.c (grub_cmd_help): Fix a typo.
+ Reported by: Seth Goldberg
+
+2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
+ name and add N_.
+ * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
+ * commands/iorw.c (GRUB_MOD_INIT): Likewise.
+ * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
+ * commands/regexp.c (GRUB_MOD_INIT): Likewise.
+ * commands/setpci.c (GRUB_MOD_INIT): Likewise.
+ * commands/terminal.c (GRUB_MOD_INIT): Likewise.
+ * efiemu/main.c (GRUB_MOD_INIT): Likewise.
+ * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
+ * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
+ * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
+ * normal/context.c (GRUB_MOD_INIT): Likewise.
+ * normal/main.c (GRUB_MOD_INIT): Likewise.
+ * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
+ * term/serial.c (GRUB_MOD_INIT): Likewise.
+ * term/terminfo.c (GRUB_MOD_INIT): Likewise.
+
+2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
+ extra == 0.
+
+2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/iorw.c: New file.
+ * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
+ (iorw_mod_SOURCES): New variable.
+ (iorw_mod_CFLAGS): Likewise.
+ (iorw_mod_LDFLAGS): Likewise.
+
+2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Hotkey support
+
+ * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
+ * normal/main.c (hotkey_aliases): New variable.
+ (grub_normal_add_menu_entry): Parse "--hotkey".
+ * normal/menu_text.c (run_menu): Handle hotkeys.
+
+2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/i386/coreboot/init.c (grub_machine_init): Call
+ grub_machine_mmap_init on qemu.
+
+2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * boot/i386/qemu/boot.S: Add a missing .code16.
+
+2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use LBIO on coreboot.
+
+ * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
+ kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
+ * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
+ New declaration.
+ * kern/i386/coreboot/init.c (grub_machine_init): Don't call
+ grub_machine_mmap_init on coreboot.
+ * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
+ GRUB_LINUXBIOS_MEMBER_LINK.
+ (grub_machine_mmap_iterate): Fix declaration.
+ * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
+
+2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Split coreboot and multiboot ports.
+
+ * conf/i386-multiboot.rmk: New file.
+ * configure.ac: Add multiboot port.
+ * include/grub/i386/multiboot/boot.h: New file.
+ * include/grub/i386/multiboot/console.h: Likewise.
+ * include/grub/i386/multiboot/init.h: Likewise.
+ * include/grub/i386/multiboot/kernel.h: Likewise.
+ * include/grub/i386/multiboot/loader.h: Likewise.
+ * include/grub/i386/multiboot/memory.h: Likewise.
+ * include/grub/i386/multiboot/serial.h: Likewise.
+ * include/grub/i386/multiboot/time.h: Likewise.
+ * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
+ * loader/multiboot.c: Likewise.
+ * loader/multiboot_mbi2.c: Likewise.
+ * util/grub-mkrescue.in: Generate multiboot rescue.
+
+2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/parser.c (grub_parser_execute): Cope with read-only config.
+
+2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Merge handling of input and output terminals. Fix a hang.
+
+ * commands/terminal.c (abstract_terminal): New struct.
+ (handle_command): New function. Based on grub_cmd_terminal_input.
+ (grub_cmd_terminal_input): Use handle_command.
+ (grub_cmd_terminal_output): Use handle_command.
+
+2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix comment handling.
+
+ * tests/grub_script_comments.in: New testcase.
+ * conf/tests.rmk: Rules for new testcase.
+ * script/yylex.l: Updated flex rules.
+
+2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * docs/grub.texi (play): Document that zero pitches produce rests.
+ * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
+ if argc is 1.
+
+2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
+ autogen issues.
+
+2010-04-26 Christian Franke <franke@computer.org>
+
+ * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
+ * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
+ (grub_get_prefix): Remove function.
+ * util/grub-emu.c (main): Replace grub_get_prefix () call by
+ make_system_path_relative_to_its_root ().
+ * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
+
+2010-04-24 Christian Franke <franke@computer.org>
+
+ * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
+ (kernel_img_LDFLAGS): Remove -static-libgcc.
+
+2010-04-24 Christian Franke <franke@computer.org>
+
+ * configure.ac: Do not CHECK_BSS_START_SYMBOL
+ and CHECK_END_SYMBOL if grub-emu is built.
+ Unset TARGET_OBJ2ELF if grub-emu is built
+ without module support.
+
+2010-04-24 Jiro SEKIBA <jir@unicus.jp>
+
+ Nilfs2 support.
+
+ * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
+ (grub_fstest_SOURCES): Likewise.
+ (pkglib_MODULES): Add nilfs2.mod.
+ (nilfs2_mod_SOURCES): New variable.
+ (nilfs2_mod_CFLAGS): Likewise.
+ (nilfs2_mod_LDFLAGS): Likewise.
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
+ * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
+ * fs/nilfs2.c: New file.
+
+2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
+ is not supported.
+
+2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ Add grub-mkconfig support for NetBSD.
+
+ * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
+ * util/grub-mkconfig.in: export new NetBSD specific variables.
+ * po/POTFILES-shell: added 10_netbsd.in.
+ * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
+
+2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix emu build with grub-emu-pci and grub-emu-modules.
+
+ * include/grub/util/misc.h: Export grub_util_{info,error,warn}
+ functions.
+ * include/grub/libpciaccess.h: New file.
+ * conf/any-emu.rmk: Update kernel headers for emu build.
+
+2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
+
+2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
+
+2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
+ Retrieve chosen/bootpath if bootpath isn't hardcoded.
+ * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
+ util/ieee1275/ofpath.c.
+ * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
+ * util/ieee1275/grub-ofpathname.c: ... this. All users updated
+ * include/grub/sparc64/ieee1275/boot.h
+ (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
+ (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
+ * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
+ * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
+ const char *.
+ * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
+ (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
+ Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
+ install.
+
+2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * util/grub-mkconfig.in: Corrected two == equality tests.
+ Set grub_prefix as in grub-install for NetBSD and OpenBSD.
+ * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
+ expect a number appended to it.
+ * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
+ expects a number appended to it.
+
+2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
+
+2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/hostdisk.c (make_device_name): Change to new partition naming.
+
+2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
+
+2010-04-17 Christian Franke <franke@computer.org>
+
+ * Makefile.in: Add missing localedir setting.
+
+2010-04-14 Colin Watson <cjwatson@ubuntu.com>
+
+ Restore TEXTDOMAINDIR correction from r1889, lost apparently by
+ mistake in r2156. Noticed by Anthony Fok.
+
+ * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
+ @localedir@.
+ * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
+
+2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix a spurious, uninitialized variable warning.
+
+ * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
+ Initialize variable, shdr.
+ (grub_freebsd_load_elfmodule): Likewise.
+ (grub_freebsd_load_elf_meta): Likewise.
+
+2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix for escaped dollar in double quoted strings.
+
+ * script/yylex.l: Updated flex rules.
+ * conf/tests.rmk: Rule for new testcase.
+ * tests/grub_script_dollar.in: New testcase.
+
+2010-04-13 Carles Pina i Estany <carles@pina.cat>
+2010-04-13 Colin Watson <cjwatson@ubuntu.com>
+
+ Enclose all translated strings in grub.cfg in single quotes, and
+ escape them appropriately (Ubuntu bug #552921).
+
+ * util/grub-mkconfig_lib.in (gettext_quoted): New function.
+ * util/grub.d/10_hurd.in: Use it.
+ * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
+ * util/grub.d/10_linux.in (linux_entry): Likewise.
+
+2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix cygwin compilation.
+
+ * configure.ac: Define NEED_REGISTER_FRAME_INFO.
+ * include/grub/misc.h (__register_frame_info)
+ [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
+ (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
+ * kern/misc.c (__register_frame_info)
+ [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
+ (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
+
+2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
+
+2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Unify libgcc processing.
+
+ * Makefile.in (kernel_img_LDFLAGS): New variable.
+ * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
+ * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
+ overwriting.
+ * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
+ * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
+ * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
+ * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
+ * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
+ overwriting. Remove -lgcc and -static-libgcc
+ * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
+ * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
+ * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
+ (kernel_img_LDFLAGS): Append instead of overwriting.
+ Remove -lgcc and -static-libgcc
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * include/grub/powerpc/libgcc.h: Move to ...
+ * include/grub/libgcc.h: .. this.
+ * include/grub/libgcc.h: Don't export most of the function on x86.
+ (__bswapsi2): New export.
+ (__bswapdi2): Likewise.
+ * include/grub/mips/libgcc.h: Removed.
+ * include/grub/sparc64/libgcc.h: Likewise.
+
+2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
+ disk_info_msg (conflicts with gettexting into languages with cases).
+
+2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ Add grub-probe support for NetBSD.
+
+ * util/getroot.c (find_root_device): Convert block device to
+ character device on NetBSD.
+ * util/probe.c (probe): Require character device on NetBSD.
+ * util/hostdisk.c: NetBSD specific headers.
+ (configure_device_driver): new function to tune device driver
+ parameters (currently only for NetBSD floppy driver).
+ (grub_util_biosdisk_open): NetBSD specific code (get disk size
+ via disklabel ioctl).
+ (open_device): call configure_device_driver on NetBSD.
+ (convert_system_partition_to_system_disk): NetBSD specific code.
+ (device_is_wholedisk): Likewise.
+ (grub_util_biosdisk_get_grub_dev): Likewise.
+ (make_device_name): Fixed a typo in bsd_part_str.
+ * configure.ac: check for opendisk() and getrawpartition() on
+ NetBSD and set LIBUTIL.
+ * Makefile.in: add LIBUTIL to LIBS.
+
+2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Documentation fix.
+
+ * util/grub-script-check.c: Better help message.
+
+2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix FreeBSD build.
+
+ * configure.ac: Flex version check.
+ * conf/common.rmk: Add -Wno-error to sh.mod.
+ * script/yylex.l: Remove all #pragma.
+
+2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/util/misc.h (canonicalise_file_name): Add missing
+ prototype.
+ Reported by: Seth Goldberg.
+
+2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
+ Rename "module" to "module2".
+ Reported by: Seth Goldberg.
+
+2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
+ EXPORT_FUNC.
+ Reported by: Seth Goldberg.
+
+2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * lib/posix_wrap/locale.h: Add missing file.
+ Reported by: Seth Goldberg.
+
+2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ grub-emu module load support.
+
+ * Makefile.in (TARGET_NO_MODULES): New variable. All users of
+ NO_DYNAMIC_MODULES switched to this.
+ (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
+ (CFLAGS): Likewise.
+ * conf/any-emu.rmk: Generate symlist.
+ (kernel_img_HEADERS): Add util/datetime.h.
+ (kernel_img_HEADERS) [sdl]: Add sdl.h.
+ (kernel_img_HEADERS) [libusb]: Add libusb.h.
+ (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
+ kern/$(target_cpu)/cache.S.
+ * configure.ac (grub-emu-modules): New option.
+ * genmk.rb: Handle multiple source lists.
+ * include/grub/sdl.h: New file.
+ * include/grub/libusb.h: Likewise.
+ * util/grub-emu.c (main): Hanle (host) root.
+ * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
+ GRUB_ERR_UNKNOWN_DEVICE.
+ * util/misc.c: Move mm functions to ...
+ * util/mm.c: ... here. All users updated.
+
+2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.in (RMKFILES): Search in srcdir and not current directory.
+ (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
+ missing files.
+ (maintainer-clean): Remove libgcrypt-grub.
+
+2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/efi/console.c (grub_console_checkkey): Macroify key contants.
+
+2010-04-09 EFI Coder <eficoder@hotmail.com>
+
+ * normal/menu_text.c (print_message): Clean up the message and show
+ the Fn information when on EFI
+ * term/efi/console.c (grub_console_checkkey): Add F4 support.
+
+2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/autofs.c (read_fs_list): New parameter 'prefix'.
+ All users updated.
+ * normal/crypto.c (read_crypto_list): Likewise.
+ * normal/dyncmd.c (read_command_list): Likewise.
+ * normal/term.c (read_terminal_list): Likewise.
+ * normal/main.c (read_lists): Use explicit prefix.
+ (read_lists_hook): Use read_lists.
+ (grub_normal_execute): Likewise.
+
+2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
+ Reported by: Thomas Schmitt.
+ Add -no-emul-boot to grub-mkisofs parameters.
+
+2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * font/font.c: Indented.
+
+2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Elif support to GRUB script (by Deepak Vankadaru).
+
+ * tests/grub_script_if.in: New testcase.
+ * conf/tests.rmk: Rule for new testcase.
+ * script/parser.y: Grammar rules for elif.
+
+2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
+
+ While and until loops support to GRUB script.
+
+ * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
+ (grub_script_create_cmdwhile): New function prototype.
+ (grub_script_execute_cmdwhile): New function prototype.
+ * script/execute.c (grub_script_execute_cmdwhile): New function.
+ * script/parser.y (command): New commands.
+ (whilecmd): New grammar rule.
+ (untilcmd): New grammar rule.
+ * script/script.c (grub_script_create_cmdwhile): New function.
+ * util/grub-script-check.c (grub_script_execute_cmdwhile): New
+ function.
+
+ * tests/grub_script_while1.in: New testcase.
+ * conf/tests.rmk: Rule for new testcase.
+
+2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
+ as *.jpg.
+
+2010-04-09 Mario Vazquez <mariovazq@gmail.com>
+
+ GRUB_BACKGROUND support.
+
+ * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
+ * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
+
+2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Load fonts and modules for gfxmenu in grub-mkconfig.
+ Idea by: Mario Vazquez
+
+ * util/grub.d/00_header.in: Load pf2 and image modules.
+
+2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ grub-mkconfig multiple terminal support.
+
+ * util/grub-mkconfig.in: Handle multiple terminals correctly.
+ * util/grub.d/00_header.in: Likewise.
+
+2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.in: Specify files explicitly instead of using $< and $@ since
+ we use cd $(srcdir).
+
+2010-04-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/10_linux.in: Only use the first word of
+ GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
+ spaces in GRUB_DISTRIBUTOR.
+ * util/grub.d/10_kfreebsd.in: Likewise.
+ * util/grub.d/10_hurd.in: Likewise.
+
+2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix unit testing framework for Qemu 0.12.
+
+ * tests/util/grub-shell.in: Remove -serial stdio option.
+
+2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ POSIX header file wrappers.
+
+ * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
+ equivalents.
+ * lib/posix_wrap/ctype.h: Likewise.
+ * lib/posix_wrap/errno.h: Likewise.
+ * lib/posix_wrap/langinfo.h: Likewise.
+ * lib/posix_wrap/limits.h: Likewise.
+ * lib/posix_wrap/localcharset.h: Likewise.
+ * lib/posix_wrap/stdint.h: Likewise.
+ * lib/posix_wrap/stdio.h: Likewise.
+ * lib/posix_wrap/stdlib.h: Likewise.
+ * lib/posix_wrap/string.h: Likewise.
+ * lib/posix_wrap/sys/types.h: Likewise.
+ * lib/posix_wrap/unistd.h: Likewise.
+ * lib/posix_wrap/wchar.h: Likewise.
+ * lib/posix_wrap/wctype.h: Likewise.
+ * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
+ (grub_script.yy.h): Likewise.
+ * script/yylex.l: Remove POSIX emulation #defines.
+ * Makefile.in (POSIX_CFLAGS): New variable.
+ (GNULIB_UTIL_CFLAGS): Likewise.
+
+ Regexp support.
+
+ * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
+ (regexp_mod_SOURCES): New variable.
+ (regexp_mod_CFLAGS): Likewise.
+ (regexp_mod_LDFLAGS): Likewise.
+ * commands/regexp.c: New file.
+ * gnulib/regcomp.c: New file. Imported from gnulib.
+ * gnulib/regex.c: Likewise.
+ * gnulib/regex_internal.c: Likewise.
+ * gnulib/regex_internal.h: Likewise.
+ * gnulib/regexec.c: Likewise.
+ * gnulib/regex.h: Likewise.
+
+2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
+ unsupported video mode types.
+
+2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
+
+2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
+ * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
+
+2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove unused grub_vga_get_font.
+
+ * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
+ * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
+
+2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
+ * include/grub/misc.h: Likewise.
+
+2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
+ for which failure is fatal.
+
+2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * util/grub-install.in: Use mkdir -p to create grub directory.
+ * util/i386/efi/grub-install.in: Likewise.
+ * util/ieee1275/grub-install.in: Likewise.
+
+2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * Makefile.in (LEX): new variable.
+
+2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
+ `=' and added double quotes on operands of this equality test.
+
+2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.in (uninstall): Remove a leftover debug echo.
+ Reported by: Grégoire Sutre
+
+2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ MIPS multiboot2 support.
+
+ * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
+ (multiboot2_mod_SOURCES): New variable.
+ (multiboot2_mod_CFLAGS): Likewise.
+ (multiboot2_mod_LDFLAGS): Likewise.
+ (multiboot2_mod_ASFLAGS): Likewise.
+ * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
+ definition.
+ (MULTIBOOT_ENTRY_REGISTER): Likewise.
+ (MULTIBOOT_MBI_REGISTER): Likewise.
+ (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
+ (MULTIBOOT_ELF32_MACHINE): Likewise.
+ (MULTIBOOT_ELF64_MACHINE): Likewise.
+ * include/grub/mips/multiboot.h: New file.
+ * include/grub/video.h (grub_video_driver_id): New type
+ GRUB_VIDEO_DRIVER_SM712.
+ (grub_video_get_info_and_fini): Export.
+ (grub_video_get_palette): Likewise.
+ (grub_video_get_driver_id): Likewise.
+ * include/multiboot2.h: Resynced with spec.
+ * loader/i386/multiboot.c: Moved from here ...
+ * loader/multiboot.c: ... here. All users updated.
+ (grub_multiboot_boot): Use platform-specific macros.
+ * loader/i386/multiboot_elfxx.c: Moved from here ...
+ * loader/multiboot_elfxx.c: ... here. All users updated.
+ (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
+ * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
+ * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
+
+2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Import gnulib argp module.
+
+ * gnulib/argp-ba.c: New file.
+ * gnulib/argp-eexst.c: Likewise.
+ * gnulib/argp-fmtstream.c: Likewise.
+ * gnulib/argp-fmtstream.h: Likewise.
+ * gnulib/argp-fs-xinl.c: Likewise.
+ * gnulib/argp-help.c: Likewise.
+ * gnulib/argp-namefrob.h: Likewise.
+ * gnulib/argp-parse.c: Likewise.
+ * gnulib/argp-pin.c: Likewise.
+ * gnulib/argp-pv.c: Likewise.
+ * gnulib/argp-pvh.c: Likewise.
+ * gnulib/argp-version-etc.c: Likewise.
+ * gnulib/argp-version-etc.h: Likewise.
+ * gnulib/argp-xinl.c: Likewise.
+ * gnulib/argp.h: Likewise.
+
+2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/device.c (grub_device_iterate): Clear errors after failed
+ opening device.
+
+2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
+ returned by firmware.
+
+2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
+ compilation on coreboot and qemu
+
+2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/multiboot2.h: Resync with spec.
+
+2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Multiboot2 tag support
+
+ * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
+ loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
+ Remove loader/multiboot_loader.c.
+ * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
+ (grub_multiboot2_real_boot): Likewise.
+ * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
+ (grub_get_multiboot_mmap_count): New proto.
+ (grub_fill_multiboot_mmap): Likewise.
+ (grub_multiboot_set_video_mode): Likewise.
+ (grub_multiboot_set_console): Likewise.
+ (grub_multiboot_load): Likewise.
+ (grub_multiboot_load_elf): Likewise.
+ (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
+ (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
+ * include/multiboot.h: Resynced with specification.
+ * include/multiboot2.h: Resynced with specification.
+ * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
+ * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
+ * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
+ * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
+ users updated.
+ * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
+ * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
+ * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
+ Removed.
+ * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
+ Moved from here...
+ * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
+ * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
+ Moved from here...
+ * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
+ * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
+ * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
+ All users updated.
+ * loader/i386/multiboot_mbi2.c: New file.
+
+2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Resync with gnulib.
+
+ * Makefile.in (GNULIB_CFLAGS): New variable.
+ * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
+ (grub_script_check_CFLAGS): New variable.
+ * gnulib/alloca.h: Resync with gnulib.
+ * gnulib/error.c: Likewise.
+ * gnulib/error.h: Likewise.
+ * gnulib/fnmatch.c: Likewise.
+ * gnulib/fnmatch_loop.c: Likewise.
+ * gnulib/getdelim.c: Likewise.
+ * gnulib/getline.c: Likewise.
+ * gnulib/getopt.c: Likewise.
+ * gnulib/getopt1.c: Likewise.
+ * gnulib/getopt_int.h: Likewise.
+ * gnulib/gettext.h: Likewise.
+ * gnulib/progname.c: Likewise.
+ * gnulib/progname.h: Likewise.
+
+2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
+ which is the case with --disabled-nls.
+
+ * include/grub/i18n.h: Use (defined(ENABLE_NLS)
+ && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
+ * util/misc.c: Likewise.
+ * util/mkisofs/mkisofs.c: Likewise.
+ * util/mkisofs/mkisofs.h: Likewise.
+
+2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Simplify Apple CC support.
+
+ * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
+ Add 0 byte at the end not to have a symbol with empty target.
+ * mmap/i386/pc/mmap_helper.S: Likewise.
+ * genmk.rb: Ignore errors 2030 and 2050.
+ * kern/i386/pc/startup.S: Use LOCAL when possible.
+
+2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Testcase and the fix for final semicolon on cmdline.
+
+ * tests/grub_script_final_semicolon.in: New testcase.
+ * conf/tests.rmk: Rules for the new testcase.
+ * script/parser.y: Grammar fix.
+
+2010-03-26 BVK Chaitanya <bvk@localhost>
+
+ Blank lines testcase for GRUB script.
+
+ * tests/grub_script_blanklines.in: New testcase.
+ * conf/tests.rmk: Rules for the new testcase.
+
+2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Don't use __FILE__.
+
+ * genmk.rb: Add -DGRUB_FILE to all C targets.
+ * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
+ * include/grub/list.h: Likewise.
+ * include/grub/misc.h: Likewise.
+ * include/grub/mm.h: Likewise.
+ * include/grub/test.h: Likewise.
+ * kern/mm.c: Likewise.
+ * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
+
+2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Sunpc partitions support.
+
+ * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
+ (grub_fstest_SOURCES): Likewise.
+ (pkglib_MODULES): Add part_sunpc.mod.
+ (part_sunpc_mod_SOURCES): New variable.
+ (part_sunpc_mod_CFLAGS): Likewise.
+ (part_sunpc_mod_LDFLAGS): Likewise.
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
+ * partmap/sunpc.c: New file.
+
+2010-03-26 BVK Chaitanya <bvk@localhost>
+
+ For loop support to GRUB script.
+
+ * include/grub/script_sh.h (grub_script_cmdfor): New struct.
+ (grub_script_create_cmdfor): New function prototype.
+ (grub_script_execute_cmdfor): New function prototype.
+ * script/execute.c (grub_script_execute_cmdfor): New function.
+ * script/parser.y (command): New for command.
+ (forcmd): New grammar rule.
+ * script/script.c (grub_script_create_cmdfor): New function.
+ * util/grub-script-check.c (grub_script_execute_cmdfor): New
+ function.
+ * tests/grub_script_for1.in: New testcase.
+ * conf/tests.rmk: Rules for new testcase.
+
+2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Nested partitions
+
+ * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
+ 'partition' is NULL, grub_partition_get_start already does that.
+ * commands/loadenv.c (check_blocklists): Likewise.
+ (write_blocklists): Likewise.
+ * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
+ (grub_fstest_SOURCES): Likewise.
+ (pkglib_MODULES): Add part_bsd.mod.
+ (part_bsd_mod_SOURCES): New variable.
+ (part_bsd_mod_CFLAGS): Likewise.
+ (part_bsd_mod_LDFLAGS): Likewise.
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
+ (grub_emu_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * include/grub/bsdlabel.h: New file.
+ * include/grub/partition.h (grub_partition_map): Remove 'probe' and
+ 'get_name'.
+ (grub_partition): Add 'parent' and 'number'. Remove 'data'.
+ (grub_partition_map_list): New variable.
+ (grub_partition_map_register): Inline.
+ (grub_partition_map_unregister): Likewise.
+ (FOR_PARTITION_MAPS): New macro.
+ (grub_partition_map_iterate): Removed.
+ (grub_partition_get_start): Handle nested partitions.
+ * include/grub/msdos_partition.h: Remove bsd-related entries.
+ (grub_pc_partition): Remove.
+ * kern/disk.c (grub_disk_close): Free partition data.
+ (grub_disk_adjust_range): Handle nested partitions.
+ * kern/partition.c (grub_partition_map_probe): New function.
+ (grub_partition_probe): Parse name to number, handle subpartitions.
+ (get_partmap): New function.
+ (grub_partition_iterate): Handle subpartitions.
+ (grub_partition_get_name): Likewise.
+ * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
+ * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
+ * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
+ * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
+ Set 'number'.
+ (acorn_partition_map_probe): Remove.
+ (acorn_partition_map_get_name): Likewise.
+ * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
+ Set 'number'.
+ Set 'index' to 0 since there can be only one partition entry per sector.
+ (amiga_partition_map_probe): Remove.
+ (amiga_partition_map_get_name): Likewise.
+ * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
+ Set 'number'.
+ Set 'offset' and 'index' to real positions of partitions.
+ (apple_partition_map_probe): Remove.
+ (apple_partition_map_get_name): Likewise.
+ * partmap/bsdlabel.c: New file.
+ * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
+ Set 'number'.
+ Allocate 'data' so it can be correctly freed.
+ Set 'index' to offset inside sector.
+ (gpt_partition_map_probe): Remove.
+ (gpt_partition_map_get_name): Likewise.
+ * partmap/msdos.c (grub_partition_parse): Remove.
+ (pc_partition_map_iterate): Don't force raw access.
+ Set 'number'.
+ Make 'ext_offset' a local variable.
+ (pc_partition_map_probe): Remove.
+ (pc_partition_map_get_name): Remove.
+ * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
+ Set 'number'.
+ (sun_partition_map_probe): Remove.
+ (sun_partition_map_get_name): Likewise.
+ * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
+ (grub_pcpart_type): Likewise.
+ * util/hostdisk.c (open_device): Handle new numbering scheme.
+ (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
+ * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
+ * util/grub-probe.c (probe_partmap): Handle nested paritions.
+ * util/grub-install.in: Insert all subpartition modules.
+ * util/ieee1275/grub-install.in: Likewise.
+
+2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
+
+ * kern/dl.c (grub_dl_resolve_symbols): Improve error message
+ grammar.
+
+2010-03-24 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
+
+2010-03-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in: Copy .mo files from @datadir@/locale, to
+ match where 'make install' puts them.
+ * util/i386/efi/grub-install.in: Likewise.
+
+2010-03-19 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Add gentrigtables, grub-script-check,
+ grub_script_check_init.c, grub_script_check_init.h, and
+ trigtables.c.
+
+2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/parser.c: Indented.
+
+2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
+
+2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
+ alpha_mask_size == 0 case.
+
+2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
+
+ GRUB shell lexer and parser improvements.
+
+ * conf/any-emu.rmk: Build rule updates.
+ * conf/common.rmk: Likewise.
+ * conf/i386-coreboot.rmk: Likewise.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+
+ * configure.ac: Configure check for flex.
+
+ * include/grub/script_sh.h (grub_script_arg_type_t): More argument
+ types.
+ (grub_lexer_param): Struct member updates.
+ (grub_parser_param): Likewise.
+ (GRUB_LEXER_TOKEN_MAX): Maximum token size.
+ (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
+ (grub_script_lexer_init): Prototype update.
+ (grub_script_lexer_record_start): Likewise.
+ (grub_script_lexer_record_stop): Likewise.
+ (grub_script_lexer_yywrap): New function prototype.
+ (grub_script_lexer_fini): Likewise.
+ (grub_script_execute_argument_to_string): Removed by...
+ (grub_script_execute_argument_to_argv): ...better version.
+
+ * script/execute.c (ROUND_UPTO): New macro.
+ (grub_script_execute_cmdline): Out of memory fixes.
+ (grub_script_execute_menuentry): Likewise.
+ (grub_script_execute_argument_to_string): Removed. Update all
+ users by...
+ (grub_script_execute_argument_to_argv): ...better version.
+ * script/function.c (grub_script_function_create): Use
+ grub_script_execute_argument_to_argv instead of
+ grub_script_execute_argument_to_string.
+
+ * script/lexer.c (check_varstate): Removed.
+ (check_textstate): Removed.
+ (grub_script_lexer_record_start): Likewise.
+ (grub_script_lexer_record_stop): Likewise.
+ (recordchar): Replaced with...
+ (grub_script_lexer_record): ...new function.
+ (nextchar): Removed.
+ (grub_script_lexer_init): Rewritten.
+ (grub_script_yylex): Rewritten.
+ (append_newline): New function.
+ (grub_script_lexer_yywrap): New function.
+ (grub_script_lexer_fini): New function.
+ (grub_script_yyerror): Sets error flag.
+
+ * script/yylex.l: New file.
+ (grub_lexer_yyfree): Wrapper for flex yyffre.
+ (grub_lexer_yyalloc): Likewise.
+ (grub_lexer_yyrealloc): Likewise.
+ * script/parser.y: Refactored.
+
+ * script/script.c (grub_script_arg_add): Out of memory fixes.
+ (grub_script_add_arglist): Likewise.
+ (grub_script_create_cmdline): Likewise.
+ (grub_script_create_cmdmenu): Likewise.
+ (grub_script_add_cmd): Likewise.
+ (grub_script_parse): Use grub_script_lexer_fini to deallocated.
+ * util/grub-script-check.c (grub_script_execute_menuentry): Remove
+ unnecessary code.
+
+ * tests/grub_script_echo1.in: New testcase.
+ * tests/grub_script_vars1.in: New testcase.
+ * tests/grub_script_echo_keywords.in: New testcase.
+
+2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove some redundancy in build system.
+
+ * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
+ (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
+ (TARGET_LDFLAGS): Add -nostdlib.
+ (TARGET_IMG_LDFLAGS): Likewise.
+ * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
+ anything since mmap isn't available.
+ * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
+ Add util/time.c.
+ (pkglib_MODULES): Remove reboot.mod.
+ (reboot_mod_SOURCES): Removed.
+ (reboot_mod_CFLAGS): Likewise.
+ (reboot_mod_LDFLAGS): Likewise.
+ * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
+ (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
+ (DEFSYMFILES): Add kernel_syms.lst.
+ (kernel_img_HEADERS): Add common headers.
+ (symlist.c): New target.
+ (kernel_syms.lst): Likewise.
+ (pkglib_MODULES): Add memdisk.mod.
+ (memdisk_mod_SOURCES): New variable.
+ (memdisk_mod_CFLAGS): Likewise.
+ (memdisk_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES): Add reboot.mod.
+ (reboot_mod_SOURCES): New variable.
+ (reboot_mod_CFLAGS): Likewise.
+ (reboot_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES): Add date.mod.
+ (date_mod_SOURCES): New variable.
+ (date_mod_CFLAGS): Likewise.
+ (date_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES): Add datehook.mod.
+ (datehook_mod_SOURCES): New variable.
+ (datehook_mod_CFLAGS): Likewise.
+ (datehook_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES): Add lsmmap.mod.
+ (lsmmap_mod_SOURCES): New variable.
+ (lsmmap_mod_CFLAGS): Likewise.
+ (lsmmap_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES): Add boot.mod.
+ (boot_mod_SOURCES): New variable.
+ (boot_mod_CFLAGS): Likewise.
+ (boot_mod_LDFLAGS): Likewise.
+ * conf/i386-coreboot.rmk: Removed redundant parts.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/mips-yeeloong.rmk: Likewise.
+ * conf/mips.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+ * conf/i386-coreboot.rmk: Moved qemu parts ..
+ * conf/i386-qemu.rmk: ... here
+ * conf/i386-efi.rmk: Moved common parts to...
+ * conf/x86-efi.rmk: ... here.
+ * conf/i386.rmk: Added modules common to all x86 variants.
+ * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
+ * disk/memdisk.c: Remove grub/machine/kernel.h.
+ * gensymlist.sh.in: Include symbol.h.
+ * hook/datehook.c: Correct module name.
+ * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
+ (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
+ * include/grub/i386/efi/serial.h: New file.
+ * include/grub/x86_64/efi/serial.h: Likewise.
+ * util/time.c: Likewise.
+ * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
+
+2010-03-14 Colin King <colin.king@ubuntu.com>
+2010-03-14 Colin Watson <cjwatson@ubuntu.com>
+
+ Shrink the pre-partition-table part of boot.img by eight bytes.
+
+ * boot/i386/pc/boot.S (ERR): New macro.
+ (chs_mode): Use ERR.
+ (geometry_error): Likewise.
+ (hd_probe_error): Remove. This is only used once, so we wrwite
+ it inline instead.
+ (read_error): Instead of printing read_error_string, just set up
+ %si and fall through to ...
+ (error_message): ... this new function, also used by ERR.
+
+2010-03-14 Colin Watson <cjwatson@ubuntu.com>
+
+ Speed up consecutive hostdisk operations on the same device.
+
+ * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
+ (grub_util_biosdisk_open): Initialise disk->data.
+ (struct linux_partition_cache): New structure.
+ (linux_find_partition): Cache partition start positions; these are
+ expensive to compute on every read and write.
+ (open_device): Cache open file descriptor in disk->data, so that we
+ don't have to reopen it and flush the buffer cache for consecutive
+ operations on the same device.
+ (grub_util_biosdisk_close): New function.
+ (grub_util_biosdisk_dev): Set `close' member.
+
+ * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
+ * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
+ * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
+
+2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Compile parts of grub-emu as modules.
+
+ * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
+ (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
+ partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
+ (all-local): Add $(GRUB_EMU).
+ (install-local): Install $(GRUB_EMU).
+ (uninstall): Uninstall $(GRUB_EMU).
+ * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
+ * kern/dl.c: Likewise.
+ * commands/sleep.c: Not include machine/time.h.
+ * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
+ (COMMON_CFLAGS): Likewise.
+ (sbin_UTILITIES): Remove grub-emu.
+ (grub_emu_SOURCES): Removed.
+ (kernel_img_RELOCATABLE): New variable.
+ (pkglib_PROGRAMS): Add kernel.img.
+ (kernel_img_SOURCES): New variable
+ (kernel_img_CFLAGS): Likewise.
+ (kernel_img_LDFLAGS): Likewise.
+ (TARGET_NO_STRIP): Likewise.
+ (TARGET_NO_DYNAMIC_MODULES): Likewise.
+ (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
+ halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
+ (grub-emu): New target.
+ (GRUB_EMU): New variable.
+ * configure.ac: Whitelist -emu as possible x86_64 architecture.
+ * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
+ * loader/xnu.c: Likewise.
+ * include/grub/pci.h: Likewise.
+ * genemuinit.sh: New file.
+ * genemuinitheader.sh: Likewise.
+ * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
+ Support TARGET_NO_DYNAMIC_MODULES.
+ * include/grub/dl.h (GRUB_NO_MODULES): New variable.
+ * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
+ * disk/loopback.c: Likewise.
+ * font/font_cmd.c: Likewise.
+ * partmap/acorn.c: Likewise.
+ * partmap/amiga.c: Likewise.
+ * partmap/apple.c: Likewise.
+ * partmap/gpt.c: Likewise.
+ * partmap/msdos.c: Likewise.
+ * partmap/sun.c: Likewise.
+ * parttool/msdospart.c: Likewise.
+ * term/gfxterm.c: Likewise.
+ * video/bitmap.c: Likewise.
+ * video/readers/jpeg.c: Likewise.
+ * video/readers/png.c: Likewise.
+ * video/readers/tga.c: Likewise.
+ * video/video.c: Likewise.
+ * util/grub-emu.c (read_command_list): Removed.
+ (main): Don't call util_init_nls.
+ * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
+ (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
+
+2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
+ date.mod, datehook.mod.
+ (datetime_mod_SOURCES): New variable.
+ (datetime_mod_CFLAGS): Likewise.
+ (datetime_mod_LDFLAGS): Likewise.
+ (date_mod_SOURCES): Likewise.
+ (date_mod_CFLAGS): Likewise.
+ (date_mod_LDFLAGS): Likewise.
+ (datehook_mod_SOURCES): Likewise.
+ (datehook_mod_CFLAGS): Likewise.
+ (datehook_mod_LDFLAGS): Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * lib/ieee1275/datetime.c: New file.
+
+2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
+ (ieee1275_fb_mod_SOURCES): New variable.
+ (ieee1275_fb_mod_CFLAGS): Likewise.
+ (ieee1275_fb_mod_LDFLAGS): Likewise.
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
+ New proto.
+ * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
+ (HEAP_MAX_ADDR): Likewise.
+ * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
+ type.
+ Correct stop condition.
+ (grub_ieee1275_devices_iterate): New function.
+ * video/ieee1275.c: New file.
+
+2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
+
+ * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
+ as scratch.
+ * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
+ SCRATCH_PAD_DISKBOOT as scratch.
+ (bootit): Pass Openfirmware pointer in %o4.
+ * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
+ of 0x200000.
+ (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
+ with util/grub-mkrawimage.c.
+ * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
+ * include/grub/aout.h (AOUT_MID_SUN): New definition.
+ (grub_aout_get_type) [GRUB_UTIL]: Removed.
+ (grub_aout_load) [GRUB_UTIL]: Likewise.
+ * include/grub/kernel.h (grub_modules_get_end): New proto.
+ * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
+ (SCRATCH_PAD_BOOT): New definition.
+ (SCRATCH_PAD_DISKBOOT): Likewise.
+ (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
+ * include/grub/sparc64/ieee1275/ieee1275.h
+ (grub_ieee1275_original_stack): New variable
+ * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
+ New definition
+ (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
+ (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
+ (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
+ (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
+ (GRUB_PLATFORM_IMAGE_RAW): Likewise.
+ (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
+ (grub_platform_image_format_t): New type.
+ * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
+ * kern/main.c (grub_modules_get_end)
+ [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
+ * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
+ (codestart): Switch stacks.
+ * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
+ variable.
+ (grub_heap_init): Use grub_modules_get_end.
+ * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
+ stack.
+ * util/grub-mkrawimage.c (generate_image): Support sparc64.
+ (main): Likewise.
+ * util/sparc64/ieee1275/grub-mkimage.c: Removed.
+
+2010-03-14 Thorsten Glaser <tg@mirbsd.org>
+
+ * util/grub-mkrescue.in: Base ISO UUID on UTC.
+
+2010-03-08 Matt Kraai <kraai@ftbfs.org>
+
+ * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
+ bug #559005).
+
+2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * genmoddep.awk: Output all missing symbols and not only first.
+
+2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * NEWS: Put the date of 1.98 release.
+
+2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
+ ft2build.h.
+
+2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
+ completition in the middle of string.
+
+2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in: Use mktemp with explicit template.
+
+2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
+
+2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
+ right pointer.
+
+2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix FreeBSD compilation.
+
+ * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
+ * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
+
+2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
+
+2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
+
+2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
+
+2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ Support relative image path in theme file.
+
+ * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
+ (image_set_property): Handle theme_dir and relative path.
+
+2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Alias amd64 to x86_64.
+
+2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * NEWS: mention multiboot on EFI.
+
+2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/main.c (grub_load_modules): Handle errors from init functions of
+ embeded modules.
+
+2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/autofs.c (autoload_fs_module): Handle errors.
+
+2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Disable linux.mod on qemu-mips since it's not functional and leads
+ to compilation failure.
+
+ * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
+ * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
+ * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
+ * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
+ * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
+ * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
+ * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
+ * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
+ * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
+ * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
+ Reported by: BVK Chaitanya
+
+2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
+
+ * INSTALL: Add gettext as a dependency and add qemu to a new section
+ "Prerequisites for make-check".
+
+2010-03-04 Christian Franke <franke@computer.org>
+
+ * util/grub-pe2elf.c: Add missing include "progname.h".
+
+2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/crypto.c (read_crypto_list): Fix a typo.
+ Reported by: Seth Goldberg.
+
+2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.in (DISTCLEANFILES): Add stamp-h1.
+ Reported by: Seth Goldberg.
+
+2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
+ ascii.bitmaps.
+
+2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * genmk.rb: Remove terminal*.lst in make clean.
+ Reported by: Seth Goldberg.
+
+2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/i386/efi/grub-install.in: Copy gettext files.
+
+2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
+
+2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Wait for user entry basing on presence of output rather than on errors.
+
+ * include/grub/normal.h (grub_normal_get_line_counter): New proto.
+ (grub_install_newline_hook): Likewise.
+ * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
+ * normal/menu.c (show_menu): Check line_counter to determine presence
+ of output.
+ * normal/term.c (grub_normal_line_counter): New variable.
+ (grub_normal_get_line_counter): New function.
+ (grub_install_newline_hook): Likewise.
+
+2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
+
+2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Update version to 1.98.
+
+2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/10_linux.in (linux_entry): Don't default to
+ gfxpayload=keep if Linux doesn't support video handover.
+
+2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Don't compile video modules on yeeloong since video subsystem is part
+ of kernel.
+
+ * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
+ video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
+ * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
+ video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
+ * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
+ * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
+ * include/grub/bitmap_scale.h: Likewise.
+ * include/grub/bufio.h: Likewise.
+ * include/grub/font.h: Likewise.
+ * include/grub/gfxterm.h: Likewise.
+ * include/grub/video.h: Likewise.
+ * include/grub/vbe.h: Don't include video_fb.h.
+ * video/i386/pc/vbe.c: Include video_fb.h.
+ * commands/i386/pc/vbetest.c: Include video.h.
+
+2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
+
+ * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
+ * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
+ default entry if GRUB_SAVEDEFAULT=true. This allows using
+ GRUB_DEFAULT=saved on its own to let grub-reboot work, without
+ saving a new default on every boot.
+
+2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/crypto.c (read_crypto_list): Fix a memory leak.
+ * normal/term.c (read_terminal_list): Likewise.
+ * normal/main.c (grub_normal_init_page): Likewise.
+ (grub_normal_read_line_real): Likewise.
+
+2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
+ memory leak.
+ Reported by: Seth Goldberg.
+
+2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
+ duplicate declaration of `start'.
+
+2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
+ filename.
+ Reported by: Georgy Buranov
+
+2010-02-20 Carles Pina i Estany <carles@pina.cat>
+
+ * util/grub-mkrawimage.c (usage): Change string formatting to
+ improve gettext.
+
+2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
+ backspace keys.
+
+2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
+ Reported by: Michael Suchanek.
+
+2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
+ * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
+
+2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove any reference to non-free fonts.
+
+ * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
+ * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
+ uses non-free components.
+ * font/font.c (grub_font_get_name): Remove example name.
+ * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
+ * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
+ * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
+ * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
+
+2010-02-16 Georgy Buranov <gburanov@gmail.com>
+
+ * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
+
+2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
+ Double divisor.
+ (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
+ features.
+ (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
+
+2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * gensymlist.sh.in: Use TARGET_CC instead of CC.
+
+2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
+ * docs/grub.texi (Command-line and menu entry commands): Document play
+ command.
+
+2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
+ parse arguments as inline tempo and notes. Move code for playing notes
+ to...
+ (play): ... new function.
+
+2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
+ grub_uint16_t instead of short.
+ (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
+ disk from little endian to cpu endianness.
+
+2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
+ GRUB_TICKS_PER_SECOND instead of 120.
+
+2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
+ escape sequence after \e.
+
+2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
+ non-ASCII characters.
+
+2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
+ set root in single quotes to prevent \, from being unescaped.
+
+2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Prevent unknown commands from stopping menuentry execution.
+
+ * script/execute.c (grub_script_execute_cmdline): Print error after
+ unknown command.
+
+2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
+ Reported by: Pavel Pisa.
+
+2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * io/gzio.c (grub_gzio_open): Use grub_zalloc.
+
+2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Merge grub_ieee1275_map_physical into grub_map and rename to
+ grub_ieee1275_map
+
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
+ * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
+ Remove.
+ * kern/ieee1275/openfw.c (grub_map): Rename to ...
+ (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
+ necessary.
+ * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
+
+2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
+ opening and not after.
+
+2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
+ constants.
+
+2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
+ (alloc_phys): Use ALIGN_UP instead of align_addr.
+
+2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
+
+2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
+
+2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
+ verbose dprintf.
+
+2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix over-4GiB seek on sparc64.
+
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
+ Replace pos_i and pos_lo with pos. All users updated.
+ * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
+ New constant.
+ * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
+ Likewise.
+ * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
+ and pos_lo.
+
+2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrawimage.c (main): Call set_program_name.
+
+2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Properly align 64-bit targets.
+
+ * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
+ (generate_image): Use ALIGN_ADDR.
+
+2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Properly create cross-endian images.
+
+ * include/grub/types.h (grub_host_to_target_addr): New macro
+ * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
+
+2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
+
+2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Pass SIMPLE framebuffer size in bytes and not 64K blocks.
+
+ * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
+ * loader/i386/linux.c (grub_linux_setup_video): Likewise.
+ (grub_linux_boot): Divide by 64K when on VESA.
+
+2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support GRUB_GFXPAYLOAD_LINUX.
+
+ * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
+ * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
+
+2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
+ to show messages instead of discarding them.
+ Process errors after executing command and not before. Keep old method
+ too as precaution.
+
+2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Check for ft2build.h.
+
+2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
+
+2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * genkernsyms.sh.in: Use TARGET_CC.
+
+2010-02-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * NEWS: Update.
+
+2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/multiboot2.h: Remove leftover file.
+ * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
+ * include/grub/partition.h [GRUB_UTIL]: Likewise.
+
+2010-02-07 Yves Blusseau <blusseau@zetam.org>
+
+ * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
+
+2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix warnings in grub-emu when compiling with maximum warning options.
+
+ * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
+ (grub_arch_modules_addr): Return 0 and not NULL.
+ * util/misc.c (ENABLE_RELOCATABLE): New definition.
+ (xstrdup): Use newstr instead of dup.
+ * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
+ of disk to dsk to avoid shadowing.
+ (find_free_slot): Fix prototype.
+ * util/getroot.c (grub_util_is_dmraid): Make static.
+ * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
+ Add missing prototype.
+ * util/sdl.c (grub_video_sdl_set_viewport): Remove.
+
+2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/linux.c (grub_linux_setup_video): Handle error
+ appropriately.
+
+2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
+ code out.
+
+2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
+ * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
+ * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
+ * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
+ * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
+ * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
+
+2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/err.h (grub_err_printf): Don't export.
+
+2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/dl.h (grub_dl_register_symbol): Don't export.
+
+2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/i18n.h (grub_gettext_dummy): Removed.
+ * kern/misc.c (grub_gettext_dummy): Make static.
+
+2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
+ by non-valid ones.
+ * kern/term.c (grub_putchar): Likewise.
+
+2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
+ buggy hook call and memory leak.
+
+2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/ls.c (grub_ls_list_files): Free pathname on exit.
+
+2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
+
+2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
+ modevar.
+ Return grub_errno on allocation error.
+
+2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
+
+2010-02-06 Yves Blusseau <blusseau@zetam.org>
+
+ * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
+ (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
+
+2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
+ non-pxe disk.
+ (grub_pxefs_open): Likewise.
+
+2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub.d/10_hurd.in: Add --class information to menuentries.
+ * util/grub.d/10_kfreebsd.in: Likewise.
+ * util/grub.d/10_linux.in: Likewise.
+
+2010-02-06 Colin D Bennett <colin@gibibit.com>
+
+ * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
+ (gfxmenu_mod_SOURCES): New variable.
+ (gfxmenu_mod_CFLAGS): Likewise.
+ (gfxmenu_mod_LDFLAGS): Likewise.
+ * include/grub/term.h (grub_term_set_current_output): Declare
+ argument as const.
+ * docs/gfxmenu-theme-example.txt: New file.
+ * gfxmenu/gfxmenu.c: Likewise.
+ * gfxmenu/gui_box.c: Likewise.
+ * gfxmenu/gui_canvas.c: Likewise.
+ * gfxmenu/gui_circular_progress.c: Likewise.
+ * gfxmenu/gui_image.c: Likewise.
+ * gfxmenu/gui_label.c: Likewise.
+ * gfxmenu/gui_list.c: Likewise.
+ * gfxmenu/gui_progress_bar.c: Likewise.
+ * gfxmenu/gui_string_util.c: Likewise.
+ * gfxmenu/gui_util.c: Likewise.
+ * gfxmenu/icon_manager.c: Likewise.
+ * gfxmenu/model.c: Likewise.
+ * gfxmenu/named_colors.c: Likewise.
+ * gfxmenu/theme_loader.c: Likewise.
+ * gfxmenu/view.c: Likewise.
+ * gfxmenu/widget-box.c: Likewise.
+ * include/grub/gfxmenu_model.h: Likewise.
+ * include/grub/gfxmenu_view.h: Likewise.
+ * include/grub/gfxwidgets.h: Likewise.
+ * include/grub/gui.h: Likewise.
+ * include/grub/gui_string_util.h: Likewise.
+ * include/grub/icon_manager.h: Likewise.
+
+2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Agglomerate scrolling in gfxterm.
+
+ * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
+ (grub_virtual_screen_setup): Initialise 'total_screen'.
+ (write_char): Split to ...
+ (paint_char): ... this ...
+ (write_char): ... and this.
+ (paint_char): Handle delayed scrolling.
+ (draw_cursor): Likewise.
+ (scroll_up): Split to ...
+ (real_scroll): ... this ...
+ (scroll_up): ... and this.
+ (real_scroll): Handle multi-line scroll and draw below-the-bottom
+ characters.
+ (grub_gfxterm_refresh): Call real_scroll.
+
+2010-02-06 Colin D Bennett <colin@gibibit.com>
+
+ * include/grub/misc.h (grub_iscntrl): New inline function.
+ (grub_isalnum): Likewise.
+ (grub_strtol): Likewise.
+
+2010-02-06 Colin D Bennett <colin@gibibit.com>
+
+ * normal/menu_text.c (get_entry_number): Move from here ...
+ * normal/menu.c (get_entry_number): ... moved here.
+ * include/grub/menu.h (grub_menu_get_default_entry_index):
+ New prototype.
+ * normal/menu.c (grub_menu_get_default_entry_index): New function.
+ * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
+ * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
+ (grub_menu_viewer_should_return): Likewise.
+ * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
+ * normal/menu_text.c (run_menu): Enable menu switching.
+ * normal/menu_viewer.c (should_return): New variable.
+ (menu_viewer_changed): Likewise.
+ (grub_menu_viewer_show_menu): Handle menu viewer changes.
+ (grub_menu_viewer_should_return): New function.
+ (menuviewer_write_hook): Likewise.
+ (grub_menu_viewer_init): Likewise.
+
+2010-02-06 Colin D Bennet <colin@gibibit.com>
+2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support for gfxterm in a window.
+
+ * include/grub/gfxterm.h: New file.
+ * include/grub/video.h (struct grub_video_rect): New declaration.
+ (grub_video_rect_t): Likewise.
+ * term/gfxterm.c (struct grub_gfxterm_window): New type.
+ (refcount): New variable.
+ (render_target): Likewise.
+ (window): Likewise.
+ (repaint_callback): Likewise.
+ (grub_virtual_screen_setup): Use 'render_target'.
+ (init_window): New function.
+ (grub_gfxterm_init_window): Likewise.
+ (grub_gfxterm_init): Check reference counter.
+ Use init_window.
+ (destroy_window): New function.
+ (grub_gfxterm_destroy_window): Likewise.
+ (grub_gfxterm_fini): Check reference counter.
+ Use destroy_window.
+ (redraw_screen_rect): Restore viewport.
+ Use 'render_target' and 'window'.
+ Call 'repaint_callback'.
+ (write_char): Use 'render_target'.
+ (draw_cursor): Likewise.
+ (scroll_up): Restore viewport.
+ Use 'render_target' and 'window'.
+ Call 'repaint_callback'.
+ (grub_gfxterm_cls): Likewise.
+ (grub_gfxterm_refresh): Use 'window'.
+ (grub_gfxterm_set_repaint_callback): New function.
+ (grub_gfxterm_background_image_cmd): Use 'window'.
+ (grub_gfxterm_get_term): New function.
+ (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
+
+2010-02-06 Colin D Bennett <colin@gibibit.com>
+
+ Bitmap scaling support.
+
+ * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
+ (bitmap_scale_mod_SOURCES): New variable.
+ (bitmap_scale_mod_CFLAGS): Likewise.
+ (bitmap_scale_mod_LDFLAGS): Likewise.
+ * include/grub/bitmap_scale.h: New file.
+ * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
+ (background_image_cmd_options): New variable.
+ (grub_gfxterm_background_image_cmd): Support bitmap stretching.
+ (cmd): Rename and change type to ...
+ (background_image_cmd_handle): ... this. All users updated.
+ (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
+ * video/bitmap_scale.c: New file.
+
+2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ SDL support.
+
+ * Makefile.in (LIBSDL): New variable.
+ (enable_grub_emu_sdl): Likewise.
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
+ (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
+ (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
+ * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
+ * util/sdl.c: New file.
+
+2010-02-06 Colin D Bennett <colin@gibibit.com>
+2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Double buffering support.
+
+ * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
+ * include/grub/video.h: Update comment.
+ * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
+ New type.
+ (grub_video_fb_doublebuf_blit_init): New prototype.
+ * term/gfxterm.c (scroll_up): Support double buffering.
+ (grub_gfxterm_refresh): Likewise.
+ * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
+ (grub_video_fb_doublebuf_blit_init): Likewise.
+ * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
+ 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
+ 'displayed_page', 'render_page' and 'update_screen'.
+ (grub_video_vbe_fini): Free offscreen buffer.
+ (doublebuf_pageflipping_commit): New function.
+ (doublebuf_pageflipping_update_screen): Likewise.
+ (doublebuf_pageflipping_init): Likewise.
+ (double_buffering_init): Likewise.
+ (grub_video_vbe_setup): Enable doublebuffering.
+ (grub_video_vbe_swap_buffers): Implement.
+ (grub_video_vbe_set_active_render_target): Handle double buffering.
+ (grub_video_vbe_get_active_render_target): Likewise.
+ (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
+ (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
+ (grub_video_vbe_enable_double_buffering): Likewise.
+ (grub_video_vbe_swap_buffers): Use update_screen.
+ (grub_video_set_mode): Use double buffering.
+
+2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
+
+ * maintainance/gentrigtables.py: Remove.
+ * lib/trig.c: Likewise.
+
+ * gentrigtables.c: New file. C rewrite of gentrigtables.py.
+
+ * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
+ `trigtables.c'.
+ (trigtables.c): New rule.
+ (gentrigtables): Likewise.
+ (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
+
+2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
+
+ * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
+ integer constants.
+
+2010-02-06 Colin D Bennet <colin@gibibit.com>
+
+ Trigonometry support.
+
+ * include/grub/trig.h: New file.
+ * lib/trig.c: Likewise.
+ * maintainance/gentrigtables.py: Likewise.
+ * conf/common.rmk (pkglib_MODULES): Add trig.mod.
+ (trig_mod_SOURCES): New variable.
+ (trig_mod_CFLAGS): Likewise.
+ (trig_mod_LDFLAGS): Likewise.
+
+2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
+ disk devices.
+
+2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
+ error.
+
+2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/hostdisk.c (open_device): Don't use partition device when reading
+ before the partition.
+ (grub_util_biosdisk_read): Don't read from partition and before the
+ partition in single operation.
+ (grub_util_biosdisk_write): Don't write to partition and before the
+ partition in single operation.
+
+2010-02-03 Torsten Landschoff <torsten@debian.org>
+
+ * kern/disk.c (grub_disk_read): Fix offset computation when reading
+ last sectors.
+
+2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
+ CDROM reads.
+ (grub_biosdisk_write): Refuse to write to CDROM.
+
+2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
+
+2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * font/font.c (find_glyph): Check that bmp_idx is available before
+ using it.
+ (grub_font_get_string_width): Never call grub_font_get_glyph_internal
+ with (font == NULL).
+
+2010-01-28 Christian Schmitt <chris@ilovelinux.de>
+
+ * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
+
+2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * include/grub/script_sh.h (sourcecode): Add const qualifier.
+ * util/grub-script-check.c (getline): Fix empty lines case.
+
+2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
+
+ * Makefile.in (check): Exit with fail status when one of the tests
+ fails.
+ * tests/example_functional_test.c (example_test): Fix reversed assert.
+ * tests/example_unit_test.c (example_test): Likewise.
+
+2010-01-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/10_linux.in: This script does not use any of the
+ contents of gettext.sh, only the external command `gettext', so stop
+ sourcing it. (Moreover, gettext.sh isn't necessarily installed in
+ the same prefix as GRUB.)
+ * util/grub.d/10_kfreebsd.in: Likewise.
+
+2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
+ of the line.
+
+2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/disk.c (grub_disk_read): Fix offset computation when reading
+ last sectors.
+
+2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/hashsum.c (hash_file): Avoid possible stack overflow by
+ having a 4KiB and not 32KiB buffer size.
+
+2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/hostfs.c: Include `<errno.h>'.
+ (grub_hostfs_read): Handle errors from fseeko() and fread().
+
+2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
+
+ * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
+ loop when using read hooks on files whose size isn't sector-aligned.
+
+2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
+
+ Remove unused parameter.
+
+ * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
+ (grub_iso9660_open): Remove initialization of `data->length'.
+
+2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
+ memleak conditions.
+
+2010-01-27 Carles Pina i Estany <carles@pina.cat>
+
+ * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
+ (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
+
+2010-01-26 Carles Pina i Estany <carles@pina.cat>
+
+ * util/bin2h.c (usage): Fix warning (space after backslash).
+
+2010-01-26 Carles Pina i Estany <carles@pina.cat>
+
+ * font/font.c: Include `grub/fontformat.h.
+ Remove font file format constants.
+ (grub_font_load): Use the new macros.
+ * include/grub/fontformat.h: New file.
+ * util/grub-mkfont.c: Include `grub/fontformat.c'.
+ (write_font_pf2): Use the new macros.
+
+2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
+ does.
+
+2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
+
+ * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
+ (_start): Macroify `0x7F'.
+
+ * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
+ (make_install_device): Use "(pxe)" as fallback prefix when booting
+ via PXE.
+
+2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Reset LIBS after check for libgcc symbols.
+
+2010-01-25 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/hostdisk.c (open_device): Add trailing newline to debug
+ message.
+
+2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * configure.ac: Check for `limits.h'.
+ * util/misc.c: Include `<limits.h>' (for PATH_MAX).
+
+2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
+ capitalize error strings.
+
+2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * util/grub.d/10_hurd.in: Add a recovery mode.
+
+2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Check for libgcc symbols with -nostdlib.
+
+2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * acinclude.m4: Quote underquoted AC_DEFUN parameters.
+
+2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
+ stack since heap may be unavailable at that point.
+ (grub_ofconsole_gotoxy): Likewise.
+
+2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Check for _restgpr_14_x.
+ * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
+ and _savegpr_* prototypes.
+
+2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
+
+ Use generic grub_reboot() for i386-efi.
+
+ * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
+ * kern/i386/efi/startup.S: Include `"../realmode.S"'.
+ * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
+
+2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
+ presence of "prefix" variable as it breaks when normal.mod is
+ embedded.
+
+2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
+ stack since heap is unavailable at that point.
+
+2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
+ (grub_freebsd_bootinfo): Rewritten.
+ * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
+
+2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
+
+2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ * po/POTFILES: Remove mkisofs-related files. They have their own TLP
+ domain now.
+
+2010-01-20 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/misc.c (make_system_path_relative_to_its_root): Change the work
+ around for handling "/" to the correct fix. Fix a memory leak. Use
+ xstrdup instead of strdup.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Optimise glyph lookup by Basic Multilingual Plane lookup array.
+
+ * font/font.c (struct grub_font): New member 'bmp_idx'.
+ (font_init): Initialise 'bmp_idx'.
+ (load_font_index): Fill 'bmp_idx'.
+ (find_glyph): Make inline. Use bmp_idx for BMP characters.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
+ unnecessary calls.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Move context handling out of the kernel.
+
+ * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
+ * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
+ * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+ * include/grub/env.h: Include grub/menu.h.
+ (grub_env_var_type): Removed.
+ (grub_env_var): Replaced field 'type' with 'global'.
+ (grub_env_find): New prototype.
+ (grub_env_context_open): Remove EXPORT_FUNC.
+ (grub_env_context_close): Likewise.
+ (grub_env_export): Likewise.
+ (grub_env_set_data_slot): Removed.
+ (grub_env_get_data_slot): Likewise.
+ (grub_env_unset_data_slot): Likewise.
+ (grub_env_unset_menu): New prototype.
+ (grub_env_set_menu): Likewise.
+ (grub_env_get_menu): Likewise.
+ * include/grub/env_private.h: New file.
+ * include/grub/normal.h (grub_context_init): New prototype.
+ (grub_context_fini): Likewise.
+ * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
+ * normal/context.c (grub_cmd_export): ... to here.
+ * kern/env.c: Include env_private.h.
+ (HASHSZ): Moved to include/grub/env_private.h.
+ (grub_env_context): Likewise.
+ (grub_env_sorted_var): Likewise.
+ (current_context): Renamed from this ...
+ (grub_current_context): ...to this. 'static' removed. All users updated.
+ (grub_env_find): Removed 'static'.
+ (grub_env_context_open): Moved to normal/context.c.
+ (grub_env_context_close): Likewise.
+ (grub_env_export): Likewise.
+ (mangle_data_slot_name): Removed.
+ (grub_env_set_data_slot): Likewise.
+ (grub_env_get_data_slot): Likewise.
+ (grub_env_unset_data_slot): Likewise.
+ * kern/main.c (grub_set_root_dev): Don't export root.
+ It will be done later.
+ (grub_main): Don't export prefix.
+ It will be done later.
+ * normal/context.c: New file.
+ * normal/main.c (free_menu): Use grub_env_unset_menu.
+ (grub_normal_add_menu_entry): Use grub_env_get_menu.
+ (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
+ (GRUB_MOD_INIT(normal)): Call grub_context_init.
+ (GRUB_MOD_FINI(normal)): Call grub_context_fini.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ setpci support.
+
+ * commands/setpci.c: New file.
+ * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
+ (setpci_mod_SOURCES): New variable.
+ (setpci_mod_CFLAGS): Likewise.
+ (setpci_mod_LDFLAGS): Likewise.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Byte-addressable PCI configuration space.
+
+ * bus/pci.c (grub_pci_make_address): Use byte address instead of
+ dword address.
+ (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
+ GRUB_PCI_REG_CACHELINE.
+ * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
+ GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
+ * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
+ GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
+ * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
+ * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
+ grub_pci_make_address.
+ (lock_rom_area): Likewise.
+ * commands/lspci.c (grub_lspci_iter): Use macroses
+ GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
+ of grub_pci_make_address.
+ * disk/ata.c (grub_ata_pciinit): Likewise.
+ * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
+ (GRUB_PCI_REG_VENDOR): Likewise.
+ (GRUB_PCI_REG_DEVICE): Likewise.
+ (GRUB_PCI_REG_COMMAND): Likewise.
+ (GRUB_PCI_REG_STATUS): Likewise.
+ (GRUB_PCI_REG_REVISION): Likewise.
+ (GRUB_PCI_REG_CLASS): Likewise.
+ (GRUB_PCI_REG_CACHELINE): Likewise.
+ (GRUB_PCI_REG_LAT_TIMER): Likewise.
+ (GRUB_PCI_REG_HEADER_TYPE): Likewise.
+ (GRUB_PCI_REG_BIST): Likewise.
+ (GRUB_PCI_REG_ADDRESSES): Likewise.
+ (GRUB_PCI_REG_ADDRESS_REG): Likewise.
+ (GRUB_PCI_REG_ADDRESS_REG): Likewise.
+ (GRUB_PCI_REG_ADDRESS_REG): Likewise.
+ (GRUB_PCI_REG_ADDRESS_REG): Likewise.
+ (GRUB_PCI_REG_ADDRESS_REG): Likewise.
+ (GRUB_PCI_REG_ADDRESS_REG): Likewise.
+ (GRUB_PCI_REG_CIS_POINTER): Likewise.
+ (GRUB_PCI_REG_SUBVENDOR): Likewise.
+ (GRUB_PCI_REG_SUBSYSTEM): Likewise.
+ (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
+ (GRUB_PCI_REG_CAP_POINTER): Likewise.
+ (GRUB_PCI_REG_IRQ_LINE): Likewise.
+ (GRUB_PCI_REG_IRQ_PIN): Likewise.
+ (GRUB_PCI_REG_MIN_GNT): Likewise.
+ (GRUB_PCI_REG_MAX_LAT): Likewise.
+ * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
+ * loader/i386/efi/xnu.c (find_framebuf): Likewise.
+ * video/efi_uga.c (find_framebuf): Likewise.
+ * video/sm712.c (grub_video_sm712_setup): Likewise.
+ * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
+ space.
+
+2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
+ can be reliably determined to be supported.
+
+2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
+ that VESA is supported.
+ (grub_linux_boot): Use generic framebuffer unless VESA is known to be
+ supported.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
+
+2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/misc.c (make_system_path_relative_to_its_root): Work around
+ special-casing of "/", as previous incarnation of this routine did.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix any-emu compilation.
+
+ * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
+ * grub_bin2h_SOURCES: New variable.
+
+2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub.d/00_header.in: Fix stupid mistake from last commit.
+
+2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub.d/00_header.in: Fix handling of locale_dir.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
+ as possible unifont location (Gentoo).
+ Reported by: Alexander Brüning
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Don't try to generate lists for kernel.img.
+
+ * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
+ (pkglib_MODULES): Remove kernel.img.
+ (kernel_img_EXPORTS): Removed.
+ (kernel_img_RELOCATABLE): New variable.
+ * conf/x86_64-efi.rmk: Likewise.
+ * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/misc.h (grub_sprintf): Removed. All users switched to
+ grub_xasprintf or grub_snprintf.
+ (grub_vsprintf): Likewise.
+ (grub_snprintf): New proto.
+ (grub_vsnprintf): Likewise.
+ (grub_xasprintf): Likewise.
+ (grub_xvasprintf): Likewise.
+ * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
+ (grub_sprintf): Removed.
+ (grub_vsnprintf): New function.
+ (grub_snprintf): Likewise.
+ (grub_xvasprintf): Likewise.
+ (grub_xasprintf): Likewise.
+ (grub_vsprintf): Renamed to ...
+ (grub_vsnprintf_real): ...this. New argument max_len.
+
+2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * include/grub/script_sh.h (sourcecode): Remove const qualifier to
+ fix grub-script-check warning.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/font.h (grub_font_load): Fix prototype.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/x86_64/at_keyboard.h: New file.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/mips/linux.c: Include missing grub/i18n.h.
+
+2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
+
+ * normal/menu.c (notify_execution_failure): Clarify error message.
+
+2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
+
+ * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
+ return value (and revert all return statements). Update users.
+
+2010-01-20 Dan Merillat <debian@dan.merillat.org>
+
+ * kern/device.c (grub_device_iterate): Allocate new part_ent
+ structure based on sizeof (*p) rather than sizeof (p->next), to
+ account for structure padding.
+
+ * util/grub-probe.c (probe_raid_level): Return -1 immediately if
+ disk is NULL, which might happen for LVM physical volumes with no
+ LVM signature.
+
+2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/mips/linux.c (grub_cmd_initrd)
+ (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
+
+2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
+
+ * kern/mips/yeeloong/init.c (grub_video_sm712_init)
+ (grub_video_video_init, grub_video_bitmap_init)
+ (grub_font_manager_init, grub_term_gfxterm_init)
+ (grub_at_keyboard_init): New extern declarations.
+ (grub_machine_init): Initialize gfxterm and at_keyboard.
+
+ * kern/main.c (grub_main): Revert grub_printf delay kludge.
+
+ * util/grub-install.in: Revert embed of `at_keyboard.mod' and
+ `gfxterm.mod' into core image.
+
+ * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
+ (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
+ (kernel_img_FORMAT): Copy to ...
+
+ * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
+ (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
+ (kernel_img_FORMAT): ... here, and ...
+
+ * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
+ (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
+ (kernel_img_FORMAT): ... here.
+
+ (kernel_img_SOURCES): Add files necessary for output (gfxterm)
+ and input (at_keyboard) terminals in kernel.
+ (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
+
+ (pkglib_MODULES): Remove `pci.mod'.
+ (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
+ (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
+ (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
+ (at_keyboard_mod_LDFLAGS): Remove variables.
+
+2010-01-11 Felix Zielcke <fzielcke@z-51.de>
+
+ * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
+
+2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/mips/libgcc.h: Only export symbols for functions
+ that libgcc provides.
+
+2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ MIPS support.
+
+ * bus/bonito.c: New file.
+ * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
+ GRUB_PCI_NUM_DEVICES.
+ * term/i386/pc/serial.c: Move to ...
+ * term/serial.c: ... here. All users updated.
+ * util/i386/pc/grub-mkimage.c: Move to ...
+ * util/grub-mkrawimage.c: ... here. All users updated.
+ * term/i386/pc/at_keyboard.c: Move to ...
+ * term/at_keyboard.c: ... here. All users updated.
+ * conf/mips-qemu-mips.rmk: New file.
+ * conf/mips-yeeloong.rmk: Likewise.
+ * conf/mips.rmk: Likewise.
+ * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
+ mipsel-qemu-mips.
+ * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
+ to port addresses.
+ (grub_ata_pciinit): Support CS5536.
+ * font/font.c (grub_font_load): Use grub_file_t instead of filename.
+ * font/font_cmd.c (loadfont_command): Open file before passing it to
+ grub_font_load.
+ (pseudo_file_read): New function.
+ (pseudo_file_close): Likewise.
+ (pseudo_fs): New structure.
+ (load_font_module): New function.
+ (GRUB_MOD_INIT(font_manager)): Load embedded font.
+ * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
+ * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
+ * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
+ * include/grub/i386/at_keyboard.h: Split into ...
+ * include/grub/at_keyboard.h: ... this ...
+ * include/grub/i386/at_keyboard.h: ... and this.
+ * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
+ New prototype.
+ * include/grub/elfload.h (grub_elf32_size): New parameter. All users
+ updated.
+ (grub_elf64_size): Likewise.
+ * include/grub/font.h (grub_font_load): Use grub_file_t instead of
+ filename.
+ * include/grub/i386/io.h (grub_port_t): New type. All users updated.
+ * include/grub/i386/coreboot/serial.h: Rewritten.
+ * include/grub/i386/ieee1275/serial.h: Include
+ grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
+ * include/grub/i386/pc/serial.h: Moved from here ...
+ * include/grub/serial.h: ... to here. All users updated.
+ * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
+ (GRUB_PCI_NUM_BUS): Likewise.
+ (GRUB_PCI_NUM_DEVICES): Likewise.
+ (grub_pci_device_map_range): Add missing volatile keyword.
+ * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
+ * include/grub/mips/at_keyboard.h: New file.
+ * include/grub/mips/cache.h: Likewise.
+ * include/grub/mips/io.h: Likewise.
+ * include/grub/mips/kernel.h: Likewise.
+ * include/grub/mips/libgcc.h: Likewise.
+ * include/grub/mips/pci.h: Likewise.
+ * include/grub/mips/qemu-mips/boot.h: Likewise.
+ * include/grub/mips/qemu-mips/kernel.h: Likewise.
+ * include/grub/mips/qemu-mips/loader.h: Likewise.
+ * include/grub/mips/qemu-mips/memory.h: Likewise.
+ * include/grub/mips/qemu-mips/serial.h: Likewise.
+ * include/grub/mips/qemu-mips/time.h: Likewise.
+ * include/grub/mips/relocator.h: Likewise.
+ * include/grub/mips/time.h: Likewise.
+ * include/grub/mips/types.h: Likewise.
+ * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
+ * include/grub/mips/yeeloong/boot.h: Likewise.
+ * include/grub/mips/yeeloong/kernel.h: Likewise.
+ * include/grub/mips/yeeloong/loader.h: Likewise.
+ * include/grub/mips/yeeloong/memory.h: Likewise.
+ * include/grub/mips/yeeloong/pci.h: Likewise.
+ * include/grub/mips/yeeloong/serial.h: Likewise.
+ * include/grub/mips/yeeloong/time.h: Likewise.
+ * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
+ * kern/elf.c (grub_elf32_size): New parameter. All users
+ updated.
+ (grub_elf64_size): Likewise.
+ * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
+ Load modules before saying "Welcome to GRUB!".
+ Call grub_refresh after saying "Welcome to GRUB!".
+ * kern/mips/cache.S: New file.
+ * kern/mips/cache_flush.S: Likewise.
+ * kern/mips/dl.c: Likewise.
+ * kern/mips/init.c: Likewise.
+ * kern/mips/qemu-mips/init.c: Likewise.
+ * kern/mips/startup.S: Likewise.
+ * kern/mips/yeeloong/init.c: Likewise.
+ * kern/term.c (grub_putcode): Handle NULL terminal.
+ (grub_getcharwidth): Likewise.
+ (grub_getkey): Likewise.
+ (grub_checkkey): Likewise.
+ (grub_getkeystatus): Likewise.
+ (grub_getxy): Likewise.
+ (grub_getwh): Likewise.
+ (grub_gotoxy): Likewise.
+ (grub_cls): Likewise.
+ (grub_setcolorstate): Likewise.
+ (grub_setcolor): Likewise.
+ (grub_getcolor): Likewise.
+ (grub_refresh): Likewise.
+ * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
+ (write_jump): Add hatch nop.
+ * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
+ * lib/mips/setjmp.S: New file.
+ * loader/mips/linux.c: Likewise.
+ * term/i386/pc/at_keyboard.c: Move from here ...
+ * term/at_keyboard.c: ... to here.
+ * term/i386/pc/serial.c: Moved from here ...
+ * term/serial.c: ... to here. All users updated.
+ (TEXT_HEIGHT): Set to 24 to fit linux terminal.
+ (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
+ (serial_translate_key_sequence): Avoid deadlock.
+ (grub_serial_getkey): Handle backspace.
+ (grub_serial_putchar): Fix newline handling.
+ * util/i386/pc/grub-mkimage.c: Move from here ...
+ * util/grub-mkrawimage.c: ... to here. All users updated.
+ (generate_image): New parameters 'font_path' and 'format'.
+ Support embedding font.
+ Use grub_host_to_target* instead of grub_cpu_to_le*.
+ (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
+ (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
+ (options): New option "--font".
+ (usage): Likewise.
+ (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
+ (main): Handle "--font".
+ * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
+ (grub_virtual_screen_setup): Set bg_color_display.
+ (redraw_screen_rect): Use bg_color_display instead of incorrect
+ bg_color.
+ (grub_gfxterm_cls): Likewise.
+ * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
+ Support embedding config file.
+ (add_segments): Likewise.
+ (options): New option "--config".
+ (main): Handle "--config".
+ * video/sm712.c: New file.
+
+2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix parallel builds.
+
+ * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
+ font.c depend on ascii.h).
+
+2010-01-12 Carles Pina i Estany <carles@pina.cat>
+
+ * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
+
+2010-01-11 Carles Pina i Estany <carles@pina.cat>
+
+ * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
+ By default: disabled.
+ * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
+ parameter.
+
+2010-01-10 Carles Pina i Estany <carles@pina.cat>
+
+ * font/font.c: Update copyright years.
+ * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
+
+2010-01-10 Carles Pina i Estany <carles@pina.cat>
+
+ * font/font.c: Include `ascii.h'.
+ (ASCII_BITMAP_SIZE): New macro.
+ (ascii_font_glyph): Define.
+ (ascii_glyph_lookup): New function.
+ (grub_font_get_string_width): Change comment. If glyph not found, use
+ ascii_glyph_lookup.
+ (grub_font_get_glyph_with_fallback): If glyph not available returns
+ ascii_glyph_lookup.
+ * util/grub-mkfont.c (file_formats): New enum.
+ (options): Add `ascii-bitmaps' new option.
+ (usage): Add `asii-bitmaps' new option.
+ (write_font_ascii_bitmap): New function.
+ (write_font): Rename to ...
+ (write_font_p2): ... this. Remove print_glyphs call.
+ (main): Use file_format. Implement code for ranges if ascii-bitmaps is
+ used. Call print_glyphs.
+ * Makefile.in (pkgdata_DATA): Add `ascii.h'.
+
+2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
+ (grub_bin2h_SOURCES): New variable.
+ * util/bin2h.c: New file.
+
+2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/multiboot.h: Resynced with spec.
+ * include/multiboot2.h: Likewise.
+ * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
+ GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
+
+2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/term.h (grub_term_register_input,
+ grub_term_register_output): Check return of terminal init()
+ routines, and abort if errors are raised.
+
+ * commands/terminal.c: Update copyright year.
+
+2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
+
+ * commands/terminal.c (grub_cmd_terminal_input)
+ (grub_cmd_terminal_output): Check return of terminal init()
+ routines, and abort if errors are raised.
+
+2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/i386/bsd.h: Fix include pathes.
+
+2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Add missing *BSD copyright headers.
+
+ * include/grub/aout.h: Add BSD licence.
+ * include/grub/i386/bsd.h: Parts under different licences moved to ...
+ * include/grub/i386/freebsd_linker.h: ... here,
+ * include/grub/i386/freebsd_reboot.h: ... here,
+ * include/grub/i386/netbsd_bootinfo.h: ... here,
+ * include/grub/i386/netbsd_reboot.h: ... here,
+ * include/grub/i386/openbsd_bootarg.h: ... here,
+ * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
+ licence to each file.
+
+2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
+
+ * acinclude.m4: Remove `nop' assembly instruction; it's not
+ implemented by all architectures.
+
+2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
+ ELILO. This is no longer necessary.
+
+2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Added new tool, grub-scrit-check to verify grub.cfg syntax.
+
+ * util/grub-script-check.c: grub-script-check tool.
+ * conf/common.rmk: Make rules for grub-script-check.
+
+2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
+ spotting it back in 2008. Shame on me for forgetting he did.
+
+ * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
+
+2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
+ (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
+ (GRUB_VIDEO_TYPE_VLFB): Rename to ...
+ (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
+ (GRUB_VIDEO_TYPE_EFI): Rename to ...
+ (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
+
+2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/test.h: Add license header.
+ * tests/example_functional_test.c: Likewise.
+ * tests/example_unit_test.c: Likewise.
+ * tests/lib/functional_test.c: Likewise.
+ * tests/lib/test.c: Likewise.
+ * tests/lib/unit_test.c: Likewise.
+
+2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use flag-based instead of hook-based video mode selection and "auto"
+ keyword.
+
+ * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
+ (grub_video_set_mode): Changed prototype. All users updated.
+ (grub_video_check_mode_flag): New inline function.
+ * video/video.c (parse_modespec): New function.
+ (grub_video_set_mode): Parse flags and keywords.
+
+2010-01-17 Carles Pina i Estany <carles@pina.cat>
+
+ * util/misc.c (grub_util_info): Fix the order of the parameters in a
+ fprintf call.
+
+2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
+
+2010-01-16 Carles Pina i Estany <carles@pina.cat>
+
+ * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
+ string.
+ * util/grub-emu.c (usage): Likewise.
+ * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
+ * util/i386/efi/grub-mkimage.c (usage): Likewise.
+ * util/i386/pc/grub-mkimage.c (usage): Likewise.
+ * util/i386/pc/grub-setup.c (usage): Likewise.
+
+2010-01-16 Carles Pina i Estany <carles@pina.cat>
+
+ * util/misc.c (grub_util_warn): Gettextizze, print full stop after
+ the message.
+ (grub_util_info): Likewise.
+ (grub_util_error): Likewise.
+ * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
+ and/or new lines in `grub_util_warna', `grub_util_info',
+ `grub_util_error' calls.
+ * util/getroot.c: Likewise.
+ * util/grub-editenv.c: Likewise.
+ * util/grub-emu.c: Likewise.
+ * util/grub-fstest.c: Likewise.
+ * util/grub-mkdevicemap.c: Likewise.
+ * util/grub-mkfont.c: Likewise.
+ * util/grub-mkpasswd-pbkdf2.c: Likewise.
+ * util/grub-mkrelpath.c: Likewise.
+ * util/grub-pe2elf.c: Likewise.
+ * util/grub-probe.c: Likewise.
+ * util/hostdisk.c: Likewise.
+ * util/i386/efi/grub-mkimage.c: Likewise.
+ * util/i386/pc/grub-mkimage.c: Likewise.
+ * util/i386/pc/grub-setup.c: Likewise.
+ * util/ieee1275/ofpath.c: Likewise.
+ * util/mkisofs/eltorito.c: Likewise.
+ * util/mkisofs/rock.c: Likewise.
+ * util/mkisofs/write.c: Likewise.
+ * util/raid.c: Likewise.
+ * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
+ * util/sparc64/ieee1275/grub-setup.c: Likewise.
+
+2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Enable multiboot on non-pc.
+
+ * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
+ multiboot.mod and multiboot2.mod to ...
+ * conf/i386.rmk (pkglib_MODULES): ... here.
+ * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
+ Moved to ...
+ * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
+ * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
+ Moved to ...
+ * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
+ * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
+ Moved to ...
+ * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
+ * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
+ Moved to ...
+ * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
+ * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
+ relocator.mod.
+ (ata_mod_SOURCES): Removed.
+ (ata_mod_CFLAGS): Likewise.
+ (ata_mod_LDFLAGS): Likewise.
+ (relocator_mod_SOURCES): Removed.
+ (relocator_mod_CFLAGS): Likewise.
+ (relocator_mod_ASFLAGS): Likewise.
+ (relocator_mod_LDFLAGS): Likewise.
+ Include i386.mk.
+ * include/grub/x86_64/multiboot.h: New file.
+ * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
+ Terminate EFI.
+
+2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Video multiboot support.
+
+ * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
+ New prototype.
+ * include/multiboot.h: Resynced with multiboot specification.
+ * include/multiboot2.h: Likewise.
+ * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
+ (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
+ * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
+ (HAS_VGA_TEXT): Likewise.
+ (accepts_video): New variable.
+ (grub_multiboot_set_accepts_video): New function.
+ (grub_multiboot_get_mbi_size): Account for video structures.
+ (set_video_mode): New function.
+ (retrieve_video_parameters): Likewise.
+ (grub_multiboot_make_mbi): Fill video fields.
+
+2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Video driver ids.
+
+ * include/grub/video.h (grub_video_driver_id): New type.
+ (grub_video_adapter): New member 'id'. All users updated.
+ (grub_video_get_driver_id): New proto.
+ * video/video.c (grub_video_get_driver_id): New function.
+
+2010-01-14 Carles Pina i Estany <carles@pina.cat>
+
+ * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
+ `var=val'.
+
+2010-01-14 Carles Pina i Estany <carles@pina.cat>
+
+ * normal/cmdline.c (print_completion): Gettextizze.
+
+2001-01-14 Carles Pina i Estany <carles@pina.cat>
+
+ * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
+
+2010-01-14 Carles Pina i Estany <carles@pina.cat>
+
+ * gettext/gettext.c (grub_gettext_translate): Push and pop
+ grub_errno.
+ (grub_gettext_delete_list): Change comment style.
+ * kern/err.c (grub_error): Gettextizze.
+ (grub_fatal): Gettextizze.
+
+2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
+ (grub_linux16_real_boot): ... this.
+ * kern/i386/loader.S: Likewise.
+ * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
+ (grub_linux16_boot): New function. Switches to text mode and calls
+ grub_linux16_real_boot().
+
+ * loader/i386/bsd.c: Include `<grub/video.h>'.
+ (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
+ text mode before calling grub_unix_real_boot().
+
+ * loader/i386/multiboot.c: Include `<grub/video.h>'.
+ (grub_multiboot_boot): Switch to text mode before calling
+ grub_relocator32_boot().
+
+ * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
+ (grub_chainloader_boot): Switch to text mode before calling
+ grub_chainloader_real_boot().
+
+2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
+2010-01-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-reboot.in: Make sure prev_saved_entry always gets a
+ non-empty value.
+
+2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
+2010-01-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/00_header.in: Define a "savedefault" function for use
+ in menu entries.
+ * util/grub-mkconfig_lib.in (save_default_entry): Use it.
+
+2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
+2010-01-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig_lib.in (save_default_entry): Only set
+ saved_entry if boot_once is unset.
+ * util/grub.d/00_header.in: Set boot_once to "true" if there was a
+ previous saved entry (i.e. grub-reboot).
+
+2009-12-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
+
+2009-12-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/00_header.in: Use `set var=val' rather than plain
+ `var=val'.
+ * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
+
+2009-12-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-reboot.in: Fix --version output.
+ * util/grub-set-default.in: Likewise.
+
+2009-12-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/00_header.in: Silently ignore zero-sized environment
+ blocks.
+
+2009-12-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/00_header.in: Quote the value assigned to `default',
+ in case it contains spaces.
+
+2009-12-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/30_os-prober.in: Fix merge error that moved a
+ `save_default_entry' call from the macosx case to the linux case.
+
+2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
+2009-10-25 Colin Watson <cjwatson@ubuntu.com>
+
+ * normal/menu.c (grub_menu_execute_entry): Save selected entry title
+ in `chosen' environment variable.
+ * normal/menu_text.c (get_entry_number): Check if the variable
+ matches the title of a menu entry.
+ (run_menu): Pass menu to get_entry_number.
+
+ * util/grub-reboot.in: New file.
+ * util/grub-set-default.in: New file.
+ * conf/common.rmk (grub-reboot): New utility.
+ (grub-set-default): New utility.
+
+ * util/grub-mkconfig_lib.in (save_default_entry): New function.
+ * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
+ default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
+ move it to `saved_entry' for the next boot. Load environment on
+ initialisation.
+ * util/grub.d/10_kfreebsd.in: Call save_default_entry.
+ * util/grub.d/10_hurd.in: Likewise.
+ * util/grub.d/10_linux.in (linux_entry): Likewise.
+ * util/grub.d/10_windows.in: Likewise.
+ * util/grub.d/30_os-prober.in: Likewise.
+
+ * util/grub-install.in: Create environment block.
+ * util/i386/efi/grub-install.in: Likewise.
+ * util/ieee1275/grub-install.in: Likewise.
+ * util/sparc64/ieee1275/grub-install.in: Likewise.
+
+2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Unit testing framework for GRUB.
+
+ * Makefile.in: Test framework build rules for 'make check'.
+ * conf/tests.rmk: Build rules for individual tests and framework.
+
+ * include/grub/test.h: Header file for whitebox tests.
+ * tests/lib/functional_test.c: Framework support for whitebox
+ functional tests.
+ * tests/lib/test.c: Common whitebox testing code for unit and
+ functional tests.
+ * tests/lib/unit_test.c: Framework support for whitebox unit
+ tests.
+
+ * tests/util/grub-shell-tester.in: Support utility for grub-script
+ tests.
+ * tests/util/grub-shell.in: Utility to execute grub-script
+ commands in a Qemu instance.
+
+ * tests/example_functional_test.c: Example whitebox functional
+ test.
+ * tests/example_grub_script_test.in: Example grub-script test.
+ * tests/example_scripted_test.in: Example scripted test.
+ * tests/example_unit_test.c: Example whitebox unit test.
+
+2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
+ Add loader/i386/multiboot_mbi.c.
+ (multiboot2_mod_SOURCES): Likewise.
+ * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
+ (multiboot2_mod_SOURCES): Likewise.
+ * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
+ (grub_multiboot_make_mbi): Likewise.
+ (grub_multiboot_free_mbi): Likewise.
+ (grub_multiboot_init_mbi): Likewise.
+ (grub_multiboot_add_module): Likewise.
+ (grub_multiboot_set_bootdev): Likewise.
+ * loader/i386/multiboot.c (mbi): Removed.
+ (mbi_dest): Likewise.
+ (alloc_mbi): New variable.
+ (grub_multiboot_payload_size): Removed. All users updated.
+ (grub_multiboot_pure_size): New variable.
+ (grub_multiboot_boot): Use grub_multiboot_make_mbi.
+ (grub_multiboot_unload): Use grub_multiboot_free_mbi.
+ (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
+ (grub_fill_multiboot_mmap): Likewise.
+ (grub_multiboot_get_bootdev): Likewise.
+ (grub_multiboot): Use multiboot_mbi functions.
+ * loader/i386/multiboot_mbi.c: New file.
+
+2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
+ it would result in module crash.
+
+2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
+ (grub_ofconsole_getwh): Split to ...
+ (grub_ofconsole_getwh): ... this.
+ (grub_ofconsole_dimensions): ...and this.
+ (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
+
+2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
+
+2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/pc/multiboot2.c: Removed stalled file.
+
+2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
+ Reported by: Grégoire Sutre
+
+2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/misc.c (canonicalize_file_name): New function.
+ (make_system_path_relative_to_its_root): Use canonicalize_file_name()
+ instead of realpath().
+
+2010-01-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in (usage): Clarify meaning of --root-directory,
+ and make it clearer that it's optional. Based on confusion
+ witnessed on IRC.
+
+2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
+ in premature implicit newline.
+
+2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
+ which resulted in garbled command line at the end of screen.
+
+2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
+ initialization with similar approach as with other Linux loaders.
+
+2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix i386-ieee1275 build.
+
+ * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
+ and grub_term_height() for video_{width,height} initialization.
+
+2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix grub-emu build.
+
+ * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
+
+2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
+2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ Support for multiple terminals.
+
+ * Makefile.in (pkglib_DATA): terminal.lst.
+ (terminal.lst): New target.
+ * commands/handler.c (grub_cmd_handler): Don't handle terminals.
+ (GRUB_MOD_INIT(handler)): Likewise.
+ (GRUB_MOD_FINI(handler)): Likewise.
+ * commands/help.c (grub_cmd_help): Handle multiple terminals.
+ * commands/keystatus.c (grub_cmd_keystatus): Likewise.
+ * commands/sleep.c (do_print): Use grub_term_restore_pos.
+ (grub_cmd_sleep): Use grub_term_save_pos.
+ * commands/terminal.c: New file.
+ * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
+ commands/terminal.c and lib/charset.c.
+ * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
+ (pkglib_MODULES): Add terminal.mod.
+ (terminal_mod_SOURCES): New variable.
+ (terminal_mod_CFLAGS): Likewise.
+ (terminal_mod_LDFLAGS): Likewise.
+ * genhandlerlist.sh: Don't handle terminals.
+ * genmk.rb: Generate terminal-*.lst.
+ * genterminallist.sh: New file.
+ * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
+ (grub_is_valid_utf8): Likewise.
+ (grub_utf8_to_ucs4_alloc): Likewise.
+ * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
+ (grub_menu_register_viewer): Changed argument.
+ (grub_menu_try_text): New proto.
+ (grub_gfxmenu_try_hook): New declaration.
+ * include/grub/normal.h (grub_normal_exit_level): New declaration.
+ (grub_menu_init_page): Additional argument term.
+ (grub_normal_init_page): Likewise.
+ (grub_cmdline_get): Arguments simplified.
+ (grub_utf8_to_ucs4_alloc): Removed.
+ (grub_print_ucs4): Additional argument term.
+ (grub_getstringwidth): Likewise.
+ (grub_print_message_indented): Likewise.
+ (grub_menu_text_register_instances): New proto.
+ (grub_show_menu): Likewise.
+ (read_terminal_list): Likewise.
+ (grub_set_more): Likewise.
+ * include/grub/parser.h: Include handler.h.
+ * include/grub/reader.h: Rewritten.
+ * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
+ (GRUB_TERM_WIDTH): Changed to function.
+ (GRUB_TERM_HEIGHT): Likewise.
+ (GRUB_TERM_BORDER_WIDTH): Likewise.
+ (GRUB_TERM_BORDER_HEIGHT): Likewise.
+ (GRUB_TERM_NUM_ENTRIES): Likewise.
+ (GRUB_TERM_ENTRY_WIDTH): Likewise.
+ (GRUB_TERM_CURSOR_X): Likewise.
+ (grub_term_input_class): Likewise.
+ (grub_term_output_class): Likewise.
+ (grub_term_outputs_disabled): New declaration.
+ (grub_term_inputs_disabled): Likewise.
+ (grub_term_outputs): Likewise.
+ (grub_term_inputs): Likewise.
+ (grub_term_register_input): Rewritten.
+ (grub_term_register_output): Likewise.
+ (grub_term_unregister_input): Likewise.
+ (grub_term_unregister_output): Likewise.
+ (FOR_ACTIVE_TERM_INPUTS): New macro.
+ (FOR_DISABLED_TERM_INPUTS): Likewise.
+ (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
+ (FOR_DISABLED_TERM_OUTPUTS): Likewise.
+ * include/grub/terminfo.h: Add oterm argument to all protypes.
+ * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
+ Use grub_rescue_run.
+ * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
+ All users updated.
+ * kern/reader.c: Removed. All users updated.
+ * kern/rescue_reader.c (grub_rescue_init): Removed.
+ (grub_rescue_reader): Likewise.
+ (grub_register_rescue_reader): Likewise.
+ (grub_rescue_run): New function based on kern/reader.c.
+ * kern/term.c: Adapted for multiterm.
+ * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
+ (grub_is_valid_utf8): Likewise.
+ (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
+ * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
+ right terminal.
+ * loader/i386/linux.c (grub_linux_boot): Likewise.
+ * normal/auth.c (grub_username_get): New function.
+ (grub_auth_check_authentication): Use grub_username_get.
+ * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
+ * normal/color.c: Adapt for multiterm.
+ * normal/main.c (read_config_file): Don't use grub_reader_loop.
+ (grub_normal_init_page): Additional argument term.
+ (read_lists): Call read_terminal_lists.
+ (grub_enter_normal_mode): Call grub_cmdline_run.
+ Handle grub_normal_exit_level.
+ (grub_cmd_normal): Make reentrant.
+ (grub_cmd_normal_exit): New function.
+ (grub_normal_reader_init): Additional argument nested. Handle multiterm.
+ * normal/menu.c: Adapt for multiterm.
+ * normal/menu_entry.c: Likewise.
+ * normal/menu_text.c: Likewise.
+ * normal/menu_viewer.c: Removed. All users updated.
+ * normal/term.c: New file.
+ * util/console.c: Change order of includes to workaround a bug in
+ ncurses headers.
+ * term/terminfo.c: New argument oterm on all exported functions.
+ All users updated.
+ * util/grub-editenv.c (grub_term_input_class): Removed.
+ (grub_term_output_class): Likewise.
+
+2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ Make loader output a bit more user-friendly.
+
+ * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
+ is being loaded. Likewise for the Hurd.
+
+ * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
+ that kernel of FreeBSD ${version} is being loaded.
+
+ * loader/i386/linux.c (grub_cmd_linux): Move debug info to
+ grub_dprintf().
+ (grub_cmd_initrd): Likewise.
+ * util/grub.d/10_linux.in (linux_entry): Print message indicating
+ that Linux ${version} is being loaded. Likewise for initrd.
+
+2010-01-09 Carles Pina i Estany <carles@pina.cat>
+
+ * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
+
+2010-01-08 Carles Pina i Estany <carles@pina.cat>
+
+ * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
+ (GRUB_MOD_INIT): Gettextizze.
+ * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
+ (GRUB_MOD_INIT): Gettextizze.
+ * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
+ (grub_cmd_linux): Capitalise Linux.
+ (GRUB_MOD_INIT): Gettextizze.
+ * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
+ (grub_cmd_linux): Capitalise Linux.
+ (GRUB_MOD_INIT): Gettextizze.
+ * loader/i386/linux.c: Include `<grub/i18n.h>'.
+ (grub_cmd_linux): Capitalise Linux.
+ (GRUB_MOD_INIT): Gettextizze.
+ * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
+ (GRUB_MOD_INIT): Gettextizze.
+ * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
+ (grub_cmd_linux): Capitalise Linux.
+ (GRUB_MOD_INIT): Gettextizze.
+ * loader/i386/xnu.c: Include `<grub/i18n.h>'.
+ (grub_cpu_xnu_init): Gettextizze.
+ * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
+ (GRUB_MOD_INIT): Gettextizze.
+ * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
+ (GRUB_MOD_INIT): Gettextizze.
+ * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
+ (grub_linux_load64): Capitalise Linux.
+ (GRUB_MOD_INIT): Gettextizze.
+ * loader/xnu.c: Include `<grub/i18n.h>'.
+ (GRUB_MOD_INIT): Gettextizze.
+ * po/POTFILES: Add `loader/efi/appleloader.c',
+ `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
+ `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
+ `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
+ `loader/i386/xnu.c', `loader/multiboot_loader.c',
+ `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
+ and `loader/xnu.c'.
+
+2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
+
+ * src/mkisofs.c: Remove `ifdef linux' portability kludge.
+
+2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
+ (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
+ * util/mkisofs/mkisofs.c (main): Readjust --version output.
+
+2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
+
+ Reset Multiboot 2 support. New loader implements the draft in
+ /branches/multiboot2 and shares as much code as possible with the
+ production Multiboot 1 implementation.
+
+ * loader/ieee1275/multiboot2.c: Remove file. Update all users.
+ * loader/multiboot2.c: Likewise.
+ * loader/i386/multiboot_helper.S: Likewise.
+ * include/multiboot2.h: Replace with latest version from the draft
+ in /branches/multiboot2.
+
+ * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
+ `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
+ and `loader/multiboot2.c'.
+ (pkglib_MODULES): Add `multiboot2.mod'.
+ (multiboot2_mod_SOURCES): New variable.
+ (multiboot2_mod_LDFLAGS): Likewise.
+ (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
+
+ * conf/i386-pc.rmk: Likewise.
+
+ * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
+ (multiboot_mod_SOURCES): Remove variable.
+ (multiboot_mod_LDFLAGS): Likewise.
+ (multiboot_mod_CFLAGS): Likewise.
+
+ * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
+ `<multiboot2.h>' instead of `<multiboot.h>'.
+ [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
+ (MULTIBOOT_HEADER_MAGIC): New macros.
+
+ * loader/multiboot_loader.c (module_version_status): Remove variable.
+ (find_multi_boot2_header): Remove function.
+ (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
+ logic. Always check for the Multiboot version we're compiling for.
+ (grub_cmd_module_loader): Likewise.
+ [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
+ command instead of `multiboot'.
+
+2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
+ * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
+ all users.
+
+2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
+2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix breakage introduced with previous commit.
+
+ * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
+ commands.
+ * normal/handler.c (read_handler_list): Revert part of previous commit
+ affecting this file.
+ * normal/main.c (read_lists): Move read_handler_list() call back to ...
+ (grub_normal_execute): ... here.
+
+2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
+
+ Merge prefix-redefinition-fix branch.
+
+ * normal/autofs.c (read_fs_list): Make function capable of being
+ run multiple times, gracefuly replacing the previous data
+ structures.
+ * normal/dyncmd.c (read_command_list): Likewise.
+ * normal/handler.c (read_handler_list): Likewise.
+ * normal/main.c (read_lists): New function. Calls all the
+ list reading functions.
+ (grub_normal_execute): Use read_lists() instead of calling all
+ list reading functions explicitly. Register read_lists() as a
+ variable hook attached to ${prefix}.
+
+2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Merge crypto branch.
+
+ * Makefile.in (pkglib_DATA): Add crypto.lst.
+ (crypto.lst): New target.
+ * commands/hashsum.c: New file.
+ * commands/password.c (check_password): Use grub_crypto_memcmp.
+ * commands/password_pbkdf2.c: New file.
+ * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
+ * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
+ normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
+ (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
+ -I$(srcdir)/lib/libgcrypt_wrap.
+ * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
+ (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
+ password_pbkdf2.mod.
+ (crypto_mod_SOURCES): New variable.
+ (crypto_mod_CFLAGS): Likewise.
+ (crypto_mod_LDFLAGS): Likewise.
+ (hashsum_mod_SOURCES): New variable.
+ (hashsum_mod_CFLAGS): Likewise.
+ (hashsum_mod_LDFLAGS): Likewise.
+ (pbkdf2_mod_SOURCES): New variable.
+ (pbkdf2_mod_CFLAGS): Likewise.
+ (pbkdf2_mod_LDFLAGS): Likewise.
+ (password_pbkdf2_mod_SOURCES): New variable.
+ (password_pbkdf2_mod_CFLAGS): Likewise.
+ (password_pbkdf2_mod_LDFLAGS): Likewise.
+ (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
+ (grub_mkpasswd_pbkdf2_SOURCES): New variable.
+ (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
+ Include conf/gcry.rmk.
+ * include/grub/auth.h: Rewritten.
+ * include/grub/crypto.h: New file.
+ * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
+ * include/grub/normal.h (read_crypto_list): New prototype.
+ * lib/crypto.c: New file.
+ * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
+ * lib/pbkdf2.c: Likewise.
+ * normal/auth.c (grub_auth_strcmp): Removed.
+ (grub_iswordseparator): Likewise.
+ (grub_auth_strword): Likewise.
+ (is_authenticated): Use grub_strword.
+ (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
+ and grub_strword. Pass entered password to authentication callback.
+ * normal/crypto.c: New file.
+ * normal/main.c: Call read_crypto_list.
+ * util/grub-mkpasswd-pbkdf2.c: New file.
+ * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
+
+2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix descent and ascent calculation.
+
+ * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
+ (options): New option "asce".
+ (usage): Likewise.
+ (add_char): Ignore invalid glyphs for descent calculation.
+ Calculate ascent from actual content.
+ (print_glyphs): Use 'asce'.
+ (write_font): Likewise. Allow ascent override.
+ (main): Handle "asce" option.
+
+2010-01-06 Carles Pina i Estany <carles@pina.cat>
+
+ * kern/err.c: Include `<grub/i18n.h>'.
+ (grub_print_error): Add full stop. Gettextizze.
+ * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
+ (grub_bsd_load_elf): Capitalise ELF.
+ (grub_cmd_freebsd_loadenv): Add `s' in error string.
+ (grub_cmd_freebsd_module): Likewise.
+ (grub_cmd_freebsd_module_elf): Likewise.
+ * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
+
+2010-01-06 Carles Pina i Estany <carles@pina.cat>
+
+ * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
+ * commands/search_file.c (HELP_MESSAGE): New macro.
+ * commands/search_label.c (HELP_MESSAGE): Likewise.
+ * commands/search_uuid.c (HELP_MESSAGE): Likewise.
+ * po/POTFILES: Add `commands/search_file.c',
+ `commands/search_label.c', `commands_uuid.c'. Remove duplicate
+ `commands/search.c'.
+
+2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
+
+ * config.rpath: Update from Gnulib.
+
+2010-01-05 Yves Blusseau <blusseau@zetam.org>
+
+ * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
+
+2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
+
+ * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
+
+2010-01-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/mkisofs/write.c (padblock_write): Switch size and nmemb
+ arguments to fread so that we get a return value in bytes, rather
+ than something that will normally be rounded down to 0.
+ Adjust error handling to avoid producing garbage when size_t is not
+ the same size as long long.
+
+2010-01-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/mkisofs/write.c (padblock_write): Check return value of
+ fread.
+
+2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
+
+ Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
+ floppy images now.
+
+ * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
+
+2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
+ instead of manual alignment.
+ * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
+ verbose). Avoid attempts to read past end of the device
+ (grub_disk_adjust_range() guarantees that we can read `size' bytes,
+ but GRUB_DISK_CACHE_SIZE may exceed that).
+
+2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ * commands/crc.c (grub_cmd_crc): Abort on read errors.
+ * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
+ it to upper layer.
+
+2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
+ New constant.
+ (grub_efi_piwg_device_path): New structure
+ (grub_efi_piwg_device_path_t): New type.
+ * loader/efi/appleloader.c (piwg_full_device_path): New structure.
+ (devpath_1): Transform to a structure. All users updated.
+ (devpath_2): Likewise.
+ (devpath_3): Likewise.
+ (devpath_4): Likewise.
+ (devpath_5): Likewise.
+
+2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/efi/appleloader.c: Restored. Update all users.
+
+2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
+
+ * boot/i386/pc/diskboot.S: Fix inaccurate comment.
+
+ * util/i386/pc/grub-setup.c: Include `<assert.h>'.
+ (struct boot_blocklist): Move from here ...
+ * include/grub/i386/pc/boot.h [ASM_FILE]
+ (struct grub_boot_blocklist): ... to here. Update all users.
+ (setup): Only initialize `start' member of `first_block'
+ structure. Add assert() calls to verify the other members.
+
+ * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
+ (generate_image): Fix broken blocklist length initialization.
+ Add assert() call to verify blocklist `segment' field.
+
+2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/efi/appleloader.c: Remove. Update all users.
+
+2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
+
+ * boot/i386/pc/boot.S: Update copyright year.
+ * boot/i386/pc/cdboot.S: Likewise.
+ * boot/i386/pc/diskboot.S: Likewise.
+ * boot/i386/pc/lnxboot.S: Likewise.
+ * boot/i386/pc/pxeboot.S: Likewise.
+ * bus/pci.c: Likewise.
+ * commands/cmp.c: Likewise.
+ * commands/help.c: Likewise.
+ * commands/hexdump.c: Likewise.
+ * commands/i386/pc/halt.c: Likewise.
+ * commands/i386/pc/play.c: Likewise.
+ * commands/i386/pc/vbeinfo.c: Likewise.
+ * commands/ls.c: Likewise.
+ * commands/test.c: Likewise.
+ * disk/dmraid_nvidia.c: Likewise.
+ * disk/i386/pc/biosdisk.c: Likewise.
+ * disk/ieee1275/nand.c: Likewise.
+ * disk/ieee1275/ofdisk.c: Likewise.
+ * disk/lvm.c: Likewise.
+ * disk/raid.c: Likewise.
+ * disk/raid6_recover.c: Likewise.
+ * disk/scsi.c: Likewise.
+ * fs/affs.c: Likewise.
+ * fs/cpio.c: Likewise.
+ * fs/ext2.c: Likewise.
+ * fs/hfs.c: Likewise.
+ * fs/iso9660.c: Likewise.
+ * fs/ntfs.c: Likewise.
+ * fs/sfs.c: Likewise.
+ * fs/udf.c: Likewise.
+ * fs/ufs.c: Likewise.
+ * fs/xfs.c: Likewise.
+ * gencmdlist.sh: Likewise.
+ * genmk.rb: Likewise.
+ * include/grub/disk.h: Likewise.
+ * include/grub/efi/api.h: Likewise.
+ * include/grub/efi/efi.h: Likewise.
+ * include/grub/efi/pe32.h: Likewise.
+ * include/grub/elf.h: Likewise.
+ * include/grub/fs.h: Likewise.
+ * include/grub/i386/at_keyboard.h: Likewise.
+ * include/grub/i386/pc/memory.h: Likewise.
+ * include/grub/i386/pc/vbe.h: Likewise.
+ * include/grub/i386/pci.h: Likewise.
+ * include/grub/i386/tsc.h: Likewise.
+ * include/grub/ieee1275/ieee1275.h: Likewise.
+ * include/grub/ntfs.h: Likewise.
+ * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
+ * include/grub/sparc64/libgcc.h: Likewise.
+ * include/grub/symbol.h: Likewise.
+ * include/grub/types.h: Likewise.
+ * include/multiboot2.h: Likewise.
+ * io/gzio.c: Likewise.
+ * kern/device.c: Likewise.
+ * kern/disk.c: Likewise.
+ * kern/efi/efi.c: Likewise.
+ * kern/efi/mm.c: Likewise.
+ * kern/elf.c: Likewise.
+ * kern/file.c: Likewise.
+ * kern/i386/dl.c: Likewise.
+ * kern/i386/pc/init.c: Likewise.
+ * kern/i386/pc/startup.S: Likewise.
+ * kern/ieee1275/ieee1275.c: Likewise.
+ * kern/ieee1275/init.c: Likewise.
+ * kern/main.c: Likewise.
+ * kern/mm.c: Likewise.
+ * kern/powerpc/dl.c: Likewise.
+ * kern/sparc64/dl.c: Likewise.
+ * kern/x86_64/dl.c: Likewise.
+ * lib/hexdump.c: Likewise.
+ * loader/efi/appleloader.c: Likewise.
+ * loader/i386/ieee1275/linux.c: Likewise.
+ * loader/i386/pc/chainloader.c: Likewise.
+ * loader/i386/pc/linux.c: Likewise.
+ * loader/i386/pc/multiboot2.c: Likewise.
+ * loader/ieee1275/multiboot2.c: Likewise.
+ * loader/multiboot2.c: Likewise.
+ * loader/multiboot_loader.c: Likewise.
+ * loader/powerpc/ieee1275/linux.c: Likewise.
+ * normal/completion.c: Likewise.
+ * normal/menu_entry.c: Likewise.
+ * partmap/apple.c: Likewise.
+ * util/grub.d/10_hurd.in: Likewise.
+ * util/hostfs.c: Likewise.
+ * video/readers/png.c: Likewise.
+
+2010-01-03 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/misc.h (GNUC_PREREQ): New macro.
+ (ATTRIBUTE_ERROR): New macro.
+ * include/grub/list.h (grub_bad_type_cast_real): Use
+ ATTRIBUTE_ERROR.
+
+2010-01-03 Carles Pina i Estany <carles@pina.cat>
+
+ * normal/menu_text.c (print_message): Change messages.
+
+2010-01-03 Carles Pina i Estany <carles@pina.cat>
+
+ * normal/menu_entry.c (store_completion): Gettextizze.
+
+2010-01-03 Carles Pina i Estany <carles@pina.cat>
+
+ * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
+
+2010-01-03 Carles Pina i Estany <carles@pina.cat>
+
+ * po/POTFILES: Sort correctly.
+
+2010-01-03 Carles Pina i Estany <carles@pina.cat>
+
+ * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
+ * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
+ * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
+ full stop.
+ * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
+ summary. Gettextizze the strings.
+ * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
+ * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
+ * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
+ full stop.
+ (GRUB_MOD_INIT): Remove command name from summary.
+ * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
+ summary.
+ * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
+ * term/i386/pc/serial.c (options): Add full stops.
+ (GRUB_MOD_INIT): Remove command name from the summary.
+
+2010-01-03 Carles Pina i Estany <carles@pina.cat>
+
+ * commands/acpi.c: Gettextizze help strings and/or options. Include
+ `grub/i18n.h' if needed.
+ * commands/blocklist.c: Likewise.
+ * commands/boot.c: Likewise.
+ * commands/cat.c: Likewise.
+ * commands/cmp.c: Likewise.
+ * commands/configfile.c: Likewise.
+ * commands/crc.c: Likewise.
+ * commands/date.c: Likewise.
+ * commands/echo.c: Likewise.
+ * commands/efi/fixvideo.c: Likewise.
+ * commands/efi/loadbios.c: Likewise.
+ * commands/gptsync.c: Likewise.
+ * commands/halt.c: Likewise.
+ * commands/handler.c: Likewise.
+ * commands/hdparm.c: Likewise.
+ * commands/hexdump.c: Likewise.
+ * commands/i386/cpuid.c: Likewise.
+ * commands/i386/pc/drivemap.c: Likewise.
+ * commands/i386/pc/halt.c: Likewise.
+ * commands/i386/pc/pxecmd.c: Likewise.
+ * commands/i386/pc/vbeinfo.c: Likewise.
+ * commands/i386/pc/vbetest.c: Likewise.
+ * commands/ieee1275/suspend.c: Likewise.
+ * commands/keystatus.c: Likewise.
+ * commands/loadenv.c: Likewise.
+ * commands/ls.c: Likewise.
+ * commands/lsmmap.c: Likewise.
+ * commands/lspci.c: Likewise.
+ * commands/memrw.c: Likewise.
+ * commands/minicmd.c: Likewise.
+ * commands/parttool.c: Likewise.
+ * commands/password.c: Likewise.
+ * commands/probe.c: Likewise.
+ * commands/read.c: Likewise.
+ * commands/reboot.c: Likewise.
+ * commands/search.c: Likewise.
+ * commands/sleep.c: Likewise.
+ * commands/test.c: Likewise.
+ * commands/true.c: Likewise.
+ * commands/usbtest.c: Likewise.
+ * commands/videotest.c: Likewise.
+ * commands/xnu_uuid.c: Likewise.
+ * disk/loopback.c: Likewise.
+ * hello/hello.c: Likewise.
+ * loader/i386/bsd.c: Likewise.
+ * term/i386/pc/serial.c: Likewise.
+ * po/POTFILES: Add new files.
+
+2010-01-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * term/i386/pc/at_keyboard.c
+ (keyboard_controller_wait_untill_ready): Rename to ...
+ (keyboard_controller_wait_until_ready): ... this. Update all users.
+
+2010-01-01 Carles Pina i Estany <carles@pina.cat>
+
+ * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
+ (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
+ string using string width.
+ * normal/menu_text.c (grub_print_message_indented): Use
+ grub_print_spaces and not print_spaces.
+ (print_timeout): Likewise.
+ (print_spaces): Move to...
+ * include/grub/term.h: ... here. Change the name to grub_print_spaces.
+
+2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
+
+ Import from Gnulib.
+
+ * gnulib/getdelim.c: New file.
+ * gnulib/getline.c: Likewise.
+
+2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * include/grub/list.h (grub_assert_fail): Removed.
+ (grub_bad_type_cast_real): New function.
+ (grub_bad_type_cast): New macro.
+ (GRUB_AS_LIST): Use grub_bad_type_cast.
+ (GRUB_AS_LIST_P): Likewise.
+ (GRUB_AS_NAMED_LIST): Likewise.
+ (GRUB_AS_NAMED_LIST_P): Likewise.
+ (GRUB_AS_PRIO_LIST): Likewise.
+ (GRUB_AS_PRIO_LIST_P): Likewise.
+ * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
+
+2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
+ Fix syntax error.
+
+2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
+
+ * configure.ac: Check for TARGET_CFLAGS initialization before we
+ initialize it ourselves (sigh).
+ Move a few modifications to TARGET_CFLAGS to be unconditional
+ (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
+ eh_frame)
+
+ * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
+ * term/i386/pc/at_keyboard.c
+ (keyboard_controller_wait_untill_ready): Likewise.
+ (keyboard_controller_led): Rename `led_status' paramter to avoid
+ name conflict.
+
+2009-12-28 Carles Pina i Estany <carles@pina.cat>
+
+ * normal/misc.c (grub_normal_print_device_info): Add spaces and double
+ quotes.
+
+2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
+
+2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/menu_text.c (grub_print_message_indented): Prevent
+ past-the-end-of-array dereference.
+
+2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
+ (GRUB_MOD_FINI (video_reader_jpeg)): ...this
+
+2009-12-27 Carles Pina i Estany <carles@pina.cat>
+
+ * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
+ * normal/main.c (grub_normal_read_line): Remove a space from the
+ default prompt.
+
+2009-12-27 Carles Pina i Estany <carles@pina.cat>
+
+ * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
+ * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
+ * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
+ * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
+ * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
+ * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
+ * loader/xnu.c (GRUB_MOD_INIT): Likewise.
+
+2009-12-26 Carles Pina i Estany <carles@pina.cat>
+
+ * video/readers/jpeg.c (cmd): Declare.
+ (grub_cmd_jpegtest): Use `grub_command_t' type.
+ (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
+ Assign to `cmd'.
+ (GRUB_MOD_FINI): Use `cmd' to unregister.
+ * video/readers/png.c (cmd): Declare.
+ (grub_cmd_pngtest): Use `grub_command_t' type.
+ (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
+ Assign to `cmd'.
+ (GRUB_MOD_FINI): Use `cmd' to unregister.
+ * video/readers/tga.c (cmd): Declare.
+ (grub_cmd_tgatest): Use `grub_command_t' type.
+ (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
+ Assign to `cmd'.
+ (GRUB_MOD_FINI): Use `cmd' to unregister.
+
+2009-12-26 Carles Pina i Estany <carles@pina.cat>
+
+ * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
+ stops.
+ * kern/corecmd.c (grub_register_core_commands): Likewise.
+ * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
+ * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
+ * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
+ * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
+ * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
+ * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
+ * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
+ * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
+ * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
+ * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
+ * loader/xnu.c (GRUB_MOD_INIT): Likewise.
+ * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
+ * normal/handler.c (insert_handler): Likewise.
+ * normal/main.c (GRUB_MOD_INIT): Likewise.
+ * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
+
+2009-12-26 Carles Pina i Estany <carles@pina.cat>
+
+ * commands/help.c (grub_cmd_help): Print the command name before the
+ summary.
+ (GRUB_MOD_INIT): Remove command name from the summary.
+ * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
+ string as summary.
+ * lib/arg.c (find_long): Print the command name before the summary.
+ * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
+ summary.
+ * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
+ * commands/cat.c (GRUB_MOD_INIT): Likewise.
+ * commands/cmp.c (GRUB_MOD_INIT): Likewise.
+ * commands/configfile.c (GRUB_MOD_INIT): Likewise.
+ * commands/crc.c (GRUB_MOD_INIT): Likewise.
+ * commands/date.c (GRUB_MOD_INIT): Likewise.
+ * commands/echo.c (GRUB_MOD_INIT): Likewise.
+ * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
+ * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
+ * commands/handler.c (GRUB_MOD_INIT): Likewise.
+ * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
+ * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
+ * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
+ * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
+ * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
+ * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
+ * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
+ * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
+ * commands/ls.c (GRUB_MOD_INIT): Likewise.
+ * commands/lspci.c (GRUB_MOD_INIT): Likewise.
+ * commands/memrw.c (GRUB_MOD_INIT): Likewise.
+ * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
+ * commands/parttool.c (GRUB_MOD_INIT): Likewise.
+ * commands/password.c (GRUB_MOD_INIT): Likewise.
+ * commands/probe.c (GRUB_MOD_INIT): Likewise.
+ * commands/read.c (GRUB_MOD_INIT): Likewise.
+ * commands/search.c (GRUB_MOD_INIT): Likewise.
+ * commands/sleep.c (GRUB_MOD_INIT): Likewise.
+ * commands/test.c (GRUB_MOD_INIT): Likewise.
+ * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
+ * efiemu/main.c (GRUB_MOD_INIT): Likewise.
+ * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
+ * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
+ * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
+ * lib/arg.c (GRUB_MOD_INIT): Likewise.
+ * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
+ * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
+ * loader/xnu.c (GRUB_MOD_INIT): Likewise.
+ * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
+ * term/terminfo.c (GRUB_MOD_INIT): Likewise.
+ * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
+ * video/readers/png.c (GRUB_MOD_INIT): Likewise.
+ * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
+
+2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use search command for preliminar UUID search.
+
+ * commands/search.c: Split into ...
+ * commands/search_wrap.c: ...this
+ * commands/search.c: ...and this.
+ * commands/search_file.c: New file.
+ * commands/search_label.c: New file.
+ * commands/search_uuid.c: New file.
+ * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
+ Add commands/search_wrap.c, commands/search_file.c,
+ commands/search_label.c and commands/search_uuid.c.
+ * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
+ (search_mod_SOURCES): Set to commands/search_wrap.c.
+ (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
+ search_label.mod.
+ (search_fs_file_mod_SOURCES): New variable.
+ (search_fs_file_mod_CFLAGS): Likewise.
+ (search_fs_file_mod_LDFLAGS): Likewise.
+ (search_label_mod_SOURCES): Likewise.
+ (search_label_mod_CFLAGS): Likewise.
+ (search_label_mod_LDFLAGS): Likewise.
+ (search_fs_uuid_mod_SOURCES): New variable.
+ (search_fs_uuid_mod_CFLAGS): Likewise.
+ (search_fs_uuid_mod_LDFLAGS): Likewise.
+ (fs_file_mod_SOURCES): Removed.
+ (fs_file_mod_CFLAGS): Likewise.
+ (fs_file_mod_LDFLAGS): Likewise.
+ (fs_uuid_mod_SOURCES): Removed.
+ (fs_uuid_mod_CFLAGS): Likewise.
+ (fs_uuid_mod_LDFLAGS): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
+ Set to util/grub-install.in.
+ * disk/fs_file.c: Removed.
+ * disk/fs_uuid.c: Likewise.
+ * include/grub/search.h: New file.
+ * util/grub-install.in: Handle sparc64.
+ Create and use load.cfg.
+ * util/sparc64/ieee1275/grub-install.in: Removed.
+
+2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
+ Ignore return status if CF is cleared.
+ (grub_biosdisk_get_diskinfo_standard): Likewise.
+
+2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
+
+ * term/i386/pc/at_keyboard.c
+ (keyboard_controller_wait_untill_ready): New function.
+ (grub_keyboard_controller_write, grub_keyboard_controller_read)
+ (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
+ for keyboard polling, rather than duplicate the same loop. This
+ saves a few bytes in code size.
+
+2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support for (pxe[:server[:gateway]]) syntax and
+ use environment variable for PXE.
+
+ * commands/i386/pc/pxecmd.c (options): Removed.
+ (print_ip): Removed.
+ (grub_cmd_pxe): Removed
+ (grub_cmd_pxe_unload): New function.
+ * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
+ (grub_pxe_your_ip): Made static.
+ (grub_pxe_default_server_ip): Likewise.
+ (grub_pxe_default_gateway_ip): Likewise.
+ (grub_pxe_blksize): Likewise.
+ (parse_ip): New function.
+ (grub_pxe_open): Support server and gateway specification.
+ (grub_pxe_close): Free disk->data.
+ (grub_pxefs_open): Use disk->data.
+ (grub_pxefs_read): Likewise.
+ (grub_env_write_readonly): New function.
+ (set_mac_env): Likewise.
+ (set_env_limn_ro): Likewise.
+ (parse_dhcp_vendor): Likewise.
+ (grub_pxe_detect): Set the environment variables.
+ (set_ip_env): New function.
+ (write_ip_env): Likewise.
+ (grub_env_write_pxe_default_server): Likewise.
+ (grub_env_write_pxe_default_gateway): Likewise.
+ (grub_env_write_pxe_blocksize): Likewise.
+ (GRUB_MOD_INIT(pxe)): Set environment variables.
+ * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
+ (grub_pxe_mac_addr_t): ... this. All users updated.
+ (grub_pxe_your_ip): Removed.
+ (grub_pxe_server_ip): Likewise.
+ (grub_pxe_gateway_ip): Likewise.
+ (grub_pxe_blksize): Likewise.
+
+2009-12-25 Carles Pina i Estany <carles@pina.cat>
+
+ * commands/help.c: Include `<grub/i18n.h>'.
+ (grub_cmd_help): Gettextizze.
+ (GRUB_MOD_INIT): Likewise.
+ * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
+ (GRUB_MOD_INIT): Gettextizze.
+ * commands/search.c: Include `<grub/i18n.h>'.
+ (options): Gettextizze.
+ (GRUB_MOD_INIT): Gettextizze.
+ * lib/arg.c: Include `<grub/i18n.h>'.
+ (help_options): Gettextizze.
+ (find_long): Likewise.
+ (grub_arg_show_help): Likewise.
+ * normal/dyncmd.c: Include `<grub/i18n.h>'.
+ (read_command_list): Gettextizze.
+ * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
+ `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
+
+2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
+ * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
+ (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
+ (led_status): New variable.
+ (keyboard_controller_led): New function.
+ (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
+ update led status for caps lock, num lock and scroll lock.
+
+2009-12-25 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/hostdisk.c (open_device): Fix a comment.
+
+2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub-install.in (host_os): New variable.
+ * util/i386/efi/grub-install.in (host_os): Likewise.
+
+2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/mkisofs/write.c (padblock_write): Abort when given an
+ excedingly large embed image, instead of silently truncating it.
+
+2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/multiboot.h: Indentation fixes.
+
+2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/multiboot.h (struct multiboot_aout_symbol_table)
+ (struct multiboot_elf_section_header_table): New structure
+ declarations (stolen from GRUB Legacy).
+ (struct multiboot_info): Replace opaque `syms' with a.out and ELF
+ table information.
+
+ (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
+ (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
+ type aliases.
+
+2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/multiboot.h: Make comments src2texi-friendly.
+
+2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
+
+ For consistency with [multiboot]/docs/boot.S.
+
+ * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
+ (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
+ (MULTIBOOT_MAGIC2): Rename from this ...
+ (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
+
+2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/multiboot.h: Remove `<grub/types.h>'.
+ (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
+ types. Update all users.
+
+2009-12-25 Carles Pina i Estany <carles@pina.cat>
+
+ * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
+ `couldn't' and `can not' by `cannot'.
+ * commands/i386/pc/drivemap.c: Likewise.
+ * disk/ata.c: Likewise.
+ * disk/ieee1275/nand.c: Likewise.
+ * fs/affs.c: Likewise.
+ * fs/fat.c: Likewise.
+ * fs/hfs.c: Likewise.
+ * fs/hfsplus.c: Likewise.
+ * fs/iso9660.c: Likewise.
+ * fs/jfs.c: Likewise.
+ * fs/minix.c: Likewise.
+ * fs/reiserfs.c: Likewise.
+ * fs/sfs.c: Likewise.
+ * fs/udf.c: Likewise.
+ * fs/ufs.c: Likewise.
+ * fs/xfs.c: Likewise.
+ * loader/powerpc/ieee1275/linux.c: Likewise.
+ * loader/sparc64/ieee1275/linux.c: Likewise.
+ * util/grub-probe.c: Likewise.
+ * util/misc.c: Likewise.
+
+2009-12-24 Carles Pina i Estany <carles@pina.cat>
+
+ * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
+ grub_errno calls.
+ * commands/acpi.c: Likewise.
+ * commands/blocklist.c: Likewise.
+ * commands/efi/loadbios.c: Likewise.
+ * commands/i386/pc/drivemap.c: Likewise.
+ * commands/loadenv.c: Likewise.
+ * commands/memrw.c: Likewise.
+ * commands/password.c: Likewise.
+ * commands/videotest.c: Likewise.
+ * disk/ata.c: Likewise.
+ * disk/ata_pthru.c: Likewise.
+ * disk/dmraid_nvidia.c: Likewise.
+ * disk/ieee1275/nand.c: Likewise.
+ * disk/ieee1275/ofdisk.c: Likewise.
+ * disk/loopback.c: Likewise.
+ * disk/lvm.c: Likewise.
+ * disk/mdraid_linux.c: Likewise.
+ * disk/raid.c: Likewise.
+ * disk/raid6_recover.c: Likewise.
+ * disk/scsi.c: Likewise.
+ * efiemu/main.c: Likewise.
+ * efiemu/mm.c: Likewise.
+ * efiemu/pnvram.c: Likewise.
+ * efiemu/symbols.c: Likewise.
+ * font/font.c: Likewise.
+ * fs/cpio.c: Likewise.
+ * fs/hfsplus.c: Likewise.
+ * fs/iso9660.c: Likewise.
+ * fs/jfs.c: Likewise.
+ * fs/minix.c: Likewise.
+ * fs/ntfs.c: Likewise.
+ * fs/ntfscomp.c: Likewise.
+ * fs/reiserfs.c: Likewise.
+ * fs/ufs.c: Likewise.
+ * fs/xfs.c: Likewise.
+ * gettext/gettext.c: Likewise.
+ * include/grub/auth.h: Likewise.
+ * kern/elf.c: Likewise.
+ * kern/file.c: Likewise.
+ * kern/ieee1275/init.c: Likewise.
+ * kern/ieee1275/mmap.c: Likewise.
+ * kern/ieee1275/openfw.c: Likewise.
+ * kern/powerpc/dl.c: Likewise.
+ * kern/sparc64/dl.c: Likewise.
+ * lib/arg.c: Likewise.
+ * loader/i386/bsd.c: Likewise.
+ * loader/i386/bsdXX.c: Likewise.
+ * loader/i386/efi/linux.c: Likewise.
+ * loader/i386/efi/xnu.c: Likewise.
+ * loader/i386/ieee1275/linux.c: Likewise.
+ * loader/i386/linux.c: Likewise.
+ * loader/i386/multiboot.c: Likewise.
+ * loader/i386/pc/linux.c: Likewise.
+ * loader/i386/pc/multiboot2.c: Likewise.
+ * loader/i386/xnu.c: Likewise.
+ * loader/ieee1275/multiboot2.c: Likewise.
+ * loader/macho.c: Likewise.
+ * loader/machoXX.c: Likewise.
+ * loader/multiboot2.c: Likewise.
+ * loader/multiboot_loader.c: Likewise.
+ * loader/powerpc/ieee1275/linux.c: Likewise.
+ * loader/sparc64/ieee1275/linux.c: Likewise.
+ * loader/xnu.c: Likewise.
+ * loader/xnu_resume.c: Likewise.
+ * mmap/i386/pc/mmap.c: Likewise.
+ * normal/menu_viewer.c: Likewise.
+ * partmap/acorn.c: Likewise.
+ * partmap/amiga.c: Likewise.
+ * partmap/apple.c: Likewise.
+ * script/lexer.c: Likewise.
+ * term/gfxterm.c: Likewise.
+ * term/i386/pc/serial.c: Likewise.
+ * term/i386/pc/vga.c: Likewise.
+ * term/ieee1275/ofconsole.c: Likewise.
+ * term/terminfo.c: Likewise.
+ * video/bitmap.c: Likewise.
+ * video/efi_gop.c: Likewise.
+ * video/efi_uga.c: Likewise.
+ * video/fb/video_fb.c: Likewise.
+ * video/i386/pc/vbe.c: Likewise.
+ * video/readers/tga.c: Likewise.
+ * video/video.c: Likewise.
+
+2009-12-23 Felix Zielcke <fzielcke@z-51.de>
+
+ * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
+ * commands/lspci.c: Likewise.
+ * commands/probe.c: Likewise.
+ * commands/xnu_uuid.c: Likewise.
+ * conf/i386-coreboot.rmk: Likewise.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+ * fs/i386/pc/pxe.c: Likewise.
+ * gettext/gettext.c: Likewise.
+ * include/grub/efi/graphics_output.h: Likewise.
+ * include/grub/i386/pc/memory.h: Likewise.
+ * kern/env.c: Likewise.
+ * kern/i386/qemu/startup.S: Likewise.
+ * lib/i386/pc/biosnum.c: Likewise.
+ * lib/i386/relocator.c: Likewise.
+ * lib/i386/relocator_asm.S: Likewise.
+ * lib/relocator.c: Likewise.
+ * loader/i386/bsd.c: Likewise.
+ * loader/i386/multiboot.c: Likewise.
+ * loader/i386/pc/chainloader.c: Likewise.
+ * loader/i386/xnu.c: Likewise.
+ * loader/xnu.c: Likewise.
+ * normal/main.c: Likewise.
+ * normal/menu_text.c: Likewise.
+ * util/getroot.c: Likewise.
+ * util/grub-mkconfig_lib.in: Likewise.
+ * util/grub.d/00_header.in: Likewise.
+ * util/i386/pc/grub-mkimage.c: Likewise.
+ * util/mkisofs/eltorito.c: Likewise.
+ * util/mkisofs/exclude.h: Likewise.
+ * util/mkisofs/hash.c: Likewise.
+ * util/mkisofs/iso9660.h: Likewise.
+ * util/mkisofs/joliet.c: Likewise.
+ * util/mkisofs/mkisofs.c: Likewise.
+ * util/mkisofs/mkisofs.h: Likewise.
+ * util/mkisofs/multi.c: Likewise.
+ * util/mkisofs/name.c: Likewise.
+ * util/mkisofs/rock.c: Likewise.
+ * util/mkisofs/tree.c: Likewise.
+ * util/mkisofs/write.c: Likewise.
+ * video/efi_gop.c: Likewise.
+
+2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
+ size counting.
+
+2009-12-22 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
+ * genmk.rb (class SCRIPT): Modify the target file instead of source.
+
+2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/memrw.c (grub_cmd_write): Support for mask parameter.
+ (GRUB_MOD_INIT(memrw)): Update help line.
+
+2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
+ Use grub_extcmd_t. All users updated.
+ (options): New variable.
+ (grub_cmd_read): Restructure for readability. Support "-v" option.
+ (grub_cmd_write): Restructure for readability.
+
+2009-12-22 Felix Zielcke <fzielcke@z-51.de>
+
+ * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
+
+2009-12-22 Felix Zielcke <fzielcke@z-51.de>
+
+ * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
+ with the actual contents of the correspondending make variable.
+ * util/grub-mkrescue.in (pkglib_DATA): New variable.
+ (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
+ specifying `*.lst' and `efiemu??.o'
+
+2009-12-22 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
+ after function name.
+ Noticed by Rene Engelhard <rene@debian.org>.
+
+2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/lspci.c (grub_pci_classes): Add "USB Controller".
+ (options): New variable.
+ (iospace): Likewise.
+ (grub_lspci_iter): List IO spaces if "-i" was given.
+ (grub_cmd_lspci): Parse options.
+ (GRUB_MOD_INIT(lspci)): Use extcmd.
+ (GRUB_MOD_FINI(lspci)): Likewise.
+
+2009-12-22 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
+ `function' keyword.
+ Patch by Tony Mancill <tmancill@debian.org>.
+
+2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
+ (grub_uhci_portstatus): Likewise.
+ (grub_uhci_portstatus): Add necessary delay.
+ * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
+
+2009-12-21 Carles Pina i Estany <carles@pina.cat>
+
+ * commands/acpi.c (options): Fix capitalizations and/or full stops.
+ (GRUB_MOD_INIT): Likewise.
+ * commands/boot.c (GRUB_MOD_INIT): Likewise.
+ * commands/cmp.c (grub_cmd_cmp): Improve the help message.
+ * commands/echo.c (options): Fix capitalizations and/or full stops.
+ * commands/efi/loadbios.c (enable_rom_area): Likewise.
+ (enable_rom_area): Likewise.
+ (GRUB_MOD_INIT): Likewise.
+ * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
+ * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
+ * commands/handler.c (GRUB_MOD_INIT): Likewise.
+ * commands/hdparm.c (options): Fix capitalizations and/or full stops.
+ * commands/hexdump.c (options): Likewise.
+ * commands/i386/cpuid.c (options): Likewise.
+ (GRUB_MOD_INIT): Likewise.
+ * commands/i386/pc/drivemap.c (options): Likewise.
+ (GRUB_MOD_INIT): Likewise.
+ * commands/i386/pc/halt (options): Likewise.
+ (GRUB_MOD_INIT): Likewise.
+ * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
+ * commands/i386/pc/pxecmd.c (options): Likewise.
+ * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
+ * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
+ * commands/keystatus.c (options): Likewise.
+ (GRUB_MOD_INIT): Likewise.
+ * commands/loadenv.c (options): Likewise.
+ * commands/ls.c (options): Likewise.
+ * commands/lspci.c (GRUB_MOD_INIT): Likewise.
+ * commands/memrw.c (GRUB_MOD_INIT): Likewise.
+ * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
+ * commands/parttool.c (helpmsg): Likewise.
+ * commands/probe.c (options): Likewise.
+ * commands/read.c (GRUB_MOD_INIT): Likewise.
+ * commands/reboot.c (GRUB_MOD_INIT): Likewise.
+ * commands/search.c (options): Likewise.
+ * commands/sleep.c (options): Likewise.
+ * commands/test.c (GRUB_MOD_INIT): Likewise.
+ * commands/true.c (GRUB_MOD_INIT): Likewise.
+ * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
+ * commands/videotest.c (GRUB_MOD_INIT): Likewise.
+ * lib/arg.c (help_options): Likewise.
+ * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
+ `$(XGETTEXT)'.
+ * po/POTFILES: Add `commands/loadenv.c'.
+
+2009-12-21 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
+ instead of specifying them explicit.
+
+2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ * NEWS: Add grub-probe support for GNU/Hurd.
+
+2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ * NEWS: gettext was added after 1.97.
+
+2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/mkisofs/msdos_partition.h: New file (based on
+ include/grub/msdos_partition.h).
+ * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
+ (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
+ (ld_options, main): Recognize --protective-msdos-label.
+ * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
+ * util/mkisofs/write.c: Include `"msdos_partition.h"'.
+ (padblock_write): If `use_protective_msdos_label' is set, patch a
+ protective DOS-style label in the output image.
+
+ * util/grub-mkrescue.in: Use --protective-msdos-label.
+
+2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
+ boot.
+
+2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
+ variables.
+ (ld_options, main): Recognize `--embedded-boot'.
+ * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
+ declarations.
+ * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
+ (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
+ (padblock_write): Likewise. Rewrite to support embedded boot image.
+
+ * util/grub-mkrescue.in: When building i386-pc images, embed core.img
+ for BIOS-based disk boot instead of only ElTorito.
+
+2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
+ build (not needed for bootstrap).
+
+2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
+ from i386-pc build (not needed for bootstrap).
+ Rewrite a pair of strings.
+
+2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
+
+2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
+
+2009-12-21 Andreas Born <futur.andy@googlemail.com>
+
+ * kern/env.c (grub_env_context_open): Mark exported variable for
+ reexport.
+
+2009-12-21 Andreas Born <futur.andy@googlemail.com>
+
+ * kern/env.c (grub_env_export): Create nonexistent variables before
+ exporting.
+
+2009-12-20 Carles Pina i Estany <carles@pina.cat>
+
+ * include/grub/auth.h: Include `<grub/i18n.h>'.
+ (GRUB_GET_PASSWORD): Gettextizze string.
+ * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
+ menu_text.c.
+ (grub_utf8_to_ucs4_alloc): Fix indentation.
+ (grub_print_ucs4): Likewise.
+ (grub_getstringwidth): Likewise.
+ (print_message_indented): New declaration.
+ * normal/auth.c: Include `<grub/i18n.h>'.
+ (grub_auth_check_authentication): Gettexttize string.
+ * normal/cmdline.c: Include `<grub/i18n.h>'.
+ (grub_cmdline_get): Gettextizze.
+ * normal/color.c: Include `<grub/i18n.h>'.
+ (grub_parse_color_name_pair): Gettexttize strings.
+ * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
+ string (use `print_message_indented').
+ * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
+ `include/grub/normal.h'.
+ (print_message_indented): Renamed to ...
+ (grub_print_message_indented): ... this. Remove `static' qualifer (now
+ used in normal/main.c).
+ (print_message): Use `grub_print_message_indented' instead of
+ `print_message_indented'.
+ (print_timeout): Likewise.
+ * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
+ (grub_normal_print_device_info): Gettexttize strings.
+ * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
+
+2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
+ of arguments. Return number of tokens and not arguments. All users
+ updated.
+
+2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
+ non-MSDOS paritions.
+
+2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/types.h (UNUSED): Removed since it conflicts with
+ NetBSD headers. All users changed to direct __attribute__ ((unused)).
+ Reported by Grégoire Sutre.
+
+2009-12-19 Carles Pina i Estany <carles@pina.cat>
+
+ * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
+ (grub_print_ucs4_alloc): Likewise.
+ (grub_getstringwidth): Likewise.
+ * normal/main.c (grub_normal_init_page): Gettextize version string.
+ * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
+ (getstringwidth): Renamed to ...
+ (grub_getstringwidth): ... this. Remove `static' qualifier (now used
+ in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
+ (grub_print_ucs4): Remove `static' qualifer (now used in
+ normal/main.c).
+ * po/POTFILES: Add normal/main.c.
+
+2009-12-19 Carles Pina i Estany <carles@pina.cat>
+
+ * normal/menu_text.c (STANDARD_MARGIN): New macro.
+ (print_message_indented): Add `margin_left' and `margin_right'
+ parameters.
+ (print_message): Update `print_message_indented' calls. Adds '\n' to the
+ strings.
+ (print_timeout): Use `print_message_indented' to print the message.
+ Deletes `second_stage' parameter.
+ (run_menu): Update `print_timeout' calls.
+
+2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix console palette on OpenFirmware.
+
+ * term/ieee1275/ofconsole.c (MAX): Removed.
+ (colors): Redone based on VGA palette.
+ (grub_ofconsole_setcolor): Discard brightness bit since only 8
+ colors are supported.
+ (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
+
+2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix potential EfiEmu double prepare.
+
+ * efiemu/main.c (prepared): New variable
+ (grub_efiemu_unload): Set prepare to '0'.
+ (grub_efiemu_prepare): Return if already prepared. Set prepared.
+
+ set_virtual_address_map support.
+
+ * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
+ prototype.
+ * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
+ prototype.
+ (grub_efiemu_crc32): Likewise.
+ (grub_efiemu_crc64): Likewise.
+ (grub_efiemu_set_virtual_address_map): Likewise.
+ * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
+ New definition.
+ (grub_autoefi_set_virtual_address_map): Likewise.
+ * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
+ * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
+ Restructure flow to accomodate it.
+ * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
+ (grub_efiemu_crc): Recompute CRC32.
+ * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
+ (efiemu_ptv_relocated): ... this. Made global. All users updated.
+ * efiemu/symbols.c (relocated_handle): New variable.
+ (grub_efiemu_free_syms): Free relocated_handle.
+ (grub_efiemu_alloc_syms): Allocate relocated_handle.
+ (grub_efiemu_write_sym_markers): New function.
+ (grub_efiemu_set_virtual_address_map): Likewise.
+
+ Newer XNU parameters.
+
+ * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
+ * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
+ (grub_xnu_fill_devicetree): New prototype.
+ (grub_xnu_heap_real_start): New variable.
+ * loader/xnu.c (get_name_ptr): New function.
+ (grub_xnu_load_driver): Fill namelen and name.
+
+ 64-bit xnu support.
+
+ * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
+ and 'loader/macho64.c'.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+ * include/grub/i386/macho.h (grub_macho_thread64): New structure.
+ * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
+ * include/grub/macho.h (grub_macho_segment64): New structure.
+ * include/grub/machoload.h (grub_macho32_size): Renamed from ...
+ (grub_macho_size32): ... to this.
+ (grub_macho32_get_entry_point): Renamed from ...
+ (grub_macho_get_entry_point32): ... to this.
+ (grub_macho_contains_macho64): New prototype.
+ (grub_macho_size64): Likewise.
+ (grub_macho_get_entry_point64): Likewise.
+ (grub_macho32_load): Renamed from ...
+ (grub_macho_load32): ... to this.
+ (grub_macho32_filesize): Renamed from ...
+ (grub_macho_filesize32): ... to this.
+ (grub_macho32_readfile): Renamed from ...
+ (grub_macho_readfile32): ... to this.
+ (grub_macho_filesize64): New prototype.
+ (grub_macho_readfile64): Likewise.
+ (grub_macho_parse32): Likewise.
+ (grub_macho_parse64): Likewise.
+ * loader/macho.c: Split into ...
+ * loader/machoXX.c: ... and this. Replace 32 with XX.
+ * loader/macho32.c: New file.
+ * loader/macho64.c: Likewise.
+ * loader/xnu.c (grub_xnu_is_64bit): New variable.
+ (grub_cmd_xnu_kernel): Make 32-bit only.
+ (grub_cmd_xnu_kernel64): New function.
+ (grub_xnu_load_driver): Support Mach-O 64.
+ (grub_cmd_xnu_mkext): Likewise.
+ * util/grub.d/30_os-prober.in (osx_entry): New function.
+ Generate entries for 64-bit boot too.
+
+ Eliminate ad-hoc tree format in XNU and EfiEmu.
+
+ * efiemu/main.c (grub_efiemu_prepare): Update comment.
+ * efiemu/pnvram.c: Rewritten to use environment variables.
+ All users updated.
+
+ Inline utf16_to_utf8.
+
+ * kern/misc.c (grub_utf16_to_utf8): Move from here ...
+ * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
+ All users updated.
+ * include/grub/misc.h (grub_utf16_to_utf8): Removed.
+
+ * bus/usb/usb.c (grub_usb_get_string): Move from here ...
+ * commands/usbtest.c (grub_usb_get_string): ... move here.
+ (usb_print_str): Fix error handling.
+ * include/grub/usb.h (grub_usb_get_string): Remove.
+
+ UTF-8 to UTF-16 transformation.
+
+ * conf/common.rmk (pkglib_MODULES): Add charset.mod
+ (charset_mod_SOURCES): New variable.
+ (charset_mod_CFLAGS): Likewise.
+ (charset_mod_LDFLAGS): Likewise.
+ * include/grub/utf.h: New file.
+ * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
+
+ Support for device properties.
+
+ * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
+ (grub_xnu_devprop_device_header): Likewise.
+ (grub_xnu_devprop_device_descriptor): Likewise.
+ (grub_xnu_devprop_add_device): New prototype.
+ (grub_xnu_devprop_remove_device): Likewise.
+ (grub_xnu_devprop_remove_property): Likewise.
+ (grub_xnu_devprop_add_property_utf8): Likewise.
+ (grub_xnu_devprop_add_property_utf16): Likewise.
+ (grub_cpu_xnu_init): Likewise.
+ (grub_cpu_xnu_fini): Likewise.
+ (grub_cpu_xnu_unload): Likewise.
+ * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
+ (property_descriptor): Likewise.
+ (devices): New variable.
+ (grub_xnu_devprop_remove_property): New function.
+ (grub_xnu_devprop_add_device): Likewise.
+ (grub_xnu_devprop_remove_device): Likewise.
+ (grub_xnu_devprop_add_property): Likewise.
+ (grub_xnu_devprop_add_property_utf8): Likewise.
+ (grub_xnu_devprop_add_property_utf16): Likewise.
+ (hextoval): Likewise.
+ (grub_cpu_xnu_fill_devprop): Likewise.
+ (grub_cmd_devprop_load): Likewise.
+ (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
+ grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
+ (cmd_devprop_load): New variable.
+ (grub_cpu_xnu_init): New function.
+ (grub_cpu_xnu_fini): Likewise.
+ * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
+ * loader/xnu.c (grub_xnu_parse_devtree): Remove.
+ (grub_cmd_xnu_devtree): Likewise.
+ (hextoval): New function.
+ (unescape): Likewise.
+ (grub_xnu_fill_devicetree): Likewise.
+
+ * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
+ * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
+
+2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Workaround for broken ATI VBE.
+
+ * video/i386/pc/vbe.c (last_set_mode): New variable.
+ (grub_vbe_set_video_mode): Set 'last_set_mode'.
+ (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
+ (grub_video_vbe_setup): Don't check for reserved flag.
+
+2009-12-17 Felix Zielcke <fzielcke@z-51.de>
+
+ * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
+ the `find' command.
+
+2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ UUID support for HFS.
+
+ * fs/hfs.c (grub_hfs_uuid): New function.
+ (grub_hfs_fs): New value .uuid.
+ * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
+
+2009-12-14 Felix Zielcke <fzielcke@z-51.de>
+
+ Fix a segfault with parsing unknown long options.
+
+ * util/grub-mkrelpath.c (options): Zero terminate it.
+
+2009-12-13 Carles Pina i Estany <carles@pina.cat>
+
+ * include/grub/misc.h (grub_puts): New declaration.
+ (grub_puts_): Likewise.
+ * kern/misc.c (grub_puts): New definition.
+ (grub_puts_): Likewise.
+
+2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub-probe.c (probe): Improve error message.
+
+2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/i386/multiboot_elfxx.c
+ (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
+ initialization.
+
+2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Relocator framework
+
+ * loader/i386/xnu_helper.S: Removed. All users updated.
+ * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
+ (relocator_mod_SOURCES): New variable.
+ (relocator_mod_CFLAGS): Likewise.
+ (relocator_mod_LDFLAGS): Likewise.
+ (relocator_mod_ASFLAGS): Likewise.
+ * conf/x86_64.rmk: Likewise.
+ * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
+ (grub_multiboot_payload_entry_offset): Likewise.
+ (grub_multiboot_forward_relocator): Likewise.
+ (grub_multiboot_forward_relocator_end): Likewise.
+ (grub_multiboot_backward_relocator): Likewise.
+ (grub_multiboot_backward_relocator_end): Likewise.
+ (grub_multiboot_payload_eip): New variable.
+ (grub_multiboot_payload_orig): Likewise.
+ * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
+ (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
+ * include/grub/i386/memory.h
+ (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
+ (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
+ (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
+ (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
+ (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
+ * include/grub/i386/relocator.h: New file.
+ * include/grub/x86_64/relocator.h: Likewise.
+ * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
+ (XNU_RELOCATOR): New macro.
+ (grub_xnu_launcher_start): Remove.
+ (grub_xnu_launcher_end): Likewise.
+ * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
+ (grub_xnu_heap_real_start): Remove.
+ (grub_xnu_heap_start): Change to void *. All users updated.
+ * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
+ * lib/i386/relocator.c: New file.
+ * lib/i386/relocator_asm.S: Likewise.
+ * lib/i386/relocator_backward.S: Likewise.
+ * lib/mips/relocator.c: Likewise.
+ * lib/mips/relocator_asm.S: Likewise.
+ * lib/relocator.c: Likewise.
+ * loader/i386/multiboot.c: Include grub/i386/relocator.h.
+ (entry): Removed.
+ (playground): Likewise.
+ (grub_multiboot_payload_orig): New variable.
+ (grub_multiboot_payload_dest): Likewise.
+ (grub_multiboot_payload_size): Likewise.
+ (grub_multiboot_payload_eip): Likewise.
+ (grub_multiboot_payload_esp): Likewise.
+ (grub_multiboot_boot): Use grub_relocator32_boot.
+ (grub_multiboot_unload): Free relocators.
+ (grub_multiboot): Setup stack. Use relocators.
+ * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
+ (grub_multiboot_load_elfXX): Use relocators.
+ * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
+ (grub_multiboot_payload_size): Likewise.
+ (grub_multiboot_payload_dest): Likewise.
+ (grub_multiboot_payload_entry_offset): Likewise.
+ (grub_multiboot_forward_relocator): Likewise.
+ (grub_multiboot_backward_relocator): Likewise.
+ (grub_multiboot_real_boot): Likewise.
+ * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
+ (grub_xnu_entry_point): Likewise.
+ (grub_xnu_arg1): Likewise.
+ (grub_xnu_stack): Likewise.
+ (grub_xnu_launch): Removed.
+ (grub_xnu_boot_resume): New function.
+ (grub_xnu_boot): Use relocators.
+ * loader/i386/xnu_helper.S: Removed.
+ * loader/xnu.c (grub_xnu_heap_start): New variable.
+ (grub_xnu_heap_size): Likewise.
+ (grub_xnu_heap_malloc): Use relocators.
+ * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
+
+2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
+ anything.
+
+2009-12-13 Carles Pina i Estany <carles@pina.cat>
+
+ * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
+ GRUB_ERR_NONE before calling grub_env_set.
+
+2009-12-12 Robert Millan <rmh@aybabtu.com>
+
+ * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
+ * genmk.rb (video): New variable.
+ (CLEANFILES, VIDEOFILES): Add #{video}.
+ (#{video}): New target rule.
+ * genvideolist.sh: New file.
+ * Makefile.in (pkglib_DATA): Add video.lst.
+ (video.lst): New target rule.
+ * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
+ `video.lst'.
+ * util/grub.d/30_os-prober.in: Replace `vbe' with
+ ${GRUB_VIDEO_BACKEND}.
+
+2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
+
+ * THANKS: Add David Miller.
+
+2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ libpciaccess support.
+
+ * Makefile.in (LIBPCIACCESS): New variable.
+ (enable_grub_emu_pci): Likewise.
+ * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
+ util/pci.c and commands/lspci.c.
+ (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
+ * configure.ac (grub-emu-pci): New option.
+ * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
+ (grub_pci_device_unmap_range): Likewise.
+ * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
+ (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
+ (grub_pci_address_t) [!GRUB_UTIL]: New type.
+ (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
+ (grub_pci_get_bus) [!GRUB_UTIL]: New function.
+ (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
+ (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
+ * include/grub/pciutils.h: New file.
+ * util/pci.c: Likewise.
+
+2009-12-11 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/misc.c: Don't include <errno.h> twice.
+
+2009-12-10 Felix Zielcke <fzielcke@z-51.de>
+
+ * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
+ name in an error message.
+ (grub_biosdisk_rw): Likewise.
+
+2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Eliminate NTFS 4Gib barrier.
+
+ * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
+ (read_run_data): Likewise.
+ (grub_ntfs_read_run_list): Likewise.
+ (grub_ntfs_read_block): Likewise.
+ (grub_ntfs_iterate_dir): Likewise.
+ (read_mft): Likewise.
+ (read_data): Likewise.
+ Use COM_LOG_LEN.
+ * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
+ to avoid 64-bit division
+ * include/grub/ntfs.h (COM_LOG_LEN): New definition.
+ (grub_ntfs_rlst): Use grub_disk_addr_t.
+
+2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Eliminate grub-fstest 4Gib barrier.
+
+ * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
+ (read_file): Fix error reporting.
+
+2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Eliminate hexdump 4Gib barrier.
+
+ * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
+ * lib/arg.c (grub_arg_parse): Use grub_strtoull.
+
+2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/device.c (grub_device_iterate): Ignore errors during first scan.
+ Fixes amarsh bug.
+
+2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
+
+ Remove miscellaneous files in distclean target.
+
+ * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
+
+2009-12-09 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
+ if they're already set. This resolves the conflict between my
+ grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
+ fixing the --grub-probe option again.
+ * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
+ change on 2009-10-06, so that we now once again source
+ `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
+
+2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
+ `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
+ `util/devicemap.c'.
+
+2009-12-08 Carles Pina i Estany <carles@pina.cat>
+
+ * include/grub/misc.h (grub_printf_): New declaration.
+ * kern/misc.c (grub_printf_): New definition.
+ * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
+ instead of `grub_printf' and `_'.
+ * normal/menu_entry.c (store_completion): Likewise.
+ (run): Likewise.
+ (grub_menu_entry_run): Likewise.
+ * normal/menu_text.c (grub_wait_after_message): Likewise.
+ (notify_booting): Likewise.
+ (notify_fallback): Likewise.
+ (notify_execution_failure): Likewise.
+
+2009-12-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * configure.ac: Check for vasprintf.
+ * util/misc.c (asprintf): Move allocation from here ...
+ (vasprintf): ... to here. New function.
+ (xasprintf): New function.
+ * include/grub/util/misc.h (vasprintf, xasprintf): Add
+ prototypes.
+ * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
+ * util/grub-mkfont.c (write_font): Likewise.
+ * util/grub-probe.c (probe): Likewise.
+ * util/hostdisk.c (make_device_name): Likewise.
+
+2009-12-06 David S. Miller <davem@sunset.davemloft.net>
+
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
+ anything even prefixed with 'cdrom' as a cdrom.
+
+2009-12-06 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
+ mount points.
+
+2009-12-05 Carles Pina i Estany <carles@pina.cat>
+
+ * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
+ grub_gettext_msg_list.
+ (grub_gettext_gettranslation_from_position): Return const char *
+ and not char *.
+ (grub_gettext_translate): Add the translated strings into a list,
+ returns from the list if existing there.
+ (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
+ (grub_gettext_delete_list): Delete the list.
+ (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
+ lang environment variable is changed.
+ (GRUB_MOD_FINI): Call grub_gettext_delete_list.
+
+2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Rename kernel.mod to kernel.img.
+
+ * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
+ (kernel_mod_EXPORTS): Rename to ...
+ (kernel_img_EXPORTS): ... this.
+ (kernel_mod_SOURCES): Rename to ...
+ (kernel_img_SOURCES): ... this.
+ (kernel_mod_HEADERS): Rename to ...
+ (kernel_img_HEADERS): ... this. All users updated.
+ (kernel_mod_CFLAGS): Rename to ...
+ (kernel_img_CFLAGS): ... this.
+ (kernel_mod_ASFLAGS): Rename to ...
+ (kernel_img_ASFLAGS): ... this.
+ (kernel_mod_LDFLAGS): Rename to ...
+ (kernel_img_LDFLAGS): ... this.
+ * conf/x86_64-efi.rmk: Likewise.
+ * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
+ (read_kernel_image): ... this. All users updated.
+ (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
+
+2009-12-05 Carles Pina i Estany <carles@pina.cat>
+
+ * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
+ (print_spaces): New function.
+ (grub_print_ucs4): New function.
+ (getstringwidth): New function.
+ (print_message_indented): New function.
+ (print_message): Gettexttize strings using print_message_indented.
+ (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
+ width.
+ (get_entry_number): Gettextize and uses dynamic terminal width.
+ (notify_booting, notify_fallback, notify_execution_failure):
+ Gettextize.
+ * normal/menu_entry.c (store_completion): Cleanup the gettextized
+ string.
+ (run): Likewise.
+ (grub_menu_entry_run): Likewise.
+ * PO/POTFILES: Add normal/menu_entry.c.
+
+2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
+
+2009-12-05 Carles Pina i Estany <carles@pina.cat>
+
+ * util/grub-install.in: Install gettext .mo files.
+ * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
+
+2009-12-05 Carles Pina i Estany <carles@pina.cat>
+
+ * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
+ grub_dprintf.
+
+2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
+
+ * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
+ non-firmware-dependant one in realmode.S takes precedence.
+
+2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ * commands/halt.c: Replace misc arch-specific headers with
+ `<grub/misc.h>'.
+ * commands/reboot.c: Likewise.
+ * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
+ `<grub/misc.h>'.
+ * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
+ (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
+ (kernel_img_SOURCES): ... to here.
+
+ * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
+ * include/grub/i386/pc/init.h: Likewise.
+ * include/grub/powerpc/ieee1275/kernel.h: Likewise.
+ * include/grub/sparc64/ieee1275/kernel.h: Likewise.
+
+ * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
+
+ * include/grub/i386/halt.h: Remove.
+ * include/grub/i386/reboot.h: Likewise.
+
+ * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
+
+2009-12-03 David S. Miller <davem@sunset.davemloft.net>
+
+ * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
+ grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
+ * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
+ "progname.h"
+ * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
+ * util/sparc64/ieee1275/grub-setup.c: Likewise.
+ (usage): Add missing comma in printf.
+
+2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
+
+ Use the same reboot approach on i386 coreboot and qemu as we do on
+ BIOS.
+
+ * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
+ (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
+ * kern/i386/reboot.c: Remove.
+ * include/grub/i386/reboot.h (grub_reboot): Export function.
+ * kern/i386/pc/startup.S (grub_reboot): Move from here ...
+ * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
+ 0xf000:0xfff0 instead of 0xffff:0x0000.
+ [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
+ * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
+
+2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix $srcdir != $objdir build.
+
+ * Makefile.in (po/%.po): Rewrite as ...
+ ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
+
+2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ Fix GNU/Hurd grub-install crash.
+ * util/grub-probe.c (probe): Try to access `path' only when it is not
+ NULL.
+
+2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Correct module naming.
+
+ * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
+ (GRUB_MOD_INIT(efi_uga)): ... to this
+ (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
+ (GRUB_MOD_FINI(efi_uga)): ... to this
+ * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
+ (GRUB_MOD_INIT(efi_gop)): ... to this
+ (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
+ (GRUB_MOD_FINI(efi_gop)): ... to this
+
+2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
+ translatable.
+ (usage): Translate `arg' strings using gettext().
+ Thanks to Jordi Mallach for the suggestion.
+
+2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ GOP support. Based on patch from Bean
+ (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
+
+ * video/efi_gop.c: New file.
+ * include/grub/efi/graphics_output.h: Likewise.
+ * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
+ (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
+ variables.
+ * conf/x86_64-efi.rmk: Likewise.
+
+2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Rename efi_fb to efi_uga.
+
+ * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
+ 'efi_uga.mod'.
+ (efi_fb_mod_SOURCES): Rename this ...
+ (efi_uga_mod_SOURCES): ... to this.
+ (efi_fb_mod_CFLAGS): Rename this ...
+ (efi_uga_mod_CFLAGS): ... to this.
+ (efi_fb_mod_LDFLAGS): Rename this ...
+ (efi_uga_mod_LDFLAGS): ... to this.
+ * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
+ 'efi_uga.mod'.
+ (efi_fb_mod_SOURCES): Rename this ...
+ (efi_uga_mod_SOURCES): ... to this.
+ (efi_fb_mod_CFLAGS): Rename this ...
+ (efi_uga_mod_CFLAGS): ... to this.
+ (efi_fb_mod_LDFLAGS): Rename this ...
+ (efi_uga_mod_LDFLAGS): ... to this.
+ * video/efi_fb.c: Move this ...
+ * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
+
+2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
+
+ * po/README: New file. Explain our PO file workflow.
+
+2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
+
+ * po/ChangeLog: Remove. Move relevant entries back to ...
+ * ChangeLog: ... here.
+ * po/ca.po: Remove (now handled by TLP).
+ * po/id.po: Likewise.
+ * po/zh_CN.po: Likewise.
+ * Makefile.in (LINGUAS): Initialize in a way that supports
+ empty set.
+
+2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
+
+ * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
+ reliing on po/LINGUAS.
+ ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
+ (po/%.po): ... this.
+
+2009-11-26 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/i386/efi/grub-mkimage.c: Include "progname.h".
+ (main): Use `program_name' instead of nonexistent `progname'.
+
+2009-11-26 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
+ * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
+
+2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
+ commit.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+
+2009-11-26 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
+
+2009-11-26 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
+
+2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
+ (grub_mkdevicemap_SOURCES): New variable.
+ (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
+ (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
+ (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
+ * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
+ (grub_mkdevicemap_SOURCES): Remove.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+ * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
+ (usage): Fix strings to use `program_name'.
+ (main): Initialize gettext.
+ * util/grub-editenv.c: Likewise.
+ * util/grub-emu.c: Likewise.
+ * util/grub-fstest.c: Likewise.
+ * util/grub-mkdevicemap.c: Likewise.
+ * util/grub-mkfont.c: Likewise.
+ * util/grub-mkrelpath.c: Likewise.
+ * util/grub-pe2elf.c: Likewise.
+ * util/grub-probe.c: Likewise.
+ * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
+ * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
+ * util/sparc64/ieee1275/grub-setup.c: Likewise.
+
+ * util/misc.c: Include `"progname.h"'.
+ (progname): Remove variable.
+ (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
+
+2009-11-25 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
+ printf and print a newline after the menuentry header line.
+ * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
+
+2009-11-25 Felix Zielcke <fzielcke@z-51.de>
+
+ autoconf >= 2.60 support $(localedir).
+
+ * INSTALL: Note that autoconf 2.60 is required.
+ * configure.ac (AC_PREREQ): Bump to 2.60.
+ * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
+ * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
+
+2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
+
+ * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
+ aclocal is run.
+
+2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
+
+ * normal/main.c (grub_normal_read_line): Fix off-by-one
+ buffer overflow.
+
+2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
+
+ * normal/main.c (grub_normal_execute): Replace "parser.sh" with
+ "parser.grub" in grub_command_execute() call.
+
+2009-11-24 Carles Pina i Estany <carles@pina.cat>
+
+ * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+ * gettext/gettex.c: Include <grub/i18n.h>.
+ * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
+ here ...
+ * include/grub/i18n.h: ... to here
+ * include/grub/i18n.h: ... to here.
+ * kern/misc.c: Include <grub/i18n.h>
+ (grub_gettext_dummy): Move above user.
+
+2009-11-24 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/Makefile.in (install-local): Convert a `for' into a normal
+ shell expansion.
+
+2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
+
+ * autogen.sh: Add automake call.
+ * config.guess: Remove.
+ * config.sub: Likewise.
+ * install-sh: Likewise.
+
+2009-11-24 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/Makefile.in (install-local): Fix the use of $lang shell variable.
+
+2009-11-24 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/Makefile.in (install-local): Convert a make `$(foreach)'
+ function to a normal shell `for'.
+
+2009-11-24 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
+
+2009-11-24 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkrelpath.c: New file.
+ * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
+ (grub_mkrelpath_SOURCES): New variable.
+ * include/grub/util/misc.h: New function prototype.
+ * util/misc.c (make_system_path_relative_to_its_root): New function.
+
+ * util/grub-mkconfig_lib.in (bindir): New variable.
+ (grub_mkrelpath): Likewise.
+ (make_system_path_relative_to_its_root): Use grub-mkrelpath.
+
+ * util/probe.c (probe): Make the file path relative to its root.
+ Change a info message to use the GRUB path. Enable again the
+ check if we can read the file with GRUB facilities.
+
+ * util/i386/pc/grub-setup.c (setup): Make core.img path relative
+ to its root.
+
+2009-11-24 Felix Zielcke <fzielcke@z-51.de>
+
+ * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
+ platform.
+
+2009-11-24 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/getroot.c (grub_util_get_dev_abstraction): Properly use
+ strncmp().
+
+2009-11-24 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/getroot.c (grub_util_is_dmraid): New function.
+ (grub_util_get_dev_abstraction): Treat dmraid and multipath
+ devices as normal ones, not as LVM.
+
+2009-11-23 Carles Pina i Estany <carles@pina.cat>
+
+ * conf/common.rmk: Add grub-gettext_lib target and updates
+ lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
+ LDFLAGS.
+ * gettext/gettext.c: New file. (Reads mo files).
+ * include/grub/file.h (grub_file_pread): New prototype.
+ * include/grub/i18n.h (_): New prototype.
+ * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
+ prototypes.
+ * kern/misc.c (grub_gettext_dummy): New function.
+ * normal/menu_text.c: Include <grub/i18n.h>.
+ * normal/menu_text.c (print_timeout): Gettexttize string.
+ * normal/menu_text.c (print_message): Gettexttize string.
+ * po/POTFILES: Add `normal/menu_text.c'.
+ * po/ca.po: Add new translations.
+ * util/grub.d/00_header.in: Define locale_dir and lang. insmod
+ gettext module and defines locale_dir and lang in grub.cfg.
+ * NEWS: Add gettext support.
+
+2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/hostdisk.c: Include `<grub/i18n.h>'.
+ (find_grub_drive): Use ARRAY_SIZE for map size calculation.
+ (make_device_name): Rewrite using asprintf.
+ (convert_system_partition_to_system_disk): Replace 0 with NULL.
+ (find_system_device): If a device is not found, generate one just
+ by reusing the OS path name.
+ (read_device_map): Make it permissible for device.map not to exist.
+
+2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
+
+ * script/sh/execute.c: Move from here ...
+ * script/execute.c: ... to here. Update all users.
+ * script/sh/function.c: Move from here ...
+ * script/function.c: ... to here. Update all users.
+ * script/sh/lexer.c: Move from here ...
+ * script/lexer.c: ... to here. Update all users.
+ * script/sh/main.c: Move from here ...
+ * script/main.c: ... to here. Update all users.
+ * script/sh/parser.y: Move from here ...
+ * script/parser.y: ... to here. Update all users.
+ * script/sh/script.c: Move from here ...
+ * script/script.c: ... to here. Update all users.
+
+2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
+
+ * configure.ac: Detect all `emu' platforms. Define
+ GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
+ --enable-grub-emu logic. Disable include/grub/machine
+ symlink on `emu' platforms.
+
+ * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
+ * gensymlist.sh.in: Likewise.
+
+ * include/grub/i386/coreboot/machine.h: Remove file.
+ * include/grub/i386/efi/machine.h: Likewise.
+ * include/grub/i386/ieee1275/machine.h: Likewise.
+ * include/grub/i386/pc/machine.h: Likewise.
+ * include/grub/i386/qemu/machine.h: Likewise.
+ * include/grub/powerpc/ieee1275/machine.h: Likewise.
+ * include/grub/sparc64/ieee1275/machine.h: Likewise.
+ * include/grub/x86_64/efi/machine.h: Likewise.
+
+ * commands/acpi.c: Remove `<grub/machine/machine.h>'.
+ * commands/halt.c: Likewise.
+ * commands/reboot.c: Likewise.
+ * include/grub/autoefi.h: Likewise.
+ * include/grub/i386/at_keyboard.h: Likewise.
+ * include/grub/i386/kernel.h: Likewise.
+ * include/grub/i386/loader.h: Likewise.
+ * include/grub/i386/pc/memory.h: Likewise.
+ * kern/dl.c: Likewise.
+ * kern/i386/coreboot/init.c: Likewise.
+ * loader/i386/bsd.c: Likewise.
+ * loader/i386/linux.c: Likewise.
+ * loader/multiboot_loader.c: Likewise.
+ * term/i386/pc/serial.c: Likewise.
+ * term/usb_keyboard.c: Likewise.
+
+ * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
+ `<grub/machine/machine.h>'
+ [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
+ * util/misc.c: Remove `<grub/machine/machine.h>' and
+ `<grub/machine/time.h>'.
+
+ * Makefile.in (enable_grub_emu): Remove variable.
+ Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
+
+ * conf/any-emu.rmk: New file.
+ * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
+ (grub_emu_init.c): Move from here ...
+ * conf/any-emu.rmk: ... to here.
+
+ * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
+ (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
+ * conf/any-emu.rmk: ... to here.
+
+2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/parser.h (grub_parser_register): Document need
+ of `name' parameter.
+ * normal/main.c (grub_normal_read_line): Simplify prompt string.
+ * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
+ "sh" to "grub".
+
+2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
+
+ * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
+ `$(XGETTEXT)'.
+ * include/grub/i18n.h (N_): New macro.
+ * util/mkisofs/mkisofs.h: Likewise.
+ * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
+ around N_().
+ (usage): Use gettext() to translate help strings when printing them.
+
+2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
+
+ Based on patch from Bean
+ (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
+
+ * video/efi_fb.c: New file.
+ * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
+ (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
+ variables.
+ * conf/x86_64-efi.rmk: Likewise.
+
+2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
+ * util/i386/pc/grub-setup.c: Likewise.
+
+2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
+ <hurd/fs.h>
+ [__GNU__] (grub_guess_root_device): Call file_name_lookup and
+ file_get_storage_info to implement grub_guess_root_device.
+
+2009-11-21 Felix Zielcke <fzielcke@z-51.de>
+
+ * Makefile.in (target): Use make's builtin $(shell) function
+ instead of calling directly $(SHELL) to create the locale directories,
+ inside the $(foreach) function.
+
+2009-11-21 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkrescue.in: Print an error and usage if output option
+ has not been given.
+
+2009-11-21 Felix Zielcke <fzielcke@z-51.de>
+
+ Patch from Loïc Minier <loic.minier@ubuntu.com>.
+ * util/grub.d/30_os-prober.in: Cope with Linux entries where
+ root and /boot are on different devices.
+
+2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix build for srcdir != objdir.
+
+ * Makefile.in (po/$(PACKAGE).pot): Rename to ...
+ ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
+ $(srcdir).
+ ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
+ ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
+ reference for input.
+
+2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub-mkrescue.in: Use source directory direcly (without copiing
+ or hardlinking it). Remove -J option, Joliet is not compatible with
+ multiple source directories.
+
+2009-11-21 Carles Pina i Estany <carles@pina.cat>
+2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub-mkrescue.in: Recognize `--override-directory' option.
+ (process_input_dir): New function. Process an arbitrary input
+ directory.
+ Misc adjustments to support both "override mode" and system-wide mode.
+
+2009-11-20 Felix Zielcke <fzielcke@z-51.de>
+
+ * configure.ac (UNIFONT_BDF): Rename to ...
+ (FONT_SOURCE): ... this. Update all users.
+
+2009-11-20 Felix Zielcke <fzielcke@z-51.de>
+
+ * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
+ to the list of unifont files to look for.
+
+2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
+
+ Patch from Joe Auricchio <jauricchio@gmail.com>
+ * commands/minicmd.c (grub_mini_cmd_clear): New function.
+ (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
+ (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
+
+2009-11-19 Felix Zielcke <fzielcke@z-51.de>
+
+ * Makefile.in (install-local): Add a missing backslash.
+
+2009-11-19 Felix Zielcke <fzielcke@z-51.de>
+
+ * include/grub/x86_64/io.h: New file.
+
+2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
+ * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
+ Include `"progname.h"'.
+ (main): Initialize gettext.
+ * util/i386/pc/grub-setup.c: Gettexttize.
+ * util/i386/pc/grub-mkimage.c: Likewise.
+
+ * Makefile.in (po/*.po): Redefine as ...
+ ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
+
+ * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
+
+2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
+ * util/mkisofs/mkisofs.c: Include `"progname.h"'.
+ (program_name): Remove.
+ (main): Initialize gettext support.
+ * util/mkisofs/mkisofs.h: Include `<locale.h>'.
+ Include `<libintl.h>'.
+ (_): New macro.
+
+ * util/mkisofs/eltorito.c: Gettexttize.
+ * util/mkisofs/joliet.c: Likewise.
+ * util/mkisofs/mkisofs.c: Likewise.
+ * util/mkisofs/multi.c: Likewise.
+ * util/mkisofs/rock.c: Likewise.
+ * util/mkisofs/tree.c: Likewise.
+ * util/mkisofs/write.c: Likewise.
+
+ * po/POTFILES: Update with new files.
+
+2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/mkisofs/eltorito.c: Fix minor mistake in license text.
+ * util/mkisofs/iso9660.h: Likewise.
+ * util/mkisofs/joliet.c: Likewise.
+ * util/mkisofs/mkisofs.c: Likewise.
+ * util/mkisofs/mkisofs.h: Likewise.
+ * util/mkisofs/rock.c: Likewise.
+ * util/mkisofs/tree.c: Likewise.
+ * util/mkisofs/write.c: Likewise.
+
+ * util/mkisofs/eltorito.c (rcsid): Remove.
+ * util/mkisofs/hash.c: Likewise.
+ * util/mkisofs/joliet.c: Likewise.
+ * util/mkisofs/name.c: Likewise.
+ * util/mkisofs/rock.c: Likewise.
+ * util/mkisofs/tree.c: Likewise.
+ * util/mkisofs/write.c: Likewise.
+
+2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/mkisofs/match.c: Rewrite from scratch, using a linked list
+ instead of static allocation.
+ * util/mkisofs/match.h: Likewise.
+
+2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
+
+ * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
+ and `util/grub.d/10_linux.in'.
+ * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
+ translatable Shell files.
+
+2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
+
+ * Makefile.in ($(srcdir)/aclocal.m4): New target.
+
+2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
+
+ * INSTALL: Document Automake is needed for bootstrap.
+ * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
+ * util/grub.d/10_kfreebsd.in (bindir): New variable.
+ Add gettext initialization.
+ (kfreebsd_entry): Make menuentry output translatable.
+
+2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
+
+ * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
+ (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
+ (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
+ (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
+ (LINGUAS): Auto-generate using `po/LINGUAS'.
+ * po/LINGUAS: New file.
+
+2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
+
+ * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
+ other things).
+ * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
+ * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
+ bindtextdomain() calls for gettext initialization.
+
+2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
+
+ * gnulib/progname.c: New file (imported from Gnulib).
+ * gnulib/progname.h: Likewise.
+ * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
+ * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
+ (usage): Replace `progname' with `program_name'.
+ (main): Use set_program_name() for program name initialization.
+
+2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
+ from here ...
+ * Makefile.in (CPPFLAGS): ... to here.
+
+2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
+
+ * aclocal.m4: Move from here ...
+ * acinclude.m4: ... to here.
+ * autogen.sh: Add call to `aclocal'.
+ * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
+
+2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
+
+ * Makefile.in (CLEANFILES): Add `po/*.mo'.
+ (LINGUAS): New variable.
+ (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
+ (install-local): Install MO files.
+ (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
+ * include/grub/i18n.h: New file.
+ * po/POTFILES: New file.
+ * po/ca.po: New file.
+ * util/grub.d/10_linux.in (bindir): New variable.
+ Add gettext initialization.
+ (linux_entry): Make menuentry output translatable.
+ * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
+ (usage): Make --help output translatable.
+ (main): Initialize gettext.
+
+2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
+
+ * import_gcry.py: New file (written by Vladimir with minor
+ adjustments).
+ * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
+ ciphers.
+ * INSTALL: Document that Python is required for bootstrap.
+
+2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
+
+ Import ciphers from libgcrypt 1.4.4.
+
+ * lib/libgcrypt/cipher/ChangeLog
+ * lib/libgcrypt/cipher/ac.c
+ * lib/libgcrypt/cipher/arcfour.c
+ * lib/libgcrypt/cipher/bithelp.h
+ * lib/libgcrypt/cipher/blowfish.c
+ * lib/libgcrypt/cipher/camellia-glue.c
+ * lib/libgcrypt/cipher/camellia.c
+ * lib/libgcrypt/cipher/camellia.h
+ * lib/libgcrypt/cipher/cast5.c
+ * lib/libgcrypt/cipher/cipher.c
+ * lib/libgcrypt/cipher/crc.c
+ * lib/libgcrypt/cipher/des.c
+ * lib/libgcrypt/cipher/dsa.c
+ * lib/libgcrypt/cipher/ecc.c
+ * lib/libgcrypt/cipher/elgamal.c
+ * lib/libgcrypt/cipher/hash-common.c
+ * lib/libgcrypt/cipher/hash-common.h
+ * lib/libgcrypt/cipher/hmac-tests.c
+ * lib/libgcrypt/cipher/md.c
+ * lib/libgcrypt/cipher/md4.c
+ * lib/libgcrypt/cipher/md5.c
+ * lib/libgcrypt/cipher/primegen.c
+ * lib/libgcrypt/cipher/pubkey.c
+ * lib/libgcrypt/cipher/rfc2268.c
+ * lib/libgcrypt/cipher/rijndael-tables.h
+ * lib/libgcrypt/cipher/rijndael.c
+ * lib/libgcrypt/cipher/rmd.h
+ * lib/libgcrypt/cipher/rmd160.c
+ * lib/libgcrypt/cipher/rsa.c
+ * lib/libgcrypt/cipher/seed.c
+ * lib/libgcrypt/cipher/serpent.c
+ * lib/libgcrypt/cipher/sha1.c
+ * lib/libgcrypt/cipher/sha256.c
+ * lib/libgcrypt/cipher/sha512.c
+ * lib/libgcrypt/cipher/tiger.c
+ * lib/libgcrypt/cipher/twofish.c
+ * lib/libgcrypt/cipher/whirlpool.c
+
+2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix build for systems without error().
+
+ * gnulib/error.c: New file (imported from Gnulib).
+ * gnulib/error.h: Likewise.
+ * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
+ * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
+ (this variable is now used by error()).
+
+2009-11-16 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
+ instead of relying that char is signed.
+
+2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
+ blocksize different from specified.
+ (grub_pxefs_read): Likewise.
+
+2009-11-16 Felix Zielcke <fzielcke@z-51.de>
+
+ Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
+
+ * disk/ata.c (grub_ata_dumpinfo): Add a cast.
+ (grub_ata_readwrite): Likewise. Update 2 format strings.
+ (grub_atapi_read): Likewise.
+
+ * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
+ * conf/i386.rmk (pkglib_MODULES): ... to here ...
+ * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
+ * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
+ (ata_mod_LDFLAGS): Move from here ...
+ * conf/i386.rmk: ... to here ...
+ * conf/x86_64-efi.rmk: ... and here.
+ * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
+ (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
+
+2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
+
+ Relicense multiboot.h, with RMS' blessing.
+
+ * include/multiboot.h: Change to X11 license.
+
+2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
+
+ Support --version in grub-mkisofs.
+
+ * util/mkisofs/mkisofs.c (rcsid): Remove variable.
+ (OPTION_VERSION): New macro.
+ (ld_options): Recognize --version.
+ (usage): Move `program_name' from here ...
+ (program_name): ... to here. Add `static' qualifier.
+ (main): Recognize `OPTION_VERSION'.
+
+2009-11-15 Felix Zielcke <fzielcke@z-51.de>
+
+ * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
+ with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
+
+2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix help2man generation for mkisofs.
+
+ * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
+ (usage): Send output to stdout (rather than stderr).
+
+2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
+ `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
+ * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
+ `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
+ (bin_SCRIPTS): Add `grub-mkfloppy'.
+ (grub_mkfloppy_SOURCES): New variable.
+
+ * util/grub-mkrescue.in: New file.
+ * util/i386/pc/grub-mkfloppy.in: New file.
+
+ * util/i386/coreboot/grub-mkrescue.in: Remove.
+ * util/i386/pc/grub-mkrescue.in: Remove.
+
+2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/multiboot.h (struct grub_multiboot_header): Move
+ from here ...
+ * include/multiboot.h (struct multiboot_header): ... to here. Update
+ all users.
+ * include/grub/multiboot.h (struct grub_multiboot_info): Move
+ from here ...
+ * include/multiboot.h (struct multiboot_info): ... to here. Update
+ all users.
+ * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
+ from here ...
+ * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
+ Update all users.
+ * include/grub/multiboot.h (struct grub_mod_list): Move
+ from here ...
+ * include/multiboot.h (struct multiboot_mod_list): ... to here.
+ Update all users.
+
+2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/multiboot2.h (multiboot_word): Rename from this ...
+ (multiboot2_word): ... to this. Update all users.
+ (multiboot_header): Rename from this ...
+ (multiboot2_header): ... to this. Update all users.
+ (multiboot_tag_header): Rename from this ...
+ (multiboot2_tag_header): ... to this. Update all users.
+ (multiboot_tag_start): Rename from this ...
+ (multiboot2_tag_start): ... to this. Update all users.
+ (multiboot_tag_name): Rename from this ...
+ (multiboot2_tag_name): ... to this. Update all users.
+ (multiboot_tag_module): Rename from this ...
+ (multiboot2_tag_module): ... to this. Update all users.
+ (multiboot_tag_memory): Rename from this ...
+ (multiboot2_tag_memory): ... to this. Update all users.
+ (multiboot_tag_unused): Rename from this ...
+ (multiboot2_tag_unused): ... to this. Update all users.
+ (multiboot_tag_end): Rename from this ...
+ (multiboot2_tag_end): ... to this. Update all users.
+
+2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
+
+ Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
+ this platform we should support Multiboot1 first.
+
+ * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
+ (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
+ (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
+
+2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
+ of write calls (converting them to fwrite() if they aren't already).
+ (get_torito_desc): Likewise.
+ * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
+
+2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/i386/pc/grub-install.in: Move from here ...
+ * util/grub-install.in: ... to here. Update all users.
+
+2009-11-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
+
+2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
+
+ Support for El Torito without floppy emulation.
+
+ * util/mkisofs/eltorito.c: Include `<errno.h>'.
+ (init_boot_catalog): Improve error handling.
+ (get_torito_desc): Don't use floppy emulation unless requested by
+ user. Patch boot information table when requested via
+ `-boot-info-table'.
+ * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
+ * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
+ (use_boot_info_table): New variables.
+ (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
+ (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
+ (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
+ `--eltorito-emul-floppy'.
+ (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
+ and `OPTION_ELTORITO_EMUL_FLOPPY'.
+ * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
+ (use_boot_info_table, get_731): New prototypes.
+ * util/mkisofs/write.c (get_731): New function.
+
+2009-11-11 Felix Zielcke <fzielcke@z-51.de>
+
+ Fix the generation of the man page.
+
+ * util/pc/i386/grub-install.in: Source
+ `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
+
+2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
+
+ Large file support for grub-mkisofs.
+
+ * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
+ * util/mkisofs/mkisofs.c (next_extent, last_extent)
+ (session_start): Upgrade type to `uint64_t'. Update all users.
+ * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
+ (struct directory_entry): Upgrade type of `starting_block' and
+ `size' to `uint64_t'. Update all users.
+ (struct deferred): Remove unused structure.
+ (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
+ Update all users.
+ * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
+ file is larger than `UINT32_MAX'.
+ * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
+ `size' to `uint64_t'. Update all users. Fix handling of fwrite()
+ return value.
+ (struct deferred_write): Upgrade type of `extent' and `size' to
+ `uint64_t'. Update all users.
+ (last_extent_written): Upgrade type to `uint64_t'. Update all
+ users.
+ (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
+ Update all users. Upgrade type of `remain' to `int64_t' and
+ `use' to `size_t'. Use error() to handle fread() errors.
+ (write_files): Rely on write_one_file() rather than calling
+ xfwrite() directly.
+
+2009-11-09 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
+
+2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/mkisofs/fnmatch.c: Remove.
+ * util/mkisofs/getopt1.c: Likewise.
+ * util/mkisofs/getopt.c: Likewise.
+ * conf/common.rmk (grub_mkisofs_SOURCES): Replace
+ `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
+ `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
+ `gnulib/getopt1.c' and `gnulib/getopt.c'.
+ (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
+
+ * configure.ac: Detect `mingw32msvc' host_os.
+ Check for lstat(), getuid() and getgid().
+
+ * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
+ instances of `u_char' with `uint8_t'.
+
+ * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
+ [!HAVE_GETUID] (getuid): New function (stub).
+ [!HAVE_GETGID] (getgid): Likewise.
+ [!HAVE_LSTAT] (lstat): Likewise.
+ [!S_IROTH] (S_IROTH): New macro (dummy).
+ [!S_IRGRP] (S_IRGRP): Likewise.
+
+2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
+ conditional expression).
+
+2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ Import from Gnulib.
+
+ * gnulib/fnmatch.c: New file.
+ * gnulib/fnmatch.h: Likewise.
+ * gnulib/fnmatch_loop.c: Likewise.
+ * gnulib/getopt.c: Likewise.
+ * gnulib/getopt.h: Likewise.
+ * gnulib/getopt1.c: Likewise.
+ * gnulib/getopt_int.h: Likewise.
+ * gnulib/gettext.h: Likewise.
+
+2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
+ * normal/handler.c (read_handler_list): Likewise.
+
+2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ Misc cleanup.
+
+ * kern/command.c (grub_register_command_prio): Use
+ grub_zalloc() instead of explicitly zeroing data.
+ * kern/list.c: Include `<grub/mm.h>'.
+ (grub_named_list_find): Replace `0' with `NULL'.
+ * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
+ (fs_module_list): Change type to `grub_named_list_t'. Update all
+ users.
+ * normal/dyncmd.c (read_command_list): Add space between function
+ call and parenthesis.
+ * normal/handler.c (read_handler_list): Likewise.
+
+2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ * normal/auth.c (punishment_delay): Moved from here ...
+ (grub_auth_strcmp): ... to here (inside function).
+
+2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/list.h (struct grub_named_list): Remove `const'
+ qualifier from `name'.
+ (struct grub_prio_list): Likewise.
+
+2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ * normal/auth.c: Include `<grub/time.h>'.
+ (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
+
+2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ * normal/auth.c (punishment_delay): New variable.
+ (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
+ (grub_auth_check_authentication): Punish failed login attempts with
+ an incremental (2^N) delay.
+
+2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
+ path with $(srcdir).
+
+2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
+
+2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/i386/coreboot/grub-mkrescue.in: New file.
+ * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
+ variables.
+
+ * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
+ (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
+ * configure.ac: Add header and function checks to satisfy grub-mkisofs
+ requirements.
+ * util/mkisofs/defaults.h: New file.
+ * util/mkisofs/eltorito.c: Likewise.
+ * util/mkisofs/exclude.h: Likewise.
+ * util/mkisofs/fnmatch.c: Likewise.
+ * util/mkisofs/getopt.c: Likewise.
+ * util/mkisofs/getopt1.c: Likewise.
+ * util/mkisofs/hash.c: Likewise.
+ * util/mkisofs/include/fctldefs.h: Likewise.
+ * util/mkisofs/include/mconfig.h: Likewise.
+ * util/mkisofs/include/prototyp.h: Likewise.
+ * util/mkisofs/include/statdefs.h: Likewise.
+ * util/mkisofs/iso9660.h: Likewise.
+ * util/mkisofs/joliet.c: Likewise.
+ * util/mkisofs/match.c: Likewise.
+ * util/mkisofs/match.h: Likewise.
+ * util/mkisofs/mkisofs.c: Likewise.
+ * util/mkisofs/mkisofs.h: Likewise.
+ * util/mkisofs/multi.c: Likewise.
+ * util/mkisofs/name.c: Likewise.
+ * util/mkisofs/rock.c: Likewise.
+ * util/mkisofs/tree.c: Likewise.
+ * util/mkisofs/write.c: Likewise.
+
+2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
+ being insecure.
+
+2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
+ `grub-mkimage' (and use $0 when possible).
+
+2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
+
+ * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
+ error message for excessively large memory map.
+
+2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
+
+ * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
+ executable bit.
+
+2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
+
+ * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
+ message for coreboot users.
+
+2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix build with GNU gold.
+
+ * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
+ (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
+ (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
+ link addresses.
+ * aclocal.m4: Likewise.
+
+2009-11-04 Felix Zielcke <fzielcke@z-51.de>
+
+ * configure.ac (AC_PREREQ): Bump to 2.59d.
+ * INSTALL: Make it more clear when Autoconf and Ruby are
+ needed and when to run `./autogen.sh'.
+
+2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
+ OSes.
+
+2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * util/grub.d/30_os-prober.in: Add GNU/Hurd support
+
+2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
+ giving it to GNU Mach.
+
+2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
+ GNU partition number to get internal GRUB partition number.
+
+2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
+ ${GRUB_DEVICE_BOOT} before loading /boot kernel.
+
+2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
+
+ Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
+ * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
+ case.
+
+2009-11-01 Felix Zielcke <fzielcke@z-51.de>
+
+ * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
+
+2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix build problem.
+
+ * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
+ `-isystem=$(srcdir)/include'.
+
+2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/i386/pc/grub-install.in: Remove hint that device.map should be
+ checked (grub-install doesn't currently rely on it).
+
+2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
+
+ Revert SVN r2660.
+
+ * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
+ * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
+ * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+
+2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
+
+ * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
+
+2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/misc.h: Stop checking for APPLE_CC.
+
+2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
+
+ * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
+ doesn't cause an infinite call loop.
+
+2009-10-28 Felix Zielcke <fzielcke@z-51.de>
+
+ * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
+ strings.
+
+2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
+ variable.
+ * Makefile.in: Likewise.
+
+2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
+
+2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * Makefile.in (RMKFILES): Rewrite using $(wildcard).
+
+2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
+
+2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
+ from here ...
+ * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
+
+2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * Makefile.in (docs/grub.info): Use make syntax to ignore errors
+ in $(MAKEINFO) invocation. This makes it clear in output that
+ errors are being ignored.
+
+2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
+ from here ...
+ * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
+ * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+
+2009-10-26 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-editenv.c (main): If only a command is given, use
+ DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
+ (usage): FILENAME is now optional and has a default.
+
+2009-10-26 Colin Watson <cjwatson@ubuntu.com>
+
+ Improve grub-mkconfig performance when there are several menu
+ entries on a single filesystem.
+
+ * util/grub.d/10_linux.in (linux_entry): Cache the output of
+ prepare_grub_to_access_device.
+ * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
+ * util/grub.d/30_os-prober.in: Likewise.
+
+2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub.d/10_freebsd.in: Remove.
+ * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
+ * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
+
+2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * docs/grub.cfg: Fix example usage of *BSD loaders.
+
+2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/i386/pc/grub-setup.c (setup): Add missing parameter to
+ grub_util_error() call.
+
+2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
+ `reserved_first_sector' member.
+ * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
+ `reserved_first_sector' to 1.
+ * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
+ * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
+ * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
+ * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
+ filesystems which begin at first sector.
+ (options): New option --skip-fs-probe.
+ (main): Handle --skip-fs-probe and pass it to setup().
+
+2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
+ (memset): Fix function prototype.
+
+2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
+2009-10-25 Vasily Averin <vvs@parallels.com>
+
+ * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
+ `dirent.direntlen == 0'.
+
+2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
+
+ * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
+ `cpio'.
+ [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
+
+2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
+
+ * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
+ `__trampoline_setup' and `__ucmpdi2'.
+ * include/grub/powerpc/libgcc.h: Only export symbols for functions
+ that libgcc provides.
+
+2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
+ * include/grub/sparc64/libgcc.h (memset): Likewise.
+ * include/grub/misc.h (memset, memcmp): New function prototypes.
+
+2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
+
+ * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
+ `cpio'.
+ [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
+
+2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
+
+ Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
+ * docs/grub.cfg: Compensate for recent change in multiboot
+ loader (since 2009-08-14 it won't pass filename to payload).
+ * util/grub.d/10_hurd.in: Likewise.
+
+2009-10-21 Felix Zielcke <fzielcke@z-51.de>
+
+ * config.guess: Update to latest version from config git
+ repository.
+ * config.sub: Likewise.
+
+2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix build on sparc64.
+
+ * configure.ac: Perform checks for libgcc symbols before
+ adding `-nostdlib' to LDFLAGS.
+
+2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Let user specify OpenBSD root device.
+
+ * loader/i386/bsd.c (openbsd_root): New variable.
+ (openbsd_opts): New option 'root'.
+ (OPENBSD_ROOT_ARG): New macro.
+ (grub_openbsd_boot): Use 'openbsd_root'.
+ (grub_cmd_openbsd): Fill 'openbsd_root'.
+
+2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
+
+ * NEWS: Misc adjustments.
+
+2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
+
+2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
+
+ * configure.ac: Bump version to 1.97.
+
+2009-10-16 Colin Watson <cjwatson@ubuntu.com>
+
+ * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
+ -mno-3dnow on x86 architectures. Some toolchains enable these
+ features by default, but they rely on registers that aren't enabled
+ in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
+
+2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
+
+ Make entry text a bit more readable.
+
+ * util/grub.d/10_linux.in: Add `with' before `Linux'.
+
+2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
+
+2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
+ operations.
+
+2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Add missing dollar.
+
+2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
+
+ * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
+ * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
+ exports.
+ * include/grub/sparc64/libgcc.h: Likewise. Use
+ preprocessor conditionals.
+
+2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/common.rmk (grub-dumpbios): Remove rule.
+ (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
+ * util/grub-dumpbios.in: Remove file.
+
+2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
+
+ Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
+ the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
+
+ * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
+ from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
+ users.
+
+ (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
+ "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
+ to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
+ and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
+ users.
+
+2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
+
+ * term/tparm.c: Switch to GPLv3.
+
+2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/cpuid.h: Add header protection.
+
+2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
+
+ * include/grub/i386/cpuid.h: New file.
+ * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
+ (has_longmode): Rename to ...
+ (grub_cpuid_has_longmode): ... this. Update all users. Remove
+ `static' attribute.
+ * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
+ (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
+ on a CPU that doesn't implement AMD64 instruction set.
+
+2009-10-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
+ that version.texi is rebuilt on version number changes.
+
+2009-10-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in: Don't set info_INFOS unless makeinfo was found.
+ Fixes bug #27602.
+
+2009-10-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/i386/pc/grub-install.in: Source
+ ${libdir}/grub/grub-mkconfig_lib before option processing, in order
+ that the --grub-probe option will work.
+ * util/sparc64/ieee1275/grub-install.in: Likewise.
+
+2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
+
+ * configure.ac: Bump version to 1.97~beta4.
+
+2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
+
+ Resync grub-mkdevicemap in x86_64-efi.
+
+ * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
+ (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
+ `util/devicemap.c'.
+
+2009-10-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-editenv.c (create_envblk_file): Write new block with a
+ .new suffix and then rename it into place, to ensure atomic
+ creation.
+
+2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
+
+ Do not automatically install headers.
+
+ * Makefile.in (include_DATA): Remove. Update all users.
+
+2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
+ (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
+
+ * util/osdetect.lua: Remove.
+ * script/lua/lauxlib.c: Likewise.
+ * script/lua/ldebug.c: Likewise.
+ * script/lua/grub_main.c: Likewise.
+ * script/lua/lauxlib.h: Likewise.
+ * script/lua/ldebug.h: Likewise.
+ * script/lua/ltablib.c: Likewise.
+ * script/lua/liolib.c: Likewise.
+ * script/lua/lstrlib.c: Likewise.
+ * script/lua/lualib.h: Likewise.
+ * script/lua/ldo.c: Likewise.
+ * script/lua/ldump.c: Likewise.
+ * script/lua/ldo.h: Likewise.
+ * script/lua/loslib.c: Likewise.
+ * script/lua/lundump.c: Likewise.
+ * script/lua/grub_lib.c: Likewise.
+ * script/lua/ldblib.c: Likewise.
+ * script/lua/lundump.h: Likewise.
+ * script/lua/lmem.c: Likewise.
+ * script/lua/grub_lib.h: Likewise.
+ * script/lua/lmathlib.c: Likewise.
+ * script/lua/lstate.c: Likewise.
+ * script/lua/ltm.c: Likewise.
+ * script/lua/lvm.c: Likewise.
+ * script/lua/lmem.h: Likewise.
+ * script/lua/lstate.h: Likewise.
+ * script/lua/ltm.h: Likewise.
+ * script/lua/ltable.c: Likewise.
+ * script/lua/lvm.h: Likewise.
+ * script/lua/llex.c: Likewise.
+ * script/lua/lgc.c: Likewise.
+ * script/lua/grub_lua.h: Likewise.
+ * script/lua/loadlib.c: Likewise.
+ * script/lua/lfunc.c: Likewise.
+ * script/lua/lopcodes.c: Likewise.
+ * script/lua/lparser.c: Likewise.
+ * script/lua/ltable.h: Likewise.
+ * script/lua/llex.h: Likewise.
+ * script/lua/lgc.h: Likewise.
+ * script/lua/lfunc.h: Likewise.
+ * script/lua/lbaselib.c: Likewise.
+ * script/lua/lopcodes.h: Likewise.
+ * script/lua/lparser.h: Likewise.
+ * script/lua/lzio.c: Likewise.
+ * script/lua/linit.c: Likewise.
+ * script/lua/lobject.c: Likewise.
+ * script/lua/llimits.h: Likewise.
+ * script/lua/lstring.c: Likewise.
+ * script/lua/lzio.h: Likewise.
+ * script/lua/lapi.c: Likewise.
+ * script/lua/lcode.c: Likewise.
+ * script/lua/lua.h: Likewise.
+ * script/lua/lobject.h: Likewise.
+ * script/lua/lstring.h: Likewise.
+ * script/lua/lapi.h: Likewise.
+ * script/lua/lcode.h: Likewise.
+ * script/lua/luaconf.h: Likewise.
+
+2009-09-26 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Command-line and menu entry commands): Document
+ date and echo commands.
+
+2009-09-24 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/kernel.h (struct grub_module_header): Remove
+ `grub_module_header_types'. Make `type' unsigned. Make `size'
+ 32-bit on all platforms.
+ * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
+ 8-bit field. Use grub_host_to_target32() for `size'.
+ * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
+ * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
+ * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
+
+2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix "lost keypress" bug in at_keyboard.
+
+ * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
+ Checks for readyness of input buffer (without flushing it).
+ (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
+ than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
+
+2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
+ size check within GRUB_MACHINE_PCBIOS section.
+
+2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
+ return value.
+ * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
+ KEYBOARD_ISREADY check.
+ (grub_at_keyboard_checkkey): Rename to ...
+ (grub_at_keyboard_getkey_noblock): ... this. Update all users.
+ Remove gratuitous cast.
+
+2009-09-23 Colin Watson <cjwatson@ubuntu.com>
+
+ * configure.ac: Call AC_PROG_MKDIR_P.
+ * Makefile.in (docs/stamp-vti): Create docs directory. Create
+ version.texi in $(builddir) rather than $(srcdir).
+ (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
+ to makeinfo's @include search path.
+
+2009-09-23 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
+
+2009-09-23 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
+ for `*.dpkg-new'.
+
+2009-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ Build info documentation. Some code borrowed from Automake.
+
+ * configure.ac: Check for makeinfo.
+ * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
+ (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
+ docs/version.texi.
+ (MOSTLYCLEANFILES): Add vti.tmp.
+ (docs/version.texi, docs/stamp-vti): Update automatically.
+ (docs/grub.info): Build info documentation. Use --force and ignore
+ errors for now.
+ (all-local): Add $(INFOS).
+ (install-local): Install info files.
+ (uninstall): Uninstall info files.
+ * docs/version.texi: Remove from revision control. This file is
+ automatically generated on build now.
+ * gendistlist.sh: Add `*.info'.
+
+2009-09-21 Felix Zielcke <fzielcke@z-51.de>
+
+ * kern/term.c: Fix indentation.
+
+2009-09-21 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/hostdisk.c: Fix a comment.
+
+2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix regression introduced in r2539.
+
+ * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
+ to 0xA1.
+
+2009-09-19 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/30_os-prober.in: Don't throw away stderr from
+ os-prober. Under normal operation, it does not print anything to
+ stderr; if it does, we need to debug it, and throwing away stderr
+ makes that excessively difficult.
+
+2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
+
+2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
+
+ * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
+ AC_LANG_PROGRAM from autoconf.
+ (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
+ prototypes (fixes warning).
+
+ * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
+ `--disable-werror' was used.
+
+2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
+
+ * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
+ uninitialized `lastaddr'.
+
+2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
+
+2009-09-14 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/test.c (get_fileinfo): Return immediately if
+ grub_fs_probe fails.
+
+2009-09-14 José Martínez <xosemp@gmail.com>
+
+ * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
+
+2009-09-14 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
+ output.
+
+2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
+
+ * configure.ac: Remove --enable-grub-pe2elf. Only build
+ grub-pe2elf when needed by the build system itself.
+ * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
+
+2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
+
+ * configure.ac: Bump version to 1.97~beta3.
+ * docs/version.texi: Likewise.
+
+2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
+
+ * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
+ mode special handling (grub_vbe_bios_set_dac_palette_width() call)
+ from here ...
+ * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
+ (grub_linux_setup_video): ... to here (with some adjustments).
+
+2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix memory corruption issue (spotted by Colin Watson).
+
+ * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
+ causing returned size to be stored in an incorrect memory location.
+ Fix use of uninitialized value when storing the returned size.
+
+2009-09-12 Yves Blusseau <blusseau@zetam.org>
+
+ Change clean rules to properly remove files
+
+ * genmk.rb: add new clean rules
+ * Makefile.in (clean): add the new targets
+ (mostlyclean): likewise
+
+2009-09-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
+ to grub_uint64_t.
+ * fs/ntfs.c (init_file): Understand 64-bit sizes for
+ non-resident files.
+
+2009-09-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * configure.ac: Don't look for help2man when cross-compiling. Fixes
+ part of bug #27349.
+
+2009-09-10 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkconfig.in: Make the created config mode 400 and
+ print a warning if it fails.
+
+2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub.d/40_custom.in: Ask user to type custom entries below
+ comment, rather than below 'exec tail' line.
+
+2009-09-10 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/40_custom.in: Make sure that the explanatory text is
+ visible in grub.cfg.
+
+2009-09-10 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/40_custom.in: Make it a little clearer how to use this
+ file.
+
+2009-09-10 Felix Zielcke <fzielcke@z-51.de>
+
+ * docs/grub.cfg: Add an example menu entry for memtest86+.
+
+2009-09-09 Felix Zielcke <fzielcke@z-51.de>
+
+ * config.guess: Update to latest version from config git.
+ * config.sub: Likewise.
+
+2009-09-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
+ unknown-command case. Fixes bug #27320.
+
+2009-09-08 Felix Zielcke <fzielcke@z-51.de>
+
+ * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
+ `help' if the command exists.
+
+2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
+
+ * INSTALL: Require GCC 4.1.3 or later.
+
+2009-09-06 Yves Blusseau <blusseau@zetam.org>
+
+ * Makefile.in (RMKFILES): add i386-qemu.rmk
+ (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
+ $(srcdir)/stamp-h.in
+
+2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub-probe.c (probe): Comment out buggy codepath, which
+ was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
+ should be re-enabled after 1.97.
+
+2009-09-05 Felix Zielcke <fzielcke@z-51.de>
+
+ * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
+ find searches for.
+
+2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
+ unnecessary calls to grub_error.
+
+2009-09-04 Colin Watson <cjwatson@ubuntu.com>
+
+ * NEWS: Mention `keystatus' and Unicode fonts.
+
+2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ * configure.ac: Bump version to 1.97~beta2.
+ * docs/version.texi: Likewise.
+
+2009-09-03 Colin Watson <cjwatson@ubuntu.com>
+
+ * configure.ac: By default, GCC 4.4 generates .eh_frame sections
+ containing unwind information in some cases where it previously did
+ not. Use -fno-dwarf2-cfi-asm if available to restore the old
+ behaviour. See http://patchwork.kernel.org/patch/8555/ for related
+ discussion.
+
+2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
+
+ Embedding loadenv module into grub-emu
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
+ commands/loadenv.c
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
+ * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
+
+2009-09-03 Magnus Granberg <zorry@ume.nu>
+
+ * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
+ include -fPIE in the default specs.
+ * configure.ac: Check if pie_possible is yes and add -fno-PIE
+ to TARGET_CFLAGS.
+
+2009-09-03 Felix Zielcke <fzielcke@z-51.de>
+
+ * INSTALL: Note that GNU Bison 2.3 or later is required.
+
+2009-09-03 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/i386/pc/startup.S: Fix typo.
+
+2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
+ according to GCS.
+
+2009-09-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Naming convention): Describe one-based partition
+ numbering.
+ (Device syntax): Likewise.
+ (File name syntax): Likewise.
+ (Block list syntax): Likewise.
+ (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
+ menu.lst.
+ (File name syntax): Likewise.
+ (Command-line and menu entry commands): Document acpi, blocklist,
+ crc, export, insmod, keystatus, ls, set, and unset commands.
+
+2009-09-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
+ to avoid implying that only one of --shift, --ctrl, or --alt may be
+ used.
+
+2009-09-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
+ rather than comparing against S_IFREG, which will almost never work.
+
+2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/loadenv.c (check_blocklists): Fix off-by-one error.
+ (write_blocklists): Likewise.
+
+2009-09-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * script/lua/grub_lua.h (fputs): Supply a format string as the first
+ argument to grub_printf.
+
+2009-09-01 Felix Zielcke <fzielcke@z-51.de>
+
+ * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
+ non GNU test.
+
+2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/file.c (grub_file_read): Spelling fix
+
+2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
+ loading of headers in some cases.
+
+2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
+
+ * configure.ac: Bump version to 1.97~beta1.
+ * docs/version.texi: Likewise.
+
+2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/i386/xnu.h: Add license header.
+ include grub/err.h explicitly.
+
+2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
+ to `ufs' in the vfs.root.mountfrom kernel parameter.
+
+2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
+
+ * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
+
+ [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
+ value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
+
+ [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
+ `ARRAY_SIZE' macro.
+
+2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/file.c (grub_file_read): Check offset.
+ * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
+ * fs/jfs.c (grub_jfs_read_file): Likewise.
+ * fs/ntfs.c (grub_ntfs_read): Likewise.
+ * fs/reiserfs.c (grub_reiserfs_read): Likewise.
+ * fs/minix.c (grub_minix_read_file): Correct offset check.
+ * fs/ufs.c (grub_ufs_read_file): Likewise.
+
+2009-08-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * term/i386/pc/console.c (bios_data_area): Cast
+ GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
+
+2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ 1-bit optimised blitters.
+
+ * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
+ prototype.
+ (grub_video_fbblit_replace_24bit_1bit): Likewise.
+ (grub_video_fbblit_replace_16bit_1bit): Likewise.
+ (grub_video_fbblit_replace_8bit_1bit): Likewise.
+ (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
+ (grub_video_fbblit_blend_XXX888_1bit): Likewise.
+ (grub_video_fbblit_blend_XXX565_1bit): Likewise.
+ * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
+ function.
+ (grub_video_fbblit_replace_24bit_1bit): Likewise.
+ (grub_video_fbblit_replace_16bit_1bit): Likewise.
+ (grub_video_fbblit_replace_8bit_1bit): Likewise.
+ (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
+ (grub_video_fbblit_blend_XXX888_1bit): Likewise.
+ (grub_video_fbblit_blend_XXX565_1bit): Likewise.
+ * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
+ when possible.
+ * video/video.c (grub_video_get_blit_format): Return
+ GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
+
+2009-08-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * normal/cmdline.c (grub_cmdline_get): Supply a format string as
+ the first argument to grub_printf.
+
+2009-08-28 Colin Watson <cjwatson@ubuntu.com>
+2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
+
+ Add `getkeystatus' terminal method. Add a new `keystatus' command
+ to query it.
+
+ * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
+ GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
+ modifier key bitmasks.
+ (struct grub_term_input): Add `getkeystatus' member.
+ (grub_getkeystatus): Add prototype.
+ * kern/term.c (grub_getkeystatus): New function.
+
+ * include/grub/i386/pc/memory.h
+ (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
+ (struct grub_machine_bios_data_area): Define necessary parts of BIOS
+ Data Area layout.
+ * term/i386/pc/console.c (grub_console_getkeystatus): New function.
+ (grub_console_term_input): Set `getkeystatus' member.
+ * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
+ constants.
+ (grub_usb_keyboard_getreport): Likewise.
+ (grub_usb_keyboard_checkkey): Likewise.
+ (grub_usb_keyboard_getkeystatus): New function.
+ (grub_usb_keyboard_term): Set `getkeystatus' member.
+
+ * commands/keystatus.c: New file.
+ * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
+ (keystatus_mod_SOURCES): New variable.
+ (keystatus_mod_CFLAGS): Likewise.
+ (keystatus_mod_LDFLAGS): Likewise.
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
+ commands/keystatus.c.
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
+
+2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Split befs.mod and afs.mod into *_be.mod and *.mod
+
+ * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
+ (grub_fstest_SOURCES): Likewise.
+ (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
+ (afs_be_mod_SOURCES): New variable.
+ (afs_be_mod_CFLAGS): Likewise.
+ (afs_be_mod_LDFLAGS): Likewise.
+ (befs_be_mod_SOURCES): Likewise.
+ (befs_be_mod_CFLAGS): Likewise.
+ (befs_be_mod_LDFLAGS): Likewise.
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
+ (grub_emu_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
+ * fs/afs_be.c: New file.
+ * fs/befs_be.c: New file.
+ * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
+ (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
+ (U16): Replaced with ...
+ (grub_afs_to_cpu16): ...this. All users updated.
+ (U32): Replaced with ...
+ (grub_afs_to_cpu32): ...this. All users updated.
+ (U64): Replaced with ...
+ (grub_afs_to_cpu64): ...this. All users updated.
+ (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
+ (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
+ (grub_afs_validate_sblock): Check only one endianness.
+ (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
+ (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
+ (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
+ (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
+ (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
+ (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
+ (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
+ (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
+
+2009-08-26 Bean <bean123ch@gmail.com>
+
+ * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
+ 64-bit number.
+ (GRUB_XFS_FSB_TO_BLOCK): Likewise.
+ (grub_xfs_inode_block): Change return type to grub_uint64_t.
+ (grub_xfs_read_inode): Change type of block to grub_uint64_t.
+
+2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ NetBSD memory map support.
+
+ * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
+ (grub_netbsd_btinfo_mmap_header): New structure.
+ (grub_netbsd_btinfo_mmap_entry): Likewise.
+ * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
+
+2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Enable bsd.mod on coreboot.
+
+ * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
+ (bsd_mod_SOURCES): New variable.
+ (bsd_mod_CFLAGS): Likewise.
+ (bsd_mod_LDFLAGS): Likewise.
+ (bsd_mod_ASFLAGS): Likewise.
+ * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
+ (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
+
+2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Cleanup NetBSD root support.
+
+ * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
+ grub_bsd_get_device.
+ Fix typo.
+
+2009-08-25 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub.d/00_header.in: Move check for the video backend of
+ gfxterm from here ...
+ * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
+ a suitable video backend.
+
+2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix breakage in grub-setup.
+
+ * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
+ "msdos_partition_map".
+
+2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix breakage in normal/auth.c.
+
+ * normal/auth.c (grub_iswordseparator): New function.
+
+2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Authentication support.
+
+ * commands/password.c: New file.
+ * conf/common.rmk (pkglib_MODULES): Add password.mod.
+ (password_mod_SOURCES): New variable.
+ (password_mod_CFLAGS): Likewise.
+ (password_mod_LDFLAGS): Likewise.
+ (normal_mod_SOURCES): Add normal/auth.c.
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
+ normal/auth.c.
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
+ * include/grub/auth.h: New file.
+ * include/grub/err.h (grub_err_t): New enum value
+ GRUB_ERR_ACCESS_DENIED.
+ * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
+ 'users'.
+ * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
+ * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
+ users updated.
+ * normal/auth.c: New file.
+ * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
+ (grub_cmdline_run): Don't allow to go to command line without
+ authentication.
+ * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
+ * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
+ menuentry without superuser rights.
+ * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
+ user isn't a superuser.
+
+2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Save space by inlining misc.c functions.
+
+ * kern/misc.c (grub_iswordseparator): Made static.
+ * kern/misc.c (grub_strcat): Moved from here ...
+ * include/grub/misc.h (grub_strcat): ... here. Inlined.
+ * kern/misc.c (grub_strncat): Moved from here ...
+ * include/grub/misc.h (grub_strncat): ... here. Inlined.
+ * kern/misc.c (grub_strcasecmp): Moved from here ...
+ * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
+ * kern/misc.c (grub_strncasecmp): Moved from here ...
+ * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
+ * kern/misc.c (grub_isalpha): Moved from here ...
+ * include/grub/misc.h (grub_isalpha): ... here. Inlined.
+ * kern/misc.c (grub_isdigit): Moved from here ...
+ * include/grub/misc.h (grub_isdigit): ... here. Inlined.
+ * kern/misc.c (grub_isgraph): Moved from here ...
+ * include/grub/misc.h (grub_isgraph): ... here. Inlined.
+ * kern/misc.c (grub_tolower): Moved from here ...
+ * include/grub/misc.h (grub_tolower): ... here. Inlined.
+
+2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * script/sh/function.c (grub_script_function_find): Cut error message
+ not to flood terminal.
+ * script/sh/lexer.c (grub_script_yylex): Remove command line length
+ limit.
+ * script/sh/script.c (grub_script_arg_add): Duplicate string.
+
+2009-08-24 Colin Watson <cjwatson@ubuntu.com>
+
+ * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
+ `report' grub_uint8_t *.
+ (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
+ Use a 50-millisecond timeout rather than just repeating
+ grub_usb_keyboard_getreport 50 times.
+ (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
+
+2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Rename *_partition_map to part_*
+
+ * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
+ * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
+ * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
+ * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
+ All users updated.
+ * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
+ All users updated.
+ * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
+ * util/grub-probe.c (probe_partmap): Don't transform partition name
+ to get module name.
+
+2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix OpenBSD and NetBSD support.
+
+ * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
+ memory address conflict.
+ (OPENBSD_MMAP_ACPI): New definition.
+ (OPENBSD_MMAP_NVS): Likewise.
+ * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
+ and OPENBSD_MMAP_NVS.
+ Add memory map terminator
+ Explicit cast when calling grub_unix_real_boot.
+ (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
+
+2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Let user specify NetBSD root device.
+
+ * loader/i386/bsd.c (netbsd_root): New variable.
+ (netbsd_opts): New option 'root'.
+ (NETBSD_ROOT_ARG): New macro.
+ (grub_netbsd_boot): Use 'netbsd_root'.
+ (grub_bsd_unload): Free 'netbsd_root'.
+ (grub_cmd_netbsd): Fill 'netbsd_root'.
+
+2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support for 64-bit NetBSD.
+
+ * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
+ point when booting non-FreeBSD.
+
+2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support --no-smp and --no-acpi for NetBSD.
+
+ * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
+ (NETBSD_AB_NOACPI): Likewise.
+ * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
+ (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
+
+2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
+ errors.
+ (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
+ errors. Call grub_error when needed.
+
+2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/search.c (search_fs): Try searching without autoload first.
+ * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
+ filesystem module explicitly for faster booting.
+
+2009-08-23 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
+
+2009-08-23 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/30_os-prober.in: Disable os-prober if
+ `GRUB_DISABLE_OS_PROBER' was set to true.
+
+2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
+
+ * partmap/pc.c: Rename to ...
+ * partmap/msdos.c: ... this. Update all users.
+ (grub_pc_partition_map): Rename to ...
+ (grub_msdos_partition_map): ... this. Update all users.
+
+ * parttool/pcpart.c: Rename to ...
+ * parttool/msdospart.c: ... this. Update all users.
+
+ * include/grub/pc_partition.h: Rename to ...
+ * include/grub/msdos_partition.h: ... this. Update all users.
+ (grub_pc_partition_bsd_entry): Rename to ...
+ (grub_msdos_partition_bsd_entry): ... this. Update all users.
+ (grub_pc_partition_disk_label): Rename to ...
+ (grub_msdos_partition_disk_label): ... this. Update all users.
+ (grub_pc_partition_entry): Rename to ...
+ (grub_msdos_partition_entry): ... this. Update all users.
+ (grub_pc_partition_mbr): Rename to ...
+ (grub_msdos_partition_mbr): ... this. Update all users.
+ (grub_pc_partition): Rename to ...
+ (grub_msdos_partition): ... this. Update all users.
+ (grub_pc_partition_is_empty): Rename to ...
+ (grub_msdos_partition_is_empty): ... this. Update all users.
+ (grub_pc_partition_is_extended): Rename to ...
+ (grub_msdos_partition_is_extended): ... this. Update all users.
+ (grub_pc_partition_is_bsd): Rename to ...
+ (grub_msdos_partition_is_bsd): ... this. Update all users.
+
+ * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
+ (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
+ (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
+ (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
+ (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
+ (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
+ (gpt_mod_LDFLAGS): Rename to ...
+ (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
+ (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
+ (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
+ (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
+ (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
+ (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
+ (part_gpt_mod_LDFLAGS): ... this.
+ (pkglib_MODULES): Prefix partition modules with `part_'. Rename
+ `pcpart.mod' to `msdospart.mod'.
+ (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
+ to ...
+ (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
+ (msdospart_mod_LDFLAGS): ... this.
+
+2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
+ (openbsd_opts): Likewise.
+ (netbsd_opts): Likewise.
+ (freebsd_flags): Added 0 terminator.
+ (openbsd_flags): Likewise.
+ (netbsd_flags): Likewise.
+ (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
+ (grub_cmd_freebsd): Transformed into extended command.
+ (grub_cmd_openbsd): Likewise.
+ (grub_cmd_netbsd): Likewise.
+ (cmd_freebsd): Changed type to grub_extcmd_t.
+ (cmd_openbsd): Likewise.
+ (cmd_netbsd): Likewise.
+ (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
+ grub_cmd_openbsd as extended commands.
+ (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
+ cmd_netbsd and cmd_openbsd
+
+2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
+
+2009-08-21 Pavel Roskin <proski@gnu.org>
+
+ * Makefile.in (install-local): When checking if a file is in the
+ build directory, use "test -e" to detect symlinks.
+
+ * Makefile.in (install-local): Remove all files in
+ $(DESTDIR)$(pkglibdir) before installing new files there.
+
+2009-08-18 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
+ grub-mkelfimage.
+
+2009-08-18 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkconfig.in: Don't use gfxterm by default if not
+ explicitly specified by the user.
+
+2009-08-18 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
+ grub_uint8_t pointer for data.
+ * include/grub/fbutil.h (struct grub_video_fbblit_info):
+ Likewise.
+ * video/fb/fbutil.c: Remove unnecessary casts.
+
+2009-08-17 Michal Suchanek <hramrach@centrum.cz>
+
+ VBE cleanup.
+
+ * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
+ (grub_vbe_set_video_mode): Save active mode info
+ only after setting the mode.
+ (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
+ second argument.
+
+2009-08-17 Michal Suchanek <hramrach@centrum.cz>
+
+ Rename variables for clarity.
+
+ * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
+ (active_vbe_mode_info): ... this. All users updated.
+ (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
+ All users updated.
+ (initial_mode): Rename to ...
+ (initial_vbe_mode): ... this. All users updated.
+ (mode_in_use): Rename to ..
+ (vbe_mode_in_use): ... this. All users updated.
+ (mode_list): Rename to ..
+ (vbe_mode_list): ... this. All users updated.
+ (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
+ 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
+ (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
+ 'mode_list_size' to 'vbe_mode_list_size'.
+ (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
+ 'best_mode_info' to 'best_vbe_mode_info' and
+ 'best_mode' to 'best_vbe_mode'
+
+2009-08-17 Michal Suchanek <hramrach@centrum.cz>
+
+ Remove duplicate grub_video_fb_get_video_ptr.
+
+ * include/grub/fbutil.h (get_data_ptr): Rename to ...
+ (grub_video_fb_get_video_ptr): ... this.
+ * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
+ * video/fb/fbutil.c: Add comment about addressing.
+ (get_data_ptr): Rename to ...
+ (grub_video_fb_get_video_ptr): ... this. All users updated.
+ * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
+
+2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
+
+ * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
+ grub_dprintf() that was just added.
+
+2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
+ (DEFAULT_VIDEO_MODE): Remove macros.
+ (grub_linux_boot): Remove assumption that Linux has FB support,
+ and use "text" as default video mode.
+
+2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
+ grub_dprintf.
+ * fs/fat.c (grub_fat_read_data): Likewise.
+
+2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
+ payload.
+ (grub_module): Likewise.
+
+2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
+ mbi->cmdline but free playground.
+
+2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Handle group offset on UFS1.
+
+ * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
+ (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
+
+2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Split ufs.mod into ufs1.mod and ufs2.mod.
+
+ * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
+ (grub_fstest_SOURCES): Likewise.
+ (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
+ (ufs_mod_SOURCES): Remove.
+ (ufs_mod_CFLAGS): Likewise.
+ (ufs_mod_LDFLAGS): Likewise.
+ (ufs1_mod_SOURCES): New variable.
+ (ufs1_mod_CFLAGS): Likewise.
+ (ufs1_mod_LDFLAGS): Likewise.
+ (ufs2_mod_SOURCES): New variable.
+ (ufs2_mod_CFLAGS): Likewise.
+ (ufs2_mod_LDFLAGS): Likewise.
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
+ * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
+ Likewise.
+ (grub_emu_SOURCES): Likewise.
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
+ (grub_setup_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
+ (grub_setup_SOURCES): Likewise.
+ * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
+ Likewise.
+ * fs/ufs2.c: New file.
+ * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
+
+2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Framebuffer split.
+
+ * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
+ subsystem at the end.
+ * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
+ (video_fb_mod_SOURCES): New variable.
+ (video_fb_mod_CFLAGS): Likewise.
+ (video_fb_mod_LDFLAGS): Likewise.
+ * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
+ video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
+ * video/i386/pc/vbeblit.c: Moved from here ...
+ * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
+ * video/i386/pc/vbefill.c: Moved from here ...
+ * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
+ * video/i386/pc/vbeutil.c: Moved from here ...
+ * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
+ * include/grub/i386/pc/vbeblit.h: Moved from here ...
+ * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
+ * include/grub/i386/pc/vbefill.h: Moved from here ...
+ * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
+ * include/grub/i386/pc/vbeutil.h: Moved from here ...
+ * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
+ * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
+ * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
+ * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
+ (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
+ (grub_video_adapter): Added 'get_info_and_fini'.
+ (grub_video_get_info_and_fini): New prototype.
+ (grub_video_set_mode): make modestring const char *.
+ * loader/i386/linux.c (grub_linux_setup_video): Use
+ grub_video_get_info_and_fini.
+ (grub_linux_boot): Move modesetting just before booting.
+ * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
+ grub_video_get_info_and_fini.
+ * video/i386/pc/vbe.c: Moved framebuffer part ...
+ * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
+ * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
+ grub_video_fbstd_colors and grub_video_fb_set_palette.
+ (grub_video_vbe_init): Clear 'framebuffer' variable and use
+ grub_video_fb_init.
+ (grub_video_vbe_fini): Use grub_video_fb_fini.
+ (grub_video_vbe_setup): Use framebuffer.render_target instead of
+ render_target and use grub_video_fb_set_active_render_target and
+ grub_video_fb_set_palette.
+ (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
+ (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
+ (grub_video_vbe_adapter): Use framebuffer.
+ * video/video.c (grub_video_get_info_and_fini): New function.
+ (grub_video_set_mode): Make modestring const char *.
+ (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
+ values are already initialised.
+
+2009-08-14 Pavel Roskin <proski@gnu.org>
+
+ * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
+ ABS and APPLE_CC.
+ * boot/i386/pc/diskboot.S: Likewise.
+ * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
+ sectors allow compilation on MacOSX.
+ * conf/i386-pc.rmk: Enable unconditional compilation of
+ lnxboot.img.
+
+2009-08-13 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
+ * util/grub.d/00_header.in: Enter interruptible sleep if
+ GRUB_HIDDEN_TIMEOUT is set.
+
+2009-08-13 Yves Blusseau <blusseau@zetam.org>
+
+ * include/grub/symbol.h: Add the LOCAL macro.
+ * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
+ starting with "L_".
+
+2009-08-13 Pavel Roskin <proski@gnu.org>
+
+ * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
+ any modern compilers we support.
+
+ * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
+ Use local labels starting with "L_" so that Apple assembler
+ knows they are local.
+
+2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
+ (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
+ (bsd_kernel_types): ... this enum.
+
+ * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
+ (grub_cmd_freebsd_module_elf): Abort with "You need to load the
+ kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
+
+ (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
+ (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
+ (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
+ messages.
+
+2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub-dumpdevtree: Moved from here ...
+ * util/i386/efi/grub-dumpdevtree: ... to here.
+ (hexify): New function. Converts a string to its hex version.
+ Generate hex versions of "efi" and "device-properties" by calling
+ hexify() on the ASCII strings rather than by hardcoding numbers.
+
+2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
+
+ * fs/jfs.c: Update copyright year.
+
+2009-08-08 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub.d/00_header.in: Fix a comment.
+ * util/grub.d/10_linux.in: Likewise.
+ * util/grub.d/10_windows.in: Likewise.
+ * util/grub.d/10_hurd.in: Likewise.
+
+2009-08-08 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkconfig.in: Allow the user to specify the used font
+ with GRUB_FONT.
+
+2009-08-08 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
+ available, xfs.mod needs it now.
+
+ * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
+ the "g" modifier in sed when the intention is to strip something
+ once. This fixes comparison of kernels with multiple dashes.
+
+ * util/grub-mkconfig.in: Define datarootdir, datadir may depend
+ on it. Add missing space before closing bracket. Fix
+ misleading formatting.
+
+2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
+
+ * docs/grub.texi: Major overhaul. Remove all sections that are
+ specific to GRUB Legacy, or mostly composed of Legacy-specific
+ information.
+
+2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
+
+ * docs/version.texi: New file. Provides version information for
+ grub.texi.
+
+2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
+
+ * docs/grub.texi: Update CVS information to SVN.
+ Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
+
+2009-08-07 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkconfig.in: Remove a wrong `fi'.
+
+2009-08-07 Felix Zielcke <fzielcke@z-51.de>
+
+ * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
+ (grub_jfs_uuid): New function.
+ (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
+
+2009-08-07 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkconfig_lib.in (font_path): Move the functionality
+ of it to ...
+ * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
+ unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
+
+2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub.d/10_linux.in (test_numeric): Moved from here ...
+ * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
+ Update all users.
+
+ * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
+ not just "vmlinu[zx]".
+ Moved from here ...
+ * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
+ all users.
+
+ * util/grub.d/10_linux.in (find_latest): Moved from here ...
+ * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
+ all users.
+
+2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/grub.d/10_freebsd.in: Use an absolute device path for
+ `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
+
+2009-08-06 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
+ handling of multiple abstraction modules.
+
+2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix a bug resulting in black screen when loading Linux using a
+ packed video mode.
+
+ * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
+ function.
+
+ * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
+ (grub_vbe_bios_getset_dac_palette_width): New function.
+ (grub_vbe_bios_get_dac_palette_width)
+ (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
+ grub_vbe_bios_getset_dac_palette_width()).
+
+ * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
+ check for return status.
+ (grub_vbe_get_video_mode_info): When getting information for a packed
+ mode (<= 8 bpp), obtain DAC palette width using
+ grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
+ {red,green,blue}_mark_size.
+
+2009-08-04 Felix Zielcke <fzielcke@z-51.de>
+
+ * commands/search.c (options): Fix help output to match actual code.
+
+2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
+ of homegrown code.
+
+2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
+ on XFS or ReiserFS.
+
+2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support Apple partition map with sector size different from 512 bytes.
+
+ * partmap/apple.c (grub_apple_header): New field 'blocksize'.
+ (apple_partition_map_iterate): Respect 'aheader.blocksize'
+ and 'apart.partmap_size'.
+
+2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
+2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix cpuid command.
+
+ * commands/i386/cpuid.c (options): New variable.
+ (grub_cmd_cpuid): Return real error.
+ (GRUB_MOD_INIT(cpuid)): Declare options.
+
+2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
+ valid.
+
+2009-07-31 Bean <bean123ch@gmail.com>
+
+ * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
+ log2_inode.
+ (grub_fshelp_node): Move inode field to the end.
+ (grub_xfs_data): Remove inode field.
+ (grub_xfs_inode_block): Calculate inode size using sblock.
+ (grub_xfs_inode_offset): Likewise.
+ (grub_xfs_read_inode): Calculate inode size using sblock.
+ (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
+ (grub_xfs_iterate_dir): Calculate inode size using sblock.
+ (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
+ to match inode size.
+ (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
+ not accessible when data is null.
+ (grub_xfs_open): Likewise.
+
+2009-07-31 Bean <bean123ch@gmail.com>
+
+ * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
+ Don't change pv->disk if it's already set.
+
+ * disk/raid.c (grub_raid_scan_device): Merge this function into ...
+ (grub_raid_register): ... here.
+ (grub_raid_rescan): Removed.
+
+ * include/grub/raid.h (grub_raid_rescan): Removed.
+
+ * util/grub-fstest.c: Remove include file <grub/raid.h>.
+ (fstest): Replace grub_raid_rescan with module fini function followed
+ by init function.
+
+ * util/grub-probe.c: Add include file <grub/raid.h>.
+ (probe_raid_level): New function.
+ (probe): Detect abstraction by walking the disk device, support two
+ level of abstraction (LVM on RAID) when detecting partition map.
+
+2009-07-31 Pavel Roskin <proski@gnu.org>
+
+ * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
+ to grub_zalloc(), it was erroneous.
+ Reported by Bean <bean123ch@gmail.com>
+
+2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/i386/pc/grub-setup.c (setup): Check that no partition is in
+ embedding zone, not only the first one.
+
+2009-07-29 Joe Auricchio <jauricchio@gmail.com>
+
+ * term/gfxterm.c (clear_char): New function.
+ (grub_virtual_screen_setup): Use clear_char.
+ (scroll_up): Likewise.
+ (grub_virtual_screen_cls): Likewise.
+
+2009-07-29 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/deviceiter.c (get_acceleraid_disk_name): New static
+ function.
+ (grub_util_iterate_devices): Handle Accelraid devices.
+ * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
+
+2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
+ separator for the suggested gfxpayload string (';' collides with the
+ parser and needs escaping).
+
+2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
+ Clear direction flag before jumping to OS.
+ (grub_multiboot2_real_boot): Likewise.
+
+2009-07-28 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/i386/pc/grub-install: Fix parsing of --disk-module
+ option.
+
+2009-07-28 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
+ when embedding.
+
+2009-07-26 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkconfig.in (package_version): New variable.
+ Use it do display the version.
+
+2009-07-25 Felix Zielcke <fzielcke@z-51.de>
+
+ * kern/file.c (grub_file_open): Revert to previous check with
+ grub_errno.
+
+2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
+ from help line. It's out of sync with code.
+
+2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
+ entries on failed boot.
+
+2009-07-25 Felix Zielcke <fzielcke@z-51.de>
+
+ * kern/file.c (grub_file_open): Fix an error check.
+
+2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
+ partition map couldn't be identified.
+
+2009-07-23 Pavel Roskin <proski@gnu.org>
+
+ * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
+ instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
+ case of little endian words becomes just an optimization.
+ Respect const modifier.
+ (md5_final): Use code that doesn't depend on endianness.
+
+ * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
+ to avoid loss of upper bits if align is unsigned and shorter
+ than addr.
+
+2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ UUID support for UFS
+
+ * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
+ (grub_ufs_uuid): New function.
+ (grub_ufs_fs): add .uuid
+
+2009-07-21 Pavel Roskin <proski@gnu.org>
+
+ * kern/dl.c (grub_dl_check_header): Make static.
+
+2009-07-21 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
+ add drivemap for Vista. It breaks Windows 7.
+
+2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
+ 128 bytes
+
+2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Add BFS support
+
+ * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
+ (grub_fstest_SOURCES): Likewise.
+ (pkglib_MODULES): Add befs.mod.
+ (befs_mod_SOURCES): New variable.
+ (befs_mod_CFLAGS): Likewise.
+ (befs_mod_LDFLAGS): Likewise.
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
+ (grub_setup_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ (grub_setup_SOURCES): Likewise.
+ * fs/befs.c: New file.
+ * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
+ (GRUB_AFS_SBLOCK_SECTOR): Likewise.
+ (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
+ (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
+ (B_KEY_INDEX_ALIGN): New declaration.
+ (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
+ (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
+ (grub_afs_btree) [MODE_BFS]: New conditional declaration.
+ (grub_afs_sblock) [MODE_BFS]: Remove link_count.
+ (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
+ (grub_afs_mount) [MODE_BFS]: Likewise.
+ (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
+ (grub_afs_fs): Use GRUB_AFS_FSNAME
+ (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
+ (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
+ (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
+ (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
+
+2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
+
+ * util/getroot.c (find_root_device): Add support for MacOSX.
+ * util/hostdisk.c: Likewise.
+
+2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * font/font.c (find_glyph): Check whether a font is present to avoid
+ segmentation fault.
+
+2009-07-20 Joe Auricchio <jauricchio@gmail.com>
+
+ * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
+
+2009-07-20 Pavel Roskin <proski@gnu.org>
+
+ * configure.ac: Trim excessively wordy excuses.
+
+2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Add symlink, mtime and label support to AtheFS.
+
+ * fs/afs.c (grub_afs_sblock): Declare `name' as char.
+ (grub_afs_iterate_dir): Handle symlinks.
+ (grub_afs_open): Use grub_afs_read_symlink.
+ (grub_afs_dir): Likewise.
+ Pass mtime.
+ (grub_afs_label): New function.
+ (grub_afs_fs): Add grub_afs_label.
+ (grub_afs_read_symlink): New function.
+
+2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix AtheFS support.
+
+ * fs/afs.c: Fix comments style.
+ (grub_afs_blockrun): Declare as packed.
+ (grub_afs_datastream): Likewise.
+ (grub_afs_bnode): Likewise.
+ (grub_afs_btree): Likewise.
+ (grub_afs_sblock): Likewise.
+ Declare `name' as char.
+ (grub_afs_inode): Declare as packed.
+ Change void *vnode to grub_uint32_t unused.
+ (grub_afs_iterate_dir): Check that key_size is positive.
+ (grub_afs_mount): Don't read superblock twice.
+ (grub_afs_dir): Don't free node in case of error,
+ grub_fshelp_find_file already handles this.
+ (grub_afs_open): Likewise.
+
+2009-07-19 Pavel Roskin <proski@gnu.org>
+
+ * Makefile.in: Remove LIBLZO and enable_lzo.
+ * conf/i386-pc.rmk: Remove lzo support.
+ * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
+ * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
+ support.
+ * kern/i386/pc/lzo1x.S: Remove.
+ * kern/i386/pc/startup.S: Remove lzo support.
+ * util/i386/pc/grub-mkimage.c: Likewise.
+
+2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
+ * fs/xfs.c (grub_xfs_dir): Likewise.
+ * fs/afs.c (grub_afs_dir): Likewise.
+ * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
+ (grub_iso9660_open): Likewise.
+ * fs/jfs.c (grub_jfs_open): Likewise.
+ * fs/ext2.c (grub_ext2_dir): Likewise.
+ * include/grub/macho.h (grub_macho_fat_arch): Likewise.
+ * script/sh/lexer.c (grub_script_yylex): Likewise.
+
+2009-07-16 Pavel Roskin <proski@gnu.org>
+
+ * configure.ac: Never add "-c" to CFLAGS.
+
+ * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
+
+ * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
+ grub_cv_cc_efiemu should be used.
+
+ * configure.ac: Typo fixes.
+
+ * kern/mm.c (grub_zalloc): New function.
+ (grub_debug_zalloc): Likewise.
+ * include/grub/mm.h: Declare grub_zalloc() and
+ grub_debug_zalloc().
+ * util/misc.c (grub_zalloc): New function.
+ * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
+ instead of grub_malloc(), remove unneeded initializations.
+ * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
+ * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
+ * commands/parttool.c (grub_cmd_parttool): Likewise.
+ * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
+ * disk/raid5_recover.c (grub_raid5_recover): Likewise.
+ * disk/raid6_recover.c (grub_raid6_recover): Likewise.
+ * disk/usbms.c (grub_usbms_finddevs): Likewise.
+ * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
+ * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
+ (grub_cmd_efiemu_pnvram): Likewise.
+ * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
+ * fs/iso9660.c (grub_iso9660_mount): Likewise.
+ (grub_iso9660_iterate_dir): Likewise.
+ * fs/jfs.c (grub_jfs_opendir): Likewise.
+ * fs/ntfs.c (list_file): Likewise.
+ (grub_ntfs_mount): Likewise.
+ * kern/disk.c (grub_disk_open): Likewise.
+ * kern/dl.c (grub_dl_load_core): Likewise.
+ * kern/elf.c (grub_elf_file): Likewise.
+ * kern/env.c (grub_env_context_open): Likewise.
+ (grub_env_set): Likewise.
+ (grub_env_set_data_slot): Likewise.
+ * kern/file.c (grub_file_open): Likewise.
+ * kern/fs.c (grub_fs_blocklist_open): Likewise.
+ * loader/i386/multiboot.c (grub_module): Likewise.
+ * loader/xnu.c (grub_xnu_create_key): Likewise.
+ (grub_xnu_create_value): Likewise.
+ * normal/main.c (grub_normal_add_menu_entry): Likewise.
+ (read_config_file): Likewise.
+ * normal/menu_entry.c (make_screen): Likewise.
+ * partmap/sun.c (sun_partition_map_iterate): Likewise.
+ * script/sh/lexer.c (grub_script_lexer_init): Likewise.
+ * script/sh/script.c (grub_script_parse): Likewise.
+ * video/bitmap.c (grub_video_bitmap_create): Likewise.
+ * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
+ * video/readers/png.c (grub_png_output_byte): Likewise.
+ (grub_video_reader_png): Likewise.
+
+2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Enable all targets that can be built by default
+
+ * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
+ grub-mkfont and grub-fstest if they can be built
+
+2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix hang and segmentation fault in grub-emu-usb
+
+ * disk/scsi.c (grub_scsi_open): return err and not grub_errno
+ * util/usb.c (grub_libusb_devices): likewise
+ (grub_libusb_init): rename to ...
+ (GRUB_MOD_INIT (libusb)):...this
+ (grub_libusb_fini): rename to ..
+ (GRUB_MOD_FINI (libusb)):...this
+ * disk/usbms.c (grub_usbms_transfer): fix retry logic
+ * include/grub/disk.h (grub_raid_init): removed, it's useless
+ (grub_raid_fini): likewise
+ (grub_lvm_init): likewise
+ (grub_lvm_fini): likewise
+ * util/grub-emu.c (main): don't call grub_libusb_init, it's done
+ by grub_init_all
+
+2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix libusb
+
+ * Makefile.in (LIBUSB): new macro
+ * genmk.rb (Utility/print_tail): new method
+ (Utility/rule): use intermediary variable #{prefix}_OBJECTS
+ (top level): call util.print_tail at the end.
+
+2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Make FreeBSD accept zpool.cache
+
+ * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
+ type is /boot/zfs/zpool.cache
+
+2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix 64-bit efiemu
+
+ * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
+ correct wrong typedef
+ * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
+
+2009-07-15 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
+ * kern/disk.c (struct grub_disk_cache): Likewise.
+
+ * commands/probe.c (options): Typo fix.
+
+ * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
+ Increase to 0x5a to accommodate FAT32. Adjust other offsets
+ accordingly.
+ Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
+
+ * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
+ the end of "Error" to make the message more readable.
+
+ * boot/i386/pc/boot.S (kernel_segment): Remove.
+ (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
+ for destination.
+
+ * boot/i386/pc/boot.S (boot_version): Remove.
+ * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
+ Remove.
+
+ * include/grub/i386/pc/boot.h: Sort all offsets.
+ (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
+ (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
+ * boot/i386/pc/boot.S: Assert location of every offset listed in
+ include/grub/i386/pc/boot.h.
+
+2009-07-13 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/i386/coreboot/machine.h: Rename
+ GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
+ * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
+ multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
+
+ * kern/dl.c: Force native word size to suppress warnings when
+ compiling grub-emu.
+
+ * kern/device.c (grub_device_iterate): Change struct part_ent to
+ hold the name, not a pointer to it. Use one grub_malloc() per
+ partition, not two. Free partition_name if grub_malloc() fails.
+ Set ents to NULL only before grub_partition_iterate() is called.
+
+2009-07-11 Bean <bean123ch@gmail.com>
+
+ * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
+ childname.
+
+2009-07-10 Bean <bean123ch@gmail.com>
+2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
+
+ * kern/ieee1275/openfw.c (grub_children_iterate)
+ (grub_devalias_iterate): Fix size evaluation for property or path
+ strings, which was broken since r2132.
+
+2009-07-07 Pavel Roskin <proski@gnu.org>
+
+ * commands/search.c (search_file): Merge into ...
+ (search_fs): ... this. Accept search type as argument.
+ (grub_cmd_search): Pass search type to search_fs().
+
+ * include/grub/util/console.h: New file.
+ * util/console.c: Use it instead of grub/machine/console.h.
+ * util/grub-emu.c: Likewise.
+
+ * lib/arg.c (find_long_option): Remove.
+ (find_long): Add `len' argument, make `s' const char *.
+ (grub_arg_parse): Parse long options in place, not in a
+ temporary buffer.
+
+2009-07-06 Pavel Roskin <proski@gnu.org>
+
+ * commands/search.c (search_fs): Fix potential NULL pointer
+ dereference.
+
+ * commands/search.c (search_fs): Replace QUID macro with quid_fn
+ function pointer.
+
+2009-07-06 Daniel Mierswa <impulze@impulze.org>
+
+ * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
+ comparison.
+
+2009-07-05 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/i386/linux.h (struct linux_kernel_params):
+ Restore padding3, it's still needed.
+
+ * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
+ FreeBSD.
+ * util/osdetect.lua: Likewise.
+
+2009-07-05 Bean <bean123ch@gmail.com>
+
+ * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
+
+ * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
+ (grub_lua_getenv): Likewise.
+ (grub_lua_setenv): Likewise.
+ (save_errno): New function.
+ (push_result): Likewise.
+ (grub_lua_enum_device): Likewise.
+ (grub_lua_enum_file): Likewise.
+ (grub_lua_file_open): Likewise.
+ (grub_lua_file_close): Likewise.
+ (grub_lua_file_seek): Likewise.
+ (grub_lua_file_read): Likewise.
+ (grub_lua_file_getline): Likewise.
+ (grub_lua_file_getsize): Likewise.
+ (grub_lua_file_getpos): Likewise.
+ (grub_lua_file_eof): Likewise.
+ (grub_lua_file_exist): Likewise.
+ (grub_lua_add_menu): Likewise.
+
+ * script/lua/grub_lua.h (isupper): New inline function.
+ (islower): Likewise.
+ (ispunct): Likewise.
+ (isxdigit): Likewise.
+ (strcspn): Change to normal function.
+ (strpbkr): New function declaration.
+ (memchr): Likewise.
+
+ * script/lua/grub_main.c (scan_str): New function.
+ (strcspn): Likewise.
+ (strpbrk): Likewise.
+ (memchr): Likewise.
+
+ * script/lua/linit.c (lualibs): Enable the string library.
+
+ * util/osdetect.lua: New file.
+
+2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/linux.h (struct linux_kernel_params): Add
+ `capabilities' member.
+
+2009-07-02 Pavel Roskin <proski@gnu.org>
+
+ * genparttoollist.sh: Add missing newline at the end.
+
+2009-07-01 Pavel Roskin <proski@gnu.org>
+
+ * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
+
+ * util/hostdisk.c (open_device): Remove `const' from
+ `sysctl_size', as sysctlbyname() can change it (in this case it
+ doesn't actually happen).
+
+ * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
+ using signed long int constants.
+
+ * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
+ constant to avoid a warning on FreeBSD.
+
+ * util/hostdisk.c (device_is_wholedisk): Compile only on systems
+ where it's needed.
+
+ * Makefile.in: Install include/grub/machine symlink.
+
+ * Makefile.in: When installing symlinks, use "cp -fR", which
+ works on FreeBSD and MacOSX.
+ From Yves Blusseau <cl7m42e02@sneakemail.com>
+
+ * kern/dl.c (grub_dl_resolve_symbol): Make static.
+ * include/grub/dl.h: Remove grub_dl_resolve_symbol().
+
+ * util/misc.c: Move grub_reboot() and grub_halt() ...
+ * util/grub-emu.c: ... here. Make main_env static.
+ * include/grub/util/misc.h: Remove main_env.
+
+ * kern/mm.c: Use correct format to print size_t.
+
+ * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
+ * kern/i386/dl.c: Use ELF symbols without "32" or "64".
+ * kern/powerpc/dl.c: Likewise.
+ * kern/sparc64/dl.c: Likewise.
+ * kern/x86_64/dl.c: Likewise.
+
+2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix grub-emu build on sparc64-ieee1275.
+
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
+
+2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
+ (grub_reboot, grub_halt): New functions.
+
+ * util/i386/pc/misc.c: Delete. Update all users.
+ * util/sparc64/ieee1275/misc.c: Likewise.
+ * util/powerpc/ieee1275/misc.c: Likewise.
+
+2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/i386.rmk (setjmp_mod_SOURCES)
+ (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
+ * conf/common.rmk (setjmp_mod_SOURCES)
+ (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
+ to use $(target_cpu).
+ * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
+ (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Use
+ $(target_cpu) for kern/$(target_cpu)/dl.c.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+ * conf/i386-coreboot.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
+ $(target_cpu) for kern/$(target_cpu)/dl.c and for
+ kern/$(target_cpu)/cache.S.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+
+2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
+ type to `grub_uint8_t', and adjust `padding9' accordingly.
+
+2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
+
+ * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
+ assembly in final jump, using register constraints.
+
+ (grub_linux_boot): For text mode, initialize `have_vga' using
+ GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
+
+ Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
+ right before the final jump.
+
+ Set `video_mode' to 0x3.
+
+ Document initialization of `video_page', `video_mode' and
+ `video_ega_bx'.
+
+2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
+ * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
+ and set GRUB_LINUX_FLAG_QUIET appropriately.
+
+2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix build on Debian / sparc.
+
+ * configure.ac: Recognize `sparc' target_cpu (as sparc64).
+
+2009-06-28 Pavel Roskin <proski@gnu.org>
+
+ * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
+ fix a warning.
+
+ * util/grub.d/10_linux.in: Match SUSE style initrd names.
+
+2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
+ `err'.
+
+2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
+
+ Revert r2338.
+
+ * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
+ file can't be opened. grub_file_open() is already supposed to set
+ grub_errno / grub_errmsg appropriately.
+ * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
+
+2009-06-27 Pavel Roskin <proski@gnu.org>
+2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/dl.h: Include grub/elf.h.
+ (struct grub_dl): Add symtab field.
+ * kern/dl.c [GRUB_MACHINE_QEMU]: Define
+ GRUB_MODULES_MACHINE_READONLY.
+ (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
+ of the header for read-only modules.
+ (grub_dl_unload): Free mod->symtab for read-only modules.
+ * kern/i386/dl.c: Use mod->symtab.
+ * kern/powerpc/dl.c: Likewise.
+ * kern/sparc64/dl.c: Likewise.
+ * kern/x86_64/dl.c: Likewise.
+
+ * conf/i386-qemu.rmk: New file.
+ * kern/i386/qemu/startup.S: Likewise.
+ * kern/i386/qemu/mmap.c: Likewise.
+ * boot/i386/qemu/boot.S: Likewise.
+ * include/grub/i386/qemu/time.h: Likewise.
+ * include/grub/i386/qemu/serial.h: Likewise.
+ * include/grub/i386/qemu/kernel.h: Likewise.
+ * include/grub/i386/qemu/console.h: Likewise.
+ * include/grub/i386/qemu/boot.h: Likewise.
+ * include/grub/i386/qemu/init.h: Likewise.
+ * include/grub/i386/qemu/machine.h: Likewise.
+ * include/grub/i386/qemu/loader.h: Likewise.
+ * include/grub/i386/qemu/memory.h: Likewise.
+
+ * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
+ (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
+ [qemu] (pkglib_IMAGES): Add `boot.img'.
+ [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
+ [qemu] (boot_img_FORMAT): New variables.
+ [qemu] (bin_UTILITIES): Add `grub-mkimage'.
+ [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
+ [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
+ [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
+ [qemu] (kernel_img_FORMAT): New variables.
+
+ * configure.ac: Recognise `i386-qemu'.
+
+ * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
+ (for no compression).
+ [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
+ a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
+ `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
+ `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
+ ifdefs).
+
+2009-06-27 Pavel Roskin <proski@gnu.org>
+
+ * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
+ read.
+ * efiemu/prepare32.c: Likewise.
+ * efiemu/prepare64.c: Likewise.
+
+2009-06-26 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
+ * include/grub/elf.h: Define symbols without "32" or "64" based
+ on GRUB_TARGET_WORDSIZE.
+ * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
+ * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
+ ELF definitions.
+ * efiemu/loadcore64.c: Likewise.
+ * loader/i386/bsd32.c: Likewise.
+ * loader/i386/bsd64.c: Likewise.
+ * kern/dl.c: Remove own ELF definitions.
+ * util/i386/efi/grub-mkimage.c: Likewise.
+
+2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
+
+ * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
+ segment 0x0 unconditionally, because the reference generated by
+ GAS is an absolute address.
+
+2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
+ [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
+
+2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
+
+ * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
+ indexes. Check for -f explicitly.
+ (search_file): Improve error message.
+ (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
+
+2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
+ (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
+
+2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-coreboot.rmk: Likewise.
+
+ * kern/i386/pc/startup.S (grub_stop): Remove function.
+ * kern/i386/ieee1275/startup.S: Likewise.
+ * kern/i386/coreboot/startup.S: Likewise.
+ * kern/i386/misc.S (grub_stop): New function.
+
+2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
+
+ * kern/i386/pc/startup.S (real_to_prot): Move from here ...
+ * kern/i386/realmode.S (real_to_prot): ... to here.
+
+2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
+
+ * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
+ with `kernel.img'.
+ (kernel_elf_SOURCES): Rename to ...
+ (kernel_img_SOURCES): ... this.
+ (kernel_elf_HEADERS): Rename to ...
+ (kernel_img_HEADERS): ... this. Update all users.
+ (kernel_elf_ASFLAGS): Rename to ...
+ (kernel_img_ASFLAGS): ... this.
+ (kernel_elf_CFLAGS): Rename to ...
+ (kernel_img_CFLAGS): ... this.
+ (kernel_elf_LDFLAGS): Rename to ...
+ (kernel_img_LDFLAGS): ... this.
+ * conf/i386-coreboot.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+
+ * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
+ with "kernel.img".
+
+2009-06-21 Pavel Roskin <proski@gnu.org>
+
+ * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
+ to match nested functions.
+ * loader/sparc64/ieee1275/linux.c: Likewise.
+
+ * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
+
+2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
+ all i386 platforms.
+
+2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
+
+ Fix asm file handling on ELF, and remove workarounds.
+
+ * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
+ and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
+ * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
+ * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
+
+2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Load BSD ELF modules
+
+ * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
+ and loader/i386/bsd64.c
+ * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
+ (FREEBSD_MODTYPE_ELF_MODULE): New definition
+ (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
+ (grub_freebsd_load_elfmodule32): New declaration
+ (grub_freebsd_load_elfmoduleobj64): Likewise
+ (grub_freebsd_load_elf_meta32): Likewise
+ (grub_freebsd_load_elf_meta64): Likewise
+ (grub_freebsd_add_meta): Likewise
+ (grub_freebsd_add_meta_module): Likewise
+ * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
+ (grub_freebsd_add_meta_module): Likewise and move module-specific
+ parts to grub_cmd_freebsd and grub_cmd_freebsd_module
+ (grub_cmd_freebsd): Add elf-kernel specific parts
+ based on grub_freebsd_add_meta_module
+ (grub_cmd_freebsd_module): Add type parsing moved from
+ grub_freebsd_add_meta_module
+ (grub_cmd_freebsd_module_elf): New function
+ (cmd_freebsd_module_elf): New variable
+ (GRUB_MOD_INIT): Register freebsd_module_elf
+ * loader/i386/bsd32.c: New file
+ * loader/i386/bsd64.c: Likewise
+ * loader/i386/bsdXX.c: Likewise
+ * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
+ (grub_elf64_load): Likewise
+ * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
+ All users updated
+ (grub_elf64_load_hook_t): Likewise
+
+2009-06-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
+ variable.
+ * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
+ don't write a menu entry for recovery mode.
+
+2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
+ after it's no longer needed.
+
+2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/loader.h (grub_linux_prot_size)
+ (grub_linux_tmp_addr, grub_linux_real_addr)
+ (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
+ GRUB_MACHINE_PCBIOS.
+ * util/i386/pc/grub-mkimage.c (compress_kernel): Move
+ common grub_util_info() call to ...
+ (generate_image): ... here.
+ Fix use of uninitialized memory, comparison of signed with
+ unsigned integers and memory leak.
+ Remove bogus module address message.
+
+2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
+ grub_raid_register
+ * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
+
+2009-06-19 Pavel Roskin <proski@gnu.org>
+
+ * configure.ac: Remove stray AC_MSG_CHECKING.
+
+2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/scsi.c (grub_scsi_open): use continue instead of big if
+
+2009-06-18 Pavel Roskin <proski@gnu.org>
+
+ * conf/common.rmk: Add fs_file.mod.
+ * disk/fs_file.c: New file.
+ * include/grub/disk.h (enum grub_disk_dev_id): Add
+ GRUB_DISK_DEVICE_FILE_ID.
+
+2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix build with Apple's toolchain. Part 2
+
+ * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
+ a fake start
+
+2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix build with Apple's toolchain. Part 1
+
+ * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
+ for long calls
+ * configure.ac: remove a leftover AC_MSG_RESULT
+ (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
+ Apple's toolchain
+
+2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix warnings
+
+ * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
+ (decomp_block): initialize ch
+ use grub_memcpy instead of memcpy
+
+2009-06-17 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/i386/coreboot/console.h: Don't use the i386-pc
+ version, use declarations needed to use vga_text as the startup
+ console.
+
+ * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
+ term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
+ the kernel.
+ * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
+ and grub_at_keyboard_fini(), it's done on module load and
+ unload.
+
+2009-06-17 Felix Zielcke <fzielcke@z-51.de>
+
+ * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
+ file can't be found.
+ * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
+
+2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix newline handling
+
+ * include/grub/script_sh.h (grub_lexer_param): new field was_newline
+ * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
+ (grub_script_yylex): don't segfault on unterminated script
+ newline terminates command and variable
+
+2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ avoid double grub_adjust_range call. Bug reported by David Simner
+
+ * kern/disk.c (grub_disk_write): change to raw disk access before
+ calling disk_read
+
+2009-06-17 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/elf/grub-mkimage.c (usage): Prefix each option line with two
+ spaces, for the benefit of help2man.
+ * util/i386/efi/grub-mkimage.c (usage): Likewise.
+
+2009-06-16 Pavel Roskin <proski@gnu.org>
+
+ * kern/i386/halt.c: Include grub/machine/init.h.
+ * kern/i386/reboot.c: Include grub/cpu/reboot.h.
+
+2009-06-16 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub.d/30_os-prober.in: Use ${root} in the generated
+ drivemap menuentry.
+
+2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
+
+ * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
+ `echo' command.
+
+2009-06-16 Pavel Roskin <proski@gnu.org>
+
+ * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
+ boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
+ save %dx, we only need %dl and we never change it.
+ * boot/i386/pc/cdboot.S: Don't set the root drive.
+ * boot/i386/pc/pxeboot.S: Likewise.
+ * include/grub/i386/pc/boot.h: Remove
+ GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
+ GRUB_BOOT_MACHINE_DRIVE_CHECK.
+ * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
+ * kern/i386/pc/init.c (make_install_device): Remove references
+ to grub_root_drive.
+ * kern/i386/pc/startup.S: Likewise.
+ * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
+
+2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ xnu_uuid command
+
+ * commands/xnu_uuid.c: new file
+ * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
+ (xnu_uuid_mod_SOURCES): new variable
+ (xnu_uuid_mod_CFLAGS): likewise
+ (xnu_uuid_mod_LDFLAGS): likewise
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
+ * conf/i386-ieee1275.rmk: likewise
+ * conf/i386-pc.rmk: likewise
+ * conf/powerpc-ieee1275.rmk: likewise
+ * conf/sparc64-ieee1275.rmk: likewise
+ * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
+
+2009-06-16 Pavel Roskin <proski@gnu.org>
+
+ * configure.ac: Avoid '==' in test command, it's not portable.
+
+2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Probe command
+
+ * commands/probe.c: new file
+ * conf/common.rmk (pkglib_MODULES): add probe.mod
+ (probe_mod_SOURCES): new variable
+ (probe_mod_CFLAGS): likewise
+ (probe_mod_LDFLAGS): likewise
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
+ * conf/i386-ieee1275.rmk: likewise
+ * conf/i386-pc.rmk: likewise
+ * conf/powerpc-ieee1275.rmk: likewise
+ * conf/sparc64-ieee1275.rmk: likewise
+
+2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix handling of string like \"hello\" and "a
+ b"
+
+ * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
+ (grub_script_yylex): fix parsing of quoting, escaping and newline
+
+2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
+ handling
+
+2009-06-13 Jun Inoue <jun.lambda@gmail.com>
+
+ * util/grub-mkconfig.in: Fix parsing of --output option.
+
+2009-06-12 Pavel Roskin <proski@gnu.org>
+
+ * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
+ genmk.rb don't need to be generated or installed.
+
+2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/i386/pc/drivemap_int13h.S: add more comments
+
+2009-06-11 Pavel Roskin <proski@gnu.org>
+
+ * Makefile.in (uninstall): Uninstall manuals.
+
+ * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
+ PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
+ and update-grub_lib in two places.
+ * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
+
+ * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
+ a compiler warning.
+
+ * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
+ `entry_lo' to fix variable shadowing.
+
+2009-06-11 Christian Franke <franke@computer.org>
+
+ * kern/misc.c (__enable_execute_stack): Add missing return type
+ to prevent gcc warning.
+
+2009-06-11 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
+
+2009-06-11 Pavel Roskin <proski@gnu.org>
+
+ * Makefile.in: Don't rely on any scripts being executable.
+ Always use $(SHELL) to run shell scripts.
+
+ * configure.ac: Always define ___main if using -nostdlib. This
+ fixes tests on Cygwin.
+
+2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
+
+ UDF fix
+
+ * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
+ is in bytes and not in blocks
+
+2009-06-11 Pavel Roskin <proski@gnu.org>
+
+ * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
+ warning.
+
+2009-06-11 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub.d/30_os-prober.in: Fix a comment. Source
+ ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
+ to set the root device. Place drivemap command in the generated
+ chain entry.
+
+2009-06-11 Pavel Roskin <proski@gnu.org>
+
+ * configure.ac: Remove host_m32. Issues with 64-bit utilities
+ have long been resolved.
+
+2009-06-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/10_linux.in: Capitalise "Linux".
+
+ * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
+
+2009-06-11 Pavel Roskin <proski@gnu.org>
+
+ * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
+ fix a gcc warning and ensure that the function won't ever exit.
+
+ * kern/i386/ieee1275/init.c: Add missing prototype for
+ grub_stop_floppy().
+
+ * loader/ieee1275/multiboot2.c [__i386__]: Include
+ grub/cpu/multiboot.h.
+
+ * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
+ casts to short - they are not portable and cause warnings. Fix
+ use of uninitialized values in input_buf. Use ARRAY_SIZE.
+
+2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Drivemap fixes
+
+ * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
+ new function
+ (grub_get_root_biosnumber_saved): new variable
+ (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
+ (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
+ * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
+ %dx after the call if necessary
+ * conf/common.rmk (pkglib_MODULES): remove boot.mod
+ (boot_mod_SOURCES): remove
+ (boot_mod_CFLAGS): remove
+ (boot_mod_LDFLAGS): remove
+ * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
+ (boot_mod_SOURCES): new variable
+ (boot_mod_CFLAGS): likewise
+ (boot_mod_LDFLAGS): likewise
+ * conf/i386-efi.rmk: likewise
+ * conf/i386-ieee1275.rmk: likewise
+ * conf/i386-pc.rmk: likewise
+ * conf/powerpc-ieee1275.rmk: likewise
+ * conf/sparc64-ieee1275.rmk: likewise
+ * conf/x86_64-efi.rmk: likewise
+ * include/grub/i386/pc/biosnum.h: new file
+ * lib/i386/pc/biosnum.c: likewise
+ * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
+ * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
+ * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
+
+2009-06-10 Pavel Roskin <proski@gnu.org>
+
+ * io/gzio.c (test_header): Don't reuse one buffer for all data.
+ Use separate variables. Read only the file size at the end, but
+ not the checksum that we don't use.
+
+ * kern/file.c (grub_file_read): Use void pointer for the buffer.
+ Adjust all callers.
+
+ * kern/ieee1275/openfw.c: Remove libc includes.
+ * kern/ieee1275/cmain.c: Likewise.
+ * include/grub/ieee1275/ieee1275.h: Likewise.
+
+ * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
+ compiler warnings.
+
+2009-06-10 Felix Zielcke <fzielcke@z-51.de>
+
+ * Makefile.in: Remove all trailing whitespace.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * docs/grub.texi: Likewise.
+ * docs/texinfo.tex: Likewise.
+ * disk/fs_uuid.c: Likewise.
+ * disk/lvm.c: Likewise.
+ * disk/scsi.c: Likewise.
+ * disk/ata.c: Likewise.
+ * disk/ieee1275/ofdisk.c: Likewise.
+ * disk/i386/pc/biosdisk.c: Likewise.
+ * disk/host.c: Likewise.
+ * disk/raid.c: Likewise.
+ * disk/efi/efidisk.c: Likewise.
+ * disk/usbms.c: Likewise.
+ * disk/memdisk.c: Likewise.
+ * disk/loopback.c: Likewise.
+ * kern/powerpc/dl.c: Likewise.
+ * kern/device.c: Likewise.
+ * kern/dl.c: Likewise.
+ * kern/sparc64/dl.c: Likewise.
+ * kern/ieee1275/ieee1275.c: Likewise.
+ * kern/term.c: Likewise.
+ * kern/fs.c: Likewise.
+ * kern/i386/dl.c: Likewise.
+ * kern/i386/pc/startup.S: Likewise.
+ * kern/i386/pc/init.c: Likewise.
+ * kern/i386/pc/mmap.c: Likewise.
+ * kern/i386/pc/lzo1x.S: Likewise.
+ * kern/i386/ieee1275/init.c: Likewise.
+ * kern/i386/realmode.S: Likewise.
+ * kern/i386/tsc.c: Likewise.
+ * kern/partition.c: Likewise.
+ * kern/corecmd.c: Likewise.
+ * kern/file.c: Likewise.
+ * kern/efi/efi.c: Likewise.
+ * kern/efi/init.c: Likewise.
+ * kern/efi/mm.c: Likewise.
+ * kern/main.c: Likewise.
+ * kern/err.c: Likewise.
+ * kern/env.c: Likewise.
+ * kern/disk.c: Likewise.
+ * kern/generic/millisleep.c: Likewise.
+ * kern/generic/rtc_get_time_ms.c: Likewise.
+ * kern/misc.c: Likewise.
+ * kern/parser.c: Likewise.
+ * genmk.rb: Likewise.
+ * configure.ac: Likewise.
+ * boot/i386/pc/diskboot.S: Likewise.
+ * boot/i386/pc/pxeboot.S: Likewise.
+ * boot/i386/pc/boot.S: Likewise.
+ * boot/i386/pc/lnxboot.S: Likewise.
+ * boot/i386/pc/cdboot.S: Likewise.
+ * parttool/pcpart.c: Likewise.
+ * video/readers/tga.c: Likewise.
+ * video/video.c: Likewise.
+ * video/bitmap.c: Likewise.
+ * lib/envblk.c: Likewise.
+ * lib/i386/setjmp.S: Likewise.
+ * fs/xfs.c: Likewise.
+ * fs/afs.c: Likewise.
+ * fs/fat.c: Likewise.
+ * fs/ntfs.c: Likewise.
+ * fs/udf.c: Likewise.
+ * fs/affs.c: Likewise.
+ * fs/iso9660.c: Likewise.
+ * fs/hfs.c: Likewise.
+ * fs/fshelp.c: Likewise.
+ * fs/ext2.c: Likewise.
+ * fs/jfs.c: Likewise.
+ * fs/reiserfs.c: Likewise.
+ * fs/hfsplus.c: Likewise.
+ * fs/minix.c: Likewise.
+ * fs/cpio.c: Likewise.
+ * fs/sfs.c: Likewise.
+ * fs/ufs.c: Likewise.
+ * efiemu/prepare.c: Likewise.
+ * efiemu/loadcore_common.c: Likewise.
+ * efiemu/runtime/efiemu.sh: Likewise.
+ * efiemu/runtime/efiemu.S: Likewise.
+ * efiemu/runtime/efiemu.c: Likewise.
+ * efiemu/pnvram.c: Likewise.
+ * efiemu/main.c: Likewise.
+ * efiemu/i386/pc/cfgtables.c: Likewise.
+ * efiemu/i386/loadcore64.c: Likewise.
+ * efiemu/i386/loadcore32.c: Likewise.
+ * efiemu/loadcore.c: Likewise.
+ * efiemu/symbols.c: Likewise.
+ * efiemu/mm.c: Likewise.
+ * include/grub/autoefi.h: Likewise.
+ * include/grub/datetime.h: Likewise.
+ * include/grub/term.h: Likewise.
+ * include/grub/hfs.h: Likewise.
+ * include/grub/lvm.h: Likewise.
+ * include/grub/i386/tsc.h: Likewise.
+ * include/grub/i386/linux.h: Likewise.
+ * include/grub/i386/xnu.h: Likewise.
+ * include/grub/i386/efiemu.h: Likewise.
+ * include/grub/i386/pc/biosdisk.h: Likewise.
+ * include/grub/i386/pc/memory.h: Likewise.
+ * include/grub/i386/pc/vbe.h: Likewise.
+ * include/grub/parttool.h: Likewise.
+ * include/grub/video.h: Likewise.
+ * include/grub/memory.h: Likewise.
+ * include/grub/fs.h: Likewise.
+ * include/grub/partition.h: Likewise.
+ * include/grub/xnu.h: Likewise.
+ * include/grub/efi/api.h: Likewise.
+ * include/grub/efi/pe32.h: Likewise.
+ * include/grub/efi/memory.h: Likewise.
+ * include/grub/multiboot.h: Likewise.
+ * include/grub/usbdesc.h: Likewise.
+ * include/grub/multiboot2.h: Likewise.
+ * include/grub/acpi.h: Likewise.
+ * include/grub/efiemu/efiemu.h: Likewise.
+ * include/grub/disk.h: Likewise.
+ * include/grub/ieee1275/ieee1275.h: Likewise.
+ * include/grub/net.h: Likewise.
+ * include/grub/machoload.h: Likewise.
+ * include/grub/macho.h: Likewise.
+ * include/multiboot.h: Likewise.
+ * genmoddep.awk: Likewise.
+ * normal/main.c: Likewise.
+ * normal/menu_entry.c: Likewise.
+ * normal/menu_viewer.c: Likewise.
+ * normal/completion.c: Likewise.
+ * normal/cmdline.c: Likewise.
+ * normal/misc.c: Likewise.
+ * normal/datetime.c: Likewise.
+ * bus/usb/usbtrans.c: Likewise.
+ * bus/usb/ohci.c: Likewise.
+ * bus/usb/uhci.c: Likewise.
+ * bus/usb/usb.c: Likewise.
+ * mmap/efi/mmap.c: Likewise.
+ * mmap/i386/pc/mmap_helper.S: Likewise.
+ * mmap/i386/pc/mmap.c: Likewise.
+ * mmap/i386/mmap.c: Likewise.
+ * mmap/i386/uppermem.c: Likewise.
+ * mmap/mmap.c: Likewise.
+ * commands/acpi.c: Likewise.
+ * commands/echo.c: Likewise.
+ * commands/blocklist.c: Likewise.
+ * commands/loadenv.c: Likewise.
+ * commands/usbtest.c: Likewise.
+ * commands/boot.c: Likewise.
+ * commands/parttool.c: Likewise.
+ * commands/search.c: Likewise.
+ * commands/cat.c: Likewise.
+ * commands/i386/pc/play.c: Likewise.
+ * commands/i386/pc/drivemap.c: Likewise.
+ * commands/i386/pc/vbeinfo.c: Likewise.
+ * commands/i386/pc/acpi.c: Likewise.
+ * commands/i386/pc/vbetest.c: Likewise.
+ * commands/ls.c: Likewise.
+ * commands/cmp.c: Likewise.
+ * commands/test.c: Likewise.
+ * commands/efi/acpi.c: Likewise.
+ * commands/gptsync.c: Likewise.
+ * commands/help.c: Likewise.
+ * partmap/amiga.c: Likewise.
+ * partmap/apple.c: Likewise.
+ * partmap/acorn.c: Likewise.
+ * partmap/pc.c: Likewise.
+ * partmap/sun.c: Likewise.
+ * partmap/gpt.c: Likewise.
+ * script/sh/lexer.c: Likewise.
+ * script/sh/function.c: Likewise.
+ * font/font.c: Likewise.
+ * font/font_cmd.c: Likewise.
+ * loader/powerpc/ieee1275/linux.c: Likewise.
+ * loader/efi/chainloader.c: Likewise.
+ * loader/multiboot_loader.c: Likewise.
+ * loader/macho.c: Likewise.
+ * loader/i386/multiboot.c: Likewise.
+ * loader/i386/linux.c: Likewise.
+ * loader/i386/pc/linux.c: Likewise.
+ * loader/i386/pc/multiboot2.c: Likewise.
+ * loader/i386/pc/chainloader.c: Likewise.
+ * loader/i386/pc/xnu.c: Likewise.
+ * loader/i386/bsd_trampoline.S: Likewise.
+ * loader/i386/efi/linux.c: Likewise.
+ * loader/i386/multiboot_elfxx.c: Likewise.
+ * loader/i386/bsd_helper.S: Likewise.
+ * loader/i386/bsd.c: Likewise.
+ * loader/i386/linux_trampoline.S: Likewise.
+ * loader/i386/xnu_helper.S: Likewise.
+ * loader/i386/xnu.c: Likewise.
+ * loader/i386/bsd_pagetable.c: Likewise.
+ * loader/i386/multiboot_helper.S: Likewise.
+ * loader/xnu.c: Likewise.
+ * loader/xnu_resume.c: Likewise.
+ * io/gzio.c: Likewise.
+ * term/efi/console.c: Likewise.
+ * term/terminfo.c: Likewise.
+ * term/ieee1275/ofconsole.c: Likewise.
+ * term/i386/pc/serial.c: Likewise.
+ * term/i386/pc/vesafb.c: Likewise.
+ * term/i386/pc/vga.c: Likewise.
+ * term/usb_keyboard.c: Likewise.
+ * term/gfxterm.c: Likewise.
+ * aclocal.m4: Likewise.
+ * util/lvm.c: Likewise.
+ * util/grub.d/30_os-prober.in: Likewise.
+ * util/grub.d/10_hurd.in: Likewise.
+ * util/console.c: Likewise.
+ * util/grub-macho2img.c: Likewise.
+ * util/grub-probe.c: Likewise.
+ * util/hostfs.c: Likewise.
+ * util/i386/pc/grub-mkimage.c: Likewise.
+ * util/i386/pc/grub-setup.c: Likewise.
+ * util/i386/efi/grub-mkimage.c: Likewise.
+ * util/grub-mkconfig.in: Likewise.
+ * util/raid.c: Likewise.
+ * util/resolve.c: Likewise.
+ * util/grub-mkdevicemap.c: Likewise.
+ * util/grub-emu.c: Likewise.
+ * util/getroot.c: Likewise.
+ * util/hostdisk.c: Likewise.
+ * util/usb.c: Likewise.
+ * util/grub-editenv.c: Likewise.
+ * util/misc.c: Likewise.
+
+2009-06-10 Felix Zielcke <fzielcke@z-51.de>
+
+ * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
+ `genparttoollist.sh'.
+ (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
+ Add `*.sh' to the list find searches for and change `mdate.sh'
+ to `mdate-sh'.
+
+2009-06-10 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/multiboot2.h: Provide compatibility defines for
+ multiboot2.h.
+ * include/multiboot2.h: Include stdint.h only if needed, using
+ angle brackets.
+ * loader/i386/pc/multiboot2.c: Include multiboot2.h after
+ grub/multiboot2.h.
+ * loader/ieee1275/multiboot2.c: Likewise.
+ * loader/multiboot2.c: Likewise.
+ * loader/multiboot_loader.c: Likewise.
+
+ * configure.ac: Use -nostdlib when probing for the target. It
+ should not be required to have libc for the target.
+
+ * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
+ they fail without libc headers for the target.
+ * include/grub/powerpc/libgcc.h: Use weak attribute for all
+ exports.
+ * include/grub/sparc64/libgcc.h: Likewise. Don't use
+ preprocessor conditionals.
+
+ * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
+ build system doesn't need to be aware of the tar.c internals.
+
+2009-06-09 Michel Hermier <michel.hermier@gmail.com>
+
+ * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
+
+2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/deviceiter.c (grub_util_iterate_devices): Increase number of
+ disk limit to 26 for IDE, Virtio, Xen and SCSI.
+
+2009-06-09 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/i386/pc/grub-install.in: Change the error message if UUIDs
+ aren't available if ata.mod gets used.
+
+2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
+
+ * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
+ initialising controller.
+ * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
+
+2009-06-08 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/i386/pc/grub-install.in: Add a parameter --disk-module
+ to choose between ata and biosdisk module on i386-pc.
+
+2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
+
+ * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
+ Subclass and Programming Interface fields in terms of the 3 byte
+ Class Code register.
+ * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
+
+ * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
+ interface is OHCI. Add grub_dprintf for symmetry with
+ bus/usb/uhci.c.
+ * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
+ interface is UHCI. Add interf variable for programming
+ interface. Print interface with class/subclass.
+
+ * bus/usb/ohci.c: Set interf with correct field.
+
+ * bus/usb/uhci.c: Remove unneeded doubled lines.
+ * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
+ Remove whitespace inside comment.
+
+2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
+ as fallback an equivalent option without depth.
+
+2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Not fail if unable to retrieve C/H/S on LBA disks
+
+ * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
+ if unable to retrieve C/H/S on LBA disks
+
+2009-06-08 Pavel Roskin <proski@gnu.org>
+
+ * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
+ about aliasing.
+
+2009-06-08 Felix Zielcke <fzielcke@z-51.de>
+
+ * Makefile.in (uninstall): Remove all $lib_DATA files.
+
+2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Bugfix: install on partitionless device
+
+ * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
+ is a whole disk
+
+2009-06-08 Felix Zielcke <fzielcke@z-51.de>
+
+ * Makefile.in (uninstall): Remove all $include_DATA files.
+
+2009-06-08 Felix Zielcke <fzielcke@z-51.de>
+
+ * commands/true.c: New file. Implement the true and false commands.
+ * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
+ (true_mod_SOURCES): New variable.
+ (true_mod_CFLAGS): Likewise.
+ (true_mod_LDFLAGS): Likewise.
+
+2009-06-05 Colin D Bennett <colin@gibibit.com>
+
+ Optimized font character lookup using binary search instead of linear
+ search. Fonts now are required to have the character index ordered by
+ code point.
+
+ * font/font.c (load_font_index): Verify that fonts have ordered
+ character indices.
+ (find_glyph): Use binary search instead of linear search to find a
+ character in a font.
+
+2009-06-05 Michael Scherer <misc@mandriva.org>
+
+ * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
+ uses case sensitive btree.
+ (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
+ only for case insensitive filesystems.
+
+2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
+ * conf/common.rmk (search_mod_CFLAGS): likewise
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
+ compensate a compiler bug
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
+ instead of '\b'
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Definitions for creating asm symbols with Apple's CC
+
+ * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
+ [APPLE_CC] (VARIABLE): likewise
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Disable lnxboot.img when compiled
+ with Apple's CC
+
+ * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
+ pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
+ * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
+ [! APPLE_CC] (CODE_LENG): skip
+ [! APPLE_CC] (setup_sects): likewise
+ [! APPLE_CC]: skip filling
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Address in trampolines based on 32-bit registers when compiled
+ with Apple's CC
+
+ * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
+ for addresses
+ * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Avoid aliases when compiling with Apple's CC for PCBIOS machine
+
+ * kern/misc.c [APPLE_CC] (memcpy): new function
+ [APPLE_CC] (memmove): likewise
+ [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
+ (memcpy): define alias conditionally on !APPLE_CC
+ (memset): likewise
+ (abort): likewise
+ * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
+ APPLE_CC are defined
+ * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
+ (grub_assert_fail): make prototype conditional
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
+
+ * conf/common.rmk (bin_UTILITIES): add (on false on condition)
+ grub-macho2img
+ (CLEANFILES): add grub-macho2img
+ (grub_macho2img_SOURCES): new variable
+ * kern/i386/pc/startup.S (bss_start): new variable
+ (bss_end): likewise
+ * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
+ * util/grub-macho2img.c: new file
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use objconv when compiling with Apple's CC
+
+ * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
+ (efiemu64.o): likewise
+ (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
+ when compiling with Apple's CC
+ (efiemu64_s.o): likewise
+ * configure.ac: check for objconv when compiling with Apple's CC
+ * genmk.rb: use objconv for modules when compiled with Apple's CC
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Define segment as well as section when compiling with
+ Apple's CC
+
+ * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
+ (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
+ (efiemu_convert_pointer): likewise
+ (efiemu_set_virtual_address_map): likewise
+ (efiemu_convert_pointer): likewise
+ (efiemu_getcrc32): likewise
+ (init_crc32_table): likewise
+ (reflect): likewise
+ * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
+ (GRUB_MOD_DEP): likewise
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Allow a compilation without -mcmodel=large
+
+ * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
+ when compiled without -mcmodel=large
+ (filter_memory_map): remove memory post 4 GiB when compiled
+ without -mcmodel=large
+ * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
+ TARGET_CFLAGS when -mcmodel=large isn't supported
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove nested functions in efiemu core
+
+ * efiemu/runtime/efiemu.c (reflect): make static instead of nested
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
+
+ * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
+ temporary storage
+ * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
+ using Apple's CC
+ (grub_cpu_is_tsc_supported): likewise
+ * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Absolute addressing through constant with Apple's cc
+
+ * kern/i386/pc/startup.S: Define necessary constants
+ and address through it when using ABS with Apple's CC
+ * boot/i386/pc/diskboot.S: likewise
+ * boot/i386/pc/boot.S: likewise
+ * boot/i386/pc/lnxboot.S: likewise
+ * boot/i386/pc/cdboot.S: likewise
+ * mmap/i386/pc/mmap_helper.S: likewise
+ * commands/i386/pc/drivemap_int13h.S: likewise
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Check if compiler is apple cc
+
+ * Makefile.in (ASFLAGS): new variable
+ (TARGET_ASFLAGS): likewise
+ (TARGET_MODULE_FORMAT): likewise
+ (TARGET_APPLE_CC): likewise
+ (OBJCONV): likewise
+ (TARGET_IMG_CFLAGS): likewise
+ (TARGET_CPPFLAGS): add includedir
+ * configure.ac: call grub_apple_cc and grub_apple_target_cc
+ (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
+ Check for linker script only if compiler isn't Apple's CC
+ (TARGET_MODULE_FORMAT): set
+ (TARGET_APPLE_CC): likewise
+ (TARGET_ASFLAGS): likewise
+ (ASFLAGS): likewise
+ Check for objcopy only if compiler isn't Apple's CC
+ Check for BSS symbol only if compiler isn't Apple's CC
+ * genmk.rb: adapt nm options if we use Apple's utils
+ * aclocal.m4 (grub_apple_cc): new test
+ (grub_apple_target_cc): likewise
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Simplify sed expressions and improve awk
+
+ * Makefile.in (install-local): simplify sed expression
+ * gencmdlist.sh: likewise
+ * genmoddep.awk: avoid adding module as a dependency of itself
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Add missing start symbols
+
+ * boot/i386/pc/boot.S: add start
+ * boot/i386/pc/pxeboot.S: likewise
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix wrong assumptions with grub-mkimage on EFI
+
+ * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
+ (relocate_addresses): consider both r_addend and value at offset
+ (make_mods_section): zerofill modinfo and header
+ (convert_elf): write prefix here
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use .asciz instead of .string
+
+ * i386/pc/diskboot.S: use .asciz instead of .string
+ * i386/pc/boot.S: likewise
+ * include/grub/dl.h (GRUB_MOD_DEP): likewise
+ (GRUB_MOD_NAME): likewise
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ gfxpayload support
+
+ * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
+ * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
+ (grub_video_setup): remove
+ (grub_video_set_mode): new prototype
+ * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
+ (vid_mode): remove
+ (linux_vesafb_res): compile only on PCBIOS
+ (grub_linux_boot): support gfxpayload
+ * loader/i386/pc/xnu.c (video_hook): new function
+ (grub_xnu_set_video): support gfxpayload
+ * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
+ (DEFAULT_VIDEO_HEIGHT): likewise
+ (DEFAULT_VIDEO_FLAGS): likewise
+ (DEFAULT_VIDEO_MODE): new definition
+ (video_hook): new function
+ (grub_gfxterm_init): use grub_video_set_mode
+ * util/grub.d/30_os-prober.in: remove explicit modesetting before
+ loading xnu
+ * video/video.c (grub_video_setup): removed
+ (grub_video_set_mode): new function based on grub_gfxterm_init and
+ grub_video_setup
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Avoid calling biosdisk in drivemap
+
+ * commands/i386/pc/drivemap.c (parse_biosdisk): remove
+ (revparse_biosdisk): likewise
+ (list_mappings): derive name from id directly
+ (grub_cmd_drivemap): use tryparse_diskstring
+
+2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Script fixes
+
+ * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
+ (grub_lexer_param): add tokenonhold
+ (grub_script_create_cmdline): remove cmdline. All callers updated
+ (grub_script_function_create): make functionname
+ grub_script_arg. All callers updated
+ (grub_script_execute_argument_to_string): new prototype
+ * kern/parser.c (state_transitions): reorder
+ (grub_parser_cmdline_state): fix a bug and make more compact
+ * script/sh/execute.c (grub_script_execute_argument_to_string):
+ make global
+ (grub_script_execute_cmdline): use new format
+ * script/sh/function.c (grub_script_function_create): make functionname
+ grub_script_arg. All callers updated
+ * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
+ (grub_script_yylex): remove
+ (grub_script_yylex2): renamed to ...
+ (grub_script_yylex): ...renamed
+ parse the expressions like a${b}c
+ * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
+ (GRUB_PARSER_TOKEN_VAR): remove
+ (GRUB_PARSER_TOKEN_NAME): likewise
+ ("if"): declare as typeless
+ ("while"): likewise
+ ("function"): likewise
+ ("else"): likewise
+ ("then"): likewise
+ ("fi"): likewise
+ (text): remove
+ (argument): likewise
+ (script): accept empty scripts and make exit on error
+ (arguments): use GRUB_PARSER_TOKEN_ARG
+ (function): likewise
+ (command): move error handling to script
+ (menuentry): move grub_script_lexer_ref before
+ * script/sh/script.c (grub_script_create_cmdline): remove cmdline
+ argument. All callers updated
+
+2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ Prevent GRUB from probing floppies during boot.
+
+ * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
+ * commands/search.c (options): Add --no-floppy.
+ (search_fs, search_file, grub_cmd_search): Support --no-floppy.
+ * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
+ --no-floppy when searching for UUIDs.
+
+2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ Simplify the code duplication in commands/search.c.
+
+ * commands/search.c (search_label, search_fs_uuid): Merge into ...
+ (search_fs): ... this. Update all users.
+
+2009-06-03 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
+
+2009-05-28 Pavel Roskin <proski@gnu.org>
+
+ * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
+ Remove the original symlink explicitly.
+
+ * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
+ just one slash. That's how grub_fshelp_find_file() does it.
+
+2009-05-26 Pavel Roskin <proski@gnu.org>
+
+ * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
+ to `str'.
+
+ * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
+ possibly unused.
+
+2009-05-25 Christian Franke <franke@computer.org>
+
+ * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
+ register.
+ (grub_atapi_identify): Add wait after drive select.
+ (grub_ata_identify): Do more strict status register check before
+ calling grub_atapi_identify (). Suppress error message if status
+ register is 0x00 after command failure. Add status register
+ check after PIO read to avoid bogus identify due to stuck DRQ.
+ Thanks to Pavel Roskin for testing.
+ (grub_device_initialize): Remove unsafe status register check.
+ Thanks to 'phcoder' for problem report and patch.
+ Prevent sign extension in debug message.
+
+2009-05-23 Colin D Bennett <colin@gibibit.com>
+
+ Cleaned up `include/grub/normal.h'. Grouped prototypes by
+ definition file, and functions defined in `normal/menu.c' have had
+ their prototypes moved to `include/grub/menu.h' for consistency.
+
+ * include/grub/menu.h (grub_menu_execute_callback): Added; moved
+ from normal.h.
+ (grub_menu_get_entry): Likewise.
+ (grub_menu_get_timeout): Likewise.
+ (grub_menu_set_timeout): Likewise.
+ (grub_menu_execute_entry): Likewise.
+ (grub_menu_execute_with_fallback): Likewise.
+ (grub_menu_entry_run): Likewise.
+
+ * include/grub/normal.h: Re-ordered and grouped function
+ prototypes by file that the function is defined in.
+ (grub_menu_execute_callback): Removed; moved to menu.h.
+ (grub_menu_get_entry): Likewise.
+ (grub_menu_get_timeout): Likewise.
+ (grub_menu_set_timeout): Likewise.
+ (grub_menu_execute_entry): Likewise.
+ (grub_menu_execute_with_fallback): Likewise.
+ (grub_menu_entry_run): Likewise.
+ (grub_menu_addentry): Renamed from this ...
+ (grub_normal_add_menu_entry): ... to this.
+
+ * normal/main.c (grub_menu_addentry): Renamed from this ...
+ (grub_normal_add_menu_entry): ... to this.
+
+ * script/sh/execute.c (grub_script_execute_menuentry): Update
+ reference to renamed grub_menu_addentry function.
+
+2009-05-23 Felix Zielcke <fzielcke@z-51.de>
+
+ * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
+
+2009-05-22 Pavel Roskin <proski@gnu.org>
+
+ * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
+ * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
+ NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
+ compiling for the i386 targets, but not for the utilities.
+
+ * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
+ to grub_uint8_t.
+ (grub_root_drive): Likewise.
+ * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
+ remove alignment.
+ (grub_root_drive): Change size to byte.
+ (grub_start_addr): Remove.
+ (grub_end_addr): Likewise.
+ (grub_apm_bios_info): Likewise.
+
+2009-05-21 Felix Zielcke <fzielcke@z-51.de>
+
+ * normal/i386: Remove.
+ * normal/powerpc: Likewise.
+ * normal/sparc64: Likewise.
+ * normal/x86_64: Likewise.
+
+2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
+ * loader/i386/linux_trampoline.S: Fix indentation
+ * loader/i386/xnu_helper.S: Likewise
+
+2009-05-18 Colin D Bennett <colin@gibibit.com>
+
+ Display error messages when parsing a Lua statement fails.
+ Previously, executing a syntactically invalid statement like
+ ")foo" or "bar;" would silently fail.
+
+ * script/lua/grub_main.c (handle_lua_error): New function.
+ (grub_lua_parse_line): Improved reporting of Lua parser and
+ execution errors.
+
+2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove -Werror which causes build to fail on some systems
+
+ * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
+ * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
+ * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
+
+2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ trampoline for linux on 64-bit platform
+
+ * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
+ loader/i386/efi/linux_trampoline.S
+ * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
+ declaration
+ * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
+ here
+ * loader/i386/linux_trampoline.S: moved here
+ * loader/i386/efi/linux.c (allocate_pages): reserve space for
+ trampoline
+ (jumpvector): removed
+ (grub_linux_trampoline_start): new declaration
+ (grub_linux_trampoline_end): likewise
+ (grub_linux_boot): use trampoline when on 64-bit platform
+ * loader/i386/linux.c: likewise
+
+2009-05-16 Pavel Roskin <proski@gnu.org>
+
+ * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
+ const to avoid a warning.
+ (grub_lua_setenv): Likewise.
+ * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
+ lmsg to fix a warning.
+
+2009-05-16 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
+ (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
+ * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
+ (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
+ * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
+ (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
+ * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
+ (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
+
+2009-05-16 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
+
+2009-05-16 Bean <bean123ch@gmail.com>
+
+ * conf/common.rmk (pkglib_MODULES): Add lua.mod.
+ (lua_mod_SOURCES): New variable.
+ (lua_mod_CFLAGS): Likewise.
+ (lua_mod_LDFLAGS): Likewise.
+
+ * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
+ (setjmp_mod_SOURCES): New variable.
+ (setjmp_mod_CFLAGS): Likewise.
+ (setjmp_LDFLAGS): Likewise.
+
+ * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
+ (setjmp_mod_SOURCES): New variable.
+ (setjmp_mod_CFLAGS): Likewise.
+ (setjmp_LDFLAGS): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
+ (setjmp_mod_SOURCES): New variable.
+ (setjmp_mod_CFLAGS): Likewise.
+ (setjmp_LDFLAGS): Likewise.
+
+ * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
+ (setjmp_mod_SOURCES): New variable.
+ (setjmp_mod_CFLAGS): Likewise.
+ (setjmp_LDFLAGS): Likewise.
+
+ * normal/i386/setjmp.S: Moved from here ...
+ * lib/i386/setjmp.S: ... Moved here
+ * normal/x86_64/setjmp.S: Moved from here ...
+ * lib/x86_64/setjmp.S: ... Moved here
+ * normal/powerpc/setjmp.S: Moved from here ...
+ * lib/powerpc/setjmp.S: ... Moved here
+ * normal/sparc64/setjmp.S: Moved from here ...
+ * lib/sparc64/setjmp.S: ... Moved here
+
+ * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
+ returns_twice in mingw.
+
+ * script/lua/grub_lib.c: New file.
+ * script/lua/grub_lib.h: Likewise.
+ * script/lua/grub_lua.h: Likewise.
+ * script/lua/grub_main.c: Likewise.
+ * script/lua/lapi.c: Likewise.
+ * script/lua/lapi.h: Likewise.
+ * script/lua/lauxlib.c: Likewise.
+ * script/lua/lauxlib.h: Likewise.
+ * script/lua/lbaselib.c: Likewise.
+ * script/lua/lcode.c: Likewise.
+ * script/lua/lcode.h: Likewise.
+ * script/lua/ldblib.c: Likewise.
+ * script/lua/ldebug.c: Likewise.
+ * script/lua/ldebug.h: Likewise.
+ * script/lua/ldo.c: Likewise.
+ * script/lua/ldo.h: Likewise.
+ * script/lua/ldump.c: Likewise.
+ * script/lua/lfunc.c: Likewise.
+ * script/lua/lfunc.h: Likewise.
+ * script/lua/lgc.c: Likewise.
+ * script/lua/lgc.h: Likewise.
+ * script/lua/linit.c: Likewise.
+ * script/lua/liolib.c: Likewise.
+ * script/lua/llex.c: Likewise.
+ * script/lua/llex.h: Likewise.
+ * script/lua/llimits.h: Likewise.
+ * script/lua/lmathlib.c: Likewise.
+ * script/lua/lmem.c: Likewise.
+ * script/lua/lmem.h: Likewise.
+ * script/lua/loadlib.c: Likewise.
+ * script/lua/lobject.c: Likewise.
+ * script/lua/lobject.h: Likewise.
+ * script/lua/lopcodes.c: Likewise.
+ * script/lua/lopcodes.h: Likewise.
+ * script/lua/loslib.c: Likewise.
+ * script/lua/lparser.c: Likewise.
+ * script/lua/lparser.h: Likewise.
+ * script/lua/lstate.c: Likewise.
+ * script/lua/lstate.h: Likewise.
+ * script/lua/lstring.c: Likewise.
+ * script/lua/lstring.h: Likewise.
+ * script/lua/lstrlib.c: Likewise.
+ * script/lua/ltable.c: Likewise.
+ * script/lua/ltable.h: Likewise.
+ * script/lua/ltablib.c: Likewise.
+ * script/lua/ltm.c: Likewise.
+ * script/lua/ltm.h: Likewise.
+ * script/lua/lua.h: Likewise.
+ * script/lua/luaconf.h: Likewise.
+ * script/lua/lualib.h: Likewise.
+ * script/lua/lundump.c: Likewise.
+ * script/lua/lundump.h: Likewise.
+ * script/lua/lvm.c: Likewise.
+ * script/lua/lvm.h: Likewise.
+ * script/lua/lzio.c: Likewise.
+ * script/lua/lzio.h: Likewise.
+
+2009-05-16 Bean <bean123ch@gmail.com>
+
+ * include/grub/kernel.h (grub_module_header_types): Add type
+ OBJ_TYPE_CONFIG.
+
+ * kern/main.c (grub_load_config): New function.
+ (grub_main): Call grub_load_config to read boot config.
+
+ * grub-mkimage (generate_image): New parameter config_path.
+ (options): New option --config.
+ (main): Parse --config option, and pass it to generate_image.
+
+2009-05-14 Christian Franke <franke@computer.org>
+
+ * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
+ This fixes build on Cygwin.
+
+2009-05-14 Pavel Roskin <proski@gnu.org>
+
+ * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
+ jump. This saves two bytes, so the typical case of 2 swapped
+ drives would fit 32 bytes.
+
+2009-05-13 Pavel Roskin <proski@gnu.org>
+
+ * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
+ grub_uint32_t to avoid a warning.
+
+ * loader/i386/linux.c (allocate_pages): When assigning
+ real_mode_mem, cast through grub_size_t to fix a warning. The
+ code already makes sure that the value would fit a pointer.
+ (grub_linux_setup_video): Cast render_target->data to
+ grub_size_t to fix a warning.
+
+2009-05-13 Javier Martín <lordhabbit@gmail.com>
+
+ * commands/i386/pc/drivemap.c: New file - implement drivemap
+ command.
+ * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
+ * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
+
+2009-05-13 Pavel Roskin <proski@gnu.org>
+
+ * util/i386/pc/grub-setup.c (setup): Remove unused variable
+ embedding_area_exists.
+
+2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
+ it easier to understand / work with.
+ Improve warning messages for cases where there's no embedding area,
+ or when it is too small (or core.img too large).
+
+2009-05-13 Pavel Roskin <proski@gnu.org>
+
+ * loader/i386/pc/multiboot2.c: Add necessary includes for
+ grub_multiboot2_real_boot().
+
+ * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
+ PX record is always little-endian. We only need the lower 2
+ bytes of the mode.
+
+ * fs/cpio.c: Use the same name "struct head" for tar and cpio to
+ facilitate code reuse.
+ (grub_cpio_mount): Use "struct head", not a char buffer. This
+ fixes a warning reported by gcc 4.4.
+
+ * kernel/disk.c (grub_disk_read): Use void pointer for the
+ buffer.
+ (grub_disk_write): Use const void pointer for the buffer.
+ Adjust all callers. Remove unnecessary casts.
+
+2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/i386/pc/grub-install.in: Update copyright year.
+
+2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ gptsync
+
+ * commands/gptsync.c: new file
+ * conf/common.rmk (pkglib_MODULES): add gptsync.mod
+ (gptsync_mod_SOURCES): new variable
+ (gptsync_mod_CFLAGS): likewise
+ (gptsync_mod_LDFLAGS): likewise
+ * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
+ new definition
+ (GRUB_PC_PARTITION_TYPE_HFS): likewise
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
+ * conf/i386-ieee1275.rmk: likewise
+ * conf/i386-pc.rmk: likewise
+ * conf/powerpc-ieee1275.rmk: likewise
+
+2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fixed grub-emu
+
+ * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
+ (grub_dl_ref): likewise
+
+2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
+ split in two functions (one for msdos and one for gpt).
+
+2009-05-08 Pavel Roskin <proski@gnu.org>
+
+ * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
+ not modified.
+
+ * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
+ uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
+ Initialize them with -1. Add sanity check for bad1. Eliminate
+ nerr variable.
+
+2009-05-08 David S. Miller <davem@davemloft.net>
+
+ * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
+
+2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/i386/pc/grub-setup.c (setup): Fix check for embed region
+ existence.
+
+2009-05-05 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
+ `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
+
+2009-05-05 David S. Miller <davem@davemloft.net>
+
+ * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
+
+2009-05-05 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
+ of grub_dl_ref() and grub_dl_unref().
+ * commands/parttool.c: Remove preprocessor conditionals around
+ grub_dl_ref() and grub_dl_unref().
+ * fs/affs.c: Likewise.
+ * fs/afs.c: Likewise.
+ * fs/cpio.c: Likewise.
+ * fs/ext2.c: Likewise.
+ * fs/fat.c: Likewise.
+ * fs/hfs.c: Likewise.
+ * fs/hfsplus.c: Likewise.
+ * fs/iso9660.c: Likewise.
+ * fs/jfs.c: Likewise.
+ * fs/minix.c: Likewise.
+ * fs/ntfs.c: Likewise.
+ * fs/reiserfs.c: Likewise.
+ * fs/sfs.c: Likewise.
+ * fs/udf.c: Likewise.
+ * fs/ufs.c: Likewise.
+ * fs/xfs.c: Likewise.
+ * include/grub/dl.h: Likewise.
+ * loader/xnu.c: Likewise.
+
+2009-05-04 Pavel Roskin <proski@gnu.org>
+
+ * commands/acpi.c: Remove unused variable my_mod.
+ * partmap/amiga.c: Likewise.
+ * partmap/apple.c: Likewise.
+ * partmap/gpt.c: Likewise.
+ * partmap/pc.c: Likewise.
+ * partmap/sun.c: Likewise.
+ * term/gfxterm.c: Likewise.
+ * term/i386/pc/vesafb.c: Likewise.
+ * term/i386/pc/vga.c: Likewise.
+
+2009-05-04 David S. Miller <davem@davemloft.net>
+
+ * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
+ pointer args to grub_ieee1275_get_property().
+
+ * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
+
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
+ devices, and do not traverse down under controller nodes.
+
+ * disk/ieee1275/ofdisk.c (compute_dev_path): New.
+ (grub_ofdisk_open): Use it to un-escape "," characters.
+ * kern/disk.c (find_part_sep): New.
+ (grub_disk_open): Use it to find the first non-escaped ','
+ character in the disk name.
+ * util/ieee1275/devicemap.c (escape_of_path): New.
+ (grub_util_emit_devicemap_entry): Use it.
+ * util/sparc64/ieee1275/grub-install.in: Update script to
+ strip partition specifiers properly by not triggering on
+ '\' escaped ',' characters.
+
+2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
+ to 0x300.
+ * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
+ resolutions.
+ (linux_vesafb_modes): Add a lot of additional modes to the list (based
+ on documentation from Wikipedia).
+
+2009-05-04 Pavel Roskin <proski@gnu.org>
+
+ * disk/ata.c: Spelling fixes.
+ * disk/raid.c: Likewise.
+ * disk/usbms.c: Likewise.
+ * disk/dmraid_nvidia.c: Likewise.
+ * kern/ieee1275/openfw.c: Likewise.
+ * kern/ieee1275/init.c: Likewise.
+ * kern/ieee1275/cmain.c: Likewise.
+ * boot/i386/pc/cdboot.S: Likewise.
+ * video/readers/png.c: Likewise.
+ * video/i386/pc/vbe.c: Likewise.
+ * fs/udf.c: Likewise.
+ * fs/hfs.c: Likewise.
+ * fs/reiserfs.c: Likewise.
+ * efiemu/runtime/efiemu.c: Likewise.
+ * efiemu/main.c: Likewise.
+ * efiemu/mm.c: Likewise.
+ * include/grub/elf.h: Likewise.
+ * include/grub/xnu.h: Likewise.
+ * include/grub/usbdesc.h: Likewise.
+ * include/grub/usb.h: Likewise.
+ * include/grub/script_sh.h: Likewise.
+ * include/grub/lib/LzmaEnc.h: Likewise.
+ * include/grub/efiemu/efiemu.h: Likewise.
+ * include/grub/command.h: Likewise.
+ * normal/menu.c: Likewise.
+ * normal/main.c: Likewise.
+ * normal/datetime.c: Likewise.
+ * bus/usb/uhci.c: Likewise.
+ * mmap/i386/uppermem.c: Likewise.
+ * mmap/mmap.c: Likewise.
+ * commands/acpi.c: Likewise.
+ * commands/test.c: Likewise.
+ * partmap/apple.c: Likewise.
+ * font/font.c: Likewise.
+ * loader/sparc64/ieee1275/linux.c: Likewise.
+ * loader/macho.c: Likewise.
+ * loader/i386/bsd_trampoline.S: Likewise.
+ * loader/i386/bsd.c: Likewise.
+ * loader/xnu.c: Likewise.
+ * term/i386/pc/vesafb.c: Likewise.
+ * term/usb_keyboard.c: Likewise.
+ * util/resolve.c: Likewise.
+ * util/getroot.c: Likewise.
+
+2009-05-04 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
+
+2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
+ build error.
+
+2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
+ parameter only available on BIOS.
+
+2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Removed wrong semicolon in declaration
+
+ * grub/misc.h (grub_dprintf): remove semicolon
+
+2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
+ (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
+ is done by grub_cmd_linux() now).
+ [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
+ restore video to text mode.
+ (grub_cmd_linux): Default `vid_mode' initialization to 0, which
+ indicates lack of "vga=" parameter. "vga=0" is mapped to
+ `GRUB_LINUX_VID_MODE_NORMAL'.
+
+2009-05-04 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
+ `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
+ and `normal/script.c'. Add `kern/rescue_reader.c',
+ `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
+ `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
+ `grub_script.tab.c'.
+
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+ * Makefile.in: Remove duplicated 2008 in Copyright line.
+
+2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/misc.c (grub_util_warn): New function. Emits a warning
+ unconditionally.
+ * include/grub/util/misc.h (grub_util_warn): New declaration.
+
+ * util/i386/pc/grub-install.in: Understand --force and pass it down
+ to grub-setup.
+
+ * util/i386/pc/grub-setup.c (main): Understand --force and pass it
+ down to setup().
+ (setup): Improve error messages and add warnings when requested to
+ install in odd layouts. Refuse to install using blocklists unless
+ --force was set.
+
+2009-05-04 martin f. krafft <madduck@madduck.net>
+
+ * disk/raid.c (grub_raid_scan_device): Improve debug message.
+
+2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Updated copyright year
+
+ * fs/hfsplus.c: updated copyright year
+
+2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ HFS+ UUID
+
+ * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
+ in the space previously used by unused3
+ (grub_hfsplus_uuid): new function
+ (grub_hfsplus_fs): added uuid field
+
+2009-05-03 Pavel Roskin <proski@gnu.org>
+
+ * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
+ suppress warnings. It's no longer needed.
+ * disk/host.c: Likewise.
+ * disk/ata_pthru.c: Likewise.
+ * disk/loopback.c: Likewise.
+ * hook/datehook.c: Likewise.
+ * parttool/pcpart.c: Likewise.
+ * fs/i386/pc/pxe.c: Likewise.
+ * fs/ntfscomp.c: Likewise.
+ * efiemu/main.c: Likewise.
+ * mmap/mmap.c: Likewise.
+ * commands/crc.c: Likewise.
+ * commands/hexdump.c: Likewise.
+ * commands/hdparm.c: Likewise.
+ * commands/acpi.c: Likewise.
+ * commands/echo.c: Likewise.
+ * commands/minicmd.c: Likewise.
+ * commands/blocklist.c: Likewise.
+ * commands/memrw.c: Likewise.
+ * commands/loadenv.c: Likewise.
+ * commands/usbtest.c: Likewise.
+ * commands/lsmmap.c: Likewise.
+ * commands/boot.c: Likewise.
+ * commands/parttool.c: Likewise.
+ * commands/configfile.c: Likewise.
+ * commands/search.c: Likewise.
+ * commands/ieee1275/suspend.c: Likewise.
+ * commands/cat.c: Likewise.
+ * commands/i386/pc/pxecmd.c: Likewise.
+ * commands/i386/pc/play.c: Likewise.
+ * commands/i386/pc/halt.c: Likewise.
+ * commands/i386/pc/vbeinfo.c: Likewise.
+ * commands/i386/pc/vbetest.c: Likewise.
+ * commands/lspci.c: Likewise.
+ * commands/date.c: Likewise.
+ * commands/handler.c: Likewise.
+ * commands/ls.c: Likewise.
+ * commands/test.c: Likewise.
+ * commands/cmp.c: Likewise.
+ * commands/efi/loadbios.c: Likewise.
+ * commands/efi/fixvideo.c: Likewise.
+ * commands/halt.c: Likewise.
+ * commands/help.c: Likewise.
+ * commands/reboot.c: Likewise.
+ * hello/hello.c: Likewise.
+ * script/sh/main.c: Likewise.
+ * loader/xnu.c: Likewise.
+ * term/terminfo.c: Likewise.
+ * term/i386/pc/serial.c: Likewise.
+ * term/usb_keyboard.c: Likewise.
+
+2009-05-03 David S. Miller <davem@davemloft.net>
+
+ * normal/menu.c: Include grub/parser.h
+
+2009-05-03 Pavel Roskin <proski@gnu.org>
+
+ * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
+ not char*.
+ * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
+ Suggested by Javier Martín <lordhabbit@gmail.com>
+
+ * util/i386/pc/grub-mkrescue.in: Allow for the case when
+ efiemu??.o doesn't exist.
+ * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
+ copying.
+
+2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
+
+ FreeBSD 64-bit support
+
+ * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
+ and loader/i386/bsd_trampoline.S
+ (bsd_mod_ASFLAGS): new variable
+ * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
+ (FREEBSD_MODTYPE_KERNEL64): likewise
+ (grub_bsd64_trampoline_start): likewise
+ (grub_bsd64_trampoline_end): likewise
+ (grub_bsd64_trampoline_selfjump): likewise
+ (grub_bsd64_trampoline_gdt): likewise
+ * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
+ * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
+ * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
+ * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
+ * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
+ of "attrib" member
+ * loader/i386/bsd_pagetable.c: new file
+ * loader/i386/bsd_trampoline.S: likewise
+ * loader/i386/bsd.c (ALIGN_QWORD): new macro
+ (ALIGN_VAR): likewise
+ (entry_hi): new variable
+ (kern_end_mdofs): likewise
+ (is_64bit): likewise
+ (grub_freebsd_add_meta): use ALIGN_VAR
+ (grub_e820_mmap): new declaration
+ (grub_freebsd_add_mmap): new function
+ (grub_freebsd_add_meta_module): support 64 bit kernels
+ (grub_freebsd_list_modules): use ALIGN_VAR
+ (gdt_descriptor): new declaration
+ (grub_freebsd_boot): support 64 bit kernels
+ (grub_bsd_elf64_hook): new function
+ (grub_bsd_load_elf): support elf64
+
+2009-05-03 Bean <bean123ch@gmail.com>
+
+ * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
+ after we get the result of if statement.
+
+2009-05-03 Bean <bean123ch@gmail.com>
+
+ * Makefile.in (enable_efiemu): New variable.
+
+ * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
+ set.
+ (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
+ path.
+ (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
+ path, add -mno-red-zone option.
+ (efiemu64_s.o): Likewise.
+ (efiemu64.o): Use macro $^ for source file.
+
+ * configure.ac (--enable-efiemu): New option.
+
+2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ xnu support
+
+ * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
+ (pkglib_MODULES): add xnu.mod
+ (xnu_mod_SOURCES): new variable
+ (xnu_mod_CFLAGS): likewise
+ (xnu_mod_LDFLAGS): likewise
+ (xnu_mod_ASFLAGS): likewise
+ * conf/i386-pc.rmk: likewise
+ * conf/x86_64-efi.rmk: likewise
+ * include/grub/efi/efi.h (grub_efi_finish_boot_services):
+ new declaration
+ * include/grub/i386/macho.h: new file
+ * include/grub/i386/xnu.h: likewise
+ * include/grub/macho.h: likewise
+ * include/grub/machoload.h: likewise
+ * include/grub/x86_64/macho.h: likewise
+ * include/grub/x86_64/xnu.h: likewise
+ * include/grub/xnu.h: likewise
+ * kern/efi/efi.c (grub_efi_finish_boot_services): new function
+ * kern/efi/mm.c (MAX_HEAP_SIZE): increase
+ * loader/i386/efi/xnu.c: new file
+ * loader/i386/pc/xnu.c: likewise
+ * loader/i386/xnu.c: likewise
+ * loader/i386/xnu_helper.S: likewise
+ * loader/macho.c: likewise
+ * loader/xnu.c: likewise
+ * loader/xnu_resume.c: likewise
+ * util/grub-dumpdevtree: likewise
+ * include/grub/i386/pit.h: include grub/err.h
+ (grub_pit_wait): export
+ * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
+
+2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Efiemu
+
+ * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
+ _linux_efi, linux_efi.
+ new files in grub-emu
+ new targets efiemu32.o and efiemu64.o
+ * loader/linux_normal_efiemu.c: likewise
+ * loader/i386/efi/linux.c: added preliminary efiemu support
+ * util/i386/pc/grub-install.in: add efiemu??.o to the list of
+ files to copy
+ * include/grub/autoefi.h: new file
+ * include/grub/i386/efiemu.h: likewise
+ * include/grub/i386/pc/efiemu.h: likewise
+ * include/grub/efi/api.h: add LL suffix when necessary
+ new definitions relating to tables
+ * include/grub/efiemu/efiemu.h: new file
+ * include/grub/efiemu/runtime.h: likewise
+ * efiemu/prepare.c: likewise
+ * efiemu/loadcore_common.c: likewise
+ * efiemu/loadcore64.c: likewise
+ * efiemu/runtime/efiemu.sh: likewise
+ * efiemu/runtime/efiemu.S: likewise
+ * efiemu/runtime/efiemu.c: likewise
+ * efiemu/runtime/config.h: likewise
+ * efiemu/prepare32.c: likewise
+ * efiemu/main.c: likewise
+ * efiemu/modules/pnvram.c: likewise
+ * efiemu/modules/i386: likewise
+ * efiemu/modules/i386/pc: likewise
+ * efiemu/modules/acpi.c: likewise
+ * efiemu/i386/pc/cfgtables.c: likewise
+ * efiemu/i386/loadcore64.c: likewise
+ * efiemu/i386/loadcore32.c: likewise
+ * efiemu/prepare64.c: likewise
+ * efiemu/loadcore.c: likewise
+ * efiemu/symbols.c: likewise
+ * efiemu/mm.c: likewise
+ * efiemu/loadcore32.c: likewise
+
+2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ ACPI spoofing
+
+ * commands/acpi.c: new file
+ * commands/i386/pc/acpi.c: likewise
+ * commands/efi/acpi.c: likewise
+ * include/grub/acpi.h: likewise
+ * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
+ (acpi_mod_SOURCES): new variable
+ (acpi_mod_CFLAGS): likewise
+ (acpi_mod_LDFLAGS): likewise
+ * conf/i386-efi.rmk: likewise
+ * conf/x86_64-efi.rmk: likewise
+
+2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Missing part from mmap patch
+
+ * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
+ (grub_mmap_unregister)
+ (grub_mmap_free_and_unregister): use grub_mmap_register
+
+2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Mmap services
+
+ * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
+ * loader/i386/linux.c (find_mmap_size): likewise
+ (allocate_pages): likewise
+ * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
+ (grub_fill_multiboot_mmap): likewise
+ (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
+ * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
+ * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
+ (OPENBSD_MMAP_RESERVED): likewise
+ * include/grub/i386/pc/memory.h: include grub/memory.h
+ (grub_lower_mem): removed
+ (grub_upper_mem): likewise
+ (GRUB_MACHINE_MEMORY_ACPI): new definition
+ (GRUB_MACHINE_MEMORY_NVS): likewise
+ (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
+ (GRUB_MACHINE_MEMORY_HOLE): likewise
+ (grub_machine_mmap_register): likewise
+ (grub_machine_mmap_unregister): likewise
+ (grub_machine_get_upper): likewise
+ (grub_machine_get_lower): likewise
+ (grub_machine_get_post64): likewise
+ * include/grub/i386/efi/memory.h: new file
+ * include/grub/x86_64/efi/memory.h: likewise
+ * include/grub/efi/memory.h: likewise
+ * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
+ (mmap_mod_SOURCES): new variable
+ (mmap_mod_LDFLAGS): likewise
+ (mmap_mod_ASFLAGS): likewise
+ * conf/i386-coreboot.rmk: likewise
+ * conf/i386-ieee1275.rmk: likewise
+ * conf/i386-efi.rmk: likewise
+ * conf/x86_64-efi.rmk: likewise
+ * include/grub/types.h (UINT_TO_PTR): new macro
+ (PTR_TO_UINT32): likewise
+ (PTR_TO_UINT64): likewise
+ * include/grub/memory.h: new file
+ * mmap/i386/pc/mmap.c: likewise
+ * mmap/i386/pc/mmap_helper.S: likewise
+ * mmap/i386/uppermem.c: likewise
+ * mmap/mmap.c: likewise
+ * mmap/efi/mmap.c: likewise
+ * kern/i386/coreboot/init.c (grub_machine_init): don't use
+ grub_upper_mem
+ * kern/i386/pc/init.c (grub_lower_mem): removed variable
+ (grub_upper_mem): likewise
+ (grub_machine_init): don't use grub_upper_mem,
+ make grub_lower_mem local
+ * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
+ grub_mmap_iterate and grub_mmap_get_upper
+ (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
+
+2009-05-02 Bean <bean123ch@gmail.com>
+
+ * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
+ script/sh/parser.y.
+ (pkglib_MODULES): Add normal.mod and sh.mod.
+ (normal_SOURCES): New variable.
+ (normal_mod_CFLAGS): Likewise.
+ (normal_mod_LDFLAGS): Likewise.
+ (sh_mod_SOURCES): Likewise.
+ (sh_mod_CFLAGS): Likewise.
+ (sh_mod_LDFLAGS): Likewise.
+
+ * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
+ script/sh/lexer.c_DEPENDENCIES.
+ (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
+ kern/rescue_reader.c and kern/rescue_parser.c.
+ (kernel_img_HEADERS): Remove rescue.h, add reader.h.
+ (grub_emu_SOURCES): Change source files.
+ (pkglib_MODULES): Remove normal.mod.
+ (normal_SOURCES): Removed.
+ (normal_mod_CFLAGS): Likewise.
+ (normal_mod_LDFLAGS): Likewise.
+ * conf/i386-coreboot.rmk: Likewise.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/i386-ieee1276.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+
+ * include/grub/command.h (grub_command_execute): New inline function.
+
+ * include/grub/menu.h (grub_menu_entry): Removed commands field.
+
+ * include/grub/normal.h: Remove <grub/setjmp.h>.
+ (grub_fs_module_list): Moved to normal/autofs.c.
+ (grub_exit_env): Removed.
+ (grub_command_execute): Likewise.
+ (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
+ parameter script.
+ (read_command_list): New function declaration.
+ (read_fs_list): Likewise.
+
+ * include/parser.h: Include <grub/reader.h>.
+ (grub_parser_split_cmdline): Change type of getline parameter.
+ (grub_parser): New structure.
+ (grub_parser_class): New variable.
+ (grub_parser_execute): New function declaration.
+ (grub_register_rescue_parser): Likewise.
+ (grub_parser_register): New inline function.
+ (grub_parser_unregister): Likewise.
+ (grub_parser_get_current): Likewise.
+ (grub_parser_set_current): Likewise.
+
+ * include/grub/reader.h: New file.
+ * kern/reader.c: Likewise.
+ * kern/rescue_parser.c: Likewise.
+ * kern/rescue_reader.c: Likewise.
+ * normal/autofs.c: Likewise.
+ * normal/dyncmd.c: Likewise.
+
+ * include/grub/rescue.h: Removed.
+ * normal/command.h: Likewise.
+
+ * include/grub/script.h: Moved to ...
+ * include/grub/script_sh.h: ... Moved here.
+ * normal/execute.c: Moved to ...
+ * script/sh/execute.c: ... Moved here.
+ * normal/function.c: Moved to ...
+ * script/sh/function.c: ... Moved here.
+ * normal/lexer.c: Moved to ...
+ * script/sh/lexer.c: ... Moved here.
+ * normal/parser.y: Moved to ...
+ * script/sh/parser.y: ... Moved here.
+ * normal/script.c: Moved to ...
+ * script/sh/script.c: ... Moved here.
+
+ * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
+ <grub/reader.h>.
+ (grub_exit_env): Removed.
+ (fs_module_list): Moved to normal/autofs.c.
+ (grub_file_getline): Don't handle comment here.
+ (free_menu): Skip removed field entry->commands.
+ (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
+ script parameter.
+ (read_config_file): Removed nested parameter, change getline function.
+ (grub_enter_normal_mode): Removed.
+ (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
+ (read_command_list): Likewise.
+ (autoload_fs_module): Moved to normal/autofs.c.
+ (read_fs_list): Likewise.
+ (reader_nested): New variable.
+ (grub_normal_execute): Run parser.sh to switch to sh parser.
+ (grub_cmd_rescue): Removed.
+ (cmd_normal): Removed.
+ (grub_cmd_normal): Unregister itself at the beginning. Don't register
+ rescue command.
+ (grub_cmdline_run): New function.
+ (grub_normal_reader_init): Likewise.
+ (grub_normal_read_line): Likewise.
+ (grub_env_write_pager): Likewise.
+ (cmdline): New variable.
+ (grub_normal_reader): Likewise.
+ (GRUB_MOD_INIT): Register normal reader and set as current, register
+ pager hook, register normal command with grub_register_command_prio,
+ so that it won't show up in command.lst.
+ (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
+ grub_fs_autoload_hook.
+
+ * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
+ (grub_menu_execute_entry): Replace grub_script_execute with
+ grub_parser_execute, change parameter to grub_command_execute.
+
+ * normal/menu_text.c: Remove <grub/script.h>.
+
+ * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
+ and <grub/parser.h>.
+ (run): Change editor_getline to use new parser interface. Change
+ parameter to grub_command_execute.
+
+ * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
+ <grub/reader.h> and <grub/parser.h>.
+ (grub_load_normal_mode): Execute normal command.
+ (grub_main): Call grub_register_core_commands,
+ grub_register_rescue_parser and grub_register_rescue_reader, use
+ grub_reader_loop to enter input loop.
+
+ * kern/parser.c (grub_parser_split_cmdline): Change type of
+ getline parameter.
+ (grub_parser_class): New variable.
+ (grub_parser_execute): New function.
+
+ * loader/i386/multiboot.c: Remove <grub/rescue.h>.
+ * loader/multiboot2.c: Likewise.
+ * loader/sparc64/ieee1275/linux.c: Likewise.
+
+ * util/grub-emu.c (read_command_list): New dummy function.
+
+2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
+
+ * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
+ count to 16 for CCISS and IDA.
+
+2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
+
+ * normal/menu_text.c (grub_wait_after_message): Print a newline
+ after waiting for user input.
+
+ * loader/i386/linux.c: Include `<grub/normal.h>'.
+ (grub_cmd_linux): Improve the error message about `ask' mode, by
+ waiting for user input so it's not missed (we can do this, since
+ user requested interaction).
+
+2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Added missing lst to grub-mkrescue
+
+ * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
+ and ${input_dir}/parttool.lst
+
+2009-04-30 David S. Miller <davem@davemloft.net>
+
+ * util/hostdisk.c (device_is_wholedisk): New function.
+ (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
+ zero only if device_is_wholedisk() returns true.
+
+ * util/hostdisk.c (convert_system_partition_to_system_disk):
+ Handle virtual disk devices named /dev/vdiskX as found on sparc
+ and powerpc.
+
+ * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
+ lettered partition specifier is found, convert to numbered.
+
+2009-04-29 David S. Miller <davem@davemloft.net>
+
+ * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
+ * include/grub/sparc64/ieee1275/memory.h: Likewise.
+
+ * normal/command.c: Add missing newline at end of file.
+
+ * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
+ warnings.
+ * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
+ grub_ofdisk_read): Likewise, and deal similarly with the fact that
+ ihandles have a 32-bit type but need to be stored in a "void *".
+
+2009-04-28 Pavel Roskin <proski@gnu.org>
+
+ * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
+ not disk. Adjust all dependencies.
+ (grub_fs_uuid_close): Use grub_device_close(), not
+ grub_disk_close().
+
+ * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
+ parent's partition, don't copy it by reference, as it gets freed
+ on close.
+
+2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Preboot hooks support
+
+ * commands/boot.c (struct grub_preboot_t): new declaration
+ (preboots_head): new variable
+ (preboots_tail): likewise
+ (grub_loader_register_preboot_hook): new function
+ (grub_loader_unregister_preboot_hook): likewise
+ (grub_loader_set): launch preboot hooks
+ * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
+ (grub_loader_register_preboot_hook): new declaration
+ (grub_loader_unregister_preboot_hook): likewise
+
+2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Warning fix
+
+ * disk/scsi.c (grub_scsi_open): added missing cast when
+ calling grub_dprintf
+
+2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Bug and warning fixes
+
+ * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
+ declaration
+ * commands/test.c (test_parse): fixed bug with file tests and corrected
+ declaration of find_file
+
+2009-04-26 Pavel Roskin <proski@gnu.org>
+
+ * Makefile.in: Don't install empty manual pages if help2man is
+ missing. Use help2man option for output, not shell redirection.
+
+2009-04-26 David S. Miller <davem@davemloft.net>
+
+ * util/grub-mkdevicemap.c (make_device_map): Add missing
+ NESTED_FUNC_ATTR to process_device().
+
+2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Test command
+
+ * commands/test.c: rewritten to use bash-like test
+
+2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Parttool autoloading and improvements
+
+ * Makefile.in (pkglib_DATA): add parttool.lst
+ (parttool.lst): new target
+ * genmk.rb: generate parttool-*
+ (CLEANFILES): add #{parttool}
+ (PARTTOOLFILES): new variable
+ * genparttoollist.sh: new file
+ * parttool/pcpart.c (grub_pcpart_boot): more feedback
+ (grub_pcpart_type): likewise
+ * commands/parttool.c (helpmsg): new variable
+ (grub_cmd_parttool): output help if not enough arguments are supplied
+ autoload modules
+ (GRUB_MOD_INIT(parttool)): use helpmsg
+
+2009-04-24 David S. Miller <davem@davemloft.net>
+
+ Avoiding opening same device multiple times in device iterator.
+
+ * kern/device.c: (grub_device_iterate): Define struct part_ent,
+ and use it to build a list of partitions in iterate_disk() and
+ iterate_partition().
+
+ * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
+ on disk->data.
+
+ * disk/ieee1275/nand.c (grub_nand_iterate): Return
+ grub_devalias_iterate() result instead of unconditional 0.
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
+ Also, capture hook return value, either directly or via
+ grub_children_iterate(), and propagate to caller.
+ * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
+ grub_children_iterate): Return value is now 'int' instead of
+ 'grub_err_t'.
+ * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
+ like a proper iterator, stopping when hooks return non-zero.
+ (grub_devalias_iterate): Likewise.
+
+2009-04-23 David S. Miller <davem@davemloft.net>
+
+ * kern/sparc64/ieee1275/openfw.c: Unused, delete.
+
+2009-04-22 David S. Miller <davem@davemloft.net>
+
+ * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
+ is larger than address_cells, use that value for address_cells too.
+
+ * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
+ IEEE1275_MAX_PATH_LEN): Define.
+ * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
+ allocate 'childtype', 'childpath', 'childname', and 'fullname'.
+ (grub_devalias_iterate): Dynamically allocate 'aliasname' and
+ 'devtype'. Explicitly NULL terminate devalias expansion.
+
+ * util/sparc64/ieee1275/misc.c: New file.
+ * util/sparc64/ieee1275/grub-setup.c: New file.
+ * util/sparc64/ieee1275/grub-ofpathname.c: New file.
+ * util/sparc64/ieee1275/grub-mkimage.c: New file.
+ * util/sparc64/ieee1275/grub-install.in: New file.
+ * util/ieee1275/ofpath.c: New file.
+ * util/ieee1275/devicemap.c: New file.
+ * util/devicemap.c: New file.
+ * util/deviceiter.c: New file.
+ * kern/sparc64/ieee1275/init.c: New file.
+ * include/grub/util/ofpath.h: New file.
+ * include/grub/util/deviceiter.h: New file.
+ * util/grub-mkdevicemap.c: Include deviceiter.h.
+ Implement using grub_util_emit_devicemap_entry and
+ grub_util_iterate_devices.
+ * conf/i386-corebook.rmk: Build util/deviceiter.c and
+ util/devicemap.c into grub-mkdevicemap
+ * conf/i386-efi.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Add rules to build boot block
+ images and installation utilities. Build kernel as image
+ instead of as elf binary. Use common rules as much as possible.
+
+2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Correct GPT definition
+
+ * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
+ of "attrib" member
+
+2009-04-19 Felix Zielcke <fzielcke@z-51.de>
+
+ * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
+
+2009-04-19 David S. Miller <davem@davemloft.net>
+
+ * loader/sparc64/ieee1275/linux.c: Include grub/command.h
+ (grub_rescue_cmd_linux): Rename to...
+ (grub_cmd_linux): and fix prototype.
+ (grub_rescue_cmd_initrd): Rename to...
+ (grub_cmd_initrd): and fix prototype.
+ (cmd_linux, cmd_initrd): New.
+ (GRUB_MOD_INIT(linux)): Use grub_register_command().
+ (GRUB_MOD_FINI(linux): Use grub_unregister_command().
+
+2009-04-17 Pavel Roskin <proski@gnu.org>
+
+ * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
+ format.
+ (grub_ohci_transfer): Likewise.
+
+ * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
+
+ * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
+ return without a value. Fix inconsistent indentation.
+
+ * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
+ match struct grub_fs.
+
+ * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
+ * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
+ * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
+ * commands/lspci.c (grub_lspci_iter): Likewise.
+
+2009-04-16 Bean <bean123ch@gmail.com>
+
+ * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
+ value.
+
+2009-04-15 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
+ LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
+ users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
+ definitions.
+
+2009-04-15 Felix Zielcke <fzielcke@z-51.de>
+
+ * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
+ that no multiple data or metadata areas are supported and `Unknown
+ metadata header'.
+
+2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Move loader out of the kernel
+
+ * kern/loader.c: moved to ...
+ * commands/boot.c: ... moved here
+ * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
+ * commands/boot.c (grub_cmd_boot): moved here. All users updated
+ * include/grub/kernel.h (grub_machine_fini): export
+ * include/grub/loader.h (grub_loader_is_loaded): update declaration
+ (grub_loader_set): likewise
+ (grub_loader_unset): likewise
+ (grub_loader_boot): likewise
+ * conf/common.rmk: new module boot.mod
+ (pkglib_MODULES): add boot.mod
+ * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
+ (grub_emu_SOURCES): likewise
+ * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
+ (grub_emu_SOURCES): likewise
+ * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
+ (grub_emu_SOURCES): likewise
+ * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
+ (grub_emu_SOURCES): likewise
+ * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
+ (grub_emu_SOURCES): likewise
+ * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
+ (grub_emu_SOURCES): likewise
+ * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
+ (grub_emu_SOURCES): likewise
+
+2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
+
+ * kern/misc.c (grub_itoa): Removed function
+ (grub_ltoa): likewise
+ (grub_vsprintf): use grub_lltoa
+
+2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Restore grub-emu
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
+ * conf/i386-coreboot.rmk: likewise
+ * conf/i386-ieee1275.rmk: likewise
+ * conf/powerpc-ieee1275.rmk: likewise
+
+2009-04-15 Felix Zielcke <fzielcke@z-51.de>
+
+ * INSTALL: Add that `./autogen.sh' needs to be run before
+ `./configure.'.
+
+2009-04-14 Bean <bean123ch@gmail.com>
+
+ * Makefile.in (pkglib_DATA): Add handler.lst.
+ (handler.lst): New rule.
+
+ * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
+ * conf/i386-coreboot.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+
+ * genhandlerlist.sh: New file.
+
+ * genmk.rb: Add rules to generate handler.lst.
+
+ * include/grub/normal.h (grub_file_getline): New function definition.
+ (read_handler_list): Likewise.
+ (free_handler_list): Likewise.
+
+ * include/grub/term.h (grub_term_register_input): Add name parameter
+ for auto generation of handler.lst.
+ (grub_term_register_output): Likewise.
+
+ * normal/handler.c: New file.
+
+ * normal/main.c (get_line): Renamed to grub_file_getline.
+ (read_config_file): Use the newly renamed grub_file_getline.
+ (read_command_list): Likewise.
+ (read_fs_list): Likewise.
+ (grub_normal_execute): Call read_handler_list to parse handler.lst.
+ (GRUB_MOD_FINI): Call free_handler_list to free handler list.
+
+ * term/efi/console.c (grub_console_init): Add name parameter for auto
+ generation of handler.lst.
+ * term/gfxterm.c: Likewise.
+ * term/i386/pc/at_keyboard.c: Likewise.
+ * term/i386/pc/console.c: Likewise.
+ * term/i386/pc/serial.c: Likewise.
+ * term/i386/pc/vesafb.c: Likewise.
+ * term/i386/pc/vga.c: Likewise.
+ * term/i386/pc/vga_text.c: Likewise.
+ * term/ieee1275/ofconsole.c: Likewise.
+ * term/usb_keyboard.c: Likewise.
+
+2009-04-14 Bean <bean123ch@gmail.com>
+
+ * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
+ properly with null character.
+
+2009-04-14 Felix Zielcke <fzielcke@z-51.de>
+
+ * configure: Remove.
+ * config.h.in: Likewise.
+ * stamp-h.in: Likewise.
+ * DISTLIST: Likewise.
+ * conf/common.mk: Likewise.
+ * conf/i386-coreboot.mk: Likewise.
+ * conf/i386-efi.mk: Likewise.
+ * conf/i386-ieee1275.mk: Likewise.
+ * conf/i386.mk: Likewise.
+ * conf/i386-pc.mk: Likewise.
+ * conf/powerpc-ieee1275.mk: Likewise.
+ * conf/sparc64-ieee1275.mk: Likewise.
+ * conf/x86_64-efi.mk: Likewise.
+
+ * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
+ develop on GRUB.
+
+2009-04-14 John Stanley <jpsinthemix@verizon.net>
+ David S. Miller <davem@davemloft.net>
+
+ * util/hostdisk.c (make_device_name): Fix buffer length
+ calculations.
+
+2009-04-14 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
+ <sys/param.h> and <sys/sysctl.h>.
+ (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
+ to add 0x10 to `kern.geom.debugflags' if it's not already set, before
+ opening the device and reset them afterwards.
+
+2009-04-13 Pavel Roskin <proski@gnu.org>
+
+ * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
+ Reported by John Stanley <jpsinthemix@verizon.net>
+
+2009-04-13 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
+ that name for menuentries when appropriate.
+
+2009-04-13 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub.d/10_freebsd.in: Add a missing `fi'.
+
+2009-04-13 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
+ to Linux, simply abort telling the user it's no longer supported.
+
+2009-04-13 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
+ doesn't exist. Check also for /boot/kernel/kernel.gz. Print
+ `freebsd_loadenv' only when devices.hints exist.
+
+2009-04-13 Pavel Roskin <proski@gnu.org>
+
+ * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
+
+2009-04-13 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/i386/pc/grub-install.in (install_drive): Remove the BSD
+ partition number.
+ (grub_drive): Likewise.
+
+2009-04-13 David S. Miller <davem@davemloft.net>
+
+ * kern/sparc64/ieee1275/ieee1275.c: New file.
+ * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
+ IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
+ IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
+ IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
+ (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
+ grub_ieee1275_alloc_physmem): Declare new exported functions.
+
+ * include/grub/sparc64/ieee1275/loader.h: New file.
+ * include/grub/sparc64/ieee1275/memory.h: Likewise.
+ * include/grub/sparc64/kernel.h: Likewise.
+ * loader/sparc64/ieee1275/linux.c: Likewise.
+
+ * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
+ (grub_fstest_SOURCES): Likewise.
+
+ * util/hostdisk.c (make_device_name): Do not make any assumptions
+ about the length of drive names.
+
+ * kern/dl.c (grub_dl_load_file): Close file immediately when
+ we are done using it.
+
+2009-04-12 David S. Miller <davem@davemloft.net>
+
+ * kern/misc.c (grub_ltoa): Fix cast when handling negative
+ values. Noticed by Pavel Roskin.
+
+ * configure.ac: Check for __bswapsi2 and__bswapdi2 using
+ target compiler.
+
+ * genmk.rb: Add more flexible image type specification, also
+ pass --strip-unneeded to objcopy.
+ * conf/i386-pc.rmk: Use *_FORMAT.
+ * conf/i386-pc.mk: Rebuilt.
+
+ * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
+ (OFDISK_HASH_SZ): Define.
+ (ofdisk_hash): New hash table.
+ (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
+ (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
+ instead of device phandle which is not unique.
+
+ * kern/sparc64/ieee1275/init.c: Delete, replace with...
+ * kern/sparc64/ieee1275/crt0.S: assembler implementation.
+ * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
+ (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
+ GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
+ GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
+ GRUB_KERNEL_MACHINE_DATA_END): Define.
+ (grub_kernel_image_size, grub_total_module_size): Declare.
+
+2009-04-12 Pavel Roskin <proski@gnu.org>
+
+ * configure.ac: Change the logic when we check for target tools.
+ Do it when the target is specified and it's different from the
+ specified value of the host.
+
+2009-04-11 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
+ (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
+ GNU/kFreeBSD. Check if a device is a character device. Use
+ DIOCGMEDIASIZE to get the size.
+ (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
+ support for GNU/kFreeBSD.
+ (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
+ is a character device instead of a block device. Add support for
+ FreeBSD device names.
+
+ * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
+ is a character device instead of a block device.
+
+ * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
+ is a character device instead of a block device.
+
+2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
+
+ * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
+ (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
+ FreeBSD. Check if a device is a character device. Use
+ DIOCGMEDIASIZE to get the size.
+ (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
+ support for FreeBSD.
+ (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
+ is a character device instead of a block device. Add support for
+ FreeBSD device names.
+
+ * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
+ a character device instead of a block device.
+ (grub_util_check_char_device): New function.
+
+ * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
+ a character device instead of a block device.
+
+ * include/grub/util/getroot.h (grub_util_check_char_device): New
+ prototype.
+
+2009-04-11 David S. Miller <davem@davemloft.net>
+
+ * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
+ static libgcc.
+ * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
+ * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
+ function, if present.
+ (__bswapdi2): Likewise.
+
+ * include/grub/sparc64/ieee1275/boot.h: New file.
+ * boot/sparc64/ieee1275/boot.S: Likewise.
+ * boot/sparc64/ieee1275/diskboot.S: Likewise.
+
+ * kern/misc.c (grub_ltoa): New function.
+ (grub_vsprintf): Use it to format 'long' integers.
+
+2009-04-10 David S. Miller <davem@davemloft.net>
+
+ * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
+ slots are of type grub_ieee1275_cell_t.
+ (grub_nand_read): Likewise.
+ * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
+ IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
+ macros are used to compare values in arg/ret block of the call.
+ (grub_ieee1275_finddevice, grub_ieee1275_get_property,
+ grub_ieee1275_next_property, grub_ieee1275_get_property_length,
+ grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
+ grub_ieee1275_instance_to_path, grub_ieee1275_write,
+ grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
+ grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
+ grub_ieee1275_close, grub_ieee1275_set_property,
+ grub_ieee1275_set_color): All ieee1275 call arg slots are of type
+ grub_ieee1275_cell_t.
+ * kern/ieee1275/openfw.c (grub_map): Likewise.
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
+ grub_ieee1275_phandle_t): Define as grub_unit32_t type.
+
+ * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
+ * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
+ (grub_devalias_iterate): Likewise.
+
+2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ UFS improvements
+
+ * fs/ufs.c (INODE_NBLOCKS): new definition
+ (struct grub_ufs_dirent): added fields for non-BSD dirents
+ (grub_ufs_get_file_block): fixed double indirect handling
+ (grub_ufs_lookup_symlink): use more robust way to determine whether
+ symlink is inline
+ (grub_ufs_find_file): support for non-BSD dirents
+ (grub_ufs_dir): support for non-BSD dirents
+
+2009-04-10 Bean <bean123ch@gnail.com>
+
+ * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
+ attribute, otherwise the size would be wrong for i386 platform.
+
+ * include/grub/pci.h (grub_pci_read_word): New inline function.
+ (grub_pci_read_byte): Likewise.
+ (grub_pci_write): Likewise.
+ (grub_pci_write_word): Likewise.
+ (grub_pci_write_byte): Likewise.
+
+ * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
+
+ * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
+ (find_framebuf): Scan pci to locate the frame buffer address.
+
+ * commands/efi/fixvideo.c: New file.
+
+ * commands/efi/loadbios.c: Likewise.
+
+ * commands/memrw.c: Likewise.
+
+ * util/grub-dumpbios.in: Likewise.
+
+ * conf/common.rmk (grub-dumpbios): New utility.
+ (pkglib_MODULES): New module memrw.mod.
+ (memrw_mod_SOURCE): New macro.
+ (memrw_mod_CFLAGS): Likewise.
+ (memrw_mod_LDFLAGS): Likewise.
+
+ * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
+ fixvideo.mod.
+ (loadbios_mod_SOURCE): New macro.
+ (loadbios_mod_CFLAGS): Likewise.
+ (loadbios_mod_LDFLAGS): Likewise.
+ (fixvideo_mod_SOURCE): Likewise.
+ (fixvideo_mod_CFLAGS): Likewise.
+ (fixvideo_mod_LDFLAGS): Likewise.
+
+ * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
+ fixvideo.mod.
+ (loadbios_mod_SOURCE): New macro.
+ (loadbios_mod_CFLAGS): Likewise.
+ (loadbios_mod_LDFLAGS): Likewise.
+ (fixvideo_mod_SOURCE): Likewise.
+ (fixvideo_mod_CFLAGS): Likewise.
+ (fixvideo_mod_LDFLAGS): Likewise.
+
+2009-04-08 Felix Zielcke <fzielcke@z-51.de>
+
+ * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
+
+2009-04-07 David S. Miller <davem@davemloft.net>
+
+ * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
+ support for R_SPARC_OLO10 relocations. Fix compile warning for
+ R_SPARC_WDISP30 case.
+ * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
+
+2009-04-06 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/misc.h (ARRAY_SIZE): New macro.
+ * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
+ New macro.
+ * loader/i386/linux.c (allocate_pages): Use free_pages().
+ (grub_linux_unload): Don't use free_pages().
+ (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
+ wrong index. Treat all other modes as text modes.
+ (grub_cmd_linux): Initialize vid_mode unconditionally to
+ GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
+
+ * commands/help.c (print_command_help): Use cmd->prio, not
+ cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
+
+2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Parttool
+
+ * parttool/pcpart.c: new file
+ * commands/parttool.c: likewise
+ * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
+ (parttool_mod_SOURCES): new variable
+ (parttool_mod_CFLAGS): likewise
+ (parttool_mod_LDFLAGS): likewise
+ (pcpart_mod_SOURCES): likewise
+ (pcpart_mod_CFLAGS): likewise
+ (pcpart_mod_LDFLAGS): likewise
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
+ and parttool/pcpart.c
+ * conf/i386-efi.rmk: likewise
+ * conf/i386-ieee1275.rmk: likewise
+ * conf/i386-pc.rmk: likewise
+ * conf/powerpc-ieee1275.rmk: likewise
+ * conf/sparc64-ieee1275.rmk: likewise
+ * conf/x86_64-ieee1275.rmk: likewise
+
+2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support for mtime and further expandability of dir command
+
+ * include/grub/lib/datetime.h: moved to ...
+ * include/grub/datetime.h: ... moved here and added
+ declaration of grub_unixtime2datetime. All users updated
+ * include/grub/fs.h: new syntax for dir and mtime functions in
+ struct grub_fs
+ * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
+ and GRUB_FSHELP_FLAGS_MASK
+ * commands/ls.c (grub_ls_list_files): Write mtime in long format
+ * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
+ (grub_ext2_mtime): new function
+ * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
+ (grub_hfsplus_mtime): new function
+ * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
+ (GRUB_UFS_ATTR_FILE): likewise
+ (GRUB_UFS_ATTR_LNK): likewise
+ (struct grub_ufs_sblock): new fields mtime
+ (grub_ufs_read_inode): new parameter to read inode to a separate buffer
+ all users updated
+ (grub_ufs_dir): mtime support
+ (grub_ufs_mtime): new function
+ * fs/affs.c (grub_affs_dir): use new dir syntax
+ * fs/afs.c (grub_afs_dir): likewise
+ * fs/cpio.c (grub_cpio_dir): likewise
+ * fs/fat.c (grub_fat_find_dir): likewise
+ * fs/hfs.c (grub_hfs_dir): likewise
+ * fs/iso9660.c (grub_iso9660_dir): likewise
+ * fs/jfs.c (grub_jfs_dir): likewise
+ * fs/minix.c (grub_minix_dir): likewise
+ * fs/ntfs.c (grub_ntfs_dir): likewise
+ * fs/reiserfs.c (grub_reiserfs_dir): likewise
+ * fs/sfs.c (grub_sfs_dir): likewise
+ * fs/xfs.c (grub_xfs_dir): likewise
+ * util/hostfs.c (grub_hostfs_dir): likewise
+ * lib/datetime.c: moved to ...
+ * normal/datetime.c: ... moved here
+ (grub_unixtime2datetime): new function
+ * kern/rescue.c (grub_rescue_print_files): use new dir syntax
+ * normal/completion.c (iterate_dir): use new dir syntax
+ * normal/misc.c (grub_normal_print_device_info): tell the
+ last modification time of a volume
+ * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
+ * conf/common.rmk: added lib/datetime.c to ls.mod
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
+ (normal_mod_SOURCES): likewise
+ (datetime_mod_SOURCES): Removed lib/datetime.c
+ * conf/i386-efi.rmk: likewise
+ * conf/i386-ieee1275.rmk: likewise
+ * conf/i386-pc.rmk: likewise
+ * conf/powerpc-ieee1275.rmk: likewise
+ * conf/sparc64-ieee1275.rmk: likewise
+ * conf/x86_64-efi.rmk: likewise
+
+2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Trim trailing spaces in FAT label and support mtools-like labels
+
+ * fs/fat.c (grub_fat_iterate_dir): New function based
+ on grub_fat_find_dir
+ (grub_fat_find_dir): use grub_fat_iterate_dir
+ (grub_fat_label): likewise
+
+2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
+ and command.h
+ remove extraneous kernel_elf_HEADERS
+
+2009-04-04 Bean <bean123ch@gnail.com>
+
+ * include/grub/util/misc.h: Add dummy function fsync for mingw.
+
+ * util/misc.c: Likewise.
+
+2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
+ instead of grub_printf.
+
+2009-04-03 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/linux.c (grub_linux_setup_video): Fill
+ `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
+ values from `mode info' structure instead of hardcoded
+ values.
+
+2009-04-01 Pavel Roskin <proski@gnu.org>
+
+ * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
+ unused now.
+ * genmk.rb: Likewise.
+ * configure.ac: Likewise.
+
+2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
+
+ * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
+ TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
+
+2009-04-01 David S. Miller <davem@davemloft.net>
+
+ * normal/sparc64/setjmp.S: Fix setjmp implementation.
+ * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
+ (grub_setjmp): Mark with 'returns_twice' attribute.
+ * include/grub/i386/setjmp.h (grub_setjmp): Likewise
+ * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
+ * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
+
+2009-04-01 Robert Millan <rmh@aybabtu.com>
+
+ Reapply fix from 2008-07-28 which was accidentally reverted; also
+ perform the same fix to a similar check in same function.
+
+ * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
+ with the same number are found, just use issue a warning with
+ grub_dprintf(), as this error has been reported to be non-fatal.
+
+2009-03-31 Pavel Roskin <proski@gnu.org>
+
+ * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
+ for cross-compilation.
+
+2009-03-30 Robert Millan <rmh@aybabtu.com>
+
+ Fix i386-ieee1275 build.
+
+ * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
+ Remove declaration.
+
+2009-03-30 Pavel Roskin <proski@gnu.org>
+
+ * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
+ (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
+ zero-terminated, rely only on the strlen value. Fix comparison
+ of strings differing in length.
+
+2009-03-30 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
+ checking for abi version. Improve error messages on BIOS to notify
+ user about `linux16' command.
+
+2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Leak fixes
+
+ * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
+ in case of collision
+ * disk/scsi.c (grub_scsi_open): free scsi in case of error
+
+2009-03-29 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
+ set `vid_mode' accordingly.
+ (grub_linux_boot): Process `vid_mode' and set video mode.
+
+2009-03-29 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/10_linux.in (linux_entry): New function.
+ Factorize generation of Linux boot entries.
+
+2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Make the format of Environment Block plain text. The boot loader
+ part is not tested well yet.
+
+ * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
+ (buffer): Removed.
+ (envblk): Likewise.
+ (usage): Remove "info" and "clear". Add "unset". Update the
+ description of "set", as this does not delete variables any
+ longer.
+ (create_envblk_file): Complete rewrite.
+ (open_envblk_file): Likewise.
+ (cmd_info): Removed.
+ (cmd_list): Likewise.
+ (cmd_set): Likewise.
+ (cmd_clear): Likewise.
+ (list_variables): New function.
+ (write_envblk): Likewise.
+ (set_variables): Likewise.
+ (unset_variables): Likewise.
+ (main): Complete rewrite.
+
+ * commands/loadenv.c (buffer): Removed.
+ (envblk): Likewise.
+ (open_envblk_file): New function.
+ (read_envblk_file): Complete rewrite.
+ (grub_cmd_load_env): Likewise.
+ (grub_cmd_list_env): Likewise.
+ (struct blocklist): New struct.
+ (free_blocklists): New function.
+ (check_blocklists): Likewise.
+ (write_blocklists): Likewise.
+ (grub_cmd_save_env): Complete rewrite.
+
+ * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
+ a plain text signature.
+ (GRUB_ENVBLK_MAXLEN): Removed.
+ (struct grub_envblk): Complete rewrite.
+ (grub_envblk_find): Removed.
+ (grub_envblk_insert): Likewise.
+ (grub_envblk_open): New prototype.
+ (grub_envblk_set): Likewise.
+ (grub_envblk_delete): Put const to VALUE.
+ (grub_envblk_iterate): Put const to NAME and VALUE.
+ (grub_envblk_close): New prototype.
+ (grub_envblk_buffer): New inline function.
+ (grub_envblk_size): Likewise.
+
+ * lib/envblk.c: Include grub/mm.h.
+ (grub_env_find): Removed.
+ (grub_envblk_open): New function.
+ (grub_envblk_close): Likewise.
+ (escaped_value_len): Likewise.
+ (find_next_line): Likewise.
+ (grub_envblk_insert): Removed.
+ (grub_envblk_set): New function.
+ (grub_envblk_delete): Complete rewrite.
+ (grub_envblk_iterate): Likewise.
+
+2009-03-28 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
+ (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
+ variables. Use 16-bit loader.
+ (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
+ loader.
+ * kern/i386/loader.S (grub_linux_boot): Rename to ...
+ (grub_linux16_boot): ... this. Update all users.
+ * loader/i386/linux.c (grub_linux32_boot): Rename to ...
+ (grub_linux_boot): ... this. Update all users.
+
+ * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
+ (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
+ commands to `linux16' and `initrd16'.
+ (GRUB_MOD_FINI(linux)): Rename to ...
+ (GRUB_MOD_FINI(linux16)): ... this.
+
+2009-03-24 Pavel Roskin <proski@gnu.org>
+
+ * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
+ not just for compilation.
+
+2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Move multiboot helper out of kernel
+
+ * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
+ `loader/i386/multiboot_helper.S'.
+ * conf/i386-coreboot.rmk: Likewise
+ * conf/i386-ieee1275.rmk: Likewise
+
+ * kern/i386/loader.S: Move multiboot helpers from here...
+ * loader/i386/multiboot_helper.S: ...moved here
+ * include/grub/i386/loader.h: Move declarations of multiboot
+ helpers from here...
+ * include/grub/i386/multiboot.h: ...moved here
+ * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
+
+2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/env.c (grub_env_context_open): Added an argument to specify
+ whether a new context inherits exported variables from current
+ one. This is useful when making a sandbox to interpret a config
+ file.
+ All callers updated.
+
+ * include/grub/env.h (grub_env_context_open): Updated the prototype.
+
+2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/env.c (grub_env_context_close): Fix memory leaks.
+
+2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * normal/main.c (grub_normal_execute): Added an argument
+ BATCH to specify if an interactive interface should be provided
+ after reading a config file.
+ All callers updated.
+ (read_command_list): Prevent being executed twice.
+ (read_fs_list): Likewise.
+
+ * include/grub/normal.h (grub_normal_execute): Updated the
+ prototype.
+
+2009-03-22 Pavel Roskin <proski@gno.org>
+
+ * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
+ _start.
+ * kern/i386/pc/startup.S: Likewise.
+ * kern/i386/efi/startup.S: Likewise.
+ * kern/i386/ieee1275/startup.S: Likewise.
+ * kern/i386/coreboot/startup.S: Likewise.
+ * kern/x86_64/efi/startup.S: Likewise.
+
+ * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
+ * configure.ac: Don't call grub_CHECK_START_SYMBOL.
+ * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
+
+2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Bugfixes in multiboot for bugs uncovered by solaris kernel.
+
+ * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
+ limit detection.
+ Use vaddr of correct segment for entry_point.
+
+2009-03-21 Bean <bean123ch@gmail.com>
+
+ * commands/blocklist.c: Add include file <grub/command.h>, remove
+ <grub/normal.h> and <grub/arg.h>.
+ (grub_cmd_blocklist): Use the new command interface.
+ (GRUB_MOD_INIT): Likewise.
+ (GRUB_MOD_FINI): Likewise.
+ * commands/boot.c: Likewise.
+ * commands/cat.c: Likewise.
+ * commands/cmp.c: Likewise.
+ * commands/configfile.c: Likewise.
+ * commands/crc.c: Likewise.
+ * commands/echo.c: Likewise.
+ * commands/halt.c: Likewise.
+ * commands/handler.c: Likewise.
+ * commands/hdparm.c: Likewise.
+ * commands/help.c: Likewise.
+ * commands/hexdump.c: Likewise.
+ * commands/loadenv.c: Likewise.
+ * commands/ls.c: Likewise.
+ * commands/lsmmap.c: Likewise.
+ * commands/lspci.c: Likewise.
+ * commands/loadenv.c: Likewise.
+ * commands/read.c: Likewise.
+ * commands/reboot.c: Likewise.
+ * commands/search.c: Likewise.
+ * commands/sleep.c: Likewise.
+ * commands/test.c: Likewise.
+ * commands/usbtest.c: Likewise.
+ * commands/videotest.c: Likewise.
+ * commands/i386/cpuid.c: Likewise.
+ * commands/i386/pc/halt.c: Likewise.
+ * commands/i386/pc/play.c: Likewise.
+ * commands/i386/pc/pxecmd.c: Likewise.
+ * commands/i386/pc/vbeinfo.c: Likewise.
+ * commands/i386/pc/vbetest.c: Likewise.
+ * commands/ieee1275/suspend.c: Likewise.
+ * disk/loopback.c: Likewise.
+ * font/font_cmd.c: Likewise.
+ * hello/hello.c: Likewise.
+ * loader/efi/appleloader.c: Likewise.
+ * loader/efi/chainloader.c: Likewise.
+ * loader/i386/bsd.c: Likewise.
+ * loader/i386/efi/linux.c: Likewise.
+ * loader/i386/ieee1275/linux.c: Likewise.
+ * loader/i386/linux.c: Likewise.
+ * loader/i386/pc/chainloader.c: Likewise.
+ * loader/i386/pc/linux.c: Likewise.
+ * loader/powerpc/ieee1275/linux.c: Likewise.
+ * loader/multiboot_loader.c: Likewise.
+ * term/gfxterm.c: Likewise.
+ * term/i386/pc/serial.c: Likewise.
+ * term/terminfo.c: Likewise.
+
+ * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
+ * term/i386/pc/vga.c: Likewise.
+ * video/readers/jpeg.c: Likewise.
+ * video/readers/png.c: Likewise.
+ * video/readers/tga.c: Likewise.
+
+ * util/grub-fstest (cmd_loopback): Removed.
+ (cmd_blocklist): Likewise.
+ (cmd_ls): Likewise.
+ (grub_register_command): Likewise.
+ (grub_unregister_command): Likewise.
+ (execute_command): Use grub_command_find to locate command and execute
+ it.
+
+ * include/grub/efi/chainloader.h: Removed.
+ * loader/efi/chainloader_normal.c: Likewise.
+ * loader/i386/bsd_normal.c: Likewise.
+ * loader/i386/pc/chainloader_normal.c: Likewise.
+ * loader/i386/pc/multiboot_normal.c: Likewise.
+ * loader/linux_normal.c: Likewise.
+ * loader/multiboot_loader_normal.c: Likewise.
+ * loader/powerpc/ieee1275/linux_normal.c: Likewise.
+
+ * gencmdlist.sh: Scan new registration command grub_register_extcmd
+ and grub_register_command_p1.
+
+ * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
+ kern/command.c, lib/arg.c and commands/extcmd.c.
+ (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
+ (minicmd_mod_SOURCES): New variable.
+ (minicmd_mod_CFLAGS): Likewise.
+ (minicmd_mod_LDFLAGS): Likewise.
+ (extcmd_mod_SOURCES): Likewise.
+ (extcmd_mod_CFLAGS): Likewise.
+ (extcmd_mod_LDFLAGS): Likewise.
+ (boot_mod_SOURCES): Removed.
+ (boot_mod_CFLAGS): Likewise.
+ (boot_mod_LDFLAGS): Likewise.
+
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
+ kern/corecmd.c.
+ (kernel_img_HEADERS): Add command.h.
+ (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
+ commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
+ and lib/arg.c.
+ (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
+ _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
+ remove the corresponding normal mode command.
+ (normal_mod_SOURCES): Remove normal/arg.c.
+ * conf/i386-coreboot.rmk: Likewise.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+
+ * include/grub/arg.h: Move from here ...
+ * include/grub/lib/arg.h: ... to here.
+
+ * normal/arg.c: Move from here ...
+ * lib/arg.c: ... to here.
+
+ * commands/extcmd.c: New file.
+ * commands/minicmd.c: Likewise.
+ * include/grub/command.h: Likewise.
+ * include/grub/extcmd.h: Likewise.
+ * kern/command.c: Likewise.
+ * kern/corecmd.c: Likewise.
+
+ * kern/list.c (grub_list_iterate): Return int instead of void.
+ (grub_list_insert): New function.
+ (grub_prio_list_insert): Likewise.
+
+ * kern/rescue.c (grub_rescue_command): Removed.
+ (grub_rescue_command_list): Likewise.
+ (grub_rescue_register_command): Likewise.
+ (grub_rescue_unregister_command): Likewise.
+ (grub_rescue_cmd_boot): Move to minicmd.c
+ (grub_rescue_cmd_help): Likewise.
+ (grub_rescue_cmd_info): Likewise.
+ (grub_rescue_cmd_boot): Likewise.
+ (grub_rescue_cmd_testload): Likewise.
+ (grub_rescue_cmd_dump): Likewise.
+ (grub_rescue_cmd_rmmod): Likewise.
+ (grub_rescue_cmd_lsmod): Likewise.
+ (grub_rescue_cmd_exit): Likewise.
+ (grub_rescue_print_devices): Moved to corecmd.c.
+ (grub_rescue_print_files): Likewise.
+ (grub_rescue_cmd_ls): Likewise.
+ (grub_rescue_cmd_insmod): Likewise.
+ (grub_rescue_cmd_set): Likewise.
+ (grub_rescue_cmd_unset): Likewise.
+ (attempt_normal_mode): Use grub_command_find to get normal module.
+ (grub_enter_rescue_mode): Use grub_register_core_commands to register
+ commands, remove grub_rescue_register_command calls.
+
+ * normal/command.c (grub_register_command): Removed.
+ (grub_unregister_command): Likewise.
+ (grub_command_find): Likewise.
+ (grub_iterate_commands): Likewise.
+ (rescue_command): Likewise.
+ (export_command): Moved to corecmd.c.
+ (set_command): Removed.
+ (unset_command): Likewise.
+ (insmod_command): Likewise.
+ (rmmod_command): Likewise.
+ (lsmod_command): Likewise.
+ (grub_command_init): Likewise.
+
+ * normal/completion.c (iterate_command): Use cmd->prio to check for
+ active command.
+ (complete_arguments): Use grub_extcmd_t structure to find options.
+ (grub_normal_do_completion): Change function grub_iterate_commands to
+ grub_command_iterate.
+
+ * normal/execute.c (grub_script_execute_cmd): No need to parse
+ argument here.
+
+ * normal/main.c (grub_dyncmd_dispatcher): New function.
+ (read_command_list): Register unload commands as dyncmd.
+ (grub_cmd_normal): Use new command interface, register rescue,
+ unregister normal at entry, register normal, unregister rescue at exit.
+
+ * include/grub/list.h (grub_list_test_t): New type.
+ (grub_list_iterate): Return int instead of void.
+ (grub_list_insert): New function.
+ (GRUB_AS_NAMED_LIST_P): New macro.
+ (GRUB_AS_PRIO_LIST): Likewise.
+ (GRUB_AS_PRIO_LIST_P): Likewise.
+ (GRUB_PRIO_LIST_PRIO_MASK): New constant.
+ (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
+ (grub_prio_list): New structure.
+ (grub_prio_list_insert): New function.
+ (grub_prio_list_remove): New inline function.
+
+ * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
+ (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
+ (GRUB_COMMAND_FLAG_MENU): Likewise.
+ (GRUB_COMMAND_FLAG_BOTH): Likewise.
+ (GRUB_COMMAND_FLAG_TITLE): Likewise.
+ (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
+ (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
+ (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
+ (grub_command): Likewise.
+ (grub_register_command): Likewise.
+ (grub_command_find): Likewise.
+ (grub_iterate_commands): Likewise.
+ (grub_command_init): Likewise.
+ (grub_arg_parse): Likewise.
+ (grub_arg_show_help): Likewise.
+
+ * include/grub/rescue.h (grub_rescue_register_command): Removed.
+ (grub_rescue_unregister_command): Likewise.
+
+ * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
+ grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
+ grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
+
+ * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
+ grub_rescue_cmd_initrd.
+ * include/grub/i386/loader.h: Likewise.
+ * include/grub/x86_64/loader.h: Likewise.
+
+ * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
+
+2009-03-21 Bean <bean123ch@gmail.com>
+
+ * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
+ instead of stat in mingw environment.
+
+ * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
+
+ * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
+
+ * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
+ AC_CONFIG_LINKS.
+
+2009-03-21 Bean <bean123ch@gmail.com>
+
+ * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
+ out of range error.
+
+2009-03-18 Michel Dänzer <michel@daenzer.net>
+
+ * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
+ checking inode flags for EXT4_EXTENTS_FLAG.
+
+2009-03-18 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/linux.c: Include `<grub/video.h>' and
+ `<grub/i386/pc/vbe.h>'..
+ (grub_linux_setup_video): New function. Loosely based on the EFI one.
+ (grub_linux32_boot): Attempt to configure video settings with
+ grub_linux_setup_video().
+ (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
+ to avoid grub_console_fini() which would step out of graphical mode
+ unconditionally.
+
+2009-03-14 Robert Millan <rmh@aybabtu.com>
+
+ Fix build on powerpc.
+ * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
+
+2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
+ background image command.
+
+2009-03-12 Colin D Bennett <colin@gibibit.com>
+
+ * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
+ (grub_gfxterm_putchar): Extract pairs of identical calls to
+ draw_cursor out of conditional blocks.
+
+2009-03-11 Pavel Roskin <proski@gnu.org>
+
+ * fs/hfs.c (grub_hfs_strncasecmp): New function.
+ (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
+
+2009-03-11 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/multiboot_elfxx.c
+ (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
+
+2009-03-11 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
+ `kern/handler.c'.
+
+2009-03-11 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/multiboot.c (code_size): New variable.
+ (grub_multiboot): Define offsets by adding to `code_size' rather
+ than subtracting from `grub_multiboot_payload_size'. Provide
+ 4-byte alignment to MBI and others by increasing
+ `boot_loader_name_length' appropriately.
+
+ * loader/i386/multiboot_elfxx.c
+ (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
+
+2009-03-09 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
+ `fs/ext2.c'.
+
+2009-03-08 Robert Millan <rmh@aybabtu.com>
+
+ Make loader/i386/linux.c usable on i386-pc again.
+
+ * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
+ memory to heap.
+ * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
+ `#error' stanza.
+
+2009-03-07 Bean <bean123ch@gmail.com>
+
+ * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
+ allocation.
+
+2009-03-06 Robert Millan <rmh@aybabtu.com>
+
+ Fix display issue on terminals with screen size other than 80x25
+ (e.g. gfxterm with resolution higher than 640x480).
+
+ * normal/main.c (grub_normal_init_page): Display title text in a
+ position relative to the center of the terminal instead of relying
+ on a hardcoded offset.
+
+2009-03-04 Robert Millan <rmh@aybabtu.com>
+
+ Filter /etc/grub.d/10_* so that only add-ons for native kernels are
+ installed.
+
+ * Makefile.in (host_kernel): New variable.
+ * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
+ scripts instead of just the windows one.
+ * configure.ac: Initialize and AC_SUBST `host_kernel'.
+
+2009-03-04 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
+ `kern/handler.c'.
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+ * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+2009-03-04 Felix Zielcke <fzielcke@z-51.de>
+
+ * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
+ or if there's no space for the disk label and print the partition number on a
+ invalid magic.
+
+2009-03-04 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/misc.c: Include <time.h>.
+ (grub_millisleep): New function.
+
+2009-03-04 Bean <bean123ch@gmail.com>
+
+ * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
+ another option -mno-red-zone.
+
+ * commands/handler.c: Change module description.
+
+ * kern/handler.c: Add missing space at the end of description line.
+
+ * kern/list.c: Likewise.
+
+2009-03-03 Robert Millan <rmh@aybabtu.com>
+
+ Move more components to the relocation area, and fix mbi pointer
+ handling to use the destination rather than the origin (thanks to
+ Vladimir Serbinenko for spotting).
+
+ * loader/i386/multiboot.c (mbi_dest): New variable.
+ (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
+ (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
+ relocation area.
+
+2009-03-01 Bean <bean123ch@gmail.com>
+
+ * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
+ (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
+ (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
+ (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
+
+ * loader/i386/efi/linux.c (acpi_guid): New variable.
+ (acpi_guid): Likewise.
+ (EBDA_SEG_ADDR): New constant.
+ (LOW_MEM_ADDR): Likewise.
+ (FAKE_EBDA_SEG): Likewise.
+ (fake_bios_data): New function.
+ (grub_linux_boot): Call fake_bios_data.
+
+2009-03-01 Bean <bean123ch@gmail.com>
+
+ * commands/terminal.c: Removed.
+
+ * commands/handler.c: New file.
+
+ * include/grub/list.h: Likewise.
+
+ * include/grub/handler.h: Likewise.
+
+ * kern/list.c: Likewise.
+
+ * kern/handler.c: Likewise.
+
+ * kern/term.h: Include header file <grub/handler.h>.
+ (grub_term_input): Move next field to the beginning.
+ (grub_term_output): Likewise.
+ (grub_term_input_class): New variable.
+ (grub_term_output_class): Likewise.
+ (grub_term_register_input): Changed to inline function.
+ (grub_term_register_output): Likewise.
+ (grub_term_unregister_input): Likewise.
+ (grub_term_unregister_output): Likewise.
+ (grub_term_set_current_input): Likewise.
+ (grub_term_set_current_output): Likewise.
+ (grub_term_get_current_input): Likewise.
+ (grub_term_get_current_output): Likewise.
+ (grub_term_iterate_input): Removed.
+ (grub_term_iterate_output): Likewise.
+
+ * kern/term.c (grub_term_list_input): Removed.
+ (grub_term_list_output): Likewise.
+ (grub_term_input_class): New variable.
+ (grub_term_output_class): Likewise.
+ (grub_cur_term_input): Change variable as macro.
+ (grub_cur_term_output): Likewise.
+ (grub_term_register_input): Removed.
+ (grub_term_register_output): Likewise.
+ (grub_term_unregister_input): Likewise.
+ (grub_term_unregister_output): Likewise.
+ (grub_term_set_current_input): Likewise.
+ (grub_term_set_current_output): Likewise.
+ (grub_term_iterate_input): Likewise.
+ (grub_term_iterate_output): Likewise.
+ (grub_term_get_current_input): Likewise.
+ (grub_term_get_current_output): Likewise.
+
+ * util/grub-editenv.c: Include header file <grub/handler.h>.
+ (grub_term_get_current_input): Removed.
+ (grub_term_get_current_output): Likewise.
+ (grub_term_input_class): New variable.
+ (grub_term_output_class): Likewise.
+
+ * util/grub-fstest.c (grub_term_get_current_input): Removed.
+ (grub_term_get_current_output): Likewise.
+ (grub_term_input_class): New variable.
+ (grub_term_output_class): Likewise.
+
+ * util/grub-probe.c (grub_term_get_current_input): Removed.
+ (grub_term_get_current_output): Likewise.
+ (grub_term_input_class): New variable.
+ (grub_term_output_class): Likewise.
+
+ * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
+ (grub_term_get_current_output): Likewise.
+ (grub_term_input_class): New variable.
+ (grub_term_output_class): Likewise.
+
+ * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
+ (terminal_mod_SOURCES): Likewise.
+ (terminal_mod_CFLAGS): Likewise.
+ (terminal_mod_LDFLAGS): Likewise.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
+ handler.c.
+ (kernel_img_SOURCES): Add list.c and handler.c.
+ (kernel_img_HEADERS): Add list.h and handler.h.
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
+ handler.c.
+ (kernel_mod_SOURCES): Add list.c and handler.c.
+ (kernel_mod_HEADERS): Add list.h and handler.h.
+
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
+ handler.c.
+ (kernel_elf_SOURCES): Add list.c and handler.c.
+ (kernel_elf_HEADERS): Add list.h and handler.h.
+
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
+ handler.c.
+ (kernel_elf_SOURCES): Add list.c and handler.c.
+ (kernel_elf_HEADERS): Add list.h and handler.h.
+
+ * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
+ handler.c.
+ (kernel_mod_SOURCES): Add list.c and handler.c.
+ (kernel_mod_HEADERS): Add list.h and handler.h.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
+ handler.c.
+ (kernel_elf_SOURCES): Add list.c and handler.c.
+ (kernel_elf_HEADERS): Add list.h and handler.h.
+
+2009-02-27 Robert Millan <rmh@aybabtu.com>
+
+ Factorize elf32 / elf64 code in Multiboot loader. This will
+ prevent it from getting out of sync again.
+
+ * loader/i386/multiboot.c (grub_multiboot_is_elf32,
+ grub_multiboot_load_elf32, grub_multiboot_is_elf64,
+ grub_multiboot_load_elf64): Move from here ...
+ * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
+ grub_multiboot_load_elf): ... to here (new file).
+
+2009-02-27 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/10_linux.in: Rename "single-user mode" to
+ "recovery mode".
+
+2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Don't leak in SCSI code.
+ * disk/scsi.c (grub_scsi_close): free `scsi'.
+
+2009-02-27 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/multiboot.c: Move from here ...
+ * loader/i386/multiboot.c: ... to here. Update all users.
+
+2009-02-27 Robert Millan <rmh@aybabtu.com>
+
+ Patch from Alexandre Bique <bique.alexandre@gmail.com>
+ * util/i386/pc/grub-setup.c (setup): Fix directory path.
+
+2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
+
+ * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
+ b-tree.
+
+2009-02-27 Robert Millan <rmh@aybabtu.com>
+
+ * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
+ `0x' qualifier as 0 when base is specified as parameter).
+
+2009-02-24 Bean <bean123ch@gmail.com>
+
+ * configure.ac: Check for -mcmodel=large in x86_64 target.
+
+ * include/grub/efi/api.h (efi_call_10): New macro.
+ (efi_wrap_10): New function.
+
+ * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
+ (GRUB_PE32_REL_BASED_HIGH): Likewise.
+ (GRUB_PE32_REL_BASED_LOW): Likewise.
+ (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
+ (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
+ (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
+ (GRUB_PE32_REL_BASED_SECTION): Likewise.
+ (GRUB_PE32_REL_BASED_REL): Likewise.
+ (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
+ (GRUB_PE32_REL_BASED_DIR64): Likewise.
+ (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
+
+ * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
+ issue.
+
+ * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
+ (efi_wrap_10): New function.
+
+ * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
+
+ * loader/efi/appleloader.c (devpath_5): Add support for late 2008
+ MB/MBP model (NV chipset).
+ (devdata_devs): Add devpath_5 to the list.
+
+ * load/i386/efi/linux.c (video_base): Remove variable.
+ (RGB_MASK): New macro.
+ (RGB_MAGIC): Likewise.
+ (LINE_MIN): Likewise.
+ (LINE_MAX): Likewise.
+ (FBTEST_STEP): Likewise.
+ (FBTEST_COUNT): Likewise.
+ (fb_list): New variable.
+ (grub_find_video_card): Remove function.
+ (find_framebuf): New function.
+ (grub_linux_setup_video): Use find_framebuf to get frame buffer and
+ line length.
+
+ * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
+ problem for x86_64.
+
+2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
+
+ Patch #25624 by Kevin Lacquement <kevin@lacqui>.
+
+ * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
+ coding tool name.
+
+2009-02-22 Robert Millan <rmh@aybabtu.com>
+
+ * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
+ * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
+ in our relocation, instead of using it directly from heap. Also
+ use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
+
+2009-02-21 Robert Millan <rmh@aybabtu.com>
+
+ Implement USB keyboard support (based on patch by Marco Gerards)
+
+ * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
+ (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
+ (usb_keyboard_mod_LDFLAGS): New variables.
+
+ * term/usb_keyboard.c: New file.
+
+2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Corrected wrong declaration
+
+ * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
+
+2009-02-14 Christian Franke <franke@computer.org>
+
+ * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
+ (grub_lspci_iter): Print class code and programming interface byte.
+
+2009-02-14 Christian Franke <franke@computer.org>
+
+ * gendistlist.sh: Ignore `.svn' directories.
+
+2009-02-14 Felix Zielcke <fzielcke@z-51.de>
+
+ * fs/fat.c: Add 2009 to Copyright line.
+
+2009-02-14 Christian Franke <franke@computer.org>
+
+ * commands/hdparm.c: New file. Provides `hdparm' command
+ which sends ATA commands via grub_disk_ata_pass_through ().
+
+ * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
+
+ * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
+ and <grub/cpu/io.h> to include/grub/ata.h.
+ (enum grub_ata_addressing_t): Move to include/grub/ata.h.
+ (GRUB_CDROM_SECTOR_SIZE): Remove.
+ (GRUB_ATA_*): Move to include/grub/ata.h.
+ (GRUB_ATAPI_*): Likewise.
+ (enum grub_ata_commands): Likewise.
+ (enum grub_ata_timeout_milliseconds): Likewise.
+ (struct grub_ata_device): Likewise.
+ (grub_ata_regset): Likewise.
+ (grub_ata_regget): Likewise.
+ (grub_ata_regset2): Likewise.
+ (grub_ata_regget2): Likewise.
+ (grub_ata_check_ready): Likewise.
+ (grub_ata_wait_not_busy): Remove static, exported in
+ include/grub/ata.h.
+ (grub_ata_wait_drq): Likewise.
+ (grub_ata_pio_read): Likewise.
+
+ * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
+ function for hdparm.mod.
+
+ * include/grub/ata.h: New file, contains declarations from
+ disk/ata.c.
+ (enum grub_ata_commands): Add new commands for commands/hdparm.c.
+
+ * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
+ (grub_disk_ata_pass_through): New exported variable.
+
+ * kern/disk.c (grub_disk_ata_pass_through): New variable.
+
+2009-02-13 Colin D Bennett <colin@gibibit.com>
+
+ Support multiple fallback entries, and provide an API to support
+ executing default+fallback menu entries. Renamed the `terminal' menu
+ viewer to `text'.
+
+ * include/grub/normal.h (grub_normal_text_menu_viewer): New global
+ variable declaration.
+ (grub_menu_execute_callback): New structure declaration.
+ (grub_menu_execute_callback_t): New typedef.
+ (grub_menu_execute_with_fallback): New function declaration.
+ (grub_menu_get_entry): Likewise.
+ (grub_menu_get_timeout): Likewise.
+ (grub_menu_set_timeout): Likewise.
+
+ * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
+
+ * normal/menu.c (grub_wait_after_message): Moved to
+ `normal/menu_text.c'.
+ (draw_border): Likewise.
+ (print_message): Likewise.
+ (print_entry): Likewise.
+ (print_entries): Likewise.
+ (grub_menu_init_page): Likewise.
+ (get_entry_number): Likewise.
+ (print_timeout): Likewise.
+ (run_menu): Likewise.
+ (grub_menu_execute_entry): Likewise.
+ (show_text_menu): Likewise.
+ (get_and_remove_first_entry_number): New function.
+ (grub_menu_execute_with_fallback): Likewise.
+ (get_entry): Renamed to ...
+ (grub_menu_get_entry): .. this and made it global.
+ (get_timeout): Renamed to ...
+ (grub_menu_get_timeout): ... this and made it global.
+ (set_timeout): Renamed to ...
+ (grub_menu_set_timeout): ... this and made it global.
+ (grub_normal_terminal_menu_viewer): Renamed to ...
+ (grub_normal_text_menu_viewer): ... this.
+
+ * normal/menu_text.c: New file. Extracted text-menu-specific code
+ from normal/menu.c.
+
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
+ (normal_mod_SOURCES): Likewise.
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+ (normal_mod_SOURCES): Likewise.
+
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ (normal_mod_SOURCES): Likewise.
+
+ * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
+ (normal_mod_SOURCES): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ (normal_mod_SOURCES): Likewise.
+
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ (normal_mod_SOURCES): Likewise.
+
+ * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
+ (normal_mod_SOURCES): Likewise.
+
+2009-02-11 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/00_header.in: Update old reference to `font' command.
+
+2009-02-10 Felix Zielcke <fzielcke@z-51.de>
+
+ * fs/fat.c (grub_fat_mount): Fix wrong comparison.
+
+ Based on patch from Javier Martín.
+
+2009-02-09 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
+ to avoid false positives with FAT.
+ (grub_fstest_SOURCES): Likewise.
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
+ * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+2009-02-09 Felix Zielcke <fzielcke@z-51.de>
+
+ * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
+ bpb.version_specific.fat12_or_fat16.fstype and
+ bpb.version_specific.fat32.fstype.
+
+2009-02-08 Robert Millan <rmh@aybabtu.com>
+
+ * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
+
+2009-02-08 Robert Millan <rmh@aybabtu.com>
+
+ * Makefile.in (host_os, host_cpu): New variables.
+ (target_os): Remove. Update all users.
+
+2009-02-08 Marco Gerards <marco@gnu.org>
+
+ * Makefile.in (enable_grub_emu_usb): New variable.
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
+ (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
+ `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
+ (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
+ (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
+ `usbtest.mod' and `usbms.mod'.
+ (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
+ (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
+ (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
+ (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
+ (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
+ variables.
+
+ * disk/usbms.c: New file.
+
+ * include/grub/usb.h: Likewise.
+
+ * include/grub/usbtrans.h: Likewise.
+
+ * include/grub/usbdesc.h: Likewise.
+
+ * bus/usb/usbtrans.c: Likewise.
+
+ * bus/usb/ohci.c: Likewise.
+
+ * bus/usb/uhci.c: Likewise.
+
+ * bus/usb/usbhub.c: Likewise.
+
+ * bus/usb/usb.c: Likewise.
+
+ * commands/usbtest.c: Likewise.
+
+ * util/usb.c: Likewise.
+
+ * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
+
+ * configure.ac: Test for libusb presence.
+
+ * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
+
+2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
+
+ * kern/mm.c: Add more comments.
+
+2009-02-08 Robert Millan <rmh@aybabtu.com>
+
+ Patch from Javier Martín.
+ * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
+ `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
+
+2009-02-08 Robert Millan <rmh@aybabtu.com>
+
+ * fs/cpio.c: Split tar functionality to ...
+ * fs/tar.c: ... here (new file). Update all users.
+
+2009-02-07 Robert Millan <rmh@aybabtu.com>
+
+ * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
+ backward-incompatible features.
+
+ Based on patch from Javier Martín, with some adjustments.
+
+2009-02-07 Michael Scherer <misc@mandriva.org>
+
+ * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
+
+2009-02-07 Robert Millan <rmh@aybabtu.com>
+
+ * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
+ position of `disk/lvm.c' to ensure grub_init_all() always picks it
+ after the RAID stuff.
+
+2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
+
+ Fixes problem when running vbetest command as reported by
+ Vladimir Serbinenko <phcoder@gmail.com>.
+
+ * (grub_vbe_set_video_mode): Fixed problem with text modes.
+
+2009-02-04 Felix Zielcke <fzielcke@z-51.de>
+
+ util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
+ /dev/md/NpN style mdraid devices.
+
+2009-02-03 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/unifont2pff.rb: Remove.
+
+2009-02-03 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
+ `#'.
+
+2009-02-03 Felix Zielcke <fzielcke@z-51.de>
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+ * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+2009-02-02 Christian Franke <franke@computer.org>
+
+ * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
+
+2009-02-01 Felix Zielcke <fzielcke@z-51.de>
+
+ * INSTALL: Note that we now require at least autoconf 2.59 and
+ that LZO is optional.
+
+2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
+
+ Base on patch on bug #24154 created by Tomas Tintera
+ <trosos@seznam.cz>.
+
+ * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
+
+2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
+
+ Based on patch on bug #25318 created by Bernhard Rosenkraenzer
+ <bero@arklinux.org>.
+
+ * normal/parser.y (script_init): Add missing semicolon.
+
+2009-01-31 Colin D Bennett <colin@gibibit.com>
+
+ * normal/main.c: Add include to grub/menu_viewer.h.
+ (free_menu_entry_classes): Added.
+ (grub_normal_menu_addentry): Added class property handling.
+ (grub_normal_execute): Changed to use new menu viewer for menu viewing.
+ (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
+
+ * normal/menu_viewer.c: New file.
+
+ * normal/menu.c (run_menu_entry): Renamed to ...
+ (grub_menu_execute_entry): ... this and made it as global.
+ (grub_menu_run): Renamed to ...
+ (show_text_menu): ... this and made it local.
+ (show_text_menu): Adapt to new function names.
+ (grub_normal_terminal_menu_viewer): New global variable.
+
+ * include/grub/menu.h: New file.
+
+ * include/grub/menu_viewer.h: New file.
+
+ * include/grub/normal.h: Added include to grub/menu.h.
+ (grub_menu_entry): Moved to include/grub/menu.h.
+ (grub_menu_entry_t): Likewise.
+ (grub_menu): Likewise.
+ (grub_menu_t): Likewise.
+ (grub_normal_terminal_menu_viewer): Added.
+ (grub_menu_execute_entry): Likewise.
+ (grub_menu_run): Removed.
+
+ * DISTLIST: Added include/grub/menu.h.
+ Added include/grub/menu_viewer.h.
+ Added normal/menu_viewer.c.
+
+2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
+
+ * normal/execute.c (grub_script_execute_menuentry): Changed to use
+ arglist for menutitle arguments.
+
+ * normal/main.c (grub_normal_menu_addentry): Likewise.
+
+ * normal/parser.y (menuentry): Likewise.
+
+ * normal/script.c (grub_script_create_cmdmenu): Likewise.
+
+ * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
+ (grub_script_create_cmdmenu): Likewise.
+
+ * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
+
+ * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
+ changes.
+
+ * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
+
+ * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
+
+ * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
+
+ * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
+
+ * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
+
+2009-01-30 Christian Franke <franke@computer.org>
+
+ * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
+ in option help text.
+
+2009-01-27 Pavel Roskin <proski@gnu.org>
+
+ * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
+
+2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
+
+ * commands/lsmmap.c: Add include to grub/machine/memory.h.
+
+ * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
+
+ * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
+ unregister function.
+
+2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
+
+ * disk/scsi.c (grub_scsi_read): Fix sign problem.
+
+ * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
+
+ * util/grub-mkfont.c (usage): Fix typo.
+
+ * util/elf/grub-mkimage.c (load_modules): Fix warning.
+
+2009-01-26 Daniel Mierswa <impulze@impulze.org>
+
+ * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
+
+ * commands/search.c (search_fs_uuid): Ignore case of the UUID.
+
+ * kern/misc.c (grub_strcasecmp): New function.
+ (grub_strcasecmp): Use grub_size_t instead of int for length.
+ Fix return value.
+ * include/grub/misc.h: Update function prototypes.
+
+2009-01-26 Robert Millan <rmh@aybabtu.com>
+
+ * configure.ac: Fix cross-compilation check.
+
+2009-01-22 Christian Franke <franke@computer.org>
+
+ * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
+ (precision) digit string. Allow `.format2' without `format1' (width).
+ Limit input chars for `%s' output to `format2' if specified. This is
+ compatible with standard printf ().
+
+2009-01-22 Christian Franke <franke@computer.org>
+
+ * disk/ata.c (grub_ata_wait_status): Replace by ...
+ (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
+ other status bits may be invalid while BSY is asserted.
+ (grub_ata_check_ready): New function.
+ (grub_ata_cmd): Removed.
+ (grub_ata_wait_drq): New function.
+ (grub_ata_strncpy): Remove inline.
+ (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
+ and error check now done by grub_ata_wait_drq ().
+ (grub_ata_pio_write): Likewise.
+ (grub_atapi_identify): Set DEV before check for !BSY. Use
+ grub_ata_wait_drq () to wait for data.
+ (grub_ata_device_initialize): Add status register check to
+ detect missing SATA slave devices. Add debug messages.
+ (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
+ (grub_atapi_packet): Set DEV before check for !BSY. Replace
+ transfer loop by grub_ata_pio_write ().
+ (grub_ata_identify): Set DEV before check for !BSY. Use
+ grub_ata_wait_drq () to wait for data.
+ (grub_ata_setaddress): Set DEV before check for !BSY.
+ (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
+ read/write in one loop. Fix invalid command on write. Fix incomplete
+ command on (size % batch) == 0. Add missing error check after write of
+ last block. Add debug messages.
+ (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
+
+2009-01-19 Christian Franke <franke@computer.org>
+
+ * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
+ (GRUB_ATAPI_IREASON_*): Likewise.
+ (grub_ata_pio_write): Fix timeout error return.
+ (grub_atapi_identify): Add grub_ata_wait () after cmd.
+ (grub_atapi_wait_drq): New function.
+ (grub_atapi_packet): New parameter `size'.
+ Use grub_atapi_wait_drq () and direct write instead of
+ grub_ata_pio_write ().
+ (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
+ reads the number of bytes requested by the device for each DRQ
+ assertion.
+ (grub_atapi_write): Remove old implementation, return not
+ implemented instead.
+
+2009-01-19 Christian Franke <franke@computer.org>
+
+ * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
+ of 512 to calculate data size.
+ (grub_scsi_read12): Likewise.
+ (grub_scsi_write10): Likewise.
+ (grub_scsi_write12): Likewise.
+ (grub_scsi_read): Adjust size according to blocksize.
+ Add checks for invalid blocksize and unaligned transfer.
+
+2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
+
+ * font/font.c (grub_font_loader_init): Re-position unknown glyph.
+
+ * term/gfxterm.c (write_char): Fix background rendering for wide
+ width glyphs.
+
+2009-01-19 Robert Millan <rmh@aybabtu.com>
+
+ * config.guess: Update to latest version from config git.
+ * config.sub: Likewise.
+
+2009-01-17 Felix Zielcke <fzielcke@z-51.de>
+
+ * Makefile.in: Change font compilation to use new grub-mkfont instead
+ of java version.
+
+ * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
+ * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
+ * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
+ * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
+ * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
+ * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
+ * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
+ * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
+ * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
+
+2009-01-16 Christian Franke <franke@computer.org>
+
+ * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
+ (enum grub_ata_timeout_milliseconds): New enum.
+ (grub_ata_wait_status): Add parameter milliseconds.
+ (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
+ recovery from timed-out commands.
+ (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
+ return grub_errno instead of REG_ERROR.
+ (grub_ata_pio_write): Add parameter milliseconds.
+ (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
+ Pass milliseconds to grub_ata_wait_status () and
+ grub_ata_pio_read ().
+ (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
+ (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
+ grub_ata_wait_status (). Fix IDENTIFY timeout check.
+ (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
+ It is not suitable for device detection, because DEV bit is ignored,
+ the command may run too long, and not all devices set the signature
+ properly.
+ (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
+ (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
+ Fix device selection, DEV bit must be set first to address the registers
+ of the correct device.
+ (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
+ grub_ata_pio_read/write ().
+ (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
+ (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
+
+2009-01-13 Carles Pina i Estany <carles@pina.cat>
+
+ * util/grub-editenv.c (main): Use fseeko(), not fseek().
+
+2009-01-13 Bean <bean123ch@gmail.com>
+
+ * util/grub-mkfont.c (write_font): forget to remove some debug code.
+
+2009-01-13 Bean <bean123ch@gmail.com>
+
+ * Makefile.in: (enable_grub_mkfont): New variable.
+ (freetype_cflags): Likewise.
+ (freetype_libs): Likewise.
+
+ * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
+ (grub_mkfont_SOURCES): New variable.
+ (grub_mkfont_CFLAGS): Likewise.
+ (grub_mkfont_LDFLAGS): Likewise.
+
+ * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
+ library if `--enable-grub-mkfont' is requested.
+ (enable_grub_mkfont): New variable.
+ (freetype_cflags): Likewise.
+ (freetype_libs): Likewise.
+
+ * util/grub-mkfont.c: New file.
+
+2009-01-12 Christian Franke <franke@computer.org>
+
+ * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
+ mode check. Fix setting of compat_use[].
+
+2009-01-10 Robert Millan <rmh@aybabtu.com>
+
+ Update a few copyright years which we forgot to do in 2008 (only for
+ files whose changes made in 2008 were copyright-significant)
+
+ * Makefile.in: Add 2008 to Copyright line.
+ * disk/ieee1275/ofdisk.c: Likewise.
+ * disk/efi/efidisk.c: Likewise.
+ * kern/dl.c: Likewise.
+ * kern/sparc64/ieee1275/init.c: Likewise.
+ * kern/mm.c: Likewise.
+ * kern/efi/mm.c: Likewise.
+ * boot/i386/pc/boot.S: Likewise.
+ * genfslist.sh: Likewise.
+ * fs/iso9660.c: Likewise.
+ * fs/hfs.c: Likewise.
+ * fs/jfs.c: Likewise.
+ * fs/minix.c: Likewise.
+ * fs/ufs.c: Likewise.
+ * gensymlist.sh.in: Likewise.
+ * genkernsyms.sh.in: Likewise.
+ * include/grub/misc.h: Likewise.
+ * include/grub/types.h: Likewise.
+ * include/grub/symbol.h: Likewise.
+ * include/grub/elf.h: Likewise.
+ * include/grub/kernel.h: Likewise.
+ * include/grub/disk.h: Likewise.
+ * include/grub/dl.h: Likewise.
+ * include/grub/i386/linux.h: Likewise.
+ * include/grub/i386/pc/biosdisk.h: Likewise.
+ * include/grub/efi/api.h: Likewise.
+ * include/grub/efi/pe32.h: Likewise.
+ * include/grub/util/misc.h: Likewise.
+ * normal/execute.c: Likewise.
+ * normal/arg.c: Likewise.
+ * normal/completion.c: Likewise.
+ * normal/lexer.c: Likewise.
+ * normal/parser.y: Likewise.
+ * normal/misc.c: Likewise.
+ * commands/i386/pc/vbeinfo.c: Likewise.
+ * commands/hexdump.c: Likewise.
+ * commands/terminal.c: Likewise.
+ * commands/ls.c: Likewise.
+ * commands/help.c: Likewise.
+ * partmap/pc.c: Likewise.
+ * loader/efi/chainloader.c: Likewise.
+ * loader/multiboot_loader.c: Likewise.
+ * loader/i386/pc/multiboot2.c: Likewise.
+ * term/efi/console.c: Likewise.
+ * term/i386/pc/serial.c: Likewise.
+ * util/lvm.c: Likewise.
+ * util/console.c: Likewise.
+ * util/i386/efi/grub-mkimage.c: Likewise.
+ * util/raid.c: Likewise.
+
+2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
+
+ * commands/videotest.c: Removed include to grub/machine/memory.h.
+
+ * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
+ videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
+ (video_mod_SOURCES): Removed.
+ (video_mod_CFLAGS): Likewise.
+ (video_mod_LDFLAGS): Likewise.
+ (gfxterm_mod_SOURCES): Likewise.
+ (gfxterm_mod_CFLAGS): Likewise.
+ (gfxterm_mod_LDFLAGS): Likewise.
+ (videotest_mod_SOURCES): Likewise.
+ (videotest_mod_CFLAGS): Likewise.
+ (videotest_mod_LDFLAGS): Likewise.
+ (bitmap_mod_SOURCES): Likewise.
+ (bitmap_mod_CFLAGS): Likewise.
+ (bitmap_mod_LDFLAGS): Likewise.
+ (tga_mod_SOURCES): Likewise.
+ (tga_mod_CFLAGS): Likewise.
+ (tga_mod_LDFLAGS): Likewise.
+ (jpeg_mod_SOURCES): Likewise.
+ (jpeg_mod_CFLAGS): Likewise.
+ (jpeg_mod_LDFLAGS): Likewise.
+ (png_mod_SOURCES): Likewise.
+ (png_mod_CFLAGS): Likewise.
+ (png_mod_LDFLAGS): Likewise.
+
+ * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
+ bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
+ (video_mod_SOURCES): Added.
+ (video_mod_CFLAGS): Likewise.
+ (video_mod_LDFLAGS): Likewise.
+ (videotest_mod_SOURCES): Likewise.
+ (videotest_mod_CFLAGS): Likewise.
+ (videotest_mod_LDFLAGS): Likewise.
+ (bitmap_mod_SOURCES): Likewise.
+ (bitmap_mod_CFLAGS): Likewise.
+ (bitmap_mod_LDFLAGS): Likewise.
+ (tga_mod_SOURCES): Likewise.
+ (tga_mod_CFLAGS): Likewise.
+ (tga_mod_LDFLAGS): Likewise.
+ (jpeg_mod_SOURCES): Likewise.
+ (jpeg_mod_CFLAGS): Likewise.
+ (jpeg_mod_LDFLAGS): Likewise.
+ (png_mod_SOURCES): Likewise.
+ (png_mod_CFLAGS): Likewise.
+ (png_mod_LDFLAGS): Likewise.
+ (gfxterm_mod_SOURCES): Likewise.
+ (gfxterm_mod_CFLAGS): Likewise.
+ (gfxterm_mod_LDFLAGS): Likewise.
+
+ * term/gfxterm.c: Removed include to grub/machine/memory.h,
+ grub/machine/console.h.
+
+2009-01-04 Jerone Young <jerone@gmail.com>
+
+ Make on screen instructions clearer
+
+ Based on patch created by Jidanni <jidanni@jidanni.org>
+
+ * normal/menu.c: print clearer instructions on the screen
+
+2009-01-02 Colin D Bennett <colin@gibibit.com>
+
+ New font engine.
+
+ Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
+ build system and fixed gfxterm.c to work with different sized fonts.
+
+ * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
+
+ * configure: Re-generated.
+
+ * DISTLIST: Removed font/manager.c.
+ Added font/font.c.
+ Added font/font_cmd.c.
+
+ * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
+ compilation.
+
+ * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
+
+ * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
+
+ * kern/term.c: Changed users of grub_utf8_to_ucs4.
+
+ * normal/menu.c: Likewise.
+
+ * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
+ (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
+
+ * include/grub/font.h: Replaced with new file.
+
+ * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
+ (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
+ (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
+ (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
+ (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
+ (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
+ fg_red, fg_green, fg_blue, fg_alpha.
+ (grub_video_adapter): Removed blit_glyph.
+ (grub_video_blit_glyph): Removed.
+
+ * font/manager.c: Removed file.
+
+ * font/font.c: New file.
+
+ * font/font_cmd.c: Likewise.
+
+ * video/video.c (grub_video_blit_glyph): Removed.
+
+ * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
+ (grub_video_vbe_map_rgba): Likewise.
+ (grub_video_vbe_unmap_color_int): Likewise.
+ (grub_video_vbe_blit_glyph): Removed.
+ (grub_video_vbe_adapter): Removed blit_glyph.
+
+ * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
+ (get_pixel): Likewise.
+ (set_pixel): Likewise.
+
+ * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
+
+ * term/gfxterm.c: Adapted to new font engine.
+
+ * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
+
+ * term/i386/pc/vga.c: Likewise.
+
+ * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
+
+ * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
+
+ * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
+
+ * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
+
+ * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
+
+ * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
+
+ * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
+
+ * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
+
+ * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
+
+ * util/grub.d/00_header.in: Changed to use new loadfont command.
+
+ * util/grub-mkconfig_lib.in: Changed font extension.
+
+2008-12-28 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/getroot.c (grub_util_get_grub_dev): Add support for
+ /dev/md/dNNpNN style partitionable mdraid devices.
+
+2008-12-12 Alex Smith <alex@alex-smith.me.uk>
+
+ * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
+ at a time limit of the PXE TFTP API correctly.
+ (grub_pxefs_close): Likewise.
+
+2008-11-29 Robert Millan <rmh@aybabtu.com>
+
+ * disk/ata.c (grub_ata_pciinit): Handle errors raised by
+ grub_ata_device_initialize() calls.
+
+2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
+
+ * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
+ iteration failed.
+ * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
+
+2008-11-28 Robert Millan <rmh@aybabtu.com>
+
+ Fix build on powerpc-ieee1275. Based on patch created by
+ Manoel Abranches <mrabran@linux.vnet.ibm.com>.
+ * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
+ `kern/ieee1275/mmap.c'.
+ * include/grub/powerpc/ieee1275/memory.h: New file.
+
+ Provide grub-install on coreboot.
+ * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
+ (grub_install_SOURCES): New variable.
+ * util/i386/pc/grub-install.in: Add a few condition checks to make it
+ usable on coreboot.
+
+2008-11-25 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/grub-fstest.c (grub_term_get_current_input): Change return type
+ to `grub_term_input_t'.
+ (grub_term_get_current_output): Change return type to
+ `grub_term_output_t'.
+
+2008-11-22 Robert Millan <rmh@aybabtu.com>
+
+ Fix breakage on coreboot due to declaration mismatch.
+ * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
+ (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
+ grub_vga_text_cls().
+
+ * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
+ comments. Avoid copying one more byte than necessary (just in case).
+
+ * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
+ to 0x200000 (avoids trouble with some OFW implementations, and matches
+ with the one in Yaboot).
+ Reported by Manoel Abranches
+
+2008-11-20 Robert Millan <rmh@aybabtu.com>
+
+ * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
+ (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
+
+ * util/grub-mkconfig_lib.in (grub_warn): New function.
+ (convert_system_path_to_grub_path): Use grub_warn() when issuing
+ warnings, to obtain consistent formatting.
+ * util/grub.d/00_header.in: Likewise.
+ * util/update-grub_lib.in: Likewise.
+
+ * loader/i386/linux.c (allocate_pages): Fix a warning.
+ Move comment text to `#error' stanza.
+
+ Harmonize ieee1275's grub_available_iterate() with the generic
+ grub_machine_mmap_iterate() interface (fixes a recently-introduced
+ build problem on i386-ieee1275):
+ * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
+ * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
+ parameter `type'. Update all users of this function.
+ * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
+ `kern/ieee1275/mmap.c'.
+ * kern/ieee1275/init.c
+ * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
+ with ...
+ (grub_machine_mmap_iterate): ... this.
+ * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
+ return type to `grub_err_t'. Update all implementations of this
+ function prototype.
+ * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
+ Likewise.
+
+ Add `lsmmap' command (lists firmware-provided memory map):
+ * commands/lsmmap.c: New file.
+ * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
+ (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
+ variables.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/i386-coreboot.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+
+2008-11-19 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
+ * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
+ constraints to initrd allocation (based on code from
+ loader/i386/pc/linux.c). Without them, initrd was allocated too high
+ for Linux to find it.
+
+2008-11-14 Robert Millan <rmh@aybabtu.com>
+
+ * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
+ order to cope with duplicate slashes.
+
+2008-11-14 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
+ Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
+ don't want to mess with lower memory, because it is used in the Linux
+ loader.
+
+ * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
+ an appropriate place in lower memory, between 0x10000 and 0x90000,
+ like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
+ is in our heap (probably as a result of it being corrupted during
+ decompression). Add #error instance with comment to explain why this
+ loader isn't currently usable on PC/BIOS.
+
+2008-11-14 Robert Millan <rmh@aybabtu.com>
+
+ * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
+ (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
+
+2008-11-12 Robert Millan <rmh@aybabtu.com>
+
+ Make loader/i386/linux.c buildable on i386-pc (although disabled).
+
+ * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
+ (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
+ from here ...
+ * include/grub/i386/pc/memory.h: ... to here.
+
+2008-11-12 Robert Millan <rmh@aybabtu.com>
+
+ Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
+ split).
+
+ * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
+ (grub_console_cur_color, grub_console_real_putchar)
+ (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
+ (grub_console_setcolorstate, grub_console_setcolor)
+ (grub_console_getcolor): Move from here ...
+ * include/grub/i386/vga_common.h: ... to here (new file).
+
+ * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
+ `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
+ `<grub/i386/io.h>'.
+ * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
+ `<grub/i386/vga_common.h>'.
+
+2008-11-12 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
+ * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
+ (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
+ variables.
+ * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
+ `term/i386/pc/console.c' with `term/i386/vga_common.c'.
+
+ * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
+ grub_console_init() with call to grub_vga_text_init().
+ (grub_machine_fini): Replace call to
+ grub_console_fini() with call to grub_vga_text_fini() and
+ grub_at_keyboard_fini().
+
+ * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
+ (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
+ (grub_console_setcolorstate, grub_console_setcolor)
+ (grub_console_getcolor): New function prototypes.
+
+ * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
+ (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
+ (grub_vga_text_setcursor): Static-ize.
+ (grub_vga_text_term): New structure.
+ (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
+
+ * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
+ (grub_console_cur_color, grub_console_standard_color)
+ (grub_console_normal_color, grub_console_highlight_color)
+ (map_char, grub_console_putchar, grub_console_getcharwidth)
+ (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
+ (grub_console_getcolor): Move from here ...
+ * term/i386/vga_common.c: ... to here (same function names).
+
+2008-11-12 Robert Millan <rmh@aybabtu.com>
+
+ Use newly-added Multiboot support in coreboot.
+
+ * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
+ `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
+
+ * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
+ alignment, set `MULTIBOOT_MEMORY_INFO' flag.
+ (codestart): Store the MBI in `startup_multiboot_info' when we're
+ being loaded using Multiboot.
+
+ * kern/i386/coreboot/init.c (grub_machine_init): Move
+ grub_at_keyboard_init() call to beginning of function (useful for
+ debugging). Call grub_machine_mmap_init() before attempting to use
+ grub_machine_mmap_iterate().
+ (grub_lower_mem, grub_upper_mem): Move from here ...
+ * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
+ here (new file).
+
+ * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
+ function prototype.
+
+2008-11-12 Robert Millan <rmh@aybabtu.com>
+
+ Fix a regression introduced by the at_keyboard.mod split. Because
+ some terminals are default on some platforms and non-default on
+ others, the first terminal being registered determines which is
+ going to be default.
+
+ * kern/term.c (grub_term_register_input): If this is the first
+ terminal being registered, set it as the current one.
+ (grub_term_register_output): Likewise.
+
+ * term/efi/console.c (grub_console_init): Do not call
+ grub_term_set_current_output() or grub_term_set_current_input().
+ * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
+ * term/i386/pc/console.c (grub_console_init): Likewise.
+ (grub_console_fini): Do not call grub_term_set_current_input()
+ (but leave grub_term_set_current_output() to restore text mode).
+
+2008-11-10 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/00_header.in: Add backward compatibility check for
+ versions of terminal.mod that don't understand `terminal_input' or
+ `terminal_output'.
+
+2008-11-09 Robert Millan <rmh@aybabtu.com>
+
+ * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
+ `terminal_input' / `terminal_output', not `terminal'.
+
+2008-11-08 Robert Millan <rmh@aybabtu.com>
+
+ * Makefile.in (include_DATA): Fix srcdir=. assumption.
+ (DISTCLEANFILES): Add `build_env.mk'.
+
+2008-11-08 Robert Millan <rmh@aybabtu.com>
+
+ * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
+ `struct grub_term_output'. Remove `.checkkey' and `.getkey'
+ members. Update all users.
+ * util/console.c (grub_ncurses_term): Split in ...
+ (grub_ncurses_term_input): ... this, and ...
+ (grub_ncurses_term_output): ... this. Update all users.
+ * term/ieee1275/ofconsole.c: Remove stale `#endif'.
+
+2008-11-08 Robert Millan <rmh@aybabtu.com>
+
+ * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
+ (PKGDATA): Add $(pkgdata_SRCDIR).
+ (pkglib_BUILDDIR): New variable.
+ (pkgdata_SRCDIR): New variable.
+ (build_env.mk): New target.
+ (include_DATA): New variable.
+ (install-local): Install $(include_DATA) files in $(includedir).
+
+2008-11-07 Pavel Roskin <proski@gnu.org>
+
+ * gendistlist.sh: Use C locale for sorting to ensure consistent
+ output on all systems.
+
+ * util/grub.d/00_header.in: Remove incorrect space before
+ "serial".
+
+2008-11-07 Robert Millan <rmh@aybabtu.com>
+
+ * include/multiboot2.h (struct multiboot_header): Add `flags' member as
+ per specification.
+ * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
+ * loader/multiboot_loader.c (find_multi_boot2_header): New function
+ (based on find_multi_boot1_header).
+ (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
+ using find_multi_boot2_header(), and abort if neither Multiboot or
+ Multiboot headers were found.
+
+2008-11-07 Robert Millan <rmh@aybabtu.com>
+
+ Modularize at_keyboard.mod:
+
+ * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
+ (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
+ (at_keyboard_mod_LDFLAGS): New variables.
+
+ Actual terminal split:
+
+ * include/grub/term.h (struct grub_term): Split in ...
+ (struct grub_term_input): ... this, and ...
+ (struct grub_term_output): ... this. Update all users.
+ (grub_term_set_current): Split in ...
+ (grub_term_set_current_input): ... this, and ...
+ (grub_term_set_current_output): ... this.
+ (grub_term_get_current): Split in ...
+ (grub_term_get_current_input): ... this, and ...
+ (grub_term_get_current_output): ... this.
+ (grub_term_register): Split in ...
+ (grub_term_register_input): ... this, and ...
+ (grub_term_register_output): ... this.
+ (grub_term_unregister): Split in ...
+ (grub_term_unregister_input): ... this, and ...
+ (grub_term_unregister_output): ... this.
+ (grub_term_iterate): Split in ...
+ (grub_term_iterate_input): ... this, and ...
+ (grub_term_iterate_output): ... this.
+
+ * kern/term.c (grub_term_list): Split in ...
+ (grub_term_list_input): ... this, and ...
+ (grub_term_list_output): ... this. Update all users.
+ (grub_cur_term): Split in ...
+ (grub_cur_term_input): ... this, and ...
+ (grub_cur_term_output): ... this. Update all users.
+ (grub_term_set_current): Split in ...
+ (grub_term_set_current_input): ... this, and ...
+ (grub_term_set_current_output): ... this.
+ (grub_term_get_current): Split in ...
+ (grub_term_get_current_input): ... this, and ...
+ (grub_term_get_current_output): ... this.
+ (grub_term_register): Split in ...
+ (grub_term_register_input): ... this, and ...
+ (grub_term_register_output): ... this.
+ (grub_term_unregister): Split in ...
+ (grub_term_unregister_input): ... this, and ...
+ (grub_term_unregister_output): ... this.
+ (grub_term_iterate): Split in ...
+ (grub_term_iterate_input): ... this, and ...
+ (grub_term_iterate_output): ... this.
+
+ * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
+ a check for input and one for output (and only attempt to get keys
+ from user when input works).
+
+ * util/grub-probe.c (grub_term_get_current): Split in ...
+ (grub_term_get_current_input): ... this, and ...
+ (grub_term_get_current_output): ... this.
+ * util/grub-fstest.c: Likewise.
+ * util/i386/pc/grub-setup.c: Likewise.
+ * util/grub-editenv.c: Likewise.
+
+ Portability adjustments:
+
+ * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
+ `term/i386/pc/at_keyboard.c'.
+ * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
+ grub_keyboard_controller_init() (now handled by terminal .init).
+ * kern/i386/coreboot/init.c (grub_machine_init): Add call to
+ grub_at_keyboard_init().
+ * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
+ (grub_console_checkkey, grub_console_getkey): Remove (now provided by
+ at_keyboard.mod via input terminal interface).
+ * include/grub/i386/coreboot/console.h: Convert into a stub for
+ `<grub/i386/pc/console.h>'.
+
+ Migrate full terminals to new API:
+
+ * term/efi/console.c (grub_console_term): Split into ...
+ (grub_console_term_input): ... this, and ...
+ (grub_console_term_output): ... this. Update all users.
+ * term/ieee1275/ofconsole.c: Remove __i386__ hack.
+ (grub_ofconsole_init): Split into ...
+ (grub_ofconsole_init_input): ... this, and ...
+ (grub_ofconsole_init_output): ... this.
+ (grub_ofconsole_term): Split into ...
+ (grub_ofconsole_term_input): ... this, and ...
+ (grub_ofconsole_term_output): ... this. Update all users.
+ * term/i386/pc/serial.c (grub_serial_term): Split into ...
+ (grub_serial_term_input): ... this, and ...
+ (grub_serial_term_output): ... this. Update all users.
+ * term/i386/pc/console.c (grub_console_term): Split into ...
+ (grub_console_term_input): ... this, and ...
+ (grub_console_term_output): ... this. Update all users.
+ (grub_console_term_input): Only enable it on PC/BIOS platform.
+ (grub_console_init): Remove grub_keyboard_controller_init() call.
+
+ Migrate input terminals to new API:
+
+ * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
+ `i386' and `i386/pc' to enable build on x86_64 (this driver is
+ i386-specific anyway).
+ (grub_console_checkkey): Rename to ...
+ (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
+ users.
+ (grub_keyboard_controller_orig): New variable.
+ (grub_console_getkey): Rename to ...
+ (grub_at_keyboard_getkey): ... this. Static-ize. Update all
+ users.
+ (grub_keyboard_controller_init): Static-ize. Save original
+ controller value so that it can be restored ...
+ (grub_keyboard_controller_fini): ... here (new function).
+ (grub_at_keyboard_term): New structure.
+ (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
+ functions.
+
+ Migrate output terminals to new API:
+
+ * term/i386/pc/vga.c (grub_vga_term): Change type to
+ `struct grub_term_output'. Remove `.checkkey' and `.getkey'
+ members. Update all users.
+ * term/gfxterm.c (grub_video_term): Change type to
+ `struct grub_term_output'. Remove `.checkkey' and `.getkey'
+ members. Update all users.
+ * include/grub/i386/pc/console.h (grub_console_checkkey)
+ (grub_console_getkey): Do not export (no longer needed by gfxterm,
+ etc).
+
+ Migrate `terminal' command and userland tools to new API:
+
+ * commands/terminal.c (grub_cmd_terminal): Split into ...
+ (grub_cmd_terminal_input): ... this, and ...
+ (grub_cmd_terminal_output): ... this.
+ (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
+ `terminal_input' and `terminal_output'.
+ * util/grub.d/00_header.in: Adjust `terminal' calls to new
+ `terminal_input' / `terminal_output' API.
+ * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
+ ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
+ provided ${GRUB_TERMINAL}, convert it).
+
+2008-11-04 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/10_freebsd.in: New file. Generate grub configuration
+ for FreeBSD.
+ * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
+
+2008-11-03 Bean <bean123ch@gmail.com>
+
+ * kern/elf.c (grub_elf32_load): Revert to previous code.
+ (grub_elf64_load): Likewise.
+
+ * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
+
+2008-11-01 Robert Millan <rmh@aybabtu.com>
+
+ * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
+ (TARGET_CPPFLAGS): Likewise.
+ * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
+
+2008-11-01 Carles Pina i Estany <carles@pina.cat>
+
+ * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
+
+2008-10-29 Guillem Jover <guillem.jover@nokia.com>
+
+ * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
+ addition of objects until the code is not going to be able to fail.
+
+2008-10-29 Guillem Jover <guillem.jover@nokia.com>
+
+ * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
+ (add a missing NULL check, and correct them by moving the pointer
+ operations after the actual check).
+
+2008-10-29 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-install.in: Handle empty string as output from
+ make_system_path_relative_to_its_root().
+
+2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
+
+ * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
+ circular metadata worst case scenario. If the metadata is circular
+ then copy the wrap in place.
+ * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
+ project lib/format_text/layout.h
+ Circular metadata bug found and patch debugged by Jan Derk Gerlings.
+
+2008-10-03 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
+
+2008-10-03 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/update-grub_lib.in: Mention filename in warning message.
+
+2008-09-29 Felix Zielcke <fzielcke@z-51.de>
+
+ * NEWS: Update for rename of update-grub to grub-mkconfig.
+
+2008-09-29 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/update-grub_lib.in: Copy to ...
+ * util/grub-mkconfig_lib.in: ... this. Update all users.
+ * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
+ * util/update-grub.in: Rename to ...
+ * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
+ option. Add `--output' option to allow users to specify the generated
+ configuration file. Default to stdout.
+ (update_grub_dir): Rename to ...
+ (grub_mkconfig_dir): ... this.
+ (grub_cfg): Default to an empty string.
+ * conf/common.rmk (update-grub): Rename to ...
+ (grub-mkconfig): ... this.
+ (update-grub_lib): Copy to ...
+ (grub-mkconfig_lib): ... this.
+ (update-grub_SCRIPTS): Copy to ...
+ (grub-mkconfig_SCRIPTS): ... this. Update all users.
+ (update-grub_DATA): Rename to ...
+ (grub-mkconfig_DATA): ... this.
+
+2008-09-28 Robert Millan <rmh@aybabtu.com>
+
+ * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
+ to `modified'. Add the real `created' field.
+ (grub_iso9660_uuid): Use `modified' rather than `created' for
+ constructing the UUID.
+
+2008-09-28 Felix Zielcke <fzielcke@z-51.de>
+
+ fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
+ Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
+
+2008-09-28 Bean <bean123ch@gmail.com>
+
+ * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
+ Thanks to Christian Franke for finding this bug.
+
+2008-09-25 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub-mkdevicemap.c (make_device_map): Actually replace all
+ instances of grub_util_get_disk_name() (see previous commit).
+
+2008-09-25 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
+ `util/i386/get_disk_name.c'.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+ * conf/i386-coreboot.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
+ `util/ieee1275/get_disk_name.c'.
+ * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
+ * util/ieee1275/get_disk_name.c: Remove file.
+ * util/i386/get_disk_name.c: Remove file.
+ * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
+ "hd%d" for device.map entries, rather than using
+ grub_util_get_disk_name().
+
+2008-09-24 Carles Pina i Estany <carles@pina.cat>
+
+ * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
+ warning.
+ * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
+
+2008-09-24 Carles Pina i Estany <carles@pina.cat>
+
+ * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
+ Changed to 0x5100.
+ (GRUB_TERM_PPAGE): Changed to 0x4900.
+
+2008-09-24 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
+ macros (they were i386-pc specific).
+ * include/grub/sparc64/ieee1275/console.h: Likewise.
+ * include/grub/efi/console.h: Likewise.
+
+2008-09-22 Bean <bean123ch@gmail.com>
+
+ * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
+ resident and in attribute list.
+
+ * include/grub/ntfs.h (BMP_LEN): Removed.
+
+2008-09-22 Bean <bean123ch@gmail.com>
+
+ * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
+ scsi->name and scsi->luns, as they will be set in grub_scsi_open.
+
+ * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
+ error occurs, as grub_disk_open will call grub_disk_close, which will
+ call p->close (scsi).
+
+2008-09-21 Felix Zielcke <fzielcke@z-51.de>
+
+ * configure.ac (AC_INIT): Quote `GRUB' string and version number.
+ (AC_PREREQ): Bumped to 2.59.
+ (AC_TRY_COMPILE): Replace obsolete macro with ...
+ (AC_COMPILE_IFELSE): ... this.
+ * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
+ (AC_LINK_IFELSE): ... this.
+
+2008-09-21 Felix Zielcke <fzielcke@z-51.de>
+
+ * autogen.sh: Add a call to `gendistlist.sh'.
+
+2008-09-19 Christian Franke <franke@computer.org>
+
+ * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
+ * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
+ * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
+ Export __enable_execute_stack() to modules.
+ * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
+ New function.
+
+2008-09-09 Felix Zielcke <fzielcke@z-51.de>
+
+ * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
+ Sort the list.
+
+2008-09-09 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
+ #include <grub/util/hostdisk.h>.
+
+2008-09-08 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
+ segments when their filesz is zero (grub_file_read() interprets
+ zero-size as "read until EOF", which results in memory corruption).
+ Use `lowest_segment' rather than 0 for calculating the current
+ segment load address.
+
+2008-09-08 Robert Millan <rmh@aybabtu.com>
+
+ * util/hostdisk.c (open_device): Replace a grub_util_info() call
+ with grub_dprintf("hostdisk", ...), as it was so verbose that it
+ clobbered useful information.
+
+2008-09-08 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/util/biosdisk.h: Move to ...
+ * include/grub/util/hostdisk.h: ... here. Update all users.
+ * util/biosdisk.c: Move to ...
+ * util/hostdisk.c: ... here. Update all users.
+
+2008-09-07 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
+ variables.
+ (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
+ and length can be stored directly in the `mbi->mmap_addr' and
+ `mbi->mmap_length' struct fields.
+
+2008-09-07 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386.rmk: New file. Provides declaration for building
+ `cpuid.mod'.
+ * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
+ (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
+ variables.
+ Include `conf/i386.mk'.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/x86_64-efi.rmk: Likewise.
+ * conf/i386-coreboot.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+
+2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
+
+ Based on patch created by Colin D Bennett <colin@gibibit.com>.
+ Adds optimization support for BGR based modes.
+
+ * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
+ (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
+ (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
+ (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
+ (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
+ (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
+ (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
+ (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
+ (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
+ (grub_video_i386_vbeblit_index_index): Likewise.
+ (grub_video_i386_vbeblit_replace_directN): Added.
+ (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
+ (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
+ (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
+ (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
+ (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
+ (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
+ (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
+ (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
+ (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
+ (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
+ (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
+ (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
+ (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
+
+ * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
+ (grub_video_i386_vbefill_R8G8B8): Likewise.
+ (grub_video_i386_vbefill_index): Likewise.
+ (grub_video_i386_vbefill_direct32): Added.
+ (grub_video_i386_vbefill_direct24): Likewise.
+ (grub_video_i386_vbefill_direct16): Likewise.
+ (grub_video_i386_vbefill_direct8): Likewise.
+
+ * include/grub/video.h (grub_video_blit_format): Removed
+ GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
+ (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
+ GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
+ GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
+ GRUB_VIDEO_BLIT_FORMAT_BGR_565.
+
+ * video/video.c (grub_video_get_blit_format): Updated to use new
+ blit formats. Added handling for 16 bit color modes.
+
+ * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
+ fillers.
+ (common_blitter): Updated to use new blitters.
+
+ * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
+ Removed.
+ (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
+ (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
+ (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
+ (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
+ (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
+ (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
+ (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
+ (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
+ (grub_video_i386_vbeblit_index_index): Likewise.
+ (grub_video_i386_vbeblit_replace_directN): Added.
+ (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
+ (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
+ (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
+ (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
+ (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
+ (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
+ (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
+ (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
+ (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
+ (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
+ (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
+ (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
+ (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
+
+ * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
+ (grub_video_i386_vbefill_R8G8B8): Likewise.
+ (grub_video_i386_vbefill_index): Likewise.
+ (grub_video_i386_vbefill_direct32): Added.
+ (grub_video_i386_vbefill_direct24): Likewise.
+ (grub_video_i386_vbefill_direct16): Likewise.
+ (grub_video_i386_vbefill_direct8): Likewise.
+
+ * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
+ types.
+
+ * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
+ types.
+
+ * video/readers/png.c (grub_png_decode_image_header): Adapt to new
+ blitter types.
+
+ * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
+ types.
+
+2008-09-06 Felix Zielcke <fzielcke@z-51.de>
+
+ * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
+ RAID level 1.
+
+2008-09-06 Felix Zielcke <fzielcke@z-51.de>
+
+ * fs/iso9660.c (grub_iso9660_date): New structure.
+ (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
+ (grub_iso9660_uuid): New function.
+
+2008-09-05 Bean <bean123ch@gmail.com>
+
+ * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
+
+ * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
+ insensitive bit for names in Win32 and Win32 & DOS namespace.
+
+ * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
+
+ * include/grub/types.h (LONG_MAX): Likewise.
+
+2008-09-04 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/getroot.c: Include <config.h>.
+ (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
+ add support for /dev/md/N devices and handle LVM double dash escaping.
+
+2008-09-04 Felix Zielcke <fzielcke@z-51.de>
+
+ * config.guess: Update to latest version from config git.
+ * config.sub: Likewise.
+
+2008-09-03 Robert Millan <rmh@aybabtu.com>
+
+ * disk/scsi.c (grub_scsi_open): Remove size limit when printing
+ `disk->total_sectors'.
+
+2008-09-01 Colin D Bennett <colin@gibibit.com>
+
+ * include/grub/normal.h: Fixed incorrect comment for
+ GRUB_COMMAND_FLAG_NO_ARG_PARSE.
+
+2008-09-01 Colin D Bennett <colin@gibibit.com>
+
+ * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
+ values with defines.
+
+ * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
+ (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
+ (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
+ (GRUB_VBE_MODEATTR_COLOR): Likewise.
+ (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
+ (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
+ (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
+ (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
+ (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
+ (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
+ (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
+ (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
+ (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
+ (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
+ (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
+ (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
+ (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
+ (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
+ (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
+
+2008-08-31 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
+ declaration.
+ (grub_multiboot): Fix a few warnings.
+
+2008-08-31 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/multiboot.c: Update comment not to say that
+ boot_device support is unimplemented.
+
+2008-08-31 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/multiboot.c: Update comment not to say that a.out
+ or memory map support are unimplemented.
+
+2008-08-31 Colin D Bennett <colin@gibibit.com>
+
+ * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
+
+2008-08-31 Colin D Bennett <colin@gibibit.com>
+
+ * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
+ total video memory in 'vbeinfo' output; show color format details for
+ each video mode.
+
+2008-08-30 Pavel Roskin <proski@gnu.org>
+
+ * util/genmoddep.c: Remove for real this time.
+ * DISTLIST: Remove util/genmoddep.c.
+
+2008-08-30 Robert Millan <rmh@aybabtu.com>
+
+ * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
+ as required by Multiboot spec (it was already 4-byte aligned, but
+ only by chance).
+
+2008-08-29 Pavel Roskin <proski@gnu.org>
+
+ * kern/powerpc/ieee1275/crt0.S: Rename to ...
+ * kern/powerpc/ieee1275/startup.S: ... this.
+ * conf/powerpc-ieee1275.rmk: Adjust for the above.
+ * DISTLIST: Likewise.
+
+ * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
+ grub/cpu/kernel.h. Add start label for consistency with other
+ platforms. Add grub_prefix immediately after start. Add jump
+ to the code after grub_prefix.
+ * include/grub/powerpc/kernel.h: Provide valid values for
+ GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
+
+2008-08-29 Bean <bean123ch@gmail.com>
+
+ * configure.ac: Change host_os to cygwin for mingw.
+ (asprintf): New check for function.
+
+ * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
+ #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
+
+ * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
+ declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
+ sync, sleep and grub_util_get_disk_size for mingw.
+
+ * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
+ to get size in mingw.
+ (open_device): Use flag O_BINARY if it's defined.
+ (find_root_device): Add dummy code for mingw.
+
+ * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
+ (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
+ (get_scsi_disk_name): Return 0 for mingw.
+
+ * util/hostfs.c: #include <grub/util/misc.h>.
+ (grub_hostfs_open): Use "rb" flag to open file, use
+ grub_util_get_disk_size to get disk size for mingw.
+
+ * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
+ (asprintf): New function if HAVE_ASPRINTF is not set.
+ (sync): New function for mingw.
+ (sleep): Likewise.
+ (grub_util_get_disk_size): Likewise.
+
+2008-08-28 Pavel Roskin <proski@gnu.org>
+
+ * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
+ kern/time.c.
+
+2008-08-28 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
+
+2008-08-28 Robert Millan <rmh@aybabtu.com>
+
+ Change find_grub_drive() syntax so it doesn't prevent it from
+ detecting NULL names as errors.
+
+ * util/biosdisk.c (find_grub_drive): Move free slot search code
+ from here ...
+ (find_free_slot): ... to here.
+ (read_device_map): Use find_free_slot() to search for free slots.
+
+2008-08-27 Marco Gerards <marco@gnu.org>
+
+ * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
+ (scsi_mod_SOURCES): New variable.
+ (scsi_mod_CFLAGS): Likewise
+ (scsi_mod_LDFLAGS): Likewise.
+
+ * disk/scsi.c: New file.
+
+ * include/grub/scsi.h: Likewise.
+
+ * include/grub/scsicmd.h: Likewise.
+
+ * disk/ata.c: Include <grub/scsi.h>.
+ (grub_atapi_packet): Do not use grub_ata_cmd, use registers
+ instead.
+ (grub_ata_iterate): Skip ATAPI devices.
+ (grub_ata_open): Only handle ATAPI devices.
+ (struct grub_atapi_read): Removed.
+ (grub_atapi_readsector): Likewise.
+ (grub_ata_read): No longer handle ATAPI devices.
+ (grub_ata_write): Likewise.
+ (grub_atapi_iterate): New function.
+ (grub_atapi_read): Likewise.
+ (grub_atapi_write): Likewise.
+ (grub_atapi_open): Likewise.
+ (grub_atapi_close): Likewise.
+ (grub_atapi_dev): New variable.
+ (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
+ (GRUB_MOD_FINI(ata)): Unregister ATAPI.
+
+ * include/grub/disk.h (enum grub_disk_dev_id): Add
+ `GRUB_DISK_DEVICE_SCSI_ID'.
+
+2008-08-26 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (grub_util_biosdisk_open, open_device)
+ (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
+ descriptive.
+
+2008-08-23 Bean <bean123ch@gmail.com>
+
+ * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
+ (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
+ disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
+ (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
+ dm_nv.mod.
+ (raid5rec_mod_SOURCES): New macro.
+ (raid5rec_mod_CFLAGS): Likewise.
+ (raid5rec_mod_LDFLAGS): Likewise.
+ (raid6rec_mod_SOURCES): Likewise.
+ (raid6rec_mod_CFLAGS): Likewise.
+ (raid6rec_mod_LDFLAGS): Likewise.
+ (mdraid_mod_SOURCES): Likewise.
+ (mdraid_mod_CFLAGS): Likewise.
+ (mdraid_mod_LDFLAGS): Likewise.
+ (dm_nv_mod_SOURCES): Likewise.
+ (dm_nv_mod_CFLAGS): Likewise.
+ (dm_nv_mod_LDFLAGS): Likewise.
+
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
+ (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
+ disk/mdraid_linux.c and disk/dmraid_nvidia.c.
+
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
+ disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+ * disk/raid5_recover.c: New file.
+
+ * disk/raid6_recover.c: Likewise.
+
+ * disk/mdraid_linux.c: Likewise.
+
+ * disk/dmraid_nvidia.c: Likewise.
+
+ * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
+ ULONG_MAX.
+
+ * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
+ calculate the size of raid device.
+ (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
+ different layout of raid5.
+ (grub_raid_scan_device): Remove code specific to mdraid.
+ (grub_raid_list): New variable.
+ (free_array): New function.
+ (grub_raid_register): Likewise.
+ (grub_raid_unregister): Likewise.
+ (grub_raid_rescan): Likewise.
+ (GRUB_MOD_INIT): Don't iterate device here.
+ (GRUB_MOD_FINI): Use free_array to release resource.
+
+ * include/grub/raid.h: Remove macro and structure specific to mdraid.
+ (grub_raid5_recover_func_t): New function variable type.
+ (grub_raid6_recover_func_t): Likewise.
+ (grub_raid5_recover_func): New variable.
+ (grub_raid6_recover_func): Likewise.
+ (grub_raid_register): New function.
+ (grub_raid_unregister): Likewise.
+ (grub_raid_rescan): Likewise.
+ (grub_raid_block_xor): Likewise.
+
+ * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
+ (CMD_CRC): New macro.
+ (part): Removed.
+ (read_file): Handle device as well as file.
+ (cmd_crc): New function.
+ (fstest): Handle multiple disks.
+ (options): Remove part, raw and long, add root and diskcount.
+ (usage): Add crc, remove -p, -r, -l, add -r and -c.
+ (main): Find the first non option entry and ignore subsequent options,
+ add handling for the new options, support multiple disks.
+
+ * util/grub-probe.c (probe): Add mdraid to abstraction_name.
+
+2008-08-23 Bean <bean123ch@gmail.com>
+
+ * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
+
+ * genfslist.sh: Ignore kernel.mod.
+
+ * genpartmaplist.sh: Likewise.
+
+2008-08-23 Robert Millan <rmh@aybabtu.com>
+
+ * util/getroot.c (find_root_device): Skip anything that starts with
+ a dot, not just directories. This avoids things like /dev/.tmp.md0.
+
+2008-08-22 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/update-grub.in (GRUB_GFXMODE): Export variable.
+ * util/grub.d/00_header.in: Allow the administrator to change default
+ gfxmode via ${GRUB_GFXMODE}.
+
+2008-08-21 Felix Zielcke <fzielcke@z-51.de>
+
+ * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
+
+2008-08-21 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/linux.c: New file. Implements generic 32-bit Linux
+ loader.
+ * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
+ `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
+
+2008-08-20 Carles Pina i Estany <carles@pina.cat>
+
+ * menu/normal.c (run_menu): Replace hardcoded numbers with macros
+ (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
+
+2008-08-19 Robert Millan <rmh@aybabtu.com>
+
+ * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
+ (struct grub_virtual_screen): Remove `cursor_color'.
+ (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
+ initialization.
+ (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
+
+2008-08-18 Robert Millan <rmh@aybabtu.com>
+
+ Unify (identical) linux_normal.c files.
+ * loader/i386/efi/linux_normal.c: Move from here ...
+ * loader/linux_normal.c: ... to here. Update all users.
+ * loader/i386/pc/linux_normal.c: Delete. Update all users.
+ * loader/i386/ieee1275/linux_normal.c: Likewise.
+
+2008-08-18 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
+ (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
+ (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
+ (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
+ (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
+ New macros.
+ (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
+ * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
+ (GRUB_LINUX_CL_END_OFFSET): ... to here.
+ * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
+ (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
+ (GRUB_EFI_CL_END_OFFSET): Rename to ...
+ (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
+ (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
+ Initialize `params->video_cursor_x' and `params->video_cursor_y'
+ portably using grub_getxy().
+ Replace `-EFI' with `-bzImage' in boot message.
+
+2008-08-17 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
+
+2008-08-17 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
+
+ * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
+ (GRUB_MACHINE_MEMORY_RESERVED): New macros.
+ (grub_machine_mmap_iterate): New function declaration.
+ * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
+ structure.
+ (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
+ macros.
+
+ * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
+ type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
+ Move e820 parsing from here ...
+ * kern/i386/pc/mmap.c: New file.
+ (grub_machine_mmap_iterate): ... to here.
+
+ * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
+ (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
+ (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
+ (grub_available_iterate): Redeclare to return `void', and redeclare
+ its hook to use grub_uint64_t as addr and size parameters, and rename
+ to ...
+ (grub_machine_mmap_iterate): ... this. Update all users.
+
+ * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
+ to make it more readable. Rename to ...
+ (grub_machine_mmap_iterate): ... this.
+
+ * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
+ (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
+ (grub_multiboot): Allocate an extra region after the payload, and fill
+ it with a Multiboot memory map. Adjust a.out loader to calculate size
+ with the extra space.
+ (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
+ with the extra space.
+
+2008-08-17 Carles Pina i Estany <carles@pina.cat>
+
+ * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
+
+2008-08-17 Felix Zielcke <fzielcke@z-51.de>
+
+ * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
+ mdate-sh to the list `find' searches for.
+ * DISTLIST: Regenerated.
+
+2008-08-16 Felix Zielcke <fzielcke@z-51.de>
+
+ * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
+ genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
+ genmoddep.awk, gensymlist.sh.in.
+ (DISTDIRS): Add bus, docs, hook, lib.
+ * DISTLIST: Regenerated.
+ * NEWS: Add cygwin support and change the `os-prober' entry a bit.
+
+2008-08-16 Robert Millan <rmh@aybabtu.com>
+
+ * disk/raid.c (grub_raid_init): Handle/report errors set by
+ grub_device_iterate().
+ * disk/lvm.c (grub_lvm_init): Likewise.
+
+2008-08-15 Bean <bean123ch@gmail.com>
+
+ * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
+ and datehook.mod.
+ (datetime_mod_SOURCES): New macro.
+ (datetime_mod_CFLAGS): Likewise.
+ (datetime_mod_LDFLAGS): Likewise.
+ (date_mod_SOURCES): Likewise.
+ (date_mod_CFLAGS): Likewise.
+ (date_mod_LDFLAGS): Likewise.
+ (datehook_mod_SOURCES): Likewise.
+ (datehook_mod_CFLAGS): Likewise.
+ (datehook_mod_LDFLAGS): Likewise.
+
+ * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
+ and datehook.mod.
+ (datetime_mod_SOURCES): New macro.
+ (datetime_mod_CFLAGS): Likewise.
+ (datetime_mod_LDFLAGS): Likewise.
+ (date_mod_SOURCES): Likewise.
+ (date_mod_CFLAGS): Likewise.
+ (date_mod_LDFLAGS): Likewise.
+ (datehook_mod_SOURCES): Likewise.
+ (datehook_mod_CFLAGS): Likewise.
+ (datehook_mod_LDFLAGS): Likewise.
+
+ * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
+ and datehook.mod.
+ (datetime_mod_SOURCES): New macro.
+ (datetime_mod_CFLAGS): Likewise.
+ (datetime_mod_LDFLAGS): Likewise.
+ (date_mod_SOURCES): Likewise.
+ (date_mod_CFLAGS): Likewise.
+ (date_mod_LDFLAGS): Likewise.
+ (datehook_mod_SOURCES): Likewise.
+ (datehook_mod_CFLAGS): Likewise.
+ (datehook_mod_LDFLAGS): Likewise.
+
+ * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
+ and datehook.mod.
+ (datetime_mod_SOURCES): New macro.
+ (datetime_mod_CFLAGS): Likewise.
+ (datetime_mod_LDFLAGS): Likewise.
+ (date_mod_SOURCES): Likewise.
+ (date_mod_CFLAGS): Likewise.
+ (date_mod_LDFLAGS): Likewise.
+ (datehook_mod_SOURCES): Likewise.
+ (datehook_mod_CFLAGS): Likewise.
+ (datehook_mod_LDFLAGS): Likewise.
+
+ * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
+ and datehook.mod.
+ (datetime_mod_SOURCES): New macro.
+ (datetime_mod_CFLAGS): Likewise.
+ (datetime_mod_LDFLAGS): Likewise.
+ (date_mod_SOURCES): Likewise.
+ (date_mod_CFLAGS): Likewise.
+ (date_mod_LDFLAGS): Likewise.
+ (datehook_mod_SOURCES): Likewise.
+ (datehook_mod_CFLAGS): Likewise.
+ (datehook_mod_LDFLAGS): Likewise.
+
+ * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
+
+ * commands/date.c: New file.
+
+ * hook/datehook.c: Likewise.
+
+ * include/grub/lib/datetime.h: Likewise.
+
+ * include/grub/i386/cmos.h: Likewise.
+
+ * lib/datetime.c: Likewise.
+
+ * lib/i386/datetime.c: Likewise.
+
+ * lib/efi/datetime.c: Likewise.
+
+2008-08-14 Robert Millan <rmh@aybabtu.com>
+
+ * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
+ (grub_mkelfimage_SOURCES): New variable.
+ (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
+
+ * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
+ (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+
+ * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
+ * kern/i386/coreboot/init.c: Likewise.
+
+ * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
+ with `<grub/cpu/kernel.h>'.
+ (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
+ to ...
+ (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
+ * kern/i386/coreboot/startup.S: Likewise.
+
+ * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
+ (GRUB_MOD_GAP): Remove.
+ * include/grub/powerpc/kernel.h: New file.
+ * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
+ (GRUB_KERNEL_MACHINE_DATA_END): Remove.
+ * include/grub/i386/kernel.h: New file.
+ * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
+ (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
+ (GRUB_KERNEL_MACHINE_DATA_END): Remove.
+
+ * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
+ `grub-mkelfimage'.
+ Use --directory when invoking grub_mkimage.
+
+ * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
+ (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
+ GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
+ and GRUB_KERNEL_CPU_PREFIX.
+
+2008-08-14 Felix Zielcke <fzielcke@z-51.de>
+
+ * include/grub/err.h (grub_err_printf): New function prototype.
+ * util/misc.c (grub_err_printf): New function.
+ * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
+ grub_printf.
+ * kern/err.c (grub_print_error): Use grub_err_printf.
+
+2008-08-13 Robert Millan <rmh@aybabtu.com>
+
+ * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
+
+2008-08-13 Robert Millan <rmh@aybabtu.com>
+
+ * docs/grub.cfg: Use the native device name for the example GNU/Hurd
+ boot entry.
+
+2008-08-12 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
+ of the relocation code from here ...
+ (grub_multiboot): ... to here.
+ (forward_relocator, backward_relocator): Move from here ...
+ * kern/i386/loader.S (grub_multiboot_forward_relocator)
+ (grub_multiboot_backward_relocator): ... to here.
+ (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
+ magic in %eax. Use %ebp for jumping (so %edx is not trashed).
+ * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
+ (grub_multiboot_forward_relocator_end)
+ (grub_multiboot_backward_relocator)
+ (grub_multiboot_backward_relocator_end): New variables.
+
+2008-08-12 Bean <bean123ch@gmail.com>
+
+ * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
+
+2008-08-11 Robert Millan <rmh@aybabtu.com>
+
+ * kern/i386/linuxbios/startup.S: Move from here ...
+ * kern/i386/coreboot/startup.S: ... to here.
+
+ * kern/i386/linuxbios/init.c: Move from here ...
+ * kern/i386/coreboot/init.c: ... to here.
+
+ * kern/i386/linuxbios/table.c: Move from here ...
+ * kern/i386/coreboot/mmap.c: ... to here.
+
+ * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
+
+2008-08-11 Robert Millan <rmh@aybabtu.com>
+
+ * kern/device.c (grub_device_open): Do not handle grub_disk_open()
+ errors. Leave it to the upper layer to handle them.
+
+2008-08-09 Christian Franke <franke@computer.org>
+
+ * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
+ * conf/common.rmk: Install `grub-pe2elf' only if requested.
+ Install `grub.d/10_windows' only on Cygwin.
+ * configure.ac: Add subst of `target_os'.
+ Check `target_os' also before setting TARGET_OBJ2ELF.
+ Add `--enable-grub-pe2elf'.
+
+2008-08-08 Robert Millan <rmh@aybabtu.com>
+
+ * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
+ (grub_last_time): Change type to grub_uint64_t.
+ (grub_disk_open): Migrate code from to using grub_get_time_ms().
+ (grub_disk_close): Likewise.
+
+ * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
+ (run_menu): Migrate code from to using grub_get_time_ms().
+
+ * util/misc.c (grub_get_time_ms): New function.
+
+2008-08-08 Marco Gerards <marco@gnu.org>
+
+ * disk/ata.c (grub_ata_regget): Change return type to
+ `grub_uint8_t'.
+ (grub_ata_regget2): Likewise.
+ (grub_ata_wait_status): New function.
+ (grub_ata_wait_busy): Removed function, updated all users to use
+ `grub_ata_wait_status'.
+ (grub_ata_wait_drq): Likewise.
+ (grub_ata_cmd): New function.
+ (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
+ error handling.
+ (grub_ata_pio_write): Add error handling.
+ (grub_atapi_identify): Likewise.
+ (grub_atapi_packet): Use `grub_ata_cmd' and improve error
+ handling.
+ (grub_ata_identify): Use `grub_ata_cmd' and improve error
+ handling. Actually use the detected registers. Reorder the
+ detection logic such that it is easier to read.
+ (grub_ata_pciinit): Do not assign the same ID to each controller.
+ (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
+ handling.
+ (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
+
+ * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
+
+2008-08-08 Marco Gerards <marco@gnu.org>
+
+ * NEWS: Update.
+
+2008-08-07 Bean <bean123ch@gmail.com>
+
+ * include/grub/x86_64/pci.h: New file.
+
+2008-08-07 Christian Franke <franke@computer.org>
+
+ * kern/i386/pit.c (TIMER2_SPEAKER): New define.
+ (TIMER2_GATE): Likewise.
+ (grub_pit_wait): Add enable/disable of the timer2 gate
+ bit of port 0x61. This fixes a possible infinite loop.
+
+2008-08-07 Bean <bean123ch@gmail.com>
+
+ * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
+ kern/i386/tsc.c and kern/i386/pit.c.
+
+ * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
+ x86_64 platform.
+
+ * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
+ <grub/i386/tsc.h>.
+
+ * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
+
+2008-08-07 Bean <bean123ch@gmail.com>
+
+ * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
+
+ * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
+
+ * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
+ multiple inclusion. Add #include <grub/types.h>.
+
+2008-08-06 Christian Franke <franke@computer.org>
+
+ * conf/common.rmk: Build and install `10_windows'.
+ * util/grub.d/10_windows.in: New script.
+
+2008-08-06 Pavel Roskin <proski@gnu.org>
+
+ * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
+
+2008-08-06 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
+ * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
+
+2008-08-06 Bean <bean123ch@gmail.com>
+
+ * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
+ (grub_pxefs_fs_int): Remove dummy definition.
+ (grub_pxefs_open): Use data->block_size to store the current block
+ size setting.
+ (grub_pxefs_read): Use block size stored in data->block_size. As the
+ value of grub_pxe_blksize can be changed after the file is opened.
+
+2008-08-06 Bean <bean123ch@gmail.com>
+
+ * fs/i386/pc/pxe.c (curr_file): new variable.
+ (grub_pxefs_open): Simply the handling of pxe file system. Don't
+ require the dummy internal file system anymore.
+ (grub_pxefs_read): Removed.
+ (grub_pxefs_close): Likewise.
+ (grub_pxefs_fs_int): Likewise.
+ (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
+ connection when we switch file.
+ (grub_pxefs_close_int): Renamed to grub_pxefs_close.
+
+2008-08-06 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
+ `halt.mod'.
+ (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
+ (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
+
+ * kern/i386/halt.c: New file.
+ * kern/i386/reboot.c: Likewise.
+ * include/grub/i386/reboot.h: Likewise.
+ * include/grub/i386/halt.h: Likewise.
+
+ * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
+ Include `<grub/cpu/halt.h>'.
+ * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
+ [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
+
+ * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
+ (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
+ (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
+ (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
+ (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
+ (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
+ from here ...
+ * include/grub/i386/at_keyboard.h: ... to here.
+
+2008-08-05 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
+ * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
+ * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
+ `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
+ `kern/generic/millisleep.c'.
+
+ * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
+ instead of grub_get_rtc().
+ (grub_tsc_init): Initialize `tsc_boot_time'.
+
+ * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
+ (grub_machine_init): Use grub_tsc_init() rather than
+ installing an RTC-based handler via grub_install_get_time_ms().
+
+ * kern/i386/pit.c: New file.
+ * include/grub/i386/pit.h: Likewise.
+
+2008-08-05 Bean <bean123ch@gmail.com>
+
+ * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
+
+ * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
+ (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
+ (pxe_mod_SOURCES): New macro.
+ (pxe_mod_CFLAGS): Likewise.
+ (pxe_mod_LDFLAGS): Likewise.
+ (pxecmd_mod_SOURCES): Likewise.
+ (pxecmd_mod_CFLAGS): Likewise.
+ (pxecmd_mod_LDFLAGS): Likewise.
+
+ * kern/i386/pc/startup.S (grub_pxe_scan): New function.
+ (grub_pxe_call): Likewise.
+
+ * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
+
+ * commands/i386/pc/pxecmd.c: New file.
+
+ * fs/i386/pc/pxe.c: Likewise.
+
+ * include/grub/i386/pc/pxe.h: Likewise.
+
+2008-08-05 Bean <bean123ch@gmail.com>
+
+ * util/console.c (grub_console_cur_color): New variable.
+ (grub_console_standard_color): Likewise.
+ (grub_console_normal_color): Likewise.
+ (grub_console_highlight_color): Likewise.
+ (color_map): Likewise.
+ (use_color): Likewise.
+ (NUM_COLORS): New macro.
+ (grub_ncurses_setcolorstate): Handle color properly.
+ (grub_ncurses_setcolor): Don't change color here, just remember the
+ settings, color will be set in grub_ncurses_setcolorstate.
+ (grub_ncurses_getcolor): New function.
+ (grub_ncurses_init): Initialize color pairs.
+ (grub_ncurses_term): New member grub_ncurses_getcolor.
+
+2008-08-05 Colin D Bennett <colin@gibibit.com>
+
+ High resolution timer support. Implemented for x86 CPUs using TSC.
+ Extracted generic grub_millisleep() so it's linked in only as needed.
+ This requires a Pentium compatible CPU; if the RDTSC instruction is
+ not supported, then it falls back on the generic grub_get_time_ms()
+ implementation that uses the machine's RTC.
+
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
+ `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
+ `kern/generic/millisleep.c'.
+
+ * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
+ `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
+
+ * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
+ `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
+
+ * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
+ `kern/generic/millisleep.c'.
+
+ * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
+
+ * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
+
+ * kern/generic/rtc_get_time_ms.c: New file.
+
+ * kern/generic/millisleep.c: New file.
+
+ * kern/misc.c: Don't include
+ <kern/time.h> anymore.
+ (grub_millisleep_generic): Removed.
+
+ * commands/sleep.c (grub_interruptible_millisleep): Uses
+ grub_get_time_ms() instead of grub_get_rtc().
+
+ * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
+ function.
+ (grub_cpu_is_cpuid_supported): New inline function.
+ (grub_cpu_is_tsc_supported): New inline function.
+ (grub_tsc_init): New function prototype.
+ (grub_tsc_get_time_ms): New function prototype.
+
+ * kern/i386/tsc.c (grub_get_time_ms): New file.
+
+ * include/grub/time.h: Include <grub/types.h.
+ (grub_millisleep_generic): Removed.
+ (grub_get_time_ms): New prototype.
+ (grub_install_get_time_ms): New prototype.
+ (grub_rtc_get_time_ms): New prototype.
+
+ * kern/time.c (grub_get_time_ms): New function.
+ (grub_install_get_time_ms): New function.
+
+ * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
+ <grub/time.h> anymore.
+ (grub_millisleep): Removed.
+ (grub_machine_init): Call grub_tsc_init.
+
+ * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
+ get_time_ms() implementation.
+
+ * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
+ (ieee1275_get_time_ms): New function.
+ (grub_machine_init): Install get_time_ms() implementation.
+
+ * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
+ (grub_machine_init): Call grub_tsc_init().
+ (grub_millisleep): Removed.
+
+ * kern/ieee1275/init.c (grub_millisleep): Removed.
+ (grub_machine_init): Install ieee1275_get_time_ms()
+ implementation.
+ (ieee1275_get_time_ms): New function.
+ (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
+ real work.
+
+2008-08-05 Marco Gerards <marco@gnu.org>
+
+ * disk/ata.c: Include <grub/pci.h>.
+ (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
+ (grub_ata_initialize): Rewritten.
+ (grub_ata_device_initialize): New function.
+
+2008-08-04 Pavel Roskin <proski@gnu.org>
+
+ * kern/main.c: Include grub/mm.h.
+
+2008-08-04 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
+ (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
+ corruption problem).
+
+2008-08-04 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
+ warnings introduced in my last commit.
+
+2008-08-03 Robert Millan <rmh@aybabtu.com>
+
+ Make PCI available on all i386 architectures.
+
+ * include/grub/i386/pc/pci.h: Move from here ...
+ * include/grub/i386/pci.h: ... to here.
+
+ * include/grub/i386/pc/pci.h: Remove.
+ * include/grub/i386/efi/pci.h: Remove.
+ * include/grub/x86_64/efi/pci.h: Remove.
+
+ * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
+ `<grub/cpu/pci.h>'.
+
+ * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
+ (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
+ (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
+
+ * conf/i386-ieee1275.rmk: Likewise.
+
+2008-08-03 Robert Millan <rmh@aybabtu.com>
+
+ * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
+ (grub_console_setcursor): Make it possible to set cursor off.
+
+2008-08-03 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
+ of modules instead of assuming which platform provides what.
+ * util/update-grub.in: Likewise.
+
+2008-08-03 Robert Millan <rmh@aybabtu.com>
+
+ * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
+ instead of `grub_install_dos_part' to determine whether a drive needs
+ to be prepended to prefix (`grub_install_dos_part' is not reliable,
+ because it can be overridden when loading GRUB via Multiboot).
+
+2008-08-02 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
+
+2008-08-02 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
+ of informational grub_dprintf() calls.
+
+2008-08-02 Robert Millan <rmh@aybabtu.com>
+
+ * disk/memdisk.c (memdisk_size): Don't initialize.
+ (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
+
+ * include/grub/i386/pc/kernel.h
+ (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
+ (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
+ (grub_memdisk_image_size, grub_arch_memdisk_addr)
+ (grub_arch_memdisk_size): Remove.
+
+ * include/grub/kernel.h (struct grub_module_header): Remove `offset'
+ field (was only used to transfer a constant). Add `type' field to
+ support multiple module types.
+ (grub_module_iterate): New function.
+
+ * kern/device.c (grub_device_open): Do not hide error messages
+ when grub_disk_open() fails. Use grub_print_error() instead.
+
+ * kern/i386/pc/init.c (grub_arch_modules_addr)
+ (grub_arch_memdisk_size): Remove functions.
+ (grub_arch_modules_addr): Return the module address in high memory
+ (now that it isn't copied anymore).
+
+ * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
+ (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
+ decompression routine (grub_total_module_size already includes that
+ now). Don't copy modules back to low memory.
+
+ * kern/main.c: Include `<grub/mm.h>'.
+ (grub_load_modules): Split out (and use) ...
+ (grub_module_iterate): ... this function, which iterates through
+ module objects and runs a hook.
+ Comment out grub_mm_init_region() call, as it would cause non-ELF
+ modules to be overwritten.
+
+ * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
+ the memdisk image in its own region, make it part of the module list.
+ * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
+ (main): Parse --memdisk|-m option, and pass user-provided path as
+ parameter to generate_image().
+ (add_segments): Pass `memdisk_path' down to load_modules().
+ (load_modules): Embed memdisk image in module section when requested.
+ * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
+ `header.type' instead of `header.offset'.
+
+ * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
+ (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
+ (memdisk_mod_LDFLAGS): New variables.
+ * conf/i386-coreboot.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+
+2008-08-02 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/multiboot.c (playground, forward_relocator)
+ (backward_relocator): New variables. Used to allocate and relocate
+ the payload, respectively.
+ (grub_multiboot_load_elf32): Load into heap instead of requested
+ address, install the appropriate relocator code in each bound of
+ the payload, and set the entry point such that
+ grub_multiboot_real_boot() will jump to one of them.
+
+ * kern/i386/loader.S (grub_multiboot_payload_size)
+ (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
+ (grub_multiboot_payload_entry_offset): New variables.
+ (grub_multiboot_real_boot): Set cpu context to what the relocator
+ expects, and jump to the relocator instead of the payload.
+
+ * include/grub/i386/loader.h (grub_multiboot_payload_size)
+ (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
+ (grub_multiboot_payload_entry_offset): Export.
+
+2008-08-01 Bean <bean123ch@gmail.com>
+
+ * normal/menu_entry.c (editor_getline): Don't return the original
+ string as result, as it will be released by lexer once it has done
+ using it.
+
+2008-08-01 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
+ within menuentries, not before them.
+ util/grub.d/10_hurd.in: Likewise.
+
+2008-08-01 Bean <bean123ch@gmail.com>
+
+ * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
+ (bufio_mod_SOURCES): New macro.
+ (bufio_mod_CFLAGS): Likewise.
+ (bufio_mod_LDFLAGS): Likewise.
+
+ * include/grub/bufio.h: New file.
+
+ * io/bufio.c: Likewise.
+
+ * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
+ (grub_video_reader_png): Use grub_buffile_open to open file.
+
+ * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
+ (grub_video_reader_jpeg): Use grub_buffile_open to open file.
+
+ * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
+ (grub_video_reader_tga): Use grub_buffile_open to open file.
+
+ * font/manager.c: Include <grub/bufio.h>.
+ (add_font): Use grub_buffile_open to open file.
+
+2008-07-31 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
+ ELF segments, use a macro for arbitrarily accessing any of them instead
+ of preparing a pointer that allows access to one at a time.
+ (grub_multiboot_load_elf64): Likewise.
+
+2008-07-31 Bean <bean123ch@gmail.com>
+
+ * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
+ GRUB_KERNEL_MACHINE_DATA_END.
+
+2008-07-30 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
+ Increase from 0x50 to 0x60.
+ * util/i386/pc/grub-install.in: Detect cross-disk installs, and
+ use UUIDs to identify the root drive for them. If that's not
+ possible, abort.
+ * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
+ check, for cross-disk installs.
+
+2008-07-30 Robert Millan <rmh@aybabtu.com>
+
+ * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
+ is non-empty, use it to set the `prefix' environment variable instead
+ of the usual approach.
+ * kern/i386/linuxbios/init.c (make_install_device): Remove function.
+ (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
+ environment variable instead of dummy make_install_device().
+
+ * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
+ (start): Insert a data section, with `grub_prefix' variable.
+ * kern/i386/linuxbios/startup.S: Likewise.
+
+ * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
+ New variable reference.
+ * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
+ New macro. Defines offset of `grub_prefix' within startup.S (relative
+ to `start').
+ (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
+ section within startup.S (relative to `start').
+ * include/grub/i386/coreboot/kernel.h: Likewise.
+
+ * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
+ Overwrite grub_prefix with its contents, at the beginning of the
+ first segment.
+ (main): Understand -p|--prefix.
+
+2008-07-30 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
+
+2008-07-30 Robert Millan <rmh@aybabtu.com>
+
+ * term/i386/pc/vga_text.c (grub_console_cls): Use
+ grub_console_gotoxy() to go back to beginning of the screen.
+ Found by Patrick Georgi <patrick.georgi@coresystems.de>
+
+2008-07-29 Christian Franke <franke@computer.org>
+
+ * util/update-grub_lib.in (make_system_path_relative_to_its_root):
+ Add conversion of emulated mount points on Cygwin.
+
+2008-07-29 Christian Franke <franke@computer.org>
+
+ * util/update-grub.in: Add a check for admin
+ group on Cygwin.
+ Remove old `grub.cfg.new' before creation.
+ Add `-f' to `mv' to handle the different filesystem
+ semantics of Windows.
+
+2008-07-29 Bean <bean123ch@gmail.com>
+
+ * normal/main.c (get_line): Fix buffer overflow bug.
+
+2008-07-28 Robert Millan <rmh@aybabtu.com>
+
+ * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
+ (struct grub_apple_header): New struct. Describes the layout of
+ the partmap header.
+ (apple_partition_map_iterate): Check the header magic as well as the
+ partition magic (which was already being checked).
+
+2008-07-28 Pavel Roskin <proski@gnu.org>
+
+ * genmk.rb: Add a warning to the beginning of the output that
+ it's a generated file and should not be edited.
+
+2008-07-28 Robert Millan <rmh@aybabtu.com>
+
+ * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
+ with the same number are found, just use issue a warning with
+ grub_dprintf(), as this error has been reported to be non-fatal.
+
+2008-07-27 Robert Millan <rmh@aybabtu.com>
+
+ * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
+ information.
+
+2008-07-27 Bean <bean123ch@gmail.com>
+
+ * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
+ (grub_fat_find_dir): Ignore case when comparing filename.
+
+2008-07-27 Bean <bean123ch@gmail.com>
+
+ * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
+ smallino, as it's more descriptive, and i8count can be confused with
+ the other field count.
+ (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
+ inode type.
+
+2008-07-27 Bean <bean123ch@gmail.com>
+
+ * commands/crc.c: New file.
+
+ * lib/crc.c: Likewise.
+
+ * include/grub/lib/crc.h: Likewise.
+
+ * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
+
+ * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
+ (hexdump): Move this function to ...
+
+ * lib/hexdump.c: ... here.
+
+ * include/grub/hexdump.h: Renamed to ...
+
+ * include/grub/lib/hexdump.h: ... this.
+
+ * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
+
+ * util/grub-editenv.c: Likewise.
+
+ * include/envblk.h: Renamed to ...
+
+ * include/lib/envblk.h: ... this.
+
+ * util/envblk.c: Renamed to ...
+
+ * lib/envblk.c: ... this.
+
+ * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
+ lib/hexdump.c.
+ (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
+ (pkglib_MODULES): Add crc.mod.
+ (hexdump_mod_SOURCES): Add lib/hexdump.c.
+ (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
+ (crc_mod_SOURCES): New macro.
+ (crc_mod_CFLAGS): Likewise.
+ (crc_mod_LDFLAGS): Likewise.
+
+ * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
+
+2008-07-27 Felix Zielcke <fzielcke@z-51.de>
+
+ * commands/help.c: Include <grub/term.h>.
+ (TERM_WIDTH): Removed. Updated all users.
+
+2008-07-27 Pavel Roskin <proski@gnu.org>
+
+ * util/getroot.c (find_root_device): Rephrase a comment to avoid
+ spurious warnings about a comment within a comment.
+
+2008-07-25 Robert Millan <rmh@aybabtu.com>
+
+ * util/getroot.c (find_root_device): Skip devices that match
+ /dev/dm-[0-9]. This lets the real device be found for any type of
+ abstraction (LVM, EVMS, RAID..).
+ (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
+ and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
+ device is found first, find_root_device() will now skip it.
+
+2008-07-24 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/types.h: Use __builtin_bswap32() and
+ __builtin_bswap64() with gcc 4.3 and newer.
+
+2008-07-24 Christian Franke <franke@computer.org>
+
+ * util/i386/pc/grub-install.in: If `--debug' is specified,
+ pass `--verbose' to grub-setup.
+ Abort script if make_system_path_relative_to_its_root() fails.
+
+2008-07-24 Bean <bean123ch@gmail.com>
+
+ * configure.ac: Fixed a bug caused by the previous cygwin patch,
+ variable `target_platform' should be `platform'.
+
+2008-07-24 Bean <bean123ch@gmail.com>
+
+ * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
+ (grub_png_init_fixed_block): New function.
+ (grub_png_decode_image_data): Handle fixed huffman code compression.
+
+2008-07-24 Bean <bean123ch@gmail.com>
+
+ * common.rmk (bin_UTILITIES): Add grub-pe2elf.
+ (grub_pe2elf_SOURCES): New macro.
+ (CLEANFILES): Add grub-pe2elf.
+
+ * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
+ (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
+ (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
+ (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
+ (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
+ (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
+ (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
+ (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
+ (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
+ (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
+ (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
+ (GRUB_PE32_SYM_CLASS_FILE): Likewise.
+ (GRUB_PE32_DT_FUNCTION): Likewise.
+ (GRUB_PE32_REL_I386_DIR32): Likewise.
+ (GRUB_PE32_REL_I386_REL32): Likewise.
+ (grub_pe32_symbol): New structure.
+ (grub_pe32_reloc): Likewise.
+
+ * util/grub-pe2elf.c: New file.
+
+ * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
+ start symbol in non pc platform.
+
+ * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
+
+ The following patches are from Christian Franke.
+
+ * include/grub/dl.h: Remove .previous, gas supports this only
+ for ELF format.
+
+ * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
+ Remove .type, gas supports this only for ELF format.
+
+ * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
+ nullbytes in symbol table. This fixes an infinite loop if table is
+ zero filled.
+
+ * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
+ TARGET_IMG_LDFLAGS and EXEEXT.
+
+ * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
+ TARGET_IMG_LDFLAGS_AC.
+ (grub_CHECK_STACK_ARG_PROBE): New function.
+
+ * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
+
+ * conf/i386-pc-cygwin-ld-img.sc: New linker script.
+
+ * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
+ to set TARGET_IMG_LD* accordingly.
+ Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
+ Add call to grub_CHECK_STACK_ARG_PROBE.
+ Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
+
+ * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
+
+ * genmk.rb: Add EXEEXT to CLEANFILES.
+
+2008-07-23 Robert Millan <rmh@aybabtu.com>
+
+ * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
+ define the codes for arrows and lines used for the menu).
+ (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
+ as well.
+
+ * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
+ fonts, because the latter are too slow.
+
+2008-07-21 Bean <bean123ch@gmail.com>
+
+ * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
+ a20. Run keyboard test last, as it will cause macbook to halt.
+
+2008-07-18 Pavel Roskin <proski@gnu.org>
+
+ * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
+ load foreign architecture modules correctly anyway. Keep
+ support for loading host architecture modules, whether we
+ compile them or not.
+
+2008-07-17 Pavel Roskin <proski@gnu.org>
+
+ * configure.ac: Use -m32 or -m64 regardless of whether we had to
+ change target_cpu. The compiler default can mismatch target_cpu
+ in any case.
+
+ * disk/efi/efidisk.c: Fix format warnings on x86_64.
+ * kern/efi/efi.c: Likewise.
+
+ * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
+ target compiler is functional.
+ * configure.ac: Call grub_PROG_TARGET_CC once all target flags
+ are set up.
+
+ * configure.ac: Default to efi platform for x86_64-apple. Allow
+ powerpc64 CPU, default to ieee1275 platform for it. Split CPU
+ adjustments from the rest, only do them if target is not
+ explicitly given. Merge other adjustments with the final sanity
+ check. Remove an extraneous check for supported CPU. Be
+ specific which CPU and which platform is not supported.
+
+ * configure.ac: Default to pc platform for x86_64.
+
+2008-07-17 Robert Millan <rmh@aybabtu.com>
+
+ Partial LinuxBIOS -> Coreboot rename.
+
+ * conf/i386-linuxbios.rmk: Renamed to ...
+ * conf/i386-coreboot.rmk: ... this.
+ * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
+ * configure.ac: Accept "coreboot" as input platform (but maintain
+ compatibility with "linuxbios").
+ * include/grub/i386/linuxbios: Renamed to ...
+ * include/grub/i386/coreboot: ... this.
+
+2008-07-17 Bean <bean123ch@gmail.com>
+
+ * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
+ (appleldr_mod_SOURCE): New variable.
+ (appleldr_mod_CFLAGS): Likewise.
+ (appleldr_mod_LDFLAGS): Likewise.
+ (pci_mod_SOURCES): Likewise.
+ (pci_mod_CFLAGS): Likewise.
+ (pci_mod_LDFLAGS): Likewise.
+ (lspci_mod_SOURCES): Likewise.
+ (lspci_mod_CFLAGS): Likewise.
+ (lspci_mod_LDFLAGS): Likewise.
+
+ * conf/x86_64-efi.rmk: New file.
+
+ * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
+ macro.
+ (grub_efidisk_write): Likewise.
+
+ * include/efi/api.h (efi_call_0): New macro.
+ (efi_call_1): Likewise.
+ (efi_call_2): Likewise.
+ (efi_call_3): Likewise.
+ (efi_call_4): Likewise.
+ (efi_call_5): Likewise.
+ (efi_call_6): Likewise.
+
+ * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
+ grub_rescue_cmd_chainloader.
+
+ * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
+ (grub_pe32_optional_header): Change some fields based on i386 or
+ x86_64 platform.
+ (GRUB_PE32_PE32_MAGIC): Likewise.
+
+ * include/grub/efi/uga_draw.h: New file.
+
+ * include/grub/elf.h (STN_ABS): New constant.
+ (R_X86_64_NONE): Relocation constant for x86_64.
+ (R_X86_64_64): Likewise.
+ (R_X86_64_PC32): Likewise.
+ (R_X86_64_GOT32): Likewise.
+ (R_X86_64_PLT32): Likewise.
+ (R_X86_64_COPY): Likewise.
+ (R_X86_64_GLOB_DAT): Likewise.
+ (R_X86_64_JUMP_SLOT): Likewise.
+ (R_X86_64_RELATIVE): Likewise.
+ (R_X86_64_GOTPCREL): Likewise.
+ (R_X86_64_32): Likewise.
+ (R_X86_64_32S): Likewise.
+ (R_X86_64_16): Likewise.
+ (R_X86_64_PC16): Likewise.
+ (R_X86_64_8): Likewise.
+ (R_X86_64_PC8): Likewise.
+
+ * include/grub/i386/efi/pci.h: New file.
+
+ * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
+ Change it value based on platform.
+ (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
+ (GRUB_E820_RAM): Likewise.
+ (GRUB_E820_RESERVED): Likewise.
+ (GRUB_E820_ACPI): Likewise.
+ (GRUB_E820_NVS): Likewise.
+ (GRUB_E820_EXEC_CODE): Likewise.
+ (GRUB_E820_MAX_ENTRY): Likewise.
+ (grub_e820_mmap): New structure.
+ (linux_kernel_header): Change the efi field according to different
+ kernel version, also field from linux_kernel_header.
+
+ * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
+
+ * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
+ (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
+ (GRUB_PCI_ADDR_SPACE_IO): Likewise.
+ (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
+ (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
+ (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
+ (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
+ (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
+ (GRUB_PCI_ADDR_MEM_MASK): Likewise.
+ (GRUB_PCI_ADDR_IO_MASK): Likewise.
+
+ * include/grub/x86_64/efi/kernel.h: New file.
+
+ * include/grub/x86_64/efi/loader.h: Likewise.
+
+ * include/grub/x86_64/efi/machine.h: Likewise.
+
+ * include/grub/x86_64/efi/pci.h: Likewise.
+
+ * include/grub/x86_64/efi/time.h: Likewise.
+
+ * include/grub/x86_64/linux.h: Likewise.
+
+ * include/grub/x86_64/setjmp.h: Likewise.
+
+ * include/grub/x86_64/time.h: Likewise.
+
+ * include/grub/x86_64/types.h: Likewise.
+
+ * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
+ GRUB_TARGET_SIZEOF_VOID_P.
+
+ * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
+ (grub_efi_locate_handle): Likewise.
+ (grub_efi_open_protocol): Likewise.
+ (grub_efi_set_text_mode): Likewise.
+ (grub_efi_stall): Likewise.
+ (grub_exit): Likewise.
+ (grub_reboot): Likewise.
+ (grub_halt): Likewise.
+ (grub_efi_exit_boot_services): Likewise.
+ (grub_get_rtc): Likewise.
+
+ * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
+ (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
+ (grub_efi_allocate_pages): Wrap efi calls.
+ (grub_efi_free_pages): Wrap efi calls.
+ (grub_efi_get_memory_map): Wrap efi calls.
+
+ * kern/x86_64/dl.c: New file.
+
+ * kern/x86_64/efi/callwrap.S: Likewise.
+
+ * kern/x86_64/efi/startup.S: Likewise.
+
+ * loader/efi/appleloader.c: Likewise.
+
+ * loader/efi/chainloader.c (cmdline): New variable.
+ (grub_chainloader_unload): Wrap efi calls.
+ (grub_chainloader_boot): Likewise.
+ (grub_rescue_cmd_chainloader): Wrap efi calls, handle
+ command line.
+
+ * loader/efi/chainloader_normal.c (chainloader_command):
+ Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
+ command line.
+
+ * loader/i386/efi/linux.c (allocate_pages): Change allocation
+ method.
+ (grub_e820_add_region): New function.
+ (grub_linux_boot): Construct e820 map from efi map, handle x86_64
+ booting.
+ (grub_find_video_card): New function.
+ (grub_linux_setup_video): New function.
+ (grub_rescue_cmd_linux): Probe for video information.
+
+ * normal/x86_64/setjmp.S: New file.
+
+ * term/efi/console.c (map_char): New function.
+ (grub_console_putchar): Map unicode char.
+ (grub_console_checkkey): Wrap efi calls.
+ (grub_console_getkey): Likewise.
+ (grub_console_getwh): Likewise.
+ (grub_console_gotoxy): Likewise.
+ (grub_console_cls): Likewise.
+ (grub_console_setcolorstate): Likewise.
+ (grub_console_setcursor): Likewise.
+
+ * util/i386/efi/grub-mkimage.c: Add support for x86_64.
+
+2008-07-16 Pavel Roskin <proski@gnu.org>
+
+ * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
+ format strings.
+
+ * util/i386/efi/grub-mkimage.c (get_target_address): Return a
+ pointer, not an integer. This fixes a warning and prevents
+ precision loss on 64-bit systems.
+ (relocate_addresses): Remove unneeded cast.
+
+2008-07-15 Pavel Roskin <proski@gnu.org>
+
+ * kern/i386/ieee1275/init.c: Include grub/cache.h.
+
+ * term/ieee1275/ofconsole.c: Disable code unused on i386.
+
+ * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
+ Fix comparison between signed and unsigned.
+
+ * include/grub/i386/ieee1275/console.h: Declare
+ grub_console_init() and grub_console_fini().
+
+ * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
+ It's empty and unused.
+
+ * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
+ beginning to avoid warnings with some compilers.
+
+ * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
+ [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
+
+2008-07-14 Pavel Roskin <proski@gnu.org>
+
+ * kern/env.c (grub_register_variable_hook): Don't copy empty
+ string, it leaks memory. Pass "" to grub_env_set(), it should
+ handle constant strings.
+
+ * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
+ * commands/cmp.c (grub_cmd_cmp): Likewise.
+ * kern/dl.c (grub_dl_flush_cache): Likewise.
+ (grub_dl_load_core): Likewise.
+ * kern/elf.c (grub_elf32_load_phdrs): Likewise.
+ (grub_elf64_load_phdrs): Likewise.
+
+2008-07-13 Pavel Roskin <proski@gnu.org>
+
+ * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
+ between signed and unsigned.
+ (LzmaEnc_Finish): Fix warning about an unused parameter.
+
+2008-07-13 Bean <bean123ch@gmail.com>
+
+ * Makefile.in (enable_lzo): New rule.
+
+ * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
+
+ * configure.ac (ENABLE_LZO): New option --enable-lzo.
+
+ * boot/i386/pc/lnxboot.S: #include <config.h>.
+
+ * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
+ its value according to the compression algorithm used, lzo or lzma.
+
+ * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
+ compression algorithm according to configure macro.
+
+ * kern/i386/pc/startup.S (codestart): Likewise.
+
+ * kern/i386/pc/lzma_decode.S: New file.
+
+ * include/grub/lib/LzFind.h: Likewise.
+
+ * include/grub/lib/LzHash.h: Likewise.
+
+ * include/grub/lib/LzmaDec.h: Likewise.
+
+ * include/grub/lib/LzmaEnc.h: Likewise.
+
+ * include/grub/lib/LzmaTypes.h: Likewise.
+
+ * lib/LzFind.c: Likewise.
+
+ * lib/LzmaDec.c: Likewise.
+
+ * lib/LzmaEnc.c: Likewise.
+
+2008-07-13 Bean <bean123ch@gmail.com>
+
+ * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
+ (grub_ext4_extent_header): New structure.
+ (grub_ext4_extent): Likewise.
+ (grub_ext4_extent_idx): Likewise.
+ (grub_ext4_find_leaf): New function.
+ (grub_ext2_read_block): Handle extents.
+
+2008-07-12 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
+
+2008-07-11 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/40_custom.in: New file. Example on how to add custom
+ entries to /etc/grub.d.
+ * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
+ 40_custom (implicitly, by merging all the grub.d rules).
+
+2008-07-11 Pavel Roskin <proski@gnu.org>
+
+ * commands/read.c (grub_getline): Fix invalid memory access.
+ Don't add newline to the variable value.
+
+ * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
+ [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
+ (serial_hw_get_port): Check validity of the port number.
+ (grub_cmd_serial): Check return value of serial_hw_get_port().
+
+2008-07-07 Pavel Roskin <proski@gnu.org>
+
+ * boot/i386/pc/diskboot.S (notification_string): Replace
+ "Loading kernel" with just "loading". This is shorter, less
+ confusing and saves a few bytes for possible future changes.
+
+2008-07-05 Pavel Roskin <proski@gnu.org>
+
+ * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
+ size for ATAPI devices, they are undefined. Output sector
+ number in decimal form.
+
+ * disk/ata.c: Use named constants for status bits.
+
+2008-07-04 Pavel Roskin <proski@gnu.org>
+
+ * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
+ grub_addr_t before casting it to the void pointer to fix a
+ warning. Non-addressable regions are discarded earlier.
+ (grub_arch_modules_addr): Cast _end to grub_addr_t.
+ * kern/i386/linuxbios/table.c: Include grub/misc.h.
+ (check_signature): Don't shadow table_header.
+ (grub_linuxbios_table_iterate): Cast numeric constants to
+ grub_linuxbios_table_header_t.
+ * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
+ grub_stop().
+
+ * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
+ prevent warnings.
+
+ * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
+ pointer, which can cause warnings. Support 64-bit addresses.
+
+ * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
+ of sizeof(long). This fixes PowerPC image generation on x86_64.
+
+2008-07-04 Robert Millan <rmh@aybabtu.com>
+
+ This fixes a performance issue when pc & gpt partmap iterators
+ didn't abort iteration even after our hook found what it was
+ looking for (often causing expensive probes of non-existent drives).
+
+ Some callers relied on previous buggy behaviour, since they would
+ raise an error when their own hooks caused early abortion of its
+ iteration.
+
+ * kern/device.c (grub_device_open): Improve error message.
+ * disk/lvm.c (grub_lvm_open): Likewise.
+ * disk/raid.c (grub_raid_open): Likewise.
+
+ * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
+ when hook requests it, independently of grub_errno.
+ (pc_partition_map_probe): Do not fail when find_func() caused
+ early abortion of pc_partition_map_iterate().
+
+ * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
+ when hook requests it, independently of grub_errno.
+ (gpt_partition_map_probe): Do not fail when find_func() caused
+ early abortion of gpt_partition_map_iterate().
+
+ * kern/partition.c (grub_partition_iterate): Abort parent iteration
+ when hook requests it, independently of grub_errno. Do not fail when
+ part_map_iterate_hook() caused early abortion of p->iterate().
+
+ * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
+ when grub_partition_iterate() returned with non-zero.
+
+2008-07-03 Pavel Roskin <proski@gnu.org>
+
+ * disk/ata.c (grub_ata_pio_write): Check status before writing,
+ like we do in grub_ata_pio_read().
+ (grub_ata_readwrite): Always write individual sectors. Fix the
+ sector count for the remainder.
+ (grub_ata_write): Enable writing to ATA devices. Correctly
+ report error for ATAPI devices.
+
+2008-07-02 Pavel Roskin <proski@gnu.org>
+
+ * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
+ warning.
+
+ * disk/ata.c (grub_ata_readwrite): Don't increment sector number
+ for every read sector, we already increment it for the whole
+ batch. This fixes reading more than 256 sectors at once.
+
+ * util/grub-editenv.c (cmd_info): Cast argument to long
+ explicitly. ptrdiff_t reduces to int on i386.
+
+ * util/grub-editenv.c (main): Be specific which parameter is
+ missing.
+
+ * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
+ (memdisk): Make memdisk_orig_addr a pointer.
+
+ * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
+ for file offsets, use grub_off_t instead. Fix printf format
+ warnings.
+
+ * fs/reiserfs.c: Remove #warning, TODO list items don't belong
+ there. Real unexpected warnings should not drown in the noise
+ about known problems.
+
+ * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
+ grub_disk_addr_t for memory addresses.
+
+ * loader/aout.c (grub_aout_load): Cast load_addr to pointer
+ explicitly to fix a warning.
+
+ * util/grub-editenv.c (cmd_info): Fix warning in printf format.
+
+ * Makefile.in (MODULE_LDFLAGS): New variable.
+ * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
+ the linker accepts --build-id=none.
+ * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
+ MODULE_LDFLAGS.
+ * genmk.rb: Use MODULE_LDFLAGS when linking modules.
+
+ * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
+ those in Linux XFS code. Provide a way to access 64-bit parent
+ inode.
+ (grub_xfs_iterate_dir): Use the new names. Avoid reading past
+ the end of struct grub_xfs_dir_header.
+
+2008-07-02 Bean <bean123ch@gmail.com>
+
+ * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
+ GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
+ and GRUB_IEEE1275_FLAG_NO_ANSI.
+
+ * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
+ GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
+ and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
+
+ * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
+ immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
+
+ * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
+ GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
+ esc sequence on non ANSI terminal.
+ (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
+
+ * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
+ beginning of file.
+
+2008-07-02 Bean <bean123ch@gmail.com>
+
+ * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
+ (grub_editenv_SOURCES): New variable.
+ (pkglib_MODULES): Add loadenv.mod.
+ (loadenv_mod_SOURCES): New variable.
+ (loadenv_mod_CFLAGS): Likewise.
+ (loadenv_mod_LDFLAGS): Likewise.
+
+ * include/grub/envblk.h: New file.
+
+ * util/envblk.c: New file.
+
+ * util/grub-editenv.c: New file.
+
+ * commands/loadenv.c: New file.
+
+2008-07-01 Pavel Roskin <proski@gnu.org>
+
+ * include/multiboot2.h (struct multiboot_tag_module): Use char,
+ not unsigned char. This fixes warnings and is consistent with
+ other tags.
+
+ * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
+
+ * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
+
+ * term/tparm.c (analyze): Always set *popcount.
+
+ * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
+ cast to fix a warning.
+
+ * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
+ cast to suppress a warning.
+
+ * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
+ grub_fshelp_read_file() expects.
+
+ * fs/fat.c: Fix UUID calculation on big-endian systems. We
+ write uuid as a 32-bit value in CPU byte order, so declare and
+ use it as such.
+
+ * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
+ long if the format specifier expects it.
+ * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
+ * partmap/pc.c (pc_partition_map_iterate): Likewise.
+ * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
+ long to fix a warning.
+ * fs/reiserfs.c (grub_reiserfs_read): Change casts in
+ grub_dprintf() arguments to fix warnings.
+
+2008-06-30 Pavel Roskin <proski@gnu.org>
+
+ * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
+ install_bsd_part immediately before core.img is embedded or
+ modified on disk. This fixes core.img verification if core.img
+ cannot be embedded.
+
+ * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
+ core_path to calculate the blocklist.
+ Patch from Javier Martín <lordhabbit@gmail.com>
+
+2008-06-29 Robert Millan <rmh@aybabtu.com>
+
+ * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
+ block to disk block.
+ (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
+ Patch from Niels Böhm <bitbucket@arcor.de>
+
+2008-06-29 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub_lib.in (font_path): Search for fonts in
+ /boot/grub first, which is more likely to be readable (we aren't
+ deciding where fonts live, just looking for them).
+
+2008-06-26 Pavel Roskin <proski@gnu.org>
+
+ * util/biosdisk.c (read_device_map): Don't leave dead map
+ entries for devices failing stat() check.
+
+ * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
+ core_path_dev for the core.img path on the target device.
+
+2008-06-26 Robert Millan <rmh@aybabtu.com>
+
+ * disk/fs_uuid.c: New file.
+ * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
+ (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
+ (fs_uuid_mod_LDFLAGS): New variables.
+ * include/grub/disk.h (grub_disk_dev_id): Add
+ `GRUB_DISK_DEVICE_UUID_ID'.
+ * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
+ implement iterate().
+
+2008-06-26 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
+ "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
+ Linux image includes no initrd.
+
+2008-06-21 Javier Martín <lordhabbit@gmail.com>
+
+ * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
+ call to resolve the core image location that effectively appended the
+ name twice.
+
+2008-06-21 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
+ call from here ...
+
+ * util/grub.d/10_hurd.in: ... to here ...
+ * util/grub.d/10_linux.in: ... and here.
+
+2008-06-19 Robert Millan <rmh@aybabtu.com>
+
+ * kern/main.c (grub_main): Export `prefix' variable immediately
+ after it has been set by grub_machine_set_prefix().
+
+2008-06-19 Robert Millan <rmh@aybabtu.com>
+
+ * commands/search.c (search_label, search_fs_uuid, search_file): Print
+ search result when not saving to variable, not the other way around.
+ When saving to variable, abort iteration as soon as a match is found.
+
+2008-06-19 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
+ check for partition that provides /boot/grub. Its logic is flawed,
+ as it prevents prepare_grub_to_access_device() from being called
+ multiple times.
+
+2008-06-19 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
+ "insmod" command directly when abstraction modules are needed,
+ instead of relying on GRUB_PRELOAD_MODULES (which had no effect
+ since it had already been processed).
+
+2008-06-19 Pavel Roskin <proski@gnu.org>
+
+ * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
+ changed. This is needed in case GRUB_LIBDIR changes.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-linuxbios.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+
+2008-06-18 Pavel Roskin <proski@gnu.org>
+
+ * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
+ kernel_elf_symlist.c to symlist.c for consistency with other
+ architectures. Update all users.
+ * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
+
+2008-06-18 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
+ it in prefix.
+
+ * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
+ `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
+ a RAID device, run setup() for all members independently on whether
+ LVM abstraction is being used.
+ (setup): Don't handle prefix at all; let grub-mkimage take care of it.
+ If grub-mkimage has set `*install_dos_part == -2', don't override this
+ value.
+ Perform *install_dos_part adjustments independently on whether
+ we're embedding or not.
+ Clarify error message when image is too big for embedding.
+ Remove duplicate *install_dos_part stanza.
+
+2008-06-17 Robert Millan <rmh@aybabtu.com>
+
+ * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
+ (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
+ variables.
+ (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
+ values in grub_ofconsole_normal_color and
+ grub_ofconsole_highlight_color (they're not directly related to
+ background and foreground).
+ (grub_ofconsole_setcolorstate): Extract background and foreground
+ from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
+
+2008-06-17 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub_lib.in (prepare_grub_to_access_device): Use
+ /boot/grub for the check in last commit, not /boot (they could be
+ different partitions).
+
+2008-06-16 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
+ asked to setup access for the same partition that provides /boot,
+ don't bother using UUIDs since our root already has the value we
+ want.
+
+2008-06-16 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
+ I2O devices.
+ Patch from Sven Mueller <sven@debian.org>.
+
+2008-06-16 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub.in: Check for $EUID instead of $UID.
+ Reported by Vincent Zweije.
+
+2008-06-16 Bean <bean123ch@gmail.com>
+
+ * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
+ (grub_ext2_read_block): Likewise.
+ (grub_ext2_read_inode): Likewise.
+ (grub_ext2_mount): Likewise.
+ (grub_ext2_close): Likewise.
+ (grub_ext3_get_journal): Removed.
+
+ * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
+ (grub_reiserfs_read_symlink): Likewise.
+ (grub_reiserfs_mount): Likewise.
+ (grub_reiserfs_open): Likewise.
+ (grub_reiserfs_read): Likewise.
+ (grub_reiserfs_close): Likewise.
+ (grub_reiserfs_get_journal): Removed.
+
+ * fs/fshelp.c (grub_fshelp_read): Removed.
+ (grub_fshelp_map_block): Likewise.
+
+ * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
+ (grub_fshelp_journal): Likewise.
+ (grub_fshelp_read): Likewise.
+ (grub_fshelp_map_block): Likewise.
+
+2008-06-16 Pavel Roskin <proski@gnu.org>
+
+ * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
+ floating point anymore.
+ * include/grub/powerpc/libgcc.h: Leave only necessary exports.
+
+2008-06-15 Pavel Roskin <proski@gnu.org>
+
+ * commands/ls.c (grub_ls_list_files): Use integer calculations
+ for human readable format, avoid floating point use.
+ * kern/misc.c (grub_ftoa): Remove.
+ (grub_vsprintf): Remove floating point support.
+
+2008-06-15 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/10_linux.in: Use the underlying device for loop-AES
+ devices.
+ Reported by Max Vozeler.
+
+2008-06-15 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
+ in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
+ skipped later.
+ (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
+ the beginning of the prefix.
+
+ * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
+ It is assumed that if we have a memdisk, grub-mkimage has set
+ grub_prefix to include the "(memdisk)" drive in it.
+
+2008-06-15 Robert Millan <rmh@aybabtu.com>
+
+ * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
+ Initialize keyboard controller after registering the terminal, so that
+ grub_printf() can be called from grub_keyboard_controller_init().
+
+2008-06-15 Robert Millan <rmh@aybabtu.com>
+
+ * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
+ extent-btree which is written as big endian on disk.
+ Reported by Alain Greppin <al@chilibi.org>.
+
+2008-06-14 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/efi/grub-install.in (modules): Remove `_chain'.
+ * util/i386/pc/grub-install.in (modules): Likewise.
+
+2008-06-13 Pavel Roskin <proski@gnu.org>
+
+ * commands/ls.c (grub_ls_list_files): Fix format warnings.
+
+2008-06-13 Bean <bean123ch@gmail.com>
+
+ * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
+
+ * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
+
+ * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
+ to indicate sparse block.
+
+2008-06-12 Pavel Roskin <proski@gnu.org>
+
+ * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
+ number, grub_fshelp_read() does it for us.
+
+ * fs/fshelp.c (grub_fshelp_read): New function. Implement
+ linear disk read with journal translation.
+ * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
+ * include/grub/fshelp.h: Declare grub_fshelp_read().
+
+2008-06-09 Pavel Roskin <proski@gnu.org>
+
+ * fs/minix.c (grub_minix_mount): Handle error reading
+ superblock.
+
+2008-06-08 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
+ don't append the RAID prefix afterwards.
+ Reported by Clint Adams.
+
+2008-06-08 Robert Millan <rmh@aybabtu.com>
+
+ Based on description from Pavel:
+ * kern/disk.c (grub_disk_check_range): Rename to ...
+ (grub_disk_adjust_range): ... this. Add a comment explaining the
+ tasks performed by this function.
+
+2008-06-08 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
+ `num_serial' (for consistency with other variables).
+ (struct grub_ntfs_data): Add `uuid' member.
+ * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
+ (grub_ntfs_uuid): New function.
+ (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
+
+2008-06-07 Pavel Roskin <proski@gnu.org>
+
+ * util/biosdisk.c (open_device): Revert last change to the
+ function, it broke installation. The sector needs to be
+ different dependent on which device is opened.
+
+2008-06-06 Robert Millan <rmh@aybabtu.com>
+
+ Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
+ rest of GRUB, and breakage doesn't happen if its value were modified.
+
+ * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
+ Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
+ a constant (same value).
+ * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
+ `GRUB_KERNEL_MACHINE_DATA_END' (same value).
+
+2008-06-06 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (open_device): Do not modify sector offset when
+ accessing a partition. kern/disk.c already handles this for us.
+
+2008-06-06 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub-emu.c (grub_machine_init): Move code in this function from
+ here ...
+ (main): ... to here (before grub_util_biosdisk_init() call, to prevent
+ segfault in case grub_printf() is called).
+
+ * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
+ grub_probe. Update all users not to explicitly add it again.
+ (grub_device): New variable; contains corresponding device for grubdir.
+ (fs_module, partmap_module, devabstraction_module): Pass
+ `--device ${grub_device}' to grub_probe to avoid traversing /dev
+ every time.
+
+2008-06-05 Robert Millan <rmh@aybabtu.com>
+
+ * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
+ is found, print it (same layout as with labels).
+
+2008-06-04 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (get_drive): Rename to ...
+ (find_grub_drive): ... this. Update all users.
+
+ (get_os_disk): Rename to ...
+ (convert_system_partition_to_system_disk): ... this. Update all users.
+
+ (find_drive): Rename to ...
+ (find_system_device): ... this. Update all users.
+
+2008-06-04 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (get_os_disk): Handle IDA devices.
+ * util/grub-mkdevicemap.c (get_mmc_disk_name)
+ (make_device_map): Likewise.
+
+2008-06-01 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
+ before dereferencing it.
+
+ * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
+ union with fat12/fat16-specific ones. Add some new fields, including
+ `num_serial' for both versions.
+ (struct grub_fat_data): Add `uuid' member.
+ (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
+ names. Initialize `data->uuid' using `num_serial'.
+ (grub_fat_uuid): New function.
+ (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
+
+ * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
+ (grub_reiserfs_uuid): New function.
+ (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
+ member.
+
+ * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
+ (grub_xfs_uuid): New function.
+ (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
+
+2008-06-01 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
+ code that is backward compatible with pre-uuid search command.
+
+2008-05-31 Robert Millan <rmh@aybabtu.com>
+
+ * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
+ floppies after everything else, to ensure floppy drive isn't accessed
+ unnecessarily (patch from Bean).
+
+2008-05-31 Robert Millan <rmh@aybabtu.com>
+
+ * commands/search.c (search_label, search_fs_uuid, search_file): Do
+ not print device names when we were asked to set a variable.
+
+2008-05-31 Robert Millan <rmh@aybabtu.com>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
+ using "cursor-on" and "cursor-off" commands (understood at least by
+ the Open Firmware flavour on OLPC).
+
+2008-05-31 Michael Gorven <michael@gorven.za.net>
+
+ * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
+ on and off sequences.
+
+2008-05-31 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
+ * util/update-grub.in: Likewise.
+
+2008-05-30 Pavel Roskin <proski@gnu.org>
+
+ * util/biosdisk.c (linux_find_partition): Simplify logic and
+ make the code more universal. Keep special processing for
+ devfs, but use a simple rule for all other devices. If the
+ device ends with a number, append 'p' and the partition number.
+ Otherwise, append only the partition number.
+
+2008-05-30 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
+ * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
+ GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
+ the `root' parameter to Linux.
+
+2008-05-30 Robert Millan <rmh@aybabtu.com>
+
+ * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
+ * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
+ --fs_uuid with --fs-uuid.
+ * util/update-grub.in: Allow filesystem UUID probes to fail (since not
+ all filesystems support them).
+
+2008-05-30 Robert Millan <rmh@aybabtu.com>
+
+ * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
+ grub_printf() flags, since we're printing in units of 2 bytes.
+
+2008-05-30 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/00_header.in: Remove obsolete comment referencing
+ convert_system_path_to_grub_path().
+ * util/update-grub.in: Likewise.
+ * util/update-grub_lib.in (is_path_readable_by_grub): New function.
+ (convert_system_path_to_grub_path): Add a warning message explaining
+ that this function is deprecated. Rely on is_path_readable_by_grub()
+ for the readability checks.
+ (font_path): Use is_path_readable_by_grub() for the readability
+ check rather than convert_system_path_to_grub_path().
+
+2008-05-30 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
+ * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
+ converting it first.
+ * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
+ grub.cfg for access to font file, and afterwards call it again to set
+ the root device.
+
+2008-05-30 Robert Millan <rmh@aybabtu.com>
+
+ * commands/search.c (options): Add --fs_uuid option.
+ (search_fs_uuid): New function.
+ (grub_cmd_search): Fix --set argument passing.
+ Use search_fs_uuid() when requested via --fs_uuid.
+ (grub_search_init): Update help message.
+ * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
+ and redeclare it as an array of 16-bit words.
+ (grub_ext2_uuid): New function.
+ (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
+ * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
+ * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
+ (GRUB_DEVICE_BOOT_UUID): New variables.
+ (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
+ * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
+ whenever possible.
+ * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
+ just assume `root' variable has the right value.
+ * util/grub.d/10_linux.in: Likewise.
+ * util/grub-probe.c (probe): Probe for filesystem UUID when requested
+ via PRINT_FS_UUID.
+ (main): Recognise `-t fs_uuid' argument.
+
+2008-05-30 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (map): Redefine structure to hold information
+ about GRUB drive name.
+ (get_drive): Reimplement without assuming (and verifying) BIOS-like
+ drive names.
+ (call_hook): Remove.
+ (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
+ member. Assume drive has partitions.
+ (grub_util_biosdisk_open): Access device names via `.device' struct
+ member.
+ (open_device): Likewise.
+ (find_drive): Likewise.
+ (read_device_map): Adjust map[] usage to match the new struct
+ definition. Don't check for duplicates (still possible, but not cheap
+ anymore).
+ (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
+ (make_device_name): Remove assumption of BIOS-like drive names.
+
+2008-05-30 Pavel Roskin <proski@gnu.org>
+
+ * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
+ compiling execute.c doesn't need grub_script.tab.h anymore.
+ (normal/command.c_DEPENDENCIES): Likewise.
+ (normal/function.c_DEPENDENCIES): Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-linuxbios.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+
+2008-05-29 Pavel Roskin <proski@gnu.org>
+
+ * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
+ when scanning metadata for volume group name.
+
+ * include/grub/script.h: Don't include grub_script.tab.h. It's
+ a generated file, which may only be included from the files with
+ DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
+ use union YYSTYPE, as the later allows forward declaration.
+ * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
+
+2008-05-29 Robert Millan <rmh@aybabtu.com>
+
+ * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
+ (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
+ [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
+ (grub_console_checkkey): Add grub_dprintf() call to report unknown
+ scan codes.
+
+2008-05-29 Robert Millan <rmh@aybabtu.com>
+
+ * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
+ control key combinations.
+
+2008-05-29 Robert Millan <rmh@aybabtu.com>
+
+ * util/powerpc/ieee1275/grub-install.in: Move from here ...
+ * util/ieee1275/grub-install.in: ... to here.
+ * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
+ * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
+ (grub_install_SOURCES): Likewise.
+
+2008-05-29 Robert Millan <rmh@aybabtu.com>
+
+ * fs/affs.c: Update copyright year.
+ * fs/ext2.c: Likewise.
+ * fs/fshelp.c: Likewise.
+ * fs/hfsplus.c: Likewise.
+ * fs/ntfs.c: Likewise.
+ * fs/xfs.c: Likewise.
+ * include/grub/fshelp.h: Likewise.
+ * util/grub-mkdevicemap.c: Likewise.
+
+2008-05-28 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
+ might need to be fatfs to support some firmware implementations
+ (e.g. OFW or EFI).
+
+2008-05-28 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
+ devices.
+ * util/grub-mkdevicemap.c (get_mmc_disk_name)
+ (make_device_map): Likewise.
+
+2008-05-20 Bean <bean123ch@gmail.com>
+
+ * fs/fshelp.c (grub_fshelp_map_block): New function.
+ (grub_fshelp_find_file): Use 64-bit type for pos and block address.
+ Use `>>' and `&' operator to avoid 64-bit divide and modulo.
+
+ * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
+ (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
+ (grub_fshelp_journal): New structure.
+ (grub_fshelp_map_block): New function prototype.
+ (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
+ (grub_fshelp_map_block): Likewise.
+
+ * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
+ (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
+ (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
+ (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
+ (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
+ (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
+ (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
+ (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
+ (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
+ (EXT3_JOURNAL_FLAG_DELETED): Likewise.
+ (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
+ (grub_ext2_sblock): New members for journal support.
+ (grub_ext3_journal_header): New structure.
+ (grub_ext3_journal_revoke_header): Likewise.
+ (grub_ext3_journal_block_tag): Likewise.
+ (grub_ext3_journal_sblock): Likewise.
+ (grub_fshelp_node): New members logfile and journal.
+ (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
+ grub_fshelp_map_block to get real block number.
+ (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
+ number.
+ (grub_ext2_read_inode): Likewise.
+ (grub_ext3_get_journal): New function.
+ (grub_read_inode): Initialize journal using grub_ext3_get_journal.
+ (grub_ext2_close): Release memory used by journal.
+
+ * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
+ (REISERFS_MAGIC_DESC_BLOCK): New macro.
+ (grub_reiserfs_transaction_header): Renamed to
+ grub_reiserfs_description_block, replace field data with real_blocks.
+ (grub_reiserfs_commit_block): New structure.
+ (grub_reiserfs_data): New member journal.
+ (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
+ number.
+ (grub_reiserfs_read_symlink): Likewise.
+ (grub_reiserfs_iterate_dir): Likewise.
+ (grub_reiserfs_open): Likewise.
+ (grub_reiserfs_read): Likewise.
+ (grub_reiserfs_get_journal): New function.
+ (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
+ three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
+ using grub_reiserfs_get_journal.
+ (grub_reiserfs_close): Release memory used by journal.
+
+ * fs/affs.c (grub_affs_read_block): Change block type to
+ grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
+
+ * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
+
+ * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
+
+ * fs/ntfs.c (grub_ntfs_read_block): Likewise.
+
+ * fs/udf.c (grub_udf_read_block): Change block type to
+ grub_disk_addr_t. Use type cast to avoid warning.
+
+ * fs/xfs.c (grub_xfs_read_block): Likewise.
+
+2008-05-16 Christian Franke <franke@computer.org>
+
+ * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
+ to ensure that break with ESC will always work.
+ * commands/sleep.c (grub_interruptible_millisleep): Likewise.
+ Remove ESC from keyboard queue.
+
+2008-05-16 Christian Franke <franke@computer.org>
+
+ * util/biosdisk.c: [__CYGWIN__] Add includes.
+ (grub_util_biosdisk_open): Use Linux code also for Cygwin.
+ (get_os_disk): Move variable declarations to OS specific
+ parts to avoid warning.
+ [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
+ [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
+ (grub_util_biosdisk_get_grub_dev): Use Linux code also for
+ Cygwin.
+ * util/getroot.c: [__CYGWIN__] Add includes.
+ (strip_extra_slashes): Fix "/" case.
+ [__CYGWIN__] (get_win32_path): New function.
+ [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
+ [__CYGWIN__] (find_root_device): Disable.
+ [__CYGWIN__] (get_bootsec_serial): New function.
+ [__CYGWIN__] (find_cygwin_root_device): Likewise.
+ [__linux__] (grub_guess_root_device): Add early returns to simplify
+ structure.
+ [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
+ [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
+ check for Linux only.
+
+2008-05-15 Bean <bean123ch@gmail.com>
+
+ * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
+ keyboard hang problem in apple's intel mac.
+
+2008-05-09 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
+ devices.
+ * util/grub-mkdevicemap.c (get_virtio_disk_name)
+ (make_device_map): Likewise.
+ Reported by Aurelien Jarno <aurel32@debian.org>
+
+2008-05-07 Ian Campbell <ijc@hellion.org.uk>
+
+ * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
+ * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
+ (make_device_map): Output entries for xvd type disks.
+
+2008-05-07 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
+ devices.
+ * util/grub-mkdevicemap.c (get_cciss_disk_name)
+ (make_device_map): Likewise.
+ Reported by Roland Dreier <rdreier@cisco.com>
+
+2008-05-07 Robert Millan <rmh@aybabtu.com>
+
+ * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
+ grub_strstr() call. Correct a few mistakes in failure path handling.
+
+2008-05-06 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub_lib.in (make_system_path_relative_to_its_root):
+ Do not print a trailing slash (therefore, the root directory is an
+ empty string).
+ (convert_system_path_to_grub_path): Do not remove trailing slash
+ from make_system_path_relative_to_its_root() output.
+
+ * util/i386/pc/grub-install.in: Add trailing slash to output from
+ make_system_path_relative_to_its_root().
+
+2008-05-06 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
+ ensures that output lines aren't intermangled with those sent to
+ stderr (via grub_util_info()).
+ * util/grub-probe.c (grub_refresh): Likewise.
+ * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
+
+2008-05-05 Christian Franke <franke@computer.org>
+
+ * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
+ Add Cygwin device names.
+ (get_ide_disk_name) [__CYGWIN__]: Likewise.
+ (get_scsi_disk_name) [__CYGWIN__]: Likewise.
+ (check_device): Return error instead of success on empty name.
+ (make_device_map): Move label inside linux specific code to
+ prevent compiler warning.
+
+2008-04-30 Robert Millan <rmh@aybabtu.com>
+
+ Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
+ * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
+ first boot option.
+ * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
+
+2008-04-29 Robert Millan <rmh@aybabtu.com>
+
+ * docs/grub.cfg: New file (example GRUB configuration).
+
+2008-04-26 Robert Millan <rmh@aybabtu.com>
+
+ * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
+ `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
+ and `disk/ieee1275/nand.c'.
+
+2008-04-25 Bean <bean123ch@gmail.com>
+
+ * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
+ i386-linuxbios.
+
+ * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
+ change the buffer size to 4096 for cdrom device.
+
+ * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
+ and nand.mod.
+ (_linux_mod_SOURCES): New variable.
+ (_linux_mod_CFLAGS): Likewise.
+ (_linux_mod_LDFLAGS): Likewise.
+ (linux_mod_SOURCES): Likewise.
+ (linux_mod_CFLAGS): Likewise.
+ (linux_mod_LDFLAGS): Likewise.
+ (nand_mod_SOURCES): Likewise.
+ (nand_mod_CFLAGS): Likewise.
+ (nand_mod_LDFLAGS): Likewise.
+
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
+ GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
+ type property. (nand device in olpc don't have this property)
+
+ * include/grub/disk.h (grub_disk_dev_id): New macro
+ GRUB_DISK_DEVICE_NAND_ID.
+
+ * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
+ function prototype.
+ (grub_rescue_cmd_initrd): Likewise.
+
+ * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
+ (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
+ ofw_cif_handler and ofw_idt, adjust padding number.
+
+ * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
+ GRUB_MACHINE_IEEE1275 is defined.
+
+ * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
+ Use NESTED_FUNC_ATTR attribute on the hook parameter.
+
+ * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
+ on nested function heap_init.
+ (grub_upper_mem): New variable for i386-ieee1275.
+ (grub_get_extended_memory): New function for i386-ieee1275.
+ (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
+
+ * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
+ NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
+ property.
+
+ * loader/i386/ieee1275/linux.c: New file.
+
+ * loader/i386/ieee1275/linux_normal.c: New file.
+
+ * disk/ieee1275/nand.c: New file.
+
+2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
+
+ * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
+ value.
+ * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
+
+2008-04-18 Robert Millan <rmh@aybabtu.com>
+
+ Restructures early code path on ieee1275 to unify grub_main() as
+ the first C function that is executed in every platform.
+
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
+ * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
+ cmain().
+ * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
+ * kern/ieee1275/cmain.c (cmain): Rename to ...
+ * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
+ * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
+ at the beginning.
+
+2008-04-18 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub.in: Fix syntax error when setting
+ `GRUB_PRELOAD_MODULES'.
+ Reported by Stephane Chazelas <stephane@artesyncp.com>
+
+2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
+
+ * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
+ section into account, newer toolchains generate unique build ids
+ * configure.ac: remove the test for --build-id=none acceptance,
+ we want build ids to be preserved
+ * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
+ far from other sections don't cause the raw binary images grow
+ size
+
+2008-04-15 Robert Millan <rmh@aybabtu.com>
+
+ * disk/lvm.c: Update copyright year.
+ * kern/misc.c: Likewise.
+
+2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
+ there is no memory left for physical volume name.
+
+2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
+ volume name mapping to support bigger than 9 character names properly.
+
+2008-04-13 Robert Millan <rmh@aybabtu.com>
+
+ * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
+ as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
+
+2008-04-13 Christian Franke <franke@computer.org>
+
+ * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
+ to create a floppy emulation boot CD when non emulation mode
+ does not work.
+ Enable Joliet CD filesystem extension.
+
+2008-04-13 Robert Millan <rmh@aybabtu.com>
+
+ * kern/misc.c (grub_strncat): Fix off-by-one error.
+ Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
+
+ * kern/env.c (grub_env_context_close): Clear current context, not
+ previous one.
+ Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
+
+ * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
+
+2008-04-13 Robert Millan <rmh@aybabtu.com>
+
+ Improve robustness when handling LVM.
+
+ * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
+ (and leave `*p' unmodified).
+ (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
+ through it.
+ (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
+ iterating through it.
+ (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
+ through it.
+ (grub_lvm_scan_device): Check the return value (and fail gracefully
+ when due) on each grub_lvm_getvalue() or grub_strstr() call.
+ Don't assume `vg->pvs != NULL' when iterating through it.
+
+2008-04-13 Robert Millan <rmh@aybabtu.com>
+
+ * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
+ * genmk.rb (partmap): New variable.
+ (CLEANFILES, PARTMAPFILES): Add #{partmap}.
+ (#{partmap}): New target rule.
+ * genpartmaplist.sh: New file.
+ * Makefile.in (pkglib_DATA): Add partmap.lst.
+ (partmap.lst): New target rule.
+ * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
+ modules (including all partition maps), instead of preloading them.
+
+2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
+
+ * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
+ `linux-boot-prober' (if installed) to detect other operating
+ systems which are installed on the computer and add them to
+ the boot menu.
+ * conf/common.rmk: Build and install 30_os-prober.
+
+2008-04-12 Robert Millan <rmh@aybabtu.com>
+
+ * kern/powerpc/ieee1275/init.c: Move from here ...
+ * kern/ieee1275/init.c: ... to here. Update all users.
+
+ * kern/powerpc/ieee1275/cmain.c: Move from here ...
+ * kern/ieee1275/cmain.c: ... to here. Update all users.
+
+ * kern/powerpc/ieee1275/openfw.c: Move from here ...
+ * kern/ieee1275/openfw.c: ... to here. Update all users.
+
+ * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
+ * loader/ieee1275/multiboot2.c: ... to here. Update all users.
+
+2008-04-10 Pavel Roskin <proski@gnu.org>
+
+ * configure.ac: Always use "_cv_" in cache variables for
+ compatibility with Autoconf 2.62.
+
+2008-04-07 Robert Millan <rmh@aybabtu.com>
+
+ Revert grub/machine/init.h addition by Pavel (since it breaks on
+ i386-ieee1275 and others):
+ * util/i386/pc/misc.c: Remove grub/machine/init.h.
+ * util/powerpc/ieee1275/misc.c: Likewise.
+
+2008-04-07 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub-probe.c (probe): Improve error message.
+
+2008-04-07 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (read_device_map): Skip devices that don't exist
+ (this prevents the presence of a bogus entry from ruining the whole
+ thing).
+
+2008-04-06 Pavel Roskin <proski@gnu.org>
+
+ * util/biosdisk.c: Include grub/util/biosdisk.h.
+ * util/grub-fstest.c (execute_command): Make static.
+ * util/grub-mkdevicemap.c (check_device): Likewise.
+ * util/i386/pc/misc.c: Include grub/machine/init.h.
+ * util/powerpc/ieee1275/misc.c: Likewise.
+ * util/lvm.c: Include grub/util/lvm.h.
+ * util/misc.c: Include grub/kernel.h, grub/misc.h and
+ grub/cache.h.
+ * util/raid.c: Include grub/util/raid.h.
+ (grub_util_getdiskname): Make static.
+
+ * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
+ grub_hostfs_fini(), as they are called from grub_init_all() and
+ grub_fini_all() respectively. This fixes an infinite loop in
+ grub-fstest due to double registration of hostfs.
+ Reported by Christian Franke <Christian.Franke@t-online.de>
+
+2008-04-05 Pavel Roskin <proski@gnu.org>
+
+ * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
+ all 8 functions. Otherwise, probe function 0 only.
+
+2008-04-04 Pavel Roskin <proski@gnu.org>
+
+ * commands/lspci.c (grub_lspci_iter): Print the bus number
+ correctly.
+
+ * commands/lspci.c (grub_pci_classes): Fix typos.
+ (grub_lspci_iter): Don't print func twice. Print vendor ID
+ before device ID, as it's normally done.
+
+ * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
+ Fix signedness warnings.
+ * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
+ Likewise.
+ * util/ieee1275/get_disk_name.c: Include config.h so that
+ _GNU_SOURCE is defined and getline() is declared. Mark an
+ unused argument as such. Fix a signedness warning.
+
+2008-04-02 Pavel Roskin <proski@gnu.org>
+
+ * genkernsyms.sh.in: Use more robust assignments for CC and
+ srcdir. Quote srcdir.
+ * gensymlist.sh.in: Likewise. Assert at the compile time that
+ the symbol table is not empty.
+
+ * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
+ * fs/cpio.c (grub_cpio_read): Likewise.
+
+2008-04-01 Pavel Roskin <proski@gnu.org>
+
+ * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
+ * disk/host.c (grub_host_open): Likewise.
+ * disk/loopback.c (grub_loopback_open): Likewise.
+ * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
+ disk->id as in disk/host.c, not a multi-character constant.
+
+ * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
+ later is obsolete, potentially dangerous and sets a bad example.
+ * util/i386/efi/grub-mkimage.c (make_header): Likewise.
+ * util/misc.c (grub_util_get_image_size): Likewise.
+
+ * disk/loopback.c (options): Improve help for "--partitions".
+
+ * normal/arg.c (grub_arg_show_help): Fix spacing of the long
+ options to align them with the short options, e.g. "echo -e".
+
+2008-03-31 Bean <bean123ch@gmail.com>
+
+ * video/reader/png.c (grub_png_data): New member is_16bit and
+ image_data.
+ (grub_png_decode_image_header): Detect 16 bit png image.
+ (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
+ (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
+ (grub_video_reader_png): Release memory occupied by image_data.
+
+ * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
+ 4096 bytes.
+ (grub_nfs_mount): Skip the test for sector per cluster.
+
+ * include/grub/ntfs.h (MAX_SPC): Removed.
+
+2008-03-31 Bean <bean123ch@gmail.com>
+
+ * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
+ (grub_probe_SOURCES): Add fs/afs.c.
+ (grub_fstest_SOURCES): Likewise.
+ (afs_mod_SOURCES): New variable.
+ (afs_mod_CFLAGS): Likewise.
+ (afs_mod_LDFLAGS): Likewise.
+
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
+ (grub_emu_SOURCES): Likewise.
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+ * fs/afs.c: New file.
+
+2008-03-30 Pavel Roskin <proski@gnu.org>
+
+ * disk/host.c: Include grub/misc.h to fix a warning.
+ * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
+ warnings about implicit declarations.
+
+ * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
+ variable.
+ * include/grub/i386/loader.h: Change declaration of
+ grub_linux_boot() to match what grub_loader_set() expects.
+ * util/getroot.c (grub_guess_root_device): Return const char* to
+ fix a warning.
+ * util/grub-probe.c (probe): Fix a warning about uninitialized
+ abstraction_name variable.
+ * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
+ second argument as unused to fix a warning.
+
+ * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
+ missing grub_error() call.
+
+ * util/update-grub_lib.in: Define datarootdir, since Autoconf
+ 2.60 and newer uses it to define datadir.
+
+ * commands/sleep.c: Fix warning about implicit declaration.
+ * disk/memdisk.c: Likewise.
+ * loader/aout.c: Likewise.
+ * loader/i386/bsd_normal.c: Likewise.
+ * util/grub-probe.c: Likewise.
+
+ * commands/i386/cpuid.c (has_longmode): Make static.
+ * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
+ * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
+
+ * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
+ GDT. This is more robust, as %ds can change.
+ (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
+ calling real_to_prot().
+ (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
+
+2008-03-28 Pavel Roskin <proski@gnu.org>
+
+ * kern/i386/pc/startup.S: Assert that uncompressed functions
+ don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
+ * kern/i386/pc/lzo1x.S: Remove all .align directives in the
+ code, as they push parts of the code (error handlers) beyond
+ GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
+ code as correctness and size.
+
+2008-03-28 Pavel Roskin <proski@gnu.org>
+
+ * kern/i386/pc/startup.S
+ (grub_biosdisk_get_diskinfo_int13_extensions): When converting
+ data block address to the real mode, keep offset minimal. This
+ works around a bug in AWARD BIOS on old Athlon systems, which
+ makes CD detection hang.
+
+2008-03-26 Pavel Roskin <proski@gnu.org>
+
+ * normal/color.c (grub_parse_color_name_pair): Make `name' a
+ const.
+ * include/grub/normal.h: Add grub_parse_color_name_pair()
+ declaration.
+
+2008-03-24 Bean <bean123ch@gmail.com>
+
+ * disk/i386/pc/biosdisk.c (cd_start): Removed.
+ (cd_count): Removed.
+ (cd_drive): New variable.
+ (grub_biosdisk_get_drive): Don't check for (cdN) device.
+ (grub_biosdisk_call_hook): Likewise.
+ (grub_biosdisk_iterate): Change cdrom detection method.
+ (grub_biosdisk_open): Replace cd_start with cd_drive.
+ (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
+ detect cdrom device.
+
+ * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
+ Removed.
+ (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
+ (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
+ (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
+ (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
+ (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
+ (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
+ (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
+ (grub_biosdisk_cdrp): New structure.
+ (grub_biosdisk_get_cdinfo_int13_extensions): New function.
+
+ * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
+
+ * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
+ device.
+
+ * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
+ New function.
+
+2008-03-20 Robert Millan <rmh@aybabtu.com>
+
+ Remove 2 TiB limit in ata.mod.
+ * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
+ (grub_ata_dumpinfo): Print sector count with 0x%llx.
+ (grub_ata_identify): Interpret `&info16[100]' as a pointer to
+ grub_uint64_t instead of grub_uint32_t.
+
+2008-03-05 Bean <bean123ch@gmail.com>
+
+ * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
+ (grub_multiboot): Set boot device.
+
+ * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
+
+2008-03-02 Bean <bean123ch@gmail.com>
+
+ * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
+ symlink_buffer.
+
+2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
+ texinfo.tex.
+
+ * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
+ modified.
+
+ * docs/fdl.texi: New file.
+
+ * docs/mdate-sh: New file. Copied from gnulib.
+ * docs/texinfo.tex: Likewise.
+
+ * config.guess: Updated from gnulib.
+ * install-sh: Likewise.
+
+2008-02-28 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
+ (aout_mod_SOURCES): New variable.
+ (aout_mod_CFLAGS): Likewise.
+ (aout_mod_LDFLAGS): Likewise.
+
+ * conf/i386-ieee1275.rmk: Likewise.
+
+2008-02-28 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub.in: Reorganise terminal validity check. Accept
+ `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
+ Based on suggestion by Franklin PIAT.
+
+2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
+
+ * include/grub/util/getroot.h (grub_util_check_block_device): Export new
+ function.
+ * util/getroot.c (grub_util_check_block_device): New function that
+ returns the given argument if it is a block device and returns NULL else.
+ * util/grub-probe.c (argument_is_device): New variable.
+ (probe): Promote device_name from a variable to an argument. Receive
+ device_name from grub_util_check_block_device() if path is NULL and from
+ grub_guess_root_device() else. Do not free() device_name anymore.
+ (options): Introduce new parameter '-d, --device'.
+ (main): Add description of the new parameter to the help screen.
+ Rename path variable to argument. Set argument_is_device if the '-d'
+ option is given. Pass argument to probe() depending on
+ argument_is_device.
+
+2008-02-24 Bean <bean123ch@gmail.com>
+
+ * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
+ (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
+ (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
+ (GRUB_ISO9660_VOLDESC_PART): Likewise.
+ (GRUB_ISO9660_VOLDESC_END): Likewise.
+ (grub_iso9660_primary_voldesc): New member escape.
+ (grub_iso9660_data): New member joliet.
+ (grub_iso9660_convert_string): New function.
+ (grub_iso9660_mount): Detect joliet extension.
+ (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
+ (grub_iso9660_iso9660_label): Likewise.
+
+ * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
+ (grub_setup_SOURCES): Add fs/udf.c.
+ (grub_fstest_SOURCES): Likewise.
+ (udf_mod_SOURCES): New variable.
+ (udf_mod_CFLAGS): Likewise.
+ (udf_mod_LDFLAGS): Likewise.
+
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
+ (grub_emu_SOURCES): Likewise.
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+ * fs/udf.c: New file.
+
+2008-02-24 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
+ (normal/lexer.c_DEPENDENCIES): New variables.
+ * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
+ (normal/lexer.c_DEPENDENCIES): Likewise.
+ * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
+ (normal/lexer.c_DEPENDENCIES): Likewise.
+ * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
+ (normal/lexer.c_DEPENDENCIES): Likewise.
+ * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
+ (normal/lexer.c_DEPENDENCIES): Likewise.
+ * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
+ (normal/lexer.c_DEPENDENCIES): Likewise.
+
+2008-02-23 Robert Millan <rmh@aybabtu.com>
+
+ * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
+ since they were intended to be in hex. This didn't break previously
+ because of a bug in gpt_partition_map_iterate() (see below).
+
+ (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
+ when checking the validity of GPT header.
+ Remove `partno', since it always provides the same information as `i'.
+
+2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * include/grub/efi/time.h: Fix a wrong comment.
+
+2008-02-19 Pavel Roskin <proski@gnu.org>
+
+ * kern/rescue.c (grub_enter_rescue_mode): Improve initial
+ message.
+
+2008-02-19 Bean <bean123ch@gmail.com>
+
+ * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
+ (aout_mod_SOURCES): New variable.
+ (aout_mod_CFLAGS): Likewise.
+ (aout_mod_LDFLAGS): Likewise.
+ (_bsd_mod_SOURCES): New variable.
+ (_bsd_mod_CFLAGS): Likewise.
+ (_bsd_mod_LDFLAGS): Likewise.
+ (bsd_mod_SOURCES): New variable.
+ (bsd_mod_CFLAGS): Likewise.
+ (bsd_mod_LDFLAGS): Likewise.
+
+ * include/grub/aout.h: New file.
+
+ * include/grub/i386/loader.h (grub_unix_real_boot): New function.
+
+ * include/grub/i386/bsd.h: New file.
+
+ * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
+ to make it public.
+
+ * kern/elf.c (grub_elf32_load): Get the physical address after the hook
+ function is called, so that it's possible to change it inside the hook.
+ (grub_elf64_load): Likewise.
+ (grub_elf_file): Don't close the file if elf header is not found.
+ (grub_elf_close): Close the file if grub_elf_file fails (The new
+ grub_elf_file won't close it).
+ (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
+ (grub_elf64_size): Likewise.
+
+ * kern/i386/loader.S (grub_unix_real_boot): New function.
+
+ * loader/aout.c: New file.
+
+ * loader/i386/bsd.c: New file.
+
+ * loader/i386/bsd_normal.c: New file.
+
+ * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
+
+ * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
+ can test other formats.
+
+2008-02-19 Robert Millan <rmh@aybabtu.com>
+
+ * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
+ (grub_gpt_partition_type_empty): Redefine with macro from
+ `<grub/gpt_partition.h>'.
+ (gpt_partition_map_iterate): Adjust partition type comparison.
+
+ Export `entry' as partmap-specific `part.data' struct.
+ (grub_gpt_header, grub_gpt_partentry): Move from here ...
+
+ * include/grub/gpt_partition.h (grub_gpt_header)
+ (grub_gpt_partentry): ... to here (new file).
+
+ * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
+
+ (grub_gpt_partition_type_bios_boot): New const variable, defined
+ with macro from `<grub/gpt_partition.h>'.
+
+ (setup): Replace `first_start' with `embed_region', which keeps
+ track of the embed region (and is partmap-agnostic).
+
+ Replace find_first_partition_start() with find_usable_region(),
+ which finds a usable region for embedding using partmap-specific
+ knowledge (supports PC/MSDOS and GPT).
+
+ Fix all assumptions that the embed region start at sector 1, using
+ `embed_region.start' from now on. Similarly, use `embed_region.end'
+ rather than `first_start' to calculate available size.
+
+ In grub_util_info() message, replace "into after the MBR" with an
+ indication of the specific sector our embed region starts at.
+
+2008-02-19 Robert Millan <rmh@aybabtu.com>
+
+ * DISTLIST: Replace `commands/ieee1275/halt.c' and
+ `commands/ieee1275/reboot.c' with `commands/halt.c' and
+ `commands/reboot.c'.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
+ (halt_mod_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
+ (halt_mod_SOURCES): Likewise.
+
+2008-02-17 Christian Franke <franke@computer.org>
+
+ * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
+
+2008-02-17 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
+ set `first_start' to 0 for non-PC/MSDOS partition maps.
+
+2008-02-16 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
+ do not assume partition map is PC/MSDOS before performing checks that
+ are specific to that layout.
+
+2008-02-13 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
+ `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
+ * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
+
+2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * configure.ac: Only a cosmetic change on the handling of
+ -fno-stack-protector.
+
+2008-02-12 Alexandre Boeglin <alex@boeglin.org>
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
+ commands/i386/pc/halt.c and reboot.c by commands/halt.c and
+ reboot.c.
+ (grub_install_SOURCES): Add halt.mod and reboot.mod.
+ (halt_mod_SOURCES): New variable.
+ (halt_mod_CFLAGS): Likewise.
+ (halt_mod_LDFLAGS): Likewise.
+ (reboot_mod_SOURCES): Likewise.
+ (reboot_mod_CFLAGS): Likewise.
+ (reboot_mod_LDFLAGS): Likewise.
+
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
+ commands/ieee1275/halt.c and reboot.c by commands/halt.c and
+ reboot.c.
+ (halt_mod_SOURCES): Likewise.
+ (reboot_mod_SOURCES): Likewise.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
+ commands/i386/pc/reboot.c by commands/reboot.c.
+ (reboot_mod_SOURCES): Likewise.
+
+ * commands/i386/pc/reboot.c: merge this file ...
+
+ * commands/ieee1275/reboot.c: ... and this file ...
+
+ * commands/reboot.c: ... to this file.
+ Add some precompiler directive to include the correct header for
+ each machine.
+
+ * commands/ieee1275/halt.c: move this file ...
+
+ * commands/halt.c: ... to here.
+ Add some precompiler directive to include the correct header for
+ each machine.
+
+ * include/grub/efi/efi.h (grub_reboot): New function declaration.
+ (grub_halt): Likewise.
+
+ * kern/efi/efi.c (grub_reboot): New function.
+ (grub_halt): Likewise.
+
+2008-02-12 Robert Millan <rmh@aybabtu.com>
+
+ * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
+ /dev (like it is done for /dev/mapper). This doesn't provide support
+ for EVMS, but at least it is now easy to identify the problem when it
+ arises.
+
+2008-02-11 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
+ (grub_util_biosdisk_get_grub_dev): Check open() exit status by
+ comparing it with -1, not 0.
+
+2008-02-10 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
+ `disk/lvm.c'.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
+
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
+ `disk/lvm.c' to the end of the list.
+ * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
+
+2008-02-10 Robert Millan <rmh@aybabtu.com>
+
+ * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
+ grub_print_error() instead. This will let user know why we're entering
+ rescue mode.
+ Based on suggestions from Sam Morris.
+
+2008-02-10 Alexandre Boeglin <alex@boeglin.org>
+
+ * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
+ on remaining N args, instead of "--" arg N times.
+
+2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * font/manager.c (unknown_glyph): Added variable for unknown glyph.
+ (fill_with_default_glyph): Changed to use unknown_glyph for fill
+ pattern for unknown glyphs.
+
+2008-02-09 Robert Millan <rmh@aybabtu.com>
+
+ * configure.ac: Probe for `help2man'.
+ * Makefile.in (builddir): New variable.
+ (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
+ or otherwise add a few flags/options to it.
+ (install-local): For every executable utility or script that is
+ installed, invoke $(HELP2MAN) to install a manpage based on --help
+ output.
+
+ * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
+ that it doesn't prevent --help from working in build tree.
+
+ * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
+ with `bug-grub@gnu.org'.
+ * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
+ * util/update-grub.in (usage): New function.
+ Implement proper argument check, with support for --help and --version
+ (as well as existing -y).
+
+2008-02-09 Christian Franke <franke@computer.org>
+
+ * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
+ avoid overwriting previous output.
+ * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
+
+2008-02-09 Robert Millan <rmh@aybabtu.com>
+
+ * normal/menu.c (run_menu): If timeout is set to zero, don't bother
+ drawing the menu.
+
+2008-02-09 Robert Millan <rmh@aybabtu.com>
+
+ * commands/sleep.c: New file.
+ * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
+ (sleep_mod_SOURCES): New variable.
+ (sleep_mod_CFLAGS): Likewise.
+ (sleep_mod_LDFLAGS): Likewise.
+
+2008-02-09 Robert Millan <rmh@aybabtu.com>
+
+ * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
+ situations in which we can deduce the RAID size and the superblock
+ doesn't match it.
+
+2008-02-09 Robert Millan <rmh@aybabtu.com>
+
+ * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
+ and return a grub_diskmemberlist_t composed of LVM physical volumes.
+ [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
+
+ * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
+ and return a grub_diskmemberlist_t composed of physical array members.
+ [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
+
+ * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
+ prototype.
+ [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
+ [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
+ [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
+
+ * util/grub-probe.c (probe): Move partmap probing code from here ...
+ (probe_partmap): ... to here.
+ (probe): Use probe_partmap() once for the disk we're probing, and
+ additionally, when such disk contains a memberlist() struct member,
+ once for each disk that is contained in the structure returned by
+ memberlist().
+
+2008-02-09 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub-probe.c (main): When `verbosity > 1', set `debug'
+ environment variable to 'all' in order to obtain debug output from
+ non-util/ code.
+ * util/i386/pc/grub-setup.c (main): Likewise.
+
+2008-02-08 Robert Millan <rmh@aybabtu.com>
+
+ * disk/raid.c (grub_raid_scan_device): Check for
+ `array->device[sb.this_disk.number]' rather than for
+ `array->device[sb.this_disk.number]->name', since the latter is not
+ guaranteed to be accessible.
+
+2008-02-08 Robert Millan <rmh@aybabtu.com>
+
+ * disk/raid.c: Update copyright.
+ * fs/cpio.c: Likewise.
+ * include/grub/raid.h: Likewise.
+ * loader/i386/pc/multiboot.c: Likewise.
+ * util/hostfs.c: Likewise.
+
+2008-02-08 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/raid.h (struct grub_raid_array): Change type of `device'
+ to a grub_disk_t array.
+ * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
+ `device[x]'.
+ (grub_raid_scan_device): Replace `device[x].name' accesses with
+ `device[x]->name'. Simplify initialization of `array->device[x]'.
+
+2008-02-08 Robert Millan <rmh@aybabtu.com>
+
+ * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
+ grub_dprintf() calls.
+ * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
+ error message.
+
+2008-02-07 Christian Franke <franke@computer.org>
+
+ * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
+ instead of fseek and ftell to support large files.
+ (grub_hostfs_read): Likewise.
+
+2008-02-07 Robert Millan <rmh@aybabtu.com>
+
+ Patch from Jeroen Dekkers.
+ * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
+ failure, since successfully reading all array members might not be
+ required.
+
+2008-02-06 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub-probe.c (probe): Simplify partmap probing (with the
+ assumption that the first word up to the underscore equals to
+ the module name).
+
+2008-02-06 Christian Franke <franke@computer.org>
+
+ * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
+ (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
+ last block of a cpio or tar stream.
+ Check for "TRAILER!!!" instead of any empty data
+ block to detect last block of a cpio stream.
+ (grub_cpio_dir): Fix constness of variable np.
+ (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
+ cpio or tar trailer is detected. This fixes a crash
+ on open of a non existing file.
+
+2008-02-05 Bean <bean123ch@gmail.com>
+
+ * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
+ address of entry.
+ (grub_multiboot_load_elf64): Likewise.
+ (grub_multiboot): Initialize mbi structure.
+
+ * util/grub-fstest.c: Don't include unused header file script.h.
+
+ * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
+ of file.
+ (grub_fstest_SOURCES): Likewise.
+
+2008-02-05 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
+ (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
+ (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
+ (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
+
+ * kern/i386/pc/startup.S: Include `<grub/term.h>'.
+ (translation_table): Replace hardcoded values with macros
+ provided by `<grub/term.h>'.
+
+ * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
+ (keyboard_map): Correct/add a few values, with macros provided
+ by `<grub/term.h>'.
+ (keyboard_map_shift): Zero values that don't differ from their
+ `keyboard_map' equivalents.
+ (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
+ Discard the second scan code that is always sent by Caps lock.
+ Only use `keyboard_map_shift' when it provides a non-zero value,
+ otherwise fallback to `keyboard_map'.
+
+2008-02-04 Bean <bean123ch@gmail.com>
+
+ * Makefile.in (enable_grub_fstest): New variable.
+
+ * conf/common.rmk (grub_fstest_init.lst): New rule.
+ (grub_fstest_init.h): Likewise.
+ (grub_fstest_init.c): Likewise.
+ (util/grub-fstest.c_DEPENDENCIES): New variable.
+ (grub_fstest_SOURCES): Likewise.
+
+ * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
+
+ * util/grub-fstest.c: New file.
+
+2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Make grub-setup handle a separate root device.
+
+ * util/i386/pc/grub-setup.c (setup): Always open the root device,
+ so that the root device can be compared with the destination
+ device.
+ When embedding the core image, if the root and destination devices
+ are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
+ 0xFF.
+ When not embedding, set ROOT_DRIVE to 0xFF.
+
+2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Add support for having a grub directory in a different drive. This
+ is still only the data handling part.
+
+ * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
+ (codestart): Save %dh in GRUB_ROOT_DRIVE.
+ (grub_root_drive): New variable.
+
+ * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
+ instead of GRUB_BOOT_DRIVE to construct a device name. Set
+ GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
+ as it was.
+
+ * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
+
+ * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
+ macro.
+ (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
+
+ * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
+ is bogus, because PXE booting does not specify any drive
+ correctly.
+
+ * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
+ am not sure if this is really correct.
+
+ * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
+ is always identical to the boot drive when booting from a CD.
+
+ * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
+ longer.
+ (root_drive): New variable.
+ (real_start): Unconditionally set %dh to ROOT_DRIVE.
+ (setup_sectors): Push %dx right after popping it, because %dh will
+ be modified later.
+ (copy_buffer): Restore %dx.
+
+2008-02-03 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
+ use `cdboot.img' for cdrom images.
+
+2008-02-03 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/00_header.in: Issue scripting commands for GRUB to
+ only setup gfxterm when `font' command has succeeded.
+
+2008-02-03 Robert Millan <rmh@aybabtu.com>
+
+ * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
+ (grub_rescue_cmd_multiboot_loader)
+ (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
+
+2008-02-03 Pavel Roskin <proski@gnu.org>
+
+ * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
+ %edx and %esi from stack only after grub_gate_a20() is called.
+ grub_gate_a20() clobbers %edx.
+
+2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * configure.ac (AC_INIT): Bumped to 1.96.
+
+ * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
+ commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
+ include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
+ video/readers/png.c.
+
+2008-02-03 Bean <bean123ch@gmail.com>
+
+ * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
+ (cdboot_img_SOURCES): New variable.
+ (cdboot_img_ASFLAGS): New variable.
+ (cdboot_img_LDFLAGS): New variable.
+
+ * boot/i386/pc/cdboot.S: New file.
+
+ * disk/i386/pc/biosdisk.c (cd_start): New variable.
+ (cd_count): Likewise.
+ (grub_biosdisk_get_drive): Add support for cd device.
+ (grub_biosdisk_call_hook): Likewise.
+ (grub_biosdisk_iterate): Likewise.
+ (grub_biosdisk_open): Likewise.
+ (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
+ (grub_biosdisk_rw): Support reading from cd device.
+ (GRUB_MOD_INIT): Iterate cd devices.
+
+ * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
+ (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
+ (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
+
+ * kern/i386/pc/init.c (make_install_device): Check for cd device.
+
+2008-02-02 Robert Millan <rmh@aybabtu.com>
+
+ * commands/read.c: New file.
+ * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
+ (read_mod_SOURCES): New variable.
+ (read_mod_CFLAGS): Likewise.
+ (read_mod_LDFLAGS): Likewise.
+
+2008-02-02 Robert Millan <rmh@aybabtu.com>
+
+ * normal/main.c (grub_normal_execute): Check for `menu->size' when
+ determining whether menu has to be displayed.
+
+2008-02-02 Marco Gerards <marco@gnu.org>
+
+ * bus/pci.c: New file.
+
+ * include/grub/pci.h: Likewise.
+
+ * include/grub/i386/pc/pci.h: Likewise.
+
+ * commands/lspci.c: Likewise.
+
+ * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
+ `lspci.mod'.
+ (pci_mod_SOURCES): New variable.
+ (pci_mod_CFLAGS): Likewise.
+ (pci_mod_LDFLAGS): Likewise.
+ (lspci_mod_SOURCES): Likewise.
+ (lspci_mod_CFLAGS): Likewise.
+ (lspci_mod_LDFLAGS): Likewise.
+
+2008-02-02 Bean <bean123ch@gmail.com>
+
+ * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
+ (grub_ufs_get_file_block): Fix indirect block calculation problem.
+
+ * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
+ (grub_xfs_btree_node): New structure.
+ (grub_xfs_btree_root): New structure.
+ (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
+ (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
+ (GRUB_XFS_EXTENT_BLOCK): Likewise.
+ (GRUB_XFS_EXTENT_SIZE): Likewise.
+ (grub_xfs_read_block): Support btree format type.
+ (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
+ Use directory block as basic unit.
+
+ * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
+
+ * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
+ __attribute__ ((__regparm__ (1))).
+
+2008-02-01 Robert Millan <rmh@aybabtu.com>
+
+ Correct a mistake in previous commit.
+
+ * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
+ top.
+ (normal/command.c_DEPENDENCIES): New variable.
+
+2008-02-01 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
+ top.
+ (normal/command.c_DEPENDENCIES): New variable.
+ (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-linuxbios.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ (grub_emu_SOURCES): Add `fs/fshelp.c'.
+
+ * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
+
+2008-02-01 Robert Millan <rmh@aybabtu.com>
+
+ * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
+ call at beginning of function.
+
+2008-01-31 Pavel Roskin <proski@gnu.org>
+
+ * util/powerpc/ieee1275/grub-mkrescue.in: New file.
+ * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
+ (grub_mkrescue_SOURCES): Likewise.
+ * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
+
+2008-01-30 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
+ (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
+ * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
+ (grub_probe_SOURCES): ... to here.
+
+ * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
+ (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/i386-linuxbios.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+
+2008-01-30 Tristan Gingold <gingold@free.fr>
+
+ * kern/rescue.c: Silently accept empty lines.
+
+2008-01-29 Bean <bean123ch@gmail.com>
+
+ * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
+ (real_code_2): Code cleanup and change comment style.
+ (move_memory): Avoid using 32-bit address mode.
+
+2008-01-29 Bean <bean123ch@gmail.com>
+
+ * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
+ (png_mod_SOURCES): New variable.
+ (png_mod_CFLAGS): Likewise.
+ (png_mod_LDFLAGS): Likewise.
+
+ * video/readers/png.c: New file.
+
+2008-01-28 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
+ * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
+ `ifndef GRUB_MOD_GAP' hack.
+ * util/elf/grub-mkimage.c (add_segments): Likewise.
+
+2008-01-27 Robert Millan <rmh@aybabtu.com>
+
+ * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
+ `GRUB_MOD_GAP' for platforms in which it's not defined.
+ * util/elf/grub-mkimage.c (add_segments): Likewise.
+
+2008-01-27 Robert Millan <rmh@aybabtu.com>
+
+ Get grub-emu to build again (including parallel builds).
+
+ * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
+ Split into ...
+ (util/grub-emu.c_DEPENDENCIES): ... this, ...
+ (normal/execute.c_DEPENDENCIES): ... this, ...
+ (grub-emu_DEPENDENCIES): ... and this.
+
+ * conf/i386-efi.rmk: Likewise.
+ * conf/i386-linuxbios.rmk: Likewise.
+ * conf/i386-ieee1275.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
+
+2008-01-27 Robert Millan <rmh@aybabtu.com>
+
+ * NEWS: Add a few items.
+
+2008-01-27 Robert Millan <rmh@aybabtu.com>
+
+ Fix parallel builds with grub-emu. Based on earlier commit for
+ grub-probe and grub-setup.
+
+ * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
+ (util/grub-emu.c_DEPENDENCIES): ... this.
+ * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
+ (util/grub-emu.c_DEPENDENCIES): ... this.
+ * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
+ (util/grub-emu.c_DEPENDENCIES): ... this.
+ * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
+ (util/grub-emu.c_DEPENDENCIES): ... this.
+ * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
+ (util/grub-emu.c_DEPENDENCIES): ... this.
+
+2008-01-27 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
+ to create a gap between _end and the modules added to the image
+ with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
+ * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
+ * util/elf/grub-mkimage.c (add_segments): Likewise.
+
+2008-01-26 Pavel Roskin <proski@gnu.org>
+
+ * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
+ just return an error.
+
+2008-01-26 Bean <bean123ch@gmail.com>
+
+ * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
+ (grub_reiserfs_get_item): Save offset of the next item.
+ (grub_reiserfs_iterate_dir): Use next_offset to find next item.
+
+2008-01-25 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
+ make all filesystem sources appear together (possibly fixing omissions
+ while at it).
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
+ add `kern/file.c'.
+ * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
+ * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
+ * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
+
+ * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
+ (probe): Add a sanity check to make sure of our ability to read
+ requested files when probing for filesystem type.
+
+ * genmk.rb: Update copyright year (2007).
+
+ * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
+ (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
+ (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
+ (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
+ (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
+ : Remove function prototypes.
+
+2008-01-25 Robert Millan <rmh@aybabtu.com>
+
+ Revert my previous commits (based on wrong assumption of how grub_errno
+ works).
+
+ * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
+ * kern/file.c (grub_file_open): Likewise.
+
+2008-01-24 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
+ that hang if GRUB tries to setup colors.
+ * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
+ colors for firmwares that don't support it.
+ * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
+ Recognize Open Hack'Ware, set flags to work around its
+ limitations.
+
+2008-01-24 Robert Millan <rmh@aybabtu.com>
+
+ * kern/file.c (grub_file_open): Do not account previous failures of
+ unrelated functions when grub_errno is checked for.
+ Reported by Oleg Strikov.
+
+2008-01-24 Bean <bean123ch@gmail.com>
+
+ * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
+ (grub_ufs_sblock): New member volume name.
+ (grub_ufs_find_file): Fix string copy bug.
+ (grub_ufs_label): Implement this function properly.
+
+ * fs/hfs.c (grub_hfs_cnid_type): New enum.
+ (grub_hfs_iterate_records): Use the correct file number for extents
+ and catalog file. Fix problem in next index calculation.
+ (grub_hfs_find_node): Replace recursive function call with loop.
+ (grub_hfs_iterate_dir): Replace recursive function call with loop.
+
+2008-01-23 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
+ `<grub/symbol.h>' and `<grub/multiboot.h>'.
+ (grub_multiboot2_real_boot): New function prototype.
+
+ * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
+ [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
+
+ * kern/i386/ieee1275/init.c (grub_os_area_addr)
+ (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
+
+2008-01-23 Robert Millan <rmh@aybabtu.com>
+
+ * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
+ #ifdef'ed out grub_printf().
+
+2008-01-23 Robert Millan <rmh@aybabtu.com>
+
+ * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
+ grub_dprintf calls, since they make "debug=all" mode unusable.
+ (grub_console_checkkey): Likewise.
+
+2008-01-23 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
+ `term/i386/pc/at_keyboard.c'.
+ (pkglib_MODULES): Add `serial.mod'.
+ (serial_mod_SOURCES): New variable.
+ (serial_mod_CFLAGS): Likewise.
+ (serial_mod_LDFLAGS): Likewise.
+
+ * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
+ `<grub/powerpc/ieee1275/console.h>'.
+ (grub_keyboard_controller_init): New function prototype.
+ (grub_console_checkkey): Likewise.
+ (grub_console_getkey): Likewise.
+
+ * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
+ keyboard on i386.
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
+ grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
+
+2008-01-23 Robert Millan <rmh@aybabtu.com>
+
+ * kern/i386/pc/init.c (make_install_device): When memdisk image is
+ present, "(memdisk)/boot/grub" becomes the default prefix.
+
+ * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
+ a memdisk tarball with all the modules. Add --overlay=DIR option that
+ allows users to overlay additional files into the image.
+
+2008-01-23 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
+ and `machine/memory.h'.
+ (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
+ (_multiboot_mod_SOURCES): New variable.
+ (_multiboot_mod_CFLAGS): Likewise.
+ (_multiboot_mod_LDFLAGS): Likewise.
+ (multiboot_mod_SOURCES): Likewise.
+ (multiboot_mod_CFLAGS): Likewise.
+ (multiboot_mod_LDFLAGS): Likewise.
+
+ * include/grub/i386/ieee1275/loader.h: New file.
+
+ * include/grub/i386/ieee1275/machine.h: Likewise.
+
+ * include/grub/i386/ieee1275/memory.h: Likewise.
+
+ * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
+ variable declaration.
+ (grub_os_area_size): Likewise.
+
+ * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
+ (grub_lower_mem, grub_upper_mem): New variables.
+ (grub_stop_floppy): New function (just to make
+ grub_multiboot2_real_boot() happy).
+
+ * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
+ `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
+ (grub_stop): New function.
+ Include `"../realmode.S"' and `"../loader.S"'.
+
+ * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
+ Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
+
+ * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
+ rely on grub_multiboot2_real_boot() for final boot.
+
+2008-01-22 Robert Millan <rmh@aybabtu.com>
+
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
+ `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
+ device that doesn't look like an SD card.
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
+ `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
+ * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
+ OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
+ found.
+
+2008-01-22 Robert Millan <rmh@aybabtu.com>
+
+ * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
+ avoid claiming over our own code.
+
+2008-01-22 Bean <bean123ch@gmail.com>
+
+ * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
+ (jpeg_mod_SOURCES): New variable.
+ (jpeg_mod_CFLAGS): Likewise.
+ (jpeg_mod_LDFLAGS): Likewise.
+
+ * video/readers/jpeg.c : New file.
+
+2008-01-22 Bean <bean123ch@gmail.com>
+
+ * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
+ there are no more items.
+
+2008-01-21 Robert Millan <rmh@aybabtu.com>
+
+ * kern/mm.c (grub_mm_init_region): Improve debug message.
+
+2008-01-21 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
+ (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
+ address.
+ (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
+ a C macro.
+ * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
+ Indicates start of upper memory.
+ * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
+ (generate_image): Abort when image size is big enough to corrupt
+ upper memory.
+
+ * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
+ (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
+ * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
+ instead of hardcoding 0xA0000.
+ * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
+ (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
+ instead of hardcoding 0xA0000.
+
+2008-01-21 Robert Millan <rmh@aybabtu.com>
+
+ * disk/memdisk.c (memdisk_size): New variable.
+ (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
+ `memdisk_size'.
+ (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
+ image to dynamic memory.
+ (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
+ `memdisk_size'. Free memdisk block.
+
+2008-01-21 Robert Millan <rmh@aybabtu.com>
+
+ Fix detection of very small filesystems (like tar).
+
+ * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
+ contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
+ GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
+ a problem with this disk).
+
+2008-01-21 Robert Millan <rmh@aybabtu.com>
+
+ * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
+ on grub_biosdisk_rw_standard() error.
+
+2008-01-21 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
+ recent changes.
+ * kern/elf.c: Likewise.
+ * kern/ieee1275/ieee1275.c: Likewise.
+ * kern/powerpc/ieee1275/openfw.c: Likewise.
+ * term/ieee1275/ofconsole.c: Likewise.
+
+2008-01-21 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
+
+ * include/grub/kernel.h (grub_arch_memdisk_addr)
+ (grub_arch_memdisk_size): Moved from here ...
+
+ * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
+ (grub_arch_memdisk_size): ... to here.
+
+2008-01-21 Robert Millan <rmh@aybabtu.com>
+
+ Mostly based on bugfix from Bean.
+
+ * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
+ attribute with hook() parameter.
+ (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
+ declaration.
+ (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
+ attribute with hook() parameter.
+ (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
+ declaration.
+
+2008-01-21 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
+ (pkglib_MODULES): Add `memdisk.mod'.
+ (memdisk_mod_SOURCES): New variable.
+ (memdisk_mod_CFLAGS): Likewise.
+ (memdisk_mod_LDFLAGS): Likewise.
+
+ * disk/memdisk.c: New file.
+
+ * include/grub/disk.h (grub_disk_dev_id): Add
+ `GRUB_DISK_DEVICE_MEMDISK_ID'.
+
+ * include/grub/i386/pc/kernel.h
+ (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
+ (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
+ (grub_kernel_image_size): New variable declaration.
+ (grub_total_module_size): Likewise.
+ (grub_memdisk_image_size): Likewise.
+
+ * include/grub/i386/pc/memory.h
+ (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
+
+ * include/grub/kernel.h: Include `<grub/symbol.h>'.
+ (grub_arch_memdisk_addr): New variable declaration.
+ (grub_arch_memdisk_size): Likewise.
+
+ * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
+ (grub_arch_memdisk_size): Likewise.
+
+ * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
+ (codestart): Replace hardcoded `0x100000' with
+ `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
+
+ * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
+ (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
+ not NULL, append the contents of the file it refers to, at the end of
+ the compressed kernel image. Initialize `grub_memdisk_image_size'
+ variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
+ (options): Add "memdisk"|'m' option.
+ (main): Parse --memdisk|-m option, and pass user-provided path as
+ parameter to generate_image().
+
+2008-01-20 Robert Millan <rmh@aybabtu.com>
+
+ * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
+ grub_dprintf() calls from here ...
+ * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
+
+2008-01-20 Robert Millan <rmh@aybabtu.com>
+
+ Fix detection of "real mode" when /options/real-mode? doesn't exist.
+
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
+ declaration.
+ * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
+ (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
+ `GRUB_IEEE1275_FLAG_REAL_MODE'.
+ (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
+ property).
+ * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
+ `grub_ieee1275_mmu' rather than obtaining a handler on every call.
+
+2008-01-19 Robert Millan <rmh@aybabtu.com>
+
+ Get rid of confusing function (superseded by
+ `grub_ieee1275_get_integer_property')
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
+ prototype.
+ * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
+ function.
+ * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
+ grub_ieee1275_decode_int_4(), by obtaining integer properties directly
+ in native endianness from grub_ieee1275_get_integer_property().
+
+2008-01-19 Robert Millan <rmh@aybabtu.com>
+
+ * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
+ command after "shut-down", since implementations differ on which
+ the command for halt is.
+
+2008-01-19 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/linuxbios/console.h: Add header protection.
+ (grub_keyboard_controller_init): New function prototype.
+ * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
+ (KEYBOARD_COMMAND_READ): Likewise.
+ (KEYBOARD_COMMAND_WRITE): Likewise.
+ (KEYBOARD_SCANCODE_SET1): Likewise.
+ (grub_keyboard_controller_write): New function.
+ (grub_keyboard_controller_read): Likewise.
+ (grub_keyboard_controller_init): Likewise.
+
+ * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
+ (grub_console_init): On coreboot/LinuxBIOS, call
+ grub_keyboard_controller_init().
+
+2008-01-19 Robert Millan <rmh@aybabtu.com>
+
+ PowerPC changes provided by Pavel Roskin.
+
+ * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
+ * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
+ don't rely on cmain() doing it.
+ * kern/i386/ieee1275/startup.S (_start): Store %eax in
+ grub_ieee1275_entry_fn, don't rely on cmain() doing it.
+
+2008-01-16 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/linuxbios/memory.h
+ (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
+ * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
+ receive `table_header' as argument. Instead, probe for it in the
+ known memory ranges where it can be present.
+ (grub_available_iterate): Do not pass a fixed `table_header' address
+ to grub_linuxbios_table_iterate().
+
+2008-01-15 Robert Millan <rmh@aybabtu.com>
+
+ * configure.ac: Add `i386-ieee1275' to the list of supported targets.
+ * conf/i386-ieee1275.rmk: New file.
+ * include/grub/i386/ieee1275/console.h: Likewise.
+ * include/grub/i386/ieee1275/ieee1275.h: Likewise.
+ * include/grub/i386/ieee1275/kernel.h: Likewise.
+ * include/grub/i386/ieee1275/time.h: Likewise.
+ * kern/i386/ieee1275/init.c: Likewise.
+ * kern/i386/ieee1275/startup.S: Likewise.
+
+2008-01-15 Robert Millan <rmh@aybabtu.com>
+
+ * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
+ when pointers are 32-bit (but still do set it to one when they are
+ 64-bit).
+
+2008-01-15 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/ieee1275/ieee1275.h
+ (grub_ieee1275_get_integer_property): New function prototype.
+
+ * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
+ (grub_ieee1275_get_integer_property): New function. Wraps around
+ grub_ieee1275_get_property() to handle endianness.
+
+ * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
+ grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
+ where appropriate.
+ * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
+ (grub_map): Likewise.
+ * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
+
+2008-01-15 Bean <bean123ch@gmail.com>
+
+ * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
+ (grub_script_execute_cmdline): Reset grub_errno.
+
+ * normal/main.c (read_config_file): Reset grub_errno.
+
+ * normal/parse.y (script_init): New.
+ (script): Move function and menuentry here.
+ (delimiter): New.
+ (command): Add delimiter at the end of command.
+ (commands): Adjust to match the new command.
+ (commandblock): Remove grub_script_lexer_record_start.
+ (menuentry): Add grub_script_lexer_record_start, use the new commands.
+ (if): Use the new commands.
+
+ * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
+
+2008-01-15 Robert Millan <rmh@aybabtu.com>
+
+ * normal/menu.c (run_menu): Move timeout message from here ...
+ (print_timeout): ... to here.
+ (run_menu): Use print_timeout() once during initial draw to print
+ the whole message, and again in every clock tick to update only
+ the number of seconds.
+
+2008-01-15 Robert Millan <rmh@aybabtu.com>
+
+ * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
+ actual size of `available' from grub_ieee1275_get_property(), and
+ restrict parsing to that bound.
+
+2008-01-15 Christian Franke <franke@computer.org>
+
+ * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
+ (argp_program_version): Remove variable.
+ (argp_program_bug_address): Likewise.
+ (options): Convert from struct argp_option to struct option.
+ (struct arguments): Remove.
+ (parse_opt): Remove.
+ (usage): New function.
+ (main): Replace struct args members by simple variables.
+ Replace argp_parse() by getopt_long().
+ Add switch to evaluate options.
+ Add missing "(...)" around root_dev in prefix string.
+
+2008-01-14 Robert Millan <rmh@aybabtu.com>
+
+ * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
+ for grub_ieee1275_exit(), in order to improve portability.
+
+2008-01-14 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/10_linux.in (prefix): Define.
+ (exec_prefix): Likewise. Both definitions are later used by `libdir'.
+
+2008-01-13 Pavel Roskin <proski@gnu.org>
+
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
+ grub_errno if no errors have been detected.
+
+2008-01-12 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
+ (grub_util_get_dev_abstraction): New function prototype.
+
+ * util/getroot.c: Include `<grub/util/getroot.h>'
+ (grub_util_get_grub_dev): Move detection of abstraction type to ...
+ (grub_util_get_dev_abstraction): ... here (new function).
+
+ * util/grub-probe.c: Convert PRINT_* to an enum. Add
+ `PRINT_ABSTRACTION'.
+ (probe): Probe for abstraction type when requested.
+ (main): Understand `--target=abstraction'.
+
+ * util/i386/efi/grub-install.in: Add abstraction module to core
+ image when it is found to be necessary.
+ * util/i386/pc/grub-install.in: Likewise.
+ * util/powerpc/ieee1275/grub-install.in: Likewise.
+
+ * util/update-grub_lib.in (font_path): Return system path without
+ converting to GRUB path.
+ * util/update-grub.in: Convert system path returned by font_path()
+ to a GRUB path. Use `grub-probe -t abstraction' to determine what
+ abstraction module is needed for loading fonts (if any). Export
+ that as `GRUB_PRELOAD_MODULES'.
+ * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
+ insmod commands).
+
+2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Remove some unused code from reiserfs.
+
+ * fs/reiserfs.c (struct grub_reiserfs_key)
+ [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
+ (struct grub_reiserfs_node_body): Removed.
+ (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
+ Likewise.
+ (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
+ Likewise.
+ (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
+ Likewise.
+ (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
+ Likewise.
+ (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
+ Likewise.
+ (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
+ Likewise.
+ (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
+ (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
+ (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
+
+2008-01-10 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
+ Determines if a file is garbage left by packaging systems, etc.
+ * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
+ for processing /etc/grub.d scripts.
+ * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
+ * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
+ as a condition for processing Linux images.
+
+2008-01-10 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
+ to compile reiserfs.c on PowerPC.
+
+2008-01-10 Robert Millan <rmh@aybabtu.com>
+
+ * kern/device.c (grub_device_iterate): Do not abort device iteration
+ when one of the devices cannot be opened.
+ * kern/disk.c (grub_disk_open): Do not account previous failures of
+ unrelated functions when grub_errno is checked for.
+
+2008-01-08 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
+ `! grub_linux_is_bzimage', change order of address comparison to make
+ it more intuitive, and improve "too big zImage" error message.
+
+2008-01-08 Robert Millan <rmh@aybabtu.com>
+
+ * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
+ `$(update-grub_DATA)'.
+ (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
+ targets.
+
+2008-01-07 Robert Millan <rmh@aybabtu.com>
+
+ * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
+ which instruction is modified by grub-setup during installation
+ (since it wasn't obvious by only looking at this file).
+
+2008-01-07 Robert Millan <rmh@aybabtu.com>
+
+ * TODO: Rewrite. Just refer to the wiki and the BTS instead of
+ listing actual TODO items.
+
+2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
+ correctly.
+ (grub_reiserfs_get_key_offset): Likewise.
+ (grub_reiserfs_set_key_offset): Likewise.
+ (grub_reiserfs_set_key_type): Likewise.
+ (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
+
+ (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
+ better to remove the bitfield version completely.
+
+2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
+ allocated from the heap, due to the fshelp implementation.
+ (grub_reiserfs_dir): Free NODE, due to the same reason.
+
+2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Mostly from Vincent Pelletier:
+
+ * fs/reiserfs.c: New file.
+
+ * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
+ (reiserfs_mod_SOURCES): New variable.
+ (reiserfs_mod_CFLAGS): Likewise.
+ (reiserfs_mod_LDFLAGS): Likewise.
+
+ * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
+ disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
+ include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
+ normal/color.c.
+
+2008-01-06 Robert Millan <rmh@aybabtu.com>
+
+ * normal/color.c: Remove `<grub/env.h>'.
+
+2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * include/grub/normal.h: Include <grub/env.h>.
+
+2008-01-05 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
+ usage example with `(hd0,1)'.
+ Reported by Samuel Thibault.
+
+2008-01-05 Robert Millan <rmh@aybabtu.com>
+
+ * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
+ (grub_linux_boot_zimage): Rename to ...
+ (grub_linux_boot): ... this.
+ (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
+ (grub_linux_boot_zimage): Conditionalize zImage copy.
+
+ * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
+ (grub_linux_boot_bzimage): Remove prototype.
+ (grub_linux_boot_zimage): Rename to ...
+ (grub_linux_boot): ... this.
+
+ * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
+ (grub_linux_boot): Remove function.
+
+2008-01-05 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/normal.h (grub_env_write_color_normal): New prototype.
+ (grub_env_write_color_highlight): Likewise.
+ (grub_wait_after_message): Likewise.
+
+ * normal/color.c: New file.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
+ (normal_mod_DEPENDENCIES): Likewise.
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
+ (normal_mod_DEPENDENCIES): Likewise.
+
+ * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
+ (normal_mod_DEPENDENCIES): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
+ (normal_mod_DEPENDENCIES): Likewise.
+
+ * normal/menu_entry.c (run): Rely on grub_wait_after_message()
+ for waiting after a message is printed.
+ * normal/main.c (read_config_file): Likewise.
+ (grub_normal_init): Register grub_env_write_color_normal() and
+ grub_env_write_color_highlight() hooks. Mark `color_normal' and
+ `color_highlight' variables as global.
+
+ * normal/menu.c (grub_wait_after_message): New function.
+ (grub_color_menu_normal): New variable. Replaces ...
+ (GRUB_COLOR_MENU_NORMAL): ... this macro.
+ (grub_color_menu_highlight): New variable. Replaces ...
+ (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
+ (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
+ `GRUB_TERM_COLOR_STANDARD'.
+ (print_message): Use `grub_setcolorstate' to reload colors. Rename
+ `normal_code' and `highlight_code' to `old_color_normal' and
+ `old_color_highlight', respectively.
+ (grub_menu_init_page): Update colors when drawing the menu, based on
+ `menu_color_normal' and `menu_color_highlight' variables.
+ (grub_menu_run): Rely on grub_wait_after_message() for waiting after
+ a message is printed.
+
+2008-01-05 Robert Millan <rmh@aybabtu.com>
+
+ * kern/env.c (grub_env_context_open): Propagate hooks for global
+ variables to new context.
+
+ * kern/main.c (grub_set_root_dev): Export `root' variable.
+
+2008-01-05 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
+ discs unconditionally, since udev and others have options to provide
+ them.
+
+2008-01-05 Robert Millan <rmh@aybabtu.com>
+
+ * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
+
+2008-01-04 Christian Franke <franke@computer.org>
+
+ * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
+ of eisa_mmap.
+
+2008-01-03 Pavel Roskin <proski@gnu.org>
+
+ * kern/i386/linuxbios/init.c: Put "void" to all function
+ declarations with no arguments.
+ * kern/powerpc/ieee1275/init.c: Likewise.
+ * term/i386/pc/at_keyboard.c: Likewise.
+ * term/i386/pc/vga_text.c: Likewise.
+ * util/grub-mkdevicemap.c: Likewise.
+
+2008-01-02 Robert Millan <rmh@aybabtu.com>
+
+ * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
+ message when loaded image is out of bounds.
+ (grub_multiboot_load_elf64): Likewise.
+
+2008-01-02 Pavel Roskin <proski@gnu.org>
+
+ * util/grub.d/10_linux.in: Try version without ".old" when
+ looking for initrd. It's better to use initrd from the newer
+ kernel of the same version than no initrd at all.
+
+2008-01-01 Robert Millan <rmh@aybabtu.com>
+
+ * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
+
+2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * include/grub/video.h: Added grub_video_unmap_color and
+ grub_video_get_active_render_target.
+ (grub_video_adapter): Added unmap_color and get_active_render_target.
+
+ * video/video.c: Added grub_video_unmap_color and
+ grub_video_get_active_render_target.
+ (grub_video_get_info): Changed method to accept NULL pointer as an
+ argument to allow detection of active video adapter.
+
+ * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
+ grub_video_vbe_unmap_color_int.
+ Added grub_video_vbe_unmap_color and
+ grub_video_vbe_get_active_render_target.
+ (grub_video_vbe_adapter): Added unmap_color and
+ get_active_render_target.
+
+ * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
+ with grub_video_vbe_unmap_color_int.
+
+ * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
+ (DEFAULT_NORMAL_COLOR): Likewise.
+ (DEFAULT_HIGHLIGHT_COLOR) Likewise.
+ (DEFAULT_FG_COLOR): Removed.
+ (DEFAULT_BG_COLOR): Likewise.
+ (DEFAULT_CURSOR_COLOR): Changed value.
+ (grub_virtual_screen): Added standard_color_setting,
+ normal_color_setting, highlight_color_setting and term_color.
+ (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
+ (bitmap_width): Added.
+ (bitmap_height): Likewise.
+ (bitmap): Likewise.
+ (set_term_color): Likewise.
+ (grub_virtual_screen_setup): Changed to use new terminal coloring
+ settings.
+ (grub_gfxterm_init): Added init for bitmap.
+ (grub_gfxterm_fini): Added destroy for bitmap.
+ (redraw_screen_rect): Updated to use background bitmap and new
+ terminal coloring.
+ (scroll_up): Added optimization for case when there is no bitmap.
+ (grub_gfxterm_cls): Fixed to use correct background color.
+ (grub_virtual_screen_setcolorstate): Changed to use new terminal
+ coloring.
+ (grub_virtual_screen_setcolor): Likewise.
+ (grub_virtual_screen_getcolor): Added.
+ (grub_gfxterm_background_image_cmd): Likewise.
+ (grub_video_term): Added setcolor and getcolor.
+ (MOD_INIT): Added registration of background_image command.
+ (MOD_TERM): Added unregistration for background_image command.
+
+2007-12-30 Pavel Roskin <proski@gnu.org>
+
+ * loader/multiboot_loader.c: Fix multiboot command
+ unregistration. Fix all typos in the word "multiboot".
+
+2007-12-29 Pavel Roskin <proski@gnu.org>
+
+ * util/grub.d/10_linux.in: Refactor search for initrd. Add
+ support for initrd names used in Fedora.
+
+2007-12-26 Bean <bean123ch@gmail.com>
+
+ * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
+ (cpio_mod_SOURCES): New variable.
+ (cpio_mod_CFLAGS): Likewise.
+ (cpio_mod_LDFLAGS): Likewise.
+
+ * fs/cpio.c: New file.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+2007-12-25 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/term.h (struct grub_term): Add `getcolor' function.
+ (grub_getcolor): New function.
+
+ * kern/term.c (grub_getcolor): New function.
+ * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
+ (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
+ (print_entry): Set normal and highlight colors to
+ `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
+ respectively, before printing and restore them to old
+ values afterwards.
+ (grub_menu_init_page): Likewise. Fill an additional colored space
+ that would otherwise be left blank.
+
+ * term/efi/console.c (grub_console_getcolor): New function.
+ (struct grub_console_term.getcolor): New variable.
+ * term/i386/pc/console.c (grub_console_getcolor): New function.
+ (struct grub_console_term.getcolor): New variable.
+ * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
+ (struct grub_console_term.getcolor): New variable.
+
+ * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
+ (struct grub_console_term.setcolor): Remove variable.
+ * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
+ (struct grub_console_term.setcolor): Remove variable.
+ * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
+ (struct grub_console_term.setcolor): Remove variable.
+ * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
+ (struct grub_console_term.setcolor): Remove variable.
+
+2007-12-25 Robert Millan <rmh@aybabtu.com>
+
+ * configure.ac: Search for possible unifont.hex locations, and
+ define UNIFONT_HEX if found.
+
+ * Makefile.in (UNIFONT_HEX): Define variable.
+ (DATA): Rename to ...
+ (PKGLIB): ... this. Update all users.
+ (PKGDATA): New variable.
+ (pkgdata_IMAGES): Rename to ...
+ (pkglib_IMAGES): ... this. Update all users.
+ (pkgdata_MODULES): Rename to ...
+ (pkglib_MODULES): ... this. Update all users.
+ (pkgdata_PROGRAMS): Rename to ...
+ (pkglib_PROGRAMS): ... this. Update all users.
+ (pkgdata_DATA): Rename to ...
+ (pkglib_DATA): ... this. Update all users.
+ (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
+ (unicode.pff, ascii.pff): New rules.
+ (all-local): Add `$(PKGDATA)' dependency.
+ (install-local): Process `$(PKGDATA)'.
+
+ * util/update-grub_lib.in (font_path): Search for *.pff files in
+ a few more locations, including `${pkgdata}'.
+
+2007-12-23 Robert Millan <rmh@aybabtu.com>
+
+ Patch from Bean <bean123ch@gmail.com>:
+ * disk/loopback.c (grub_loopback_read): Add missing bit shift to
+ `size'.
+
+2007-12-21 Bean <bean123ch@gmail.com>
+
+ * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
+ (ntfscomp_mod_SOURCES): New variable.
+ (ntfscomp_mod_CFLAGS): Likewise.
+ (ntfscomp_mod_LDFLAGS): Likewise.
+
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
+ (grub_probe_SOURCES): Likewise.
+ (grub_emu_SOURCES): Likewise.
+
+ * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
+ (grub_emu_SOURCES): Likewise.
+
+ * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
+ (grub_emu_SOURCES): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
+ (grub_emu_SOURCES): Likewise.
+
+ * fs/ntfs.c (grub_ntfscomp_func): New variable.
+ (read_run_list): Renamed to grub_ntfs_read_run_list.
+ (decomp_nextvcn): Moved to ntfscomp.c.
+ (decomp_getch): Likewise.
+ (decomp_get16): Likewise.
+ (decomp_block): Likewise.
+ (read_block): Likewise.
+ (read_data): Partially moved to ntfscomp.c.
+ (fixup): Change unsigned to grub_uint16_t.
+ (read_mft): Change unsigned long to grub_uint32_t.
+ (read_attr): Likewise.
+ (read_data): Likewise.
+ (read_run_data): Likewise.
+ (read_run_list): Likewise.
+ (read_mft): Likewise.
+
+ * fs/ntfscomp.c: New file.
+
+ * include/grub/ntfs.h: New file.
+
+2007-12-16 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
+ IDE disk check, since Linux is known to support 20 IDE disks.
+ Reported by Colin Watson.
+
+2007-12-15 Bean <bean123ch@gmail.com>
+
+ * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
+ (lnxboot_img_SOURCES): New variable.
+ (lnxboot_img_ASFLAGS): Likewise.
+ (lnxboot_img_LDFLAGS): Likewise.
+
+ * boot/i386/pc/lnxboot.S: New file.
+
+2007-11-24 Pavel Roskin <proski@gnu.org>
+
+ * configure.ac: Test if '--build-id=none' is supported by the
+ linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
+ objcopy to generate incorrect binary files (binutils
+ 2.17.50.0.18-1 as shipped by Fedora 8).
+ * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
+ linking, so that build ID doesn't break the test.
+
+2007-11-24 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/i386/time.h: use "void" in the argument list
+ of grub_cpu_idle().
+ * include/grub/powerpc/time.h: Likewise.
+ * include/grub/sparc64/time.h: Likewise.
+
+2007-11-18 Christian Franke <franke@computer.org>
+
+ * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
+ now return control chars instead of GRUB_CONSOLE_KEY_* constants.
+ This fixes the problem that function keys did not work in grub-emu.
+
+2007-11-18 Christian Franke <franke@computer.org>
+
+ * disk/host.c (grub_host_open): Remove attribute unused from
+ name parameter. Add check for "host". This fixes the problem
+ that grub-emu does not find partitions.
+
+2007-11-18 Christian Franke <franke@computer.org>
+
+ * util/hostfs.c (is_dir): New function.
+ (grub_hostfs_dir): Handle missing dirent.d_type case.
+ (grub_hostfs_read): Add missing fseek().
+ (grub_hostfs_label): Clear label pointer. This fixes a crash
+ of grub-emu on "ls (host)".
+
+2007-11-18 Christian Franke <franke@computer.org>
+
+ * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
+ Add attribute packed, gcc 3.4.4 on Cygwin aligns this
+ to 64 bit boundary by default.
+
+2007-11-18 Bean <bean123ch@gmail.com>
+
+ * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
+ (hexdump_mod_SOURCES): New variable.
+ (hexdump_mod_CFLAGS): Likewise.
+ (hexdump_mod_LDFLAGS): Likewise.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
+
+ * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
+
+ * include/grub/hexdump.h: New file.
+
+ * commands/hexdump.c: New file.
+
+2007-11-10 Robert Millan <rmh@aybabtu.com>
+
+ * commands/i386/pc/play.c (beep_off): Switch order of arguments
+ in grub_outb() calls.
+ (beep_on): Likewise.
+
+2007-11-10 Christian Franke <franke@computer.org>
+
+ * normal/menu.c (run_menu): Check for empty menu to avoid crash.
+ (grub_menu_run): Likewise.
+
+2007-11-10 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/efi/machine.h: New file.
+ * include/grub/i386/linuxbios/machine.h: Likewise.
+ * include/grub/i386/pc/machine.h: Likewise.
+ * include/grub/powerpc/ieee1275/machine.h: Likewise.
+ * include/grub/sparc64/ieee1275/machine.h: Likewise.
+
+ * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
+ (serial_hw_io_addr): New variable.
+ (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
+ instead of `(unsigned short *) 0x400'.
+
+2007-11-10 Bean <bean123ch@gmail.com>
+
+ * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
+
+2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
+ (vga_mod_SOURCES): Added.
+ (vga_mod_CFLAGS): Likewise.
+ (vga_mod_LDFLAGS): Likewise.
+
+ * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
+ grub_outb() calls.
+ (set_map_mask): Likewise.
+ (set_read_map): Likewise.
+ (set_read_address): Likewise.
+ (vga_font): Removed variable.
+ (get_vga_glyph): Removed function.
+ (invalidate_char): Likewise.
+ (write_char): Changed to use grub_font_get_glyph() for font
+ information.
+ (grub_vga_putchar): Likewise.
+ (grub_vga_getcharwidth): Likewise.
+
+2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
+ flags.
+ (pxeboot_img_LDFLAGS): Likewise.
+ (diskboot_img_LDFLAGS): Likewise.
+ (kernel_img_LDFLAGS): Likewise.
+
+2007-11-06 Robert Millan <rmh@aybabtu.com>
+
+ * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
+ in grub_outb() calls.
+ (serial_hw_init): Likewise.
+
+2007-11-05 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub.in: Allow files in ${update_grub_dir} to contain
+ spaces. Skip non-regular files.
+
+2007-11-05 Robert Millan <rmh@aybabtu.com>
+
+ * kern/disk.c (grub_disk_firmware_fini)
+ (grub_disk_firmware_is_tainted): New variables.
+
+ * include/grub/disk.h (grub_disk_firmware_fini)
+ (grub_disk_firmware_is_tainted): Likewise.
+
+ * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
+ (grub_disk_biosdisk_fini): ... to here.
+ (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
+ (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
+ is set. Register grub_disk_biosdisk_fini() in
+ `grub_disk_firmware_fini'.
+
+ * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
+ (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
+ Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
+ to finish existing firmware disk interface.
+
+ * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
+ (ata_mod_SOURCES): New variable.
+ (ata_mod_CFLAGS): Likewise.
+ (ata_mod_LDFLAGS): Likewise.
+
+2007-11-05 Robert Millan <rmh@aybabtu.com>
+
+ * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
+ (grub_ata_wait): Reimplement using grub_millisleep().
+
+ * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
+ * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
+
+2007-11-03 Marco Gerards <marco@gnu.org>
+
+ * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
+ (CRTC_ADDR_PORT): New macro.
+ (CRTC_DATA_PORT): Likewise.
+ (CRTC_CURSOR): Likewise.
+ (CRTC_CURSOR_ADDR_HIGH): Likewise.
+ (CRTC_CURSOR_ADDR_LOW): Likewise.
+ (update_cursor): New function.
+ (grub_console_real_putchar): Call `update_cursor'.
+ (grub_console_gotoxy): Likewise.
+ (grub_console_cls): Set the default color when clearing the
+ screen.
+ (grub_console_setcursor): Implemented.
+
+2007-11-03 Marco Gerards <marco@gnu.org>
+
+ * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
+ become activate.
+ (grub_ata_pio_write): Likewise.
+
+ (grub_atapi_identify): Wait after issuing an ATA command.
+ (grub_atapi_packet): Likewise.
+ (grub_ata_identify): Likewise.
+ (grub_ata_readwrite): Likewise.
+
+2007-11-03 Marco Gerards <marco@gnu.org>
+
+ * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
+ (grub_ata_pio_write): Likewise.
+ (grub_ata_readwrite): Use `grub_error', instead of
+ returning `grub_errno'.
+
+2007-11-03 Marco Gerards <marco@gnu.org>
+
+ * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
+ grub_ata_pio_write once for every single sector, instead of for
+ multiple sectors.
+
+2007-10-31 Robert Millan <rmh@aybabtu.com>
+
+ * configure.ac: Add `i386-linuxbios' to the list of supported targets.
+
+ * conf/i386-linuxbios.rmk: New file.
+
+ * kern/i386/pc/hardware.c: Likewise.
+ * term/i386/pc/at_keyboard.c: Likewise.
+ * term/i386/pc/vga_text.c: Likewise.
+
+ * include/grub/i386/linuxbios/boot.h: Likewise.
+ * include/grub/i386/linuxbios/console.h: Likewise.
+ * include/grub/i386/linuxbios/init.h: Likewise.
+ * include/grub/i386/linuxbios/kernel.h: Likewise.
+ * include/grub/i386/linuxbios/loader.h: Likewise.
+ * include/grub/i386/linuxbios/memory.h: Likewise.
+ * include/grub/i386/linuxbios/serial.h: Likewise.
+ * include/grub/i386/linuxbios/time.h: Likewise.
+
+ * kern/i386/linuxbios/init.c: Likewise.
+ * kern/i386/linuxbios/startup.S: Likewise.
+ * kern/i386/linuxbios/table.c: Likewise.
+
+2007-10-31 Marco Gerards <marco@gnu.org>
+
+ * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
+ (ata_mod_SOURCES): New variable.
+ (ata_mod_CFLAGS): Likewise.
+ (ata_mod_LDFLAGS): Likewise.
+
+ * disk/ata.c: New file.
+
+ * include/grub/disk.h (grub_disk_dev_id): Add
+ `GRUB_DISK_DEV_ATA_ID'.
+
+2007-10-31 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
+ * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
+
+ * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
+ * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
+
+ * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
+ `<grub/types.h>'.
+
+ * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
+
+2007-10-27 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/types.h (ULONG_MAX): Define macro.
+
+2007-10-22 Robert Millan <rmh@aybabtu.com>
+
+ * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
+ `"../realmode.S"'.
+ Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
+
+2007-10-22 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
+ (pkgdata_MODULES): Add `biosdisk.mod'.
+ (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
+ variables.
+
+ * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
+ (grub_biosdisk_init): Replace with ...
+ (GRUB_MOD_INIT(biosdisk)): ... this.
+ (grub_biosdisk_fini): Replace with ...
+ (GRUB_MOD_FINI(biosdisk)): ... this.
+
+ * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
+ (grub_machine_init): Remove call to grub_biosdisk_init().
+ (grub_machine_fini): Remove call to grub_machine_fini().
+
+ * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
+
+2007-10-22 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/time.h: New file.
+ * include/grub/i386/time.h: Likewise.
+ * include/grub/powerpc/time.h: Likewise.
+ * include/grub/sparc64/time.h: Likewise.
+
+ * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
+ instances to ...
+ (KERNEL_MACHINE_TIME_HEADER): ... this.
+ * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
+ instances to ...
+ (KERNEL_MACHINE_TIME_HEADER): ... this.
+ * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
+ instances to ...
+ (KERNEL_MACHINE_TIME_HEADER): ... this.
+
+ * kern/i386/efi/init.c: Include `<grub/time.h>'.
+ (grub_millisleep): New function.
+ * kern/i386/pc/init.c: Include `<grub/time.h>'.
+ (grub_millisleep): New function.
+ * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
+ Remove `grub/machine/time.h' include.
+ (grub_millisleep): New function.
+ * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
+ Remove `grub/machine/time.h' include.
+ (grub_millisleep): New function.
+
+ * include/grub/misc.h (grub_div_roundup): New function.
+
+ * kern/misc.c: Include `<grub/time.h>'.
+ (grub_millisleep_generic): New function.
+
+ * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
+ Add `time.h'.
+ * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
+ Add `time.h'.
+ * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
+ `machine/time.h'. Add `time.h'.
+ * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
+
+2007-10-21 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/misc.h (grub_max): New function.
+
+2007-10-21 Robert Millan <rmh@aybabtu.com>
+
+ * util/misc.c (grub_util_info): Call fflush() before returning.
+
+2007-10-20 Robert Millan <rmh@aybabtu.com>
+
+ * genmk.rb (Image): Copy `extra_flags' from here ...
+ (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
+
+ * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
+ to `argc' and `args' arguments.
+
+2007-10-17 Robert Millan <rmh@aybabtu.com>
+
+ * kern/i386/loader.S: New file.
+
+ * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
+ * kern/i386/loader.S (grub_linux_prot_size)... to here.
+ * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
+ * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
+ * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
+ * kern/i386/loader.S (grub_linux_real_addr)... to here.
+ * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
+ * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
+ * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
+ * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
+ * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
+ * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
+ * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
+ * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
+
+ * kern/i386/realmode.S: New file.
+
+ * kern/i386/pc/startup.S (protstack): Moved from here ...
+ * kern/i386/realmode.S (protstack)... to here.
+ * kern/i386/pc/startup.S (gdt): Moved from here ...
+ * kern/i386/realmode.S (gdt)... to here.
+ * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
+ * kern/i386/realmode.S (prot_to_real)... to here.
+
+ * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
+ `kern/i386/realmode.S'.
+
+2007-10-17 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/loader.h: New file.
+
+ * include/grub/i386/pc/loader.h (grub_linux_prot_size)
+ (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
+ (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
+ (grub_multiboot_real_boot, grub_multiboot2_real_boot)
+ (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
+ * include/grub/i386/loader.h (grub_linux_prot_size)
+ (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
+ (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
+ (grub_multiboot_real_boot, grub_multiboot2_real_boot)
+ (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
+
+ * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
+
+2007-10-15 Robert Millan <rmh@aybabtu.com>
+
+ * normal/misc.c (grub_normal_print_device_info): Do not probe for
+ filesystem when dev->disk is unset.
+ Do probe for filesystem even when dev->disk->has_partitions is set.
+ In case a filesystem is found, always report it.
+ In case it isn't, if dev->disk->has_partitions is set, report that
+ a partition table was found instead of reporting that no filesystem
+ could be identified.
+
+2007-10-12 Robert Millan <rmh@aybabtu.com>
+
+ * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
+ to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
+
+ * include/grub/types.h (grub_host_to_target16): New macro.
+ (grub_host_to_target32): Likewise.
+ (grub_host_to_target64): Likewise.
+ (grub_target_to_host16): Likewise.
+ (grub_target_to_host32): Likewise.
+ (grub_target_to_host64): Likewise.
+
+ * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
+ Renamed from to ...
+ (GRUB_MOD_ALIGN): ...this. Update all users.
+
+ * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
+ grub_host_to_target32.
+ Replace grub_be_to_cpu32 with grub_target_to_host32.
+ (load_modules): Likewise.
+ (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
+ Replace grub_be_to_cpu32 with grub_target_to_host32.
+ Replace grub_cpu_to_be16 with grub_host_to_target16.
+ Replace grub_cpu_to_be32 grub_host_to_target32.
+
+2007-10-12 Robert Millan <rmh@aybabtu.com>
+
+ * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
+ * util/elf/grub-mkimage.c: ... here.
+
+ * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
+ `util/powerpc/ieee1275/grub-mkimage.c'.
+
+2007-10-07 Robert Millan <rmh@aybabtu.com>
+
+ * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
+ and make it easier to figure out.
+ Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
+ (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
+ Do not avoid claiming a region above HEAP_MAX_ADDR if that would
+ leave us with less than HEAP_MIN_SIZE total heap.
+ Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
+
+2007-10-03 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/io.h: New file.
+ * commands/i386/pc/play.c (inb): Removed.
+ (outb): Removed.
+ Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
+ with grub_outb().
+ * term/i386/pc/serial.c (inb): Removed.
+ (outb): Removed.
+ Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
+ with grub_outb().
+ * term/i386/pc/vga.c (inb): Removed.
+ (outb): Removed.
+ Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
+ with grub_outb().
+
+2007-10-02 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ Reported by Marcin Kurek.
+
+2007-09-07 Robert Millan <rmh@aybabtu.com>
+
+ * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
+ SmartFirmware version updates (as released by Sven Luther), and avoid
+ setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
+ GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
+ known broken.
+
+2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
+
+ From Hitoshi Ozeki:
+ * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
+ when merging two regions.
+
+2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
+ * normal/completion.c (grub_normal_do_completion): Likewise.
+ Reported by Hitoshi Ozeki.
+
+2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Do not use devices at boot in chainloading.
+
+ * loader/i386/pc/chainloader.c (boot_drive): New variable.
+ (boot_part_addr): Likewise.
+ (grub_chainloader_boot): Simply call grub_chainloader_real_boot
+ with BOOT_DRIVE and BOOT_PART_ADDR.
+ (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
+ Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
+
+2007-08-29 Robert Millan <rmh@aybabtu.com>
+
+ Patch from Simon Peter <dn.tlp@gmx.net>:
+ * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
+ * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
+ util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
+ util/i386/pc/grub-setup.c_DEPENDENCIES.
+ * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
+ util/grub-probe.c_DEPENDENCIES.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+
+2007-08-28 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
+ to tell grub-mkdevicemap how to name devices.
+ * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
+ feature).
+
+ * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
+ util/i386/get_disk_name.c.
+ * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
+ util/ieee1275/get_disk_name.c.
+
+ * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
+
+ * DISTLIST: Add util/i386/get_disk_name.c and
+ util/ieee1275/get_disk_name.c.
+
+ * util/grub-mkdevicemap.c: Replace device naming logic with
+ grub_util_get_disk_name() calls.
+
+2007-08-20 Robert Millan <rmh@aybabtu.com>
+
+ * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
+ (so that it works for both plural and singular quantities).
+
+2007-08-05 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
+ so that [xz] isn't taken into account when determining order.
+
+2007-08-02 Marco Gerards <marco@gnu.org>
+
+ * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
+ `include/multiboot2.h', `include/grub/elfload.h',
+ `include/multiboot.h', `include/grub/multiboot.h',
+ `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
+ `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
+ `kern/elf.c', `loader/multiboot_loader.c',
+ `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
+ `loader/i386/pc/multiboot2.c',
+ `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
+ `util/i386/pc/grub-mkrescue.in'. Remove
+ `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
+ `include/grub/i386/pc/util/biosdisk.h' and
+ `include/grub/powerpc/ieee1275/multiboot.h'.
+
+2007-08-02 Bean <bean123ch@gmail.com>
+
+ * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
+ (ntfs_mod_SOURCES): New variable.
+ (ntfs_mod_CFLAGS): Likewise.
+ (ntfs_mod_LDFLAGS): Likewise.
+
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
+ (grub_probe_SOURCES): Likewise.
+ (grub_emu_SOURCES): Likewise.
+
+ * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
+ (grub_emu_SOURCES): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
+ (grub_emu_SOURCES): Likewise.
+
+ * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
+
+ * fs/ntfs.c: New file.
+
+2007-08-02 Bean <bean123ch@gmail.com>
+
+ * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
+
+ * file.h (grub_file): Likewise.
+
+ * fshelp.h (grub_fshelp_read_file): Likewise.
+
+ * util/i386/pc/grub-setup.c (setup): Likewise.
+ (save_first_sector): Likewise.
+ (save_blocklists): Likewise.
+
+ * fs/affs.c (grub_affs_read_file): Likewise.
+
+ * fs/ext2.c (grub_ext2_read_file): Likewise.
+
+ * fs/fat.c (grub_fat_read_data): Likewise.
+
+ * fs/fshelp.c (grub_fshelp_read_file): Likewise.
+
+ * fs/hfs.c (grub_hfs_read_file): Likewise.
+
+ * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
+
+ * fs/jfs.c (grub_jfs_read_file): Likewise.
+
+ * fs/minix.c (grub_minix_read_file): Likewise.
+
+ * fs/sfs.c (grub_sfs_read_file): Likewise.
+
+ * fs/ufs.c (grub_ufs_read_file): Likewise.
+
+ * fs/xfs.c (grub_xfs_read_file): Likewise.
+
+ * command/blocklist.c (read_blocklist): Likewise.
+ (print_blocklist): Likewise.
+
+2007-08-02 Marco Gerards <marco@gnu.org>
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
+ `util/hostfs.c'.
+
+ * disk/host.c: New file.
+
+ * util/hostfs.c: Likewise.
+
+ * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
+ return `GRUB_ERR_BAD_FS'.
+ * fs/sfs.c (grub_sfs_mount): Likewise.
+ * fs/xfs.c (grub_xfs_mount): Likewise.
+
+ * include/grub/disk.h (enum grub_disk_dev_id): Add
+ `GRUB_DISK_DEVICE_HOST_ID'.
+
+ * util/grub-emu.c (main): Initialize and de-initialize hostfs.
+
+2007-07-24 Jerone Young <jerone@gmail.com>
+
+ * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
+ modules for compilation.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+
+ * include/multiboot.h: Move multiboot definitions to one file. Rename
+ many definitions to not get grub specific.
+ * include/multiboot2.h: Create header with multiboot 2 definitions.
+ * include/grub/multiboot.h: Header for grub specific function
+ prototypes and definitions.
+ * include/grub/multiboot2.h: Likewise.
+ * include/grub/multiboot_loader.h: Likewise.
+ * include/grub/i386/pc/multiboot.h: Removed.
+ * include/grub/powerpc/ieee1275/multiboot.h: Removed.
+
+ * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
+ and 2 to allow for one multiboot and module commands.
+ * loader/multiboot2.c: Add multiboot2 functionality.
+ * loader/i386/pc/multiboot.c: Modify for new multiboot header location
+ and definition names.
+ * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
+ 2 functions.
+ * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
+ ieee1275 specific multiboot2 code.
+
+ * kern/i386/pc/startup.S: Change headers and definition names for
+ multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
+
+2007-07-22 Robert Millan <rmh@aybabtu.com>
+
+ * geninitheader.sh: Process file specified in first parameter rather
+ than hardcoding grub_modules_init.lst.
+ * geninit.sh: Likewise. Also, construct header name dynamically rather
+ than hardcoding grub_modules_init.h.
+
+ * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
+ grub-emu to grub_emu_init.[ch]. Add rules to build analogous
+ grub_probe_init.[ch] and grub_setup_init.[ch].
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
+ grub_modules_init.h with grub_emu_init.h.
+ (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
+ grub_probe_init.[ch] files.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
+ grub_setup_init.[ch] files.
+
+ * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
+ * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
+ to initialize modules rather than a list of hardcoded functions.
+ * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
+ grub_init_all() to initialize modules rather than a list of hardcoded
+ functions.
+
+2007-07-22 Robert Millan <rmh@aybabtu.com>
+
+ * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
+ GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
+
+2007-07-22 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
+ GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
+ * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
+ flag when running on SmartFirmware.
+ * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
+ "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
+ was set.
+
+ * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
+ Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
+ rather than decreasing it.
+
+ * util/i386/pc/grub-setup.c (setup): When embedding is required, but
+ there's not enough space to do it, fail in the same way as when it
+ can't be done because there are no partitions.
+
+ * util/powerpc/ieee1275/grub-install.in: Improve error message shown
+ when nvsetenv failed.
+
+2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
+ because this rule is automatically generated.
+ (grub-mkrescue): Removed for the same reason as above.
+
+2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Migrate to GNU General Public License Version 3.
+
+ * COPYING: Replaced with the plain text version of GPLv3.
+
+ * config.guess: Updated from gnulib.
+ * config.sub: Likewise.
+
+ * geninit.sh: Output a GPLv3 copyright notice.
+ * geninitheader.sh: Likewise.
+ * genmodsrc.sh: Likewise.
+ * gensymlist.sh.in: Likewise.
+
+ * boot/i386/pc/boot.S: Upgraded to GPLv3.
+ * boot/i386/pc/diskboot.S: Likewise.
+ * boot/i386/pc/pxeboot.S: Likewise.
+ * commands/blocklist.c: Likewise.
+ * commands/boot.c: Likewise.
+ * commands/cat.c: Likewise.
+ * commands/cmp.c: Likewise.
+ * commands/configfile.c: Likewise.
+ * commands/echo.c: Likewise.
+ * commands/help.c: Likewise.
+ * commands/ls.c: Likewise.
+ * commands/search.c: Likewise.
+ * commands/terminal.c: Likewise.
+ * commands/test.c: Likewise.
+ * commands/videotest.c: Likewise.
+ * commands/i386/cpuid.c: Likewise.
+ * commands/i386/pc/halt.c: Likewise.
+ * commands/i386/pc/play.c: Likewise.
+ * commands/i386/pc/reboot.c: Likewise.
+ * commands/i386/pc/vbeinfo.c: Likewise.
+ * commands/i386/pc/vbetest.c: Likewise.
+ * commands/ieee1275/halt.c: Likewise.
+ * commands/ieee1275/reboot.c: Likewise.
+ * commands/ieee1275/suspend.c: Likewise.
+ * disk/loopback.c: Likewise.
+ * disk/lvm.c: Likewise.
+ * disk/raid.c: Likewise.
+ * disk/efi/efidisk.c: Likewise.
+ * disk/i386/pc/biosdisk.c: Likewise.
+ * disk/ieee1275/ofdisk.c: Likewise.
+ * font/manager.c: Likewise.
+ * fs/affs.c: Likewise.
+ * fs/ext2.c: Likewise.
+ * fs/fat.c: Likewise.
+ * fs/fshelp.c: Likewise.
+ * fs/hfs.c: Likewise.
+ * fs/hfsplus.c: Likewise.
+ * fs/iso9660.c: Likewise.
+ * fs/jfs.c: Likewise.
+ * fs/minix.c: Likewise.
+ * fs/sfs.c: Likewise.
+ * fs/ufs.c: Likewise.
+ * fs/xfs.c: Likewise.
+ * hello/hello.c: Likewise.
+ * include/grub/acorn_filecore.h: Likewise.
+ * include/grub/arg.h: Likewise.
+ * include/grub/bitmap.h: Likewise.
+ * include/grub/boot.h: Likewise.
+ * include/grub/cache.h: Likewise.
+ * include/grub/device.h: Likewise.
+ * include/grub/disk.h: Likewise.
+ * include/grub/dl.h: Likewise.
+ * include/grub/elfload.h: Likewise.
+ * include/grub/env.h: Likewise.
+ * include/grub/err.h: Likewise.
+ * include/grub/file.h: Likewise.
+ * include/grub/font.h: Likewise.
+ * include/grub/fs.h: Likewise.
+ * include/grub/fshelp.h: Likewise.
+ * include/grub/gzio.h: Likewise.
+ * include/grub/hfs.h: Likewise.
+ * include/grub/kernel.h: Likewise.
+ * include/grub/loader.h: Likewise.
+ * include/grub/lvm.h: Likewise.
+ * include/grub/misc.h: Likewise.
+ * include/grub/mm.h: Likewise.
+ * include/grub/net.h: Likewise.
+ * include/grub/normal.h: Likewise.
+ * include/grub/parser.h: Likewise.
+ * include/grub/partition.h: Likewise.
+ * include/grub/pc_partition.h: Likewise.
+ * include/grub/raid.h: Likewise.
+ * include/grub/rescue.h: Likewise.
+ * include/grub/script.h: Likewise.
+ * include/grub/setjmp.h: Likewise.
+ * include/grub/symbol.h: Likewise.
+ * include/grub/term.h: Likewise.
+ * include/grub/terminfo.h: Likewise.
+ * include/grub/tparm.h: Likewise.
+ * include/grub/types.h: Likewise.
+ * include/grub/video.h: Likewise.
+ * include/grub/efi/api.h: Likewise.
+ * include/grub/efi/chainloader.h: Likewise.
+ * include/grub/efi/console.h: Likewise.
+ * include/grub/efi/console_control.h: Likewise.
+ * include/grub/efi/disk.h: Likewise.
+ * include/grub/efi/efi.h: Likewise.
+ * include/grub/efi/pe32.h: Likewise.
+ * include/grub/efi/time.h: Likewise.
+ * include/grub/i386/linux.h: Likewise.
+ * include/grub/i386/setjmp.h: Likewise.
+ * include/grub/i386/types.h: Likewise.
+ * include/grub/i386/efi/kernel.h: Likewise.
+ * include/grub/i386/efi/loader.h: Likewise.
+ * include/grub/i386/efi/time.h: Likewise.
+ * include/grub/i386/pc/biosdisk.h: Likewise.
+ * include/grub/i386/pc/boot.h: Likewise.
+ * include/grub/i386/pc/chainloader.h: Likewise.
+ * include/grub/i386/pc/console.h: Likewise.
+ * include/grub/i386/pc/init.h: Likewise.
+ * include/grub/i386/pc/kernel.h: Likewise.
+ * include/grub/i386/pc/loader.h: Likewise.
+ * include/grub/i386/pc/memory.h: Likewise.
+ * include/grub/i386/pc/multiboot.h: Likewise.
+ * include/grub/i386/pc/serial.h: Likewise.
+ * include/grub/i386/pc/time.h: Likewise.
+ * include/grub/i386/pc/vbe.h: Likewise.
+ * include/grub/i386/pc/vbeblit.h: Likewise.
+ * include/grub/i386/pc/vbefill.h: Likewise.
+ * include/grub/i386/pc/vbeutil.h: Likewise.
+ * include/grub/i386/pc/vga.h: Likewise.
+ * include/grub/ieee1275/ieee1275.h: Likewise.
+ * include/grub/ieee1275/ofdisk.h: Likewise.
+ * include/grub/powerpc/libgcc.h: Likewise.
+ * include/grub/powerpc/setjmp.h: Likewise.
+ * include/grub/powerpc/types.h: Likewise.
+ * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
+ * include/grub/powerpc/ieee1275/console.h: Likewise.
+ * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
+ * include/grub/powerpc/ieee1275/kernel.h: Likewise.
+ * include/grub/powerpc/ieee1275/loader.h: Likewise.
+ * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
+ * include/grub/powerpc/ieee1275/time.h: Likewise.
+ * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
+ * include/grub/sparc64/libgcc.h: Likewise.
+ * include/grub/sparc64/setjmp.h: Likewise.
+ * include/grub/sparc64/types.h: Likewise.
+ * include/grub/sparc64/ieee1275/console.h: Likewise.
+ * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
+ * include/grub/sparc64/ieee1275/kernel.h: Likewise.
+ * include/grub/sparc64/ieee1275/time.h: Likewise.
+ * include/grub/util/biosdisk.h: Likewise.
+ * include/grub/util/getroot.h: Likewise.
+ * include/grub/util/lvm.h: Likewise.
+ * include/grub/util/misc.h: Likewise.
+ * include/grub/util/raid.h: Likewise.
+ * include/grub/util/resolve.h: Likewise.
+ * io/gzio.c: Likewise.
+ * kern/device.c: Likewise.
+ * kern/disk.c: Likewise.
+ * kern/dl.c: Likewise.
+ * kern/elf.c: Likewise.
+ * kern/env.c: Likewise.
+ * kern/err.c: Likewise.
+ * kern/file.c: Likewise.
+ * kern/fs.c: Likewise.
+ * kern/loader.c: Likewise.
+ * kern/main.c: Likewise.
+ * kern/misc.c: Likewise.
+ * kern/mm.c: Likewise.
+ * kern/parser.c: Likewise.
+ * kern/partition.c: Likewise.
+ * kern/rescue.c: Likewise.
+ * kern/term.c: Likewise.
+ * kern/efi/efi.c: Likewise.
+ * kern/efi/init.c: Likewise.
+ * kern/efi/mm.c: Likewise.
+ * kern/i386/dl.c: Likewise.
+ * kern/i386/efi/init.c: Likewise.
+ * kern/i386/efi/startup.S: Likewise.
+ * kern/i386/pc/init.c: Likewise.
+ * kern/i386/pc/lzo1x.S: Likewise.
+ * kern/i386/pc/startup.S: Likewise.
+ * kern/ieee1275/ieee1275.c: Likewise.
+ * kern/powerpc/cache.S: Likewise.
+ * kern/powerpc/dl.c: Likewise.
+ * kern/powerpc/ieee1275/cmain.c: Likewise.
+ * kern/powerpc/ieee1275/crt0.S: Likewise.
+ * kern/powerpc/ieee1275/init.c: Likewise.
+ * kern/powerpc/ieee1275/openfw.c: Likewise.
+ * kern/sparc64/cache.S: Likewise.
+ * kern/sparc64/dl.c: Likewise.
+ * kern/sparc64/ieee1275/init.c: Likewise.
+ * kern/sparc64/ieee1275/openfw.c: Likewise.
+ * loader/efi/chainloader.c: Likewise.
+ * loader/efi/chainloader_normal.c: Likewise.
+ * loader/i386/efi/linux.c: Likewise.
+ * loader/i386/efi/linux_normal.c: Likewise.
+ * loader/i386/pc/chainloader.c: Likewise.
+ * loader/i386/pc/chainloader_normal.c: Likewise.
+ * loader/i386/pc/linux.c: Likewise.
+ * loader/i386/pc/linux_normal.c: Likewise.
+ * loader/i386/pc/multiboot.c: Likewise.
+ * loader/i386/pc/multiboot_normal.c: Likewise.
+ * loader/powerpc/ieee1275/linux.c: Likewise.
+ * loader/powerpc/ieee1275/linux_normal.c: Likewise.
+ * normal/arg.c: Likewise.
+ * normal/cmdline.c: Likewise.
+ * normal/command.c: Likewise.
+ * normal/completion.c: Likewise.
+ * normal/execute.c: Likewise.
+ * normal/function.c: Likewise.
+ * normal/lexer.c: Likewise.
+ * normal/main.c: Likewise.
+ * normal/menu.c: Likewise.
+ * normal/menu_entry.c: Likewise.
+ * normal/misc.c: Likewise.
+ * normal/parser.y: Likewise.
+ * normal/script.c: Likewise.
+ * normal/i386/setjmp.S: Likewise.
+ * normal/powerpc/setjmp.S: Likewise.
+ * normal/sparc64/setjmp.S: Likewise.
+ * partmap/acorn.c: Likewise.
+ * partmap/amiga.c: Likewise.
+ * partmap/apple.c: Likewise.
+ * partmap/gpt.c: Likewise.
+ * partmap/pc.c: Likewise.
+ * partmap/sun.c: Likewise.
+ * term/gfxterm.c: Likewise.
+ * term/terminfo.c: Likewise.
+ * term/efi/console.c: Likewise.
+ * term/i386/pc/console.c: Likewise.
+ * term/i386/pc/serial.c: Likewise.
+ * term/i386/pc/vesafb.c: Likewise.
+ * term/i386/pc/vga.c: Likewise.
+ * term/ieee1275/ofconsole.c: Likewise.
+ * util/biosdisk.c: Likewise.
+ * util/console.c: Likewise.
+ * util/genmoddep.c: Likewise.
+ * util/getroot.c: Likewise.
+ * util/grub-emu.c: Likewise.
+ * util/grub-mkdevicemap.c: Likewise.
+ * util/grub-probe.c: Likewise.
+ * util/lvm.c: Likewise.
+ * util/misc.c: Likewise.
+ * util/raid.c: Likewise.
+ * util/resolve.c: Likewise.
+ * util/update-grub.in: Likewise.
+ * util/update-grub_lib.in: Likewise.
+ * util/grub.d/00_header.in: Likewise.
+ * util/grub.d/10_hurd.in: Likewise.
+ * util/grub.d/10_linux.in: Likewise.
+ * util/i386/efi/grub-install.in: Likewise.
+ * util/i386/efi/grub-mkimage.c: Likewise.
+ * util/i386/pc/grub-install.in: Likewise.
+ * util/i386/pc/grub-mkimage.c: Likewise.
+ * util/i386/pc/grub-mkrescue.in: Likewise.
+ * util/i386/pc/grub-setup.c: Likewise.
+ * util/i386/pc/misc.c: Likewise.
+ * util/powerpc/ieee1275/grub-install.in: Likewise.
+ * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
+ * util/powerpc/ieee1275/misc.c: Likewise.
+ * video/bitmap.c: Likewise.
+ * video/video.c: Likewise.
+ * video/i386/pc/vbe.c: Likewise.
+ * video/i386/pc/vbeblit.c: Likewise.
+ * video/i386/pc/vbefill.c: Likewise.
+ * video/i386/pc/vbeutil.c: Likewise.
+ * video/readers/tga.c: Likewise.
+
+2007-07-02 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-efi.rmk: Replace obsolete reference to
+ util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
+ with util/getroot.c.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+
+ * util/grub-emu.c (main): Fix unchecked pointer handling.
+
+2007-07-02 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
+ invocation to fail, in order to support partition-less media.
+
+ * util/i386/pc/grub-install.in: Likewise.
+
+ * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
+ which fs or partmap modules are needed (akin to its sister scripts).
+
+ Also use grub-probe to get rid of unportable /proc/mounts check.
+
+ Print the same informational message that the other scripts do, before
+ exiting.
+
+2007-06-23 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub_lib.in (font_path): New function. Determine whether
+ a font file can be found and, if so, echo the GRUB path to it.
+
+ * util/update-grub.in: Handle multiple terminals depending on user
+ input, platform availability and font file presence. Propagate
+ variables of our findings to /etc/grub.d/ children.
+
+ * util/grub.d/00_header.in: Handle multiple terminals, based on
+ environment setup by update-grub.
+
+2007-06-23 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
+
+2007-06-21 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
+ indicate end of data section in kernel image.
+ * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
+ GRUB_KERNEL_MACHINE_DATA_END.
+
+ * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
+ space for it.
+ * kern/i386/efi/startup.S: Likewise.
+
+ * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
+ during image generation. Implement --prefix option to override this
+ patch.
+ * util/i386/efi/grub-mkimage.c: Likewise.
+
+ * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
+ code to make path relative to its root into a separate function.
+
+ * util/i386/pc/grub-install.in: Use newly provided
+ make_system_path_relative_to_its_root() to convert ${grubdir}, then
+ pass the result to grub-install --prefix.
+
+2007-06-13 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
+ DEFAULT_DEVICE_MAP.
+ * util/grub-emu.c: Use above definitions from misc.h instead of
+ defining them.
+ * util/grub-mkdevicemap.c: Likewise.
+ * util/i386/pc/grub-setup.c: Likewise.
+ * util/grub-probe.c: Likewise.
+ (probe): Abort with grub_util_error() when either
+ grub_guess_root_device or grub_util_get_grub_dev fails.
+
+2007-06-12 Robert Millan <rmh@aybabtu.com>
+
+ * normal/command.c (grub_command_execute): Use NULL rather than 0 for
+ "pager" assignment.
+ * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
+ "pcdata".
+ * util/grub-probe.c (probe): Likewise for "drive_name".
+
+2007-06-11 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
+ not just the cdrom one.
+
+2007-06-11 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-mkrescue.in: Add "set -e".
+ Add --pkglibdir=DIR option to override pkglibdir.
+ Mention --image-type=TYPE in help output.
+ Fix --grub-mkimage (it was a no-op).
+ Abort gracefully when no parameter is given.
+
+2007-06-11 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-mkrescue.in: New file.
+ * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
+ * Makefile.in: Handle bin_SCRIPTS.
+
+2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
+ list of video modes.
+
+2007-06-06 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
+ file doesn't exist, or if it is in a filesystem grub can't read.
+
+ * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
+ not abort if GRUB_DRIVE could not be defined. Rearrange generated
+ header comment to fit in 80 columns when the variables are resolved.
+
+ * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
+ could be identified by update-grub. Remove redundant check for
+ unifont.pff existence (since convert_system_path_to_grub_path now
+ handles that).
+
+2007-06-04 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
+
+ * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
+
+2007-06-04 Robert Millan <rmh@aybabtu.com>
+
+ * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
+
+ * include/grub/partition.h: Declare grub_apple_partition_map_init and
+ grub_apple_partition_map_fini.
+
+ * util/biosdisk.c
+ (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
+ to access >2 TiB disks).
+
+ Print disk->total_sectors with %llu instead of %lu, since this
+ variable is always 64-bit (prevents wrong disk size from being displayed
+ on either >2 TiB disk or big-endian CPU).
+
+ (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
+ into a generic case that supports all (sane) partition maps.
+
+ Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
+ breaks big-endian.
+
+ * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
+ and grub_apple_partition_map_fini() after that.
+
+2007-06-01 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
+
+ * util/grub.d/00_header.in: Only enable gfxterm when
+ convert_system_path_to_grub_path() succeeds.
+
+2007-05-20 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub_lib.in: New file.
+ * DISTLIST: Add update-grub_lib.in.
+ * conf/common.rmk: Generate update-grub_lib and install it in
+ $(lib_DATA).
+ * Makefile.in: Add install routine for $(lib_DATA).
+
+ * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
+ function provided by update-grub_lib to support arbitrary paths of
+ unifont.pff.
+ * util/update-grub.in: Use convert_system_path_to_grub_path() to
+ initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
+
+2007-05-19 Robert Millan <rmh@aybabtu.com>
+
+ * commands/i386/cpuid.c: New module.
+ * DISTLIST: Add it.
+ * conf/i386-efi.rmk: Enable cpuid.mod.
+ * conf/i386-pc.rmk: Likewise.
+
+2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * kern/disk.c (grub_disk_read): Check return value of
+ grub_realloc().
+
+2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * util/getroot.c (grub_util_get_grub_dev): Support partitionable
+ arrays.
+ * disk/raid.c (grub_raid_open): Likewise.
+
+2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
+ stack instead of on the heap.
+
+ * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
+ before doing a read on it.
+
+ * configure.ac: Only use -fno-stack-protector for the target
+ environment.
+
+2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
+ __attribute_ ((unused)) to mode_type argument.
+
+ * util/getroot.c (grub_guess_root_device): Fix #endif.
+
+ * kern/misc.c (memcmp): Fix prototype.
+
+ * include/grub/partition.h [GRUB_UTIL]
+ (grub_gpt_partition_map_init): Add prototype.
+ (grub_gpt_partition_map_fini): Likewise.
+
+ * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
+ at the right place.
+
+ * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
+ (grub_fat_read_data): Likewise.
+ (grub_fat_find_dir): Likewise.
+
+ * font/manager.c (find_glyph): Make table a const.
+ (grub_font_get_glyph): Remove bitmap from if statement.
+
+2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
+ code, first search for device in /dev/mapper, then in /dev.
+ (grub_util_get_grub_dev): New function.
+ * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
+ prototype.
+ * util/grub-probe.c (probe): Remove check for RAID, call
+ grub_util_get_grub_dev() instead of
+ grub_util_biosdisk_get_grub_dev().
+ * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
+ grub_util_biosdisk_get_grub_dev().
+ * util/i386/pc/grub-setup.c (main): Likewise.
+
+2007-05-16 Robert Millan <rmh@aybabtu.com>
+
+ * DISTLIST: Update for the latest changes.
+ * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
+ util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
+ * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
+ grub/util/biosdisk.h.
+ * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
+ grub/util/biosdisk.h.
+
+2007-05-16 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
+
+2007-05-16 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/efi/grub-install.in: New.
+ * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
+ newly added grub-install.
+ * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
+ include.
+ * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
+ grub/util/biosdisk.h.
+ * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
+ grub/util/biosdisk.h.
+
+2007-05-16 Robert Millan <rmh@aybabtu.com>
+
+ * include/grub/i386/pc/util/biosdisk.h: Moved to ...
+ * include/grub/util/biosdisk.h: ... here.
+ * util/i386/pc/biosdisk.c: Moved to ...
+ * util/biosdisk.c: ... here.
+ * util/i386/pc/getroot.c: Moved to ...
+ * util/getroot.c: ... here.
+ * util/i386/pc/grub-mkdevicemap.c: Moved to ...
+ * util/grub-mkdevicemap.c: ... here.
+ * util/i386/pc/grub-probe.c: Moved to ...
+ * util/grub-probe.c: ... here.
+
+2007-05-15 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub.in: Remove duplicated line in grub.cfg header
+ message.
+
+2007-05-13 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub.in: Fix a few assumptions about the devices holding
+ /, /boot and /boot/grub being the same.
+ * util/grub.d/00_header.in: Likewise.
+ * util/grub.d/10_hurd.in: Likewise.
+ * util/grub.d/10_linux.in: Likewise.
+
+ * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
+ patterns. Use that to define the `.old' suffix as older than `'.
+
+ * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
+
+ * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
+ the grub.cfg header message.
+
+2007-05-11 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub.in: Create device.map if it doesn't already exist,
+ before attempting to run grub-probe.
+ Check for grub-probe and grub-mkdevicemap with the same code
+ grub-install is using.
+ Remove test mode.
+
+2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * Makefile.in: Add the datarootdir autoconf variable.
+
+2007-05-09 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-probe.c (probe): When detecting partition map,
+ fail gracefully if dev->disk->partition == NULL.
+
+2007-05-07 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
+ determine partition map module.
+ * util/i386/pc/grub-install.in: Use this feature to decide which
+ partition module to load, instead of hardcoding pc and gpt.
+
+2007-05-07 Robert Millan <rmh@aybabtu.com>
+
+ * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
+ source directory differs from build directory.
+
+2007-05-05 Robert Millan <rmh@aybabtu.com>
+
+ * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
+ initialisation.
+
+2007-05-05 Robert Millan <rmh@aybabtu.com>
+
+ * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
+
+2007-05-05 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub.d/10_linux.in: Allow the administrator to insert Linux
+ command-line arguments via ${GRUB_CMDLINE_LINUX}.
+
+2007-05-05 Robert Millan <rmh@aybabtu.com>
+
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
+ (grub_probe_SOURCES): Likewise.
+ * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
+ GPT and initialize dos_part and bsd_part accordingly.
+ * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
+ install_bsd_part.
+ (main): Activate gpt module for use during partition identification,
+ and deactivate it afterwards.
+ * util/i386/pc/grub-install.in: Add gpt module to core.img.
+ * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
+ partition identification, and deactivate it afterwards.
+
+2007-05-05 Robert Millan <rmh@aybabtu.com>
+
+ * term/i386/pc/console.c (grub_console_fini): Call
+ grub_term_set_current() before grub_term_unregister().
+
+2007-05-04 Robert Millan <rmh@aybabtu.com>
+
+ * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
+ util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
+ * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
+ and update-grub_DATA.
+ * conf/common.rmk: Build and install update-grub components.
+ * conf/common.mk: Regenerate.
+ * util/update-grub.in: New. Core of update-grub.
+ * util/grub.d/00_header.in: New. Generates grub.cfg header.
+ * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
+ * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
+ * util/grub.d/README: New. Document grub.d directory layout.
+
+2007-05-01 Robert Millan <rmh@aybabtu.com>
+
+ * util/grub-emu.c: Move initialization functions
+ grub_util_biosdisk_init() and grub_init_all() before
+ grub_util_biosdisk_get_grub_dev(), which relies on them.
+
+2007-04-19 Robert Millan <rmh@aybabtu.com>
+
+ * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
+ it is used later.
+
+2007-04-18 Jerone Young <jerone@gmail.com>
+
+ * kernel/elf.c: Add missing parenthesis for conditional statement
+ stanza.
+
+2007-04-10 Jerone Young <jerone@gmail.com>
+
+ * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
+ continue on and look for device node with real device name.
+
+2007-04-10 Jerone Young <jerone@gmail.com>
+
+ * configure.ac: Add argument for autoconf to use transformation
+ ability.
+ * Makefile.in: Add autoconf package transformation code.
+ * util/i386/pc/grub-install.in: Likewise.
+ * util/powerpc/ieee1275/grub-install.in: Likewise.
+
+2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
+ (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
+ (EXT2_REVISION): Likewise.
+ (EXT2_INODE_SIZE): Likewise.
+ (struct grub_ext2_block_group): Added a missing member
+ "used_dirs".
+ (grub_ext2_read_inode): Divide by the inode size in a superblock
+ instead of 128 to obtain INODES_PER_BLOCK.
+ Use the macro EXT2_INODE_SIZE instead of directly using
+ SBLOCK->INODE_SIZE.
+
+2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
+ superblock instead of the structure size to compute an
+ offset. This fixes the problem that GRUB could not read a
+ filesystem when inode size is different from 128-byte.
+
+2007-03-05 Marco Gerards <marco@gnu.org>
+
+ * normal/main.c (read_config_file): When "menu" is not set, create
+ an initial context.
+
+2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
+ (HEAP_LIMIT): New macro.
+ (grub_claim_heap): Claim memory up to `heaplimit'.
+
+2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
+
+ * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
+ * kern/powerpc/ieee1275/init.c (_end): Add declaration.
+ (_start): Likewise.
+ (grub_arch_modules_addr): Return address after `_end'.
+ * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
+ (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
+ (add_segments): Calculate `_end' from phdr size and location.
+ (ALIGN_UP): Moved to ...
+ * include/grub/misc.h: here.
+ * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
+ New macro.
+ (GRUB_IEEE1275_MODULE_BASE): Removed.
+
+2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
+ loop boundary.
+
+2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
+
+ * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
+ All users updated.
+ (grub_elf64_load_hook_t): Likewise.
+ * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
+ debug output.
+
+2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/mm.c: Update copyright.
+ (grub_mm_debug): Correct syntax error.
+ (grub_mm_dump_free): New function.
+ (grub_debug_free): Call `grub_free'.
+ * include/grub/mm.h: Update copyright.
+ (grub_mm_dump_free): Add declaration.
+
+2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
+
+ * include/grub/ieee1275/ieee1275.h: Update copyright.
+ * kern/powerpc/ieee1275/init.c: Likewise.
+ * kern/powerpc/ieee1275/openfw.c: Likewise.
+
+ * loader/powerpc/ieee1275/linux.c: Likewise.
+ * include/grub/elfload.h: Likewise.
+ * kern/elf.c: Likewise.
+ (grub_elf32_load): Pass `base' and `size' parameters. Update all
+ callers.
+ (grub_elf64_load): Likewise.
+ (grub_elf32_load_segment): Move to a nested function.
+ (grub_elf64_load_segment): Likewise.
+
+2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
+
+ * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
+ prototype.
+ * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
+ (grub_heap_len): Likewise.
+ (HEAP_SIZE): New macro.
+ (grub_claim_heap): New function.
+ (grub_machine_init): Don't claim heap directly. Call
+ `grub_claim_heap'.
+ * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
+ (grub_available_iterate): New function.
+
+2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
+
+ * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
+ * configure.ac: Use it for testing the HOST and TARGET compilers.
+
+2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
+
+ * Makefile.in (enable_grub_emu): New variable.
+ * configure.ac (--enable-grub-emu): New option.
+ Do the checks for (n)curses only if `--enable-grub-emu' is requested.
+ * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/powerpc-ieee1275.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
+
+2006-12-12 Marco Gerards <marco@gnu.org>
+
+ * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
+
+ * kern/env.c (grub_env_unset): Don't free the member `value' when
+ the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
+ pointer.
+
+ * normal/main.c (current_menu): Removed.
+ (free_menu): Unset the `menu' environment variable.
+ (grub_normal_menu_addentry): Make use of the environment variable
+ `menu', instead of using the global `current_menu'. Allocate
+ memory for the sourcecode of this entry.
+ (read_config_file): New argument `nested', changed all callers.
+ Only in the case of a new context, initialize a new menu. Set the
+ `menu' environment variable.
+ (grub_normal_execute): Don't set and unset the environment
+ variable `menu' here anymore. Only free the menu when leaving the
+ context.
+
+ * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
+ leak.
+
+2006-12-11 Marco Gerards <marco@gnu.org>
+
+ * normal/menu_entry.c (run): Fix off by one bug so the last line
+ is executed. Move the loader check to outside the loop.
+
+2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
+
+2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
+ the number of sectors. Reported by Andrey Shuvikov
+ <mr_hyro@yahoo.com>.
+
+2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * kern/disk.c (grub_disk_read): When there is a read error, always
+ try to read only the necessary data.
+
+ * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
+ disk/raid.c.
+ * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
+ prototype.
+ [GRUB_UTIL] (grub_raid_fini): Likewise.
+ [GRUB_UTIL] (grub_lvm_init): Likewise.
+ [GRUB_UTIL] (grub_lvm_fini): Likewise.
+ * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
+ RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
+ (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
+ and grub_raid_fini().
+
+2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * include/grub/types.h (__unused): Rename to UNUSED.
+ * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
+ (grub_elf64_size): Likewise.
+
+2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
+ grub_error_push and grub_error_pop in the error-handling path.
+ (grub_elf32_load_segment): Only call grub_file_read with non-zero
+ length.
+
+2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ (kernel_elf_SOURCES): Likewise.
+ * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
+ * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
+ * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
+ * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
+ * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
+ (elf_mod_SOURCES): New variable.
+ (elf_mod_CFLAGS): Likewise.
+ (elf_mod_LDFLAGS): Likewise.
+ * include/grub/types.h (__unused): New macro.
+ * include/grub/elfload.h: New file.
+ * kern/elf.c: Likewise.
+ * loader/powerpc/ieee1275/linux.c: Include elfload.h.
+ (ELF32_LOADMASK): New macro.
+ (ELF64_LOADMASK): Likewise.
+ (vmlinux): Removed.
+ (grub_linux_load32): New function.
+ (grub_linux_load64): Likewise.
+ (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
+ Use grub_elf_t instead of grub_file_t.
+
+2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
+ `catch_result' to struct set_color_args.
+
+2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * normal/menu.c: Include grub/script.h.
+ * normal/menu_entry.c: Likewise.
+ * include/grub/normal.h: Do not include grub/script.h.
+
+2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/disk.c (grub_disk_read): Correct debug printf formatting.
+
+2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/disk.c (grub_disk_open): Print debug messages when opening a
+ disk.
+ (grub_disk_close): Print debug messages when closing a disk.
+ (grub_disk_read): Print debug messages when disk read fails.
+ * kern/fs.c (grub_fs_probe): Print debug messages when detecting
+ filesystem type.
+ * kern/partition.c: Include misc.h.
+ (grub_partition_iterate): Print debug messages when detecting
+ partition type.
+
+2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
+
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
+ is negative.
+ * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
+
+2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
+ Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
+
+2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
+ instead of sizeof(lv). Patch by Michael Guntsche.
+
+2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * disk/lvm.c: Rename VGS to VG_LIST.
+ (grub_lvm_iterate): Change VGS->LV to VG-LV.
+ (grub_lvm_open): Likewise.
+ Thanks to Michael Guntsche for finding this bug.
+
+2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * configure.ac (AC_INIT): Bumped to 1.95.
+
+2006-10-14 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
+ with "/dev/.static/dev/md".
+
+2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
+ DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
+ DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
+ DRIVE_NAME are always freed.
+
+ * util/i386/pc/biosdisk.c (make_device_name): Add one into
+ DOS_PART, as a DOS partition is counted from one instead of zero
+ now. Reported by Robert Millan.
+
+2006-10-14 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
+ grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
+ * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
+ string returned by grub_guess_root_device.
+ * util/i386/pc/grub-setup.c: Likewise.
+ * util/i386/pc/grub-probefs.c: Likewise.
+
+ * util/i386/pc/grub-probefs.c: Rename to ...
+ * util/i386/pc/grub-probe.c: ... this.
+ * DISTLIST: Remove grub-probefs, add grub-probe.
+ * conf/i386-efi.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * util/i386/pc/grub-install.in: Likewise.
+
+ * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
+ choose which information we want to print.
+
+2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
+ include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
+ include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
+ include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
+ video/readers/tga.c and video/i386/pc/vbeutil.c.
+
+2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ Added support for RAID and LVM.
+
+ * disk/lvm.c: New file.
+ * disk/raid.c: Likewise.
+ * include/grub/lvm.h: Likewise.
+ * include/grub/raid.h: Likewise.
+ * include/grub/util/lvm.h: Likewise.
+ * include/grub/util/raid.h: Likewise.
+ * util/lvm.c: Likewise.
+ * util/raid.c: Likewise.
+
+ * include/grub/disk.h (grub_disk_dev_id): Add
+ GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
+ (grub_disk_get_size): New prototype.
+ * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
+ returns a partition.
+ (grub_disk_get_size): New function.
+
+ * kern/i386/pc/init.c (make_install_device): Copy the prefix
+ verbatim if grub_install_dos_part is -2.
+
+ * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
+ and LVM devices.
+
+ * util/i386/pc/grub-setup.c (setup): New argument
+ MUST_EMBED. Force embedding of GRUB when the argument is
+ true. Close FILE before returning.
+ (main): Add support for RAID and LVM.
+
+ * conf/common.rmk: Add RAID and LVM modules.
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
+ util/lvm.c.
+ (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
+
+ * kern/misc.c (grub_strstr): New function.
+ * include/grub/misc.h (grub_strstr): New prototype.
+
+2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
+
+ * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
+
+2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
+
+ * kern/misc.c (grub_strtoull): Guess the base only if not
+ specified.
+
+2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
+ PowerMac support.
+
+2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
+
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
+
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
+ Remove `flags' argument. All callers changed.
+ * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
+ (IEEE1275_IHANDLE_INVALID): New variable.
+ (IEEE1275_CELL_INVALID): New variable.
+ (grub_ieee1275_finddevice, grub_ieee1275_get_property,
+ grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
+ grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
+ grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
+ grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
+ codes from Open Firmware. All callers updated.
+ (grub_ieee1275_next_property): Directly return Open Firmware return
+ code.
+ * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
+ Standardize error checking from `grub_ieee1275_get_property'.
+ * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
+ `devalias' to `aliases'. Correct comments. Consolidate error paths.
+
+2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
+ `instance_to_package_args' to `instance_to_path_args'.
+
+ * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
+ `grub_ieee1275_chosen'.
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
+ `grub_ieee1275_interpret'.
+
+2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
+
+ * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
+
+2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
+
+ * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
+ (__cmpdi): Likewise.
+
+ * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
+ `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
+ `grub_ssize_t'.
+
+ * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
+
+ * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
+ to type `grub_ssize_t'.
+ (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
+
+2006-09-22 Marco Gerards <marco@gnu.org>
+
+ * normal/script.c (grub_script_create_cmdmenu): Skip leading
+ newlines.
+
+2006-09-22 Marco Gerards <marco@gnu.org>
+
+ * commands/echo.c: New file.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
+
+ * conf/common.rmk (echo_mod_SOURCES): New variable.
+ (echo_mod_CFLAGS): Likewise.
+ (echo_mod_LDFLAGS): Likewise.
+
+2006-09-22 Marco Gerards <marco@gnu.org>
+
+ * normal/main.c (get_line): Malloc memory instead of using
+ preallocated memory. Removed the arguments `cmdline' and
+ `max_len'. Updated all callers.
+
+2006-09-22 Marco Gerards <marco@gnu.org>
+
+ * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
+ (normal_mod_DEPENDENCIES): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
+ (normal_mod_DEPENDENCIES): Likewise.
+
+ * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
+
+2006-09-22 Johan Rydberg <jrydberg@gnu.org>
+
+ * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
+ programs.
+ * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
+ (normal_mod_DEPENDENCIES): Likewise.
+ * conf/i386-pc.mk: Regenerate.
+ * conf/i386-efi.mk: Likewise
+ * conf/common.mk: Likewise.
+ * conf/powerpc-ieee1275.mk: Likewise.
+ * conf/sparc64-ieee1275.mk: Likewise.
+
+2006-09-22 Robert Millan <rmh@aybabtu.com>
+
+ Sync with i386 version.
+ * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
+ * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
+
+2006-09-21 Robert Millan <rmh@aybabtu.com>
+
+ Import from GRUB Legacy (lib/device.c):
+ * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
+ (init_device_map) [__linux__]: Add support for I2O devices.
+
+2006-09-14 Marco Gerards <marco@gnu.org>
+
+ * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
+ `-melf_i386'.
+
+2006-09-14 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-install.in: Skip menu.lst when removing
+ /boot/grub/*.lst.
+
+ * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
+
+ * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
+ before adding it to device.map.
+
+2006-08-15 Johan Rydberg <jrydberg@gnu.org>
+
+ * genmk.rb: Let GCC generate dependencies the first time it
+ compiles a file; using the -MD option.
+ * conf/common.mk: Regenerate.
+ * conf/i386-pc.mk: Likewise.
+ * conf/i386-efi.mk: Likewise.
+ * conf/powerpc-ieee1275.mk: Likewise.
+ * conf/sparc64-ieee1275.mk: Likewise.
+
+2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Move the prototypes of grub_setjmp and grub_longjmp to
+ cpu/setjmp.h, so that each architecture may specify different
+ attributes.
+
+ * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
+ (grub_longjmp): Likewise.
+ * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
+ (grub_longjmp): Likewise.
+ * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
+ (grub_longjmp): Likewise.
+
+ * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
+ [!GRUB_UTIL] (grub_longjmp): Removed.
+
+2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
+
+ * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
+ "color!" method does not return any value.
+
+2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * include/grub/bitmap.h: New file.
+
+ * include/grub/i386/pc/vbeutil.h: Likewise.
+
+ * video/bitmap.c: Likewise.
+
+ * video/readers/tga.c: Likewise.
+
+ * video/i386/pc/vbeutil.c: Likewise.
+
+ * commands/videotest.c: Code cleanup and updated to reflect to new
+ video API.
+
+ * term/gfxterm.c: Likewise.
+
+ * video/video.c: Likewise.
+
+ * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
+ (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
+ (bitmap_mod_SOURCES): New entry.
+ (bitmap_mod_CFLAGS): Likewise.
+ (bitmap_mod_LDFLAGS): Likewise.
+ (tga_mod_SOURCES): Likewise.
+ (tga_mod_CFLAGS): Likewise.
+ (tga_mod_LDFLAGS): Likewise.
+
+ * include/grub/video.h (grub_video_blit_operators): New enum type.
+ (grub_video_render_target): Changed as forward declaration and moved
+ actual definition to be video driver specific.
+ (grub_video_adapter.blit_bitmap): Added blitting operator.
+ (grub_video_adapter.blit_render_target): Likewise.
+ (grub_video_blit_bitmap): Likewise.
+ (grub_video_blit_render_target): Likewise.
+
+ * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
+ driver specific render target definition.
+ (grub_video_vbe_map_rgba): Added driver internal helper.
+ (grub_video_vbe_unmap_color): Updated to use
+ grub_video_i386_vbeblit_info.
+ (grub_video_vbe_get_video_ptr): Likewise.
+
+ * include/grub/i386/pc/vbeblit.h
+ (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
+ grub_video_i386_vbeblit_info.
+ (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
+ (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
+ (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
+ (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
+ (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
+ (grub_video_i386_vbeblit_index_index): Likewise.
+ (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
+ (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
+ (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
+ (grub_video_i386_vbeblit_blend): Added generic blitter for blend
+ operator.
+ (grub_video_i386_vbeblit_replace): Added generic blitter for replace
+ operator.
+
+ * video/i386/pc/vbeblit.c: Updated to reflect changes on
+ include/grub/i386/pc/vbeblit.h.
+
+ * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
+ Updated to use grub_video_i386_vbeblit_info.
+ (grub_video_i386_vbefill_R8G8B8): Likewise.
+ (grub_video_i386_vbefill_index): Likewise.
+ (grub_video_i386_vbefill): Added generic filler.
+
+ * video/i386/pc/vbefill.c: Updated to reflect changes on
+ include/grub/i386/pc/vbefill.h.
+
+ * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
+ grub_video_i386_vbeblit_info.
+ (grub_video_vbe_unmap_color): Likewise.
+ (grub_video_vbe_blit_glyph): Likewise.
+ (grub_video_vbe_scroll): Likewise.
+ (grub_video_vbe_draw_pixel): Removed function.
+ (grub_video_vbe_get_pixel): Likewise.
+ (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
+ updated code to use it.
+ (common_blitter): Added common blitter for render target and bitmap.
+ (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
+ (grub_video_vbe_blit_render_target): Likewise.
+
+2006-07-30 Johan Rydberg <jrydberg@gnu.org>
+
+ * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
+ is in text mode if there is no console control protocol instance
+ available.
+
+2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * include/grub/video.h: Code cleanup.
+
+ * include/grub/i386/pc/vbe.h: Likewise.
+
+ * video/i386/pc/vbe.c: Likewise.
+
+ * video/i386/pc/vbeblit.c: Likewise.
+
+ * video/i386/pc/vbefill.c: Likewise.
+
+ * video/video.c: Likewise. Also added more comments.
+
+2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
+ (struct grub_biosdisk_dap): Likewise.
+
+ * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
+ linkage settings for all functions.
+
+2006-07-12 Marco Gerards <marco@gnu.org>
+
+ * configure.ac (--enable-mm-debug): Fix typo.
+
+ * genkernsyms.sh.in: Use proper quoting for `CC'.
+
+2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
+ (normal_mod_ASFLAGS): Remove "-m32".
+
+2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/misc.c: Include config.h.
+ [!HAVE_MEMALIGN]: Do not include malloc.h.
+ (grub_memalign): Use posix_memalign, if present. Then, use
+ memalign, if present. Otherwise, emit an error.
+
+ * util/grub-emu.c: Do not include malloc.h.
+
+ * include/grub/util/misc.h: Include unistd.h. This is required for
+ FreeBSD, because off_t is defined in unistd.h. Reported by Harley
+ D. Eades III <hde@foobar-qux.org>.
+
+ * configure.ac (AC_GNU_SOURCE): Added.
+ (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
+ type.
+
+2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
+ ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
+
+2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * include/grub/types.h (grub_host_addr_t): Rename to
+ grub_target_addr_t.
+ (grub_host_off_t): Rename to grub_target_off_t.
+ (grub_host_size_t): Rename to grub_target_size_t.
+ (grub_host_ssize_t): Rename to grub_target_ssize_t.
+ Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
+
+ * include/grub/kernel.h (struct grub_module_header): Change type
+ of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
+ (grub_module_info): Likewise.
+
+2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
+ of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
+ Velazquez <jesus.velazquez@gmail.com>.
+
+2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Count partitions from 1 instead of 0 in the string representation
+ of partitions. Still use 0-based internally.
+
+ * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
+ (sun_partition_map_iterate): Use grub_partition_t instead of
+ struct grub_partition *. Cast DESC->START_CYLINDER to
+ grub_uint64_t after converting the endian.
+ (sun_partition_map_probe): Subtract 1 for PARTNUM.
+ (sun_partition_map_get_name): Add 1 to P->INDEX.
+
+ * partmap/pc.c (grub_partition_parse): Subtract 1 for
+ PCDATA->DOS_PART.
+ (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
+
+ * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
+ zero instead of one.
+ (gpt_partition_map_probe): Subtract 1 for PARTNUM.
+ (gpt_partition_map_get_name): Add 1 into P->INDEX.
+
+ * partmap/apple.c (apple_partition_map_iterate): Change the type
+ of POS to unsigned.
+ (apple_partition_map_probe): Subtract 1 for PARTNUM.
+ (apple_partition_map_get_name): Add 1 into P->INDEX.
+
+ * partmap/amiga.c (amiga_partition_map_iterate): Change the type
+ of POS to unsigned.
+ (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
+ calculate the offset of a partition.
+ (amiga_partition_map_probe): Subtract 1 for PARTNUM.
+ (amiga_partition_map_get_name): Add 1 into P->INDEX.
+
+ * partmap/acorn.c (acorn_partition_map_find): Change the type of
+ SECTOR to grub_disk_addr_t.
+ (acorn_partition_map_iterate): Likewise.
+ (acorn_partition_map_probe): Subtract 1 for PARTNUM.
+ Change the type of SECTOR to grub_disk_addr_t. Declare P on the
+ top.
+ (acorn_partition_map_get_name): Add 1 into P->INDEX.
+
+ * kern/i386/pc/init.c (make_install_device): Add 1 into
+ GRUB_INSTALL_DOS_PART.
+
+ * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
+ conditional.
+
+2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Clean up the code to support 64-bit addressing in disks and
+ files. This change is not enough for filesystems yet.
+
+ * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
+ type of "start" to grub_uint64_t.
+ (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
+ grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
+ save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
+ convert addresses.
+
+ * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
+ to grub_disk_addr_t.
+
+ * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
+ string.
+
+ * partmap/pc.c (pc_partition_map_iterate): Likewise.
+
+ * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
+ to char *.
+
+ * normal/script.c (grub_script_parse): Remove unused MEMFREE.
+
+ * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
+
+ * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
+
+ * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
+ to grub_off_t, to detect an error from grub_file_seek.
+ (grub_multiboot_load_elf32): Likewise.
+
+ * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
+ maximum unsigned long value when an overflow is detected.
+ (grub_strtoull): New function.
+ (grub_divmod64): Likewise.
+ (grub_lltoa): use grub_divmod64.
+
+ * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
+ grub_disk_addr_t.
+ (grub_fs_blocklist_open): Increase P if P is not NULL to advance
+ the pointer to next character. Use grub_strtoull instead of
+ grub_strtoul.
+ (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
+ SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
+ respectively.
+
+ * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
+ return value is signed.
+ (grub_file_seek): Change the type of OLD to grub_off_t. Do not
+ test if OFFSET is less than zero, as OFFSET is unsigned now.
+
+ * kern/disk.c (struct grub_disk_cache): Change the type of
+ "sector" to grub_disk_addr_t.
+ (grub_disk_cache_get_index): Change the type of SECTOR to
+ grub_disk_addr_t. Calculate the hash with SECTOR casted to
+ unsigned after shifting.
+ (grub_disk_cache_invalidate): Change the type of SECTOR to
+ grub_disk_addr_t.
+ (grub_disk_cache_unlock): Likewise.
+ (grub_disk_cache_store): Likewise.
+ (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
+ START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
+ grub_disk_addr_t and grub_uint64_t, respectively.
+ (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
+ body, as the value of OFFSET is tweaked by
+ grub_disk_check_range. Change the types of START_SECTOR, LEN and
+ POS to grub_disk_addr_t, grub_size_t and grub_size_t,
+ respectively.
+ (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
+ body, as the value of OFFSET is tweaked by
+ grub_disk_check_range. Change the types of LEN and N to
+ grub_size_t.
+
+ * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
+ and "saved_offset" to grub_off_t.
+ (test_header): Cast BUF to char *.
+ (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
+ to char *.
+ (grub_gzio_read): Change the types of OFFSET and SIZE to
+ grub_off_t and grub_size_t, respectively.
+
+ * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
+ Removed.
+ (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
+ (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
+ (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
+ (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
+ (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
+
+ * include/grub/types.h (grub_off_t): Unconditionally set to
+ grub_uint64_t.
+ (grub_disk_addr_t): Changed to grub_uint64_t.
+
+ * include/grub/partition.h (struct grub_partition): Change the
+ types of "start", "len" and "offset" to grub_disk_addr_t,
+ grub_uint64_t and grub_disk_addr_t, respectively.
+ (grub_partition_get_start): Return grub_disk_addr_t.
+ (grub_partition_get_len): Return grub_uint64_t.
+
+ * include/grub/misc.h (grub_strtoull): New prototype.
+ (grub_divmod64): Likewise.
+
+ * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
+ of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
+ grub_off_t, respectively.
+ All callers and references changed.
+
+ * include/grub/fs.h (struct grub_fs): Change the type of LEN to
+ grub_size_t in "read".
+ All callers and references changed.
+
+ * include/grub/file.h (struct grub_file): Change the types of
+ "offset" and "size" to grub_off_t and grub_off_t,
+ respectively. Change the type of SECTOR to grub_disk_addr_t in
+ "read_hook".
+ (grub_file_read): Change the type of LEN to grub_size_t.
+ (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
+ grub_off_t.
+ (grub_file_size): Return grub_off_t.
+ (grub_file_tell): Likewise.
+ All callers and references changed.
+
+ * include/grub/disk.h (struct grub_disk_dev): Change the types of
+ SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
+ "write".
+ (struct grub_disk): Change the type of "total_sectors" to
+ grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
+ "read_hook".
+ (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
+ grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
+ (grub_disk_write): Likewise.
+ All callers and references changed.
+
+ * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
+ char * for grub_strncmp to silence gcc.
+ (grub_iso9660_mount): Likewise.
+ (grub_iso9660_mount): Likewise.
+ (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
+ return statement.
+ (grub_iso9660_iterate_dir): Likewise.
+ (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
+
+ * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
+ LEN to grub_disk_addr_t and grub_size_t, respectively.
+
+ * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
+
+ * fs/jfs.c (grub_jfs_read_file): Likewise.
+
+ * fs/minix.c (grub_jfs_read_file): Likewise.
+
+ * fs/sfs.c (grub_jfs_read_file): Likewise.
+
+ * fs/ufs.c (grub_jfs_read_file): Likewise.
+
+ * fs/xfs.c (grub_jfs_read_file): Likewise.
+
+ * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
+ and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
+ respectively.
+
+ * fs/ext2.c (grub_ext2_read_block): When an error happens, set
+ BLKNR to -1 instead of returning GRUB_ERRNO.
+ (grub_ext2_read_file): Change the types of SECTOR and
+ LEN to grub_disk_addr_t and grub_size_t, respectively.
+
+ * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
+ LEN to grub_disk_addr_t and grub_size_t, respectively.
+
+ * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
+ grub_file_read.
+
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
+ string. Do not cast SECTOR explicitly.
+
+ * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
+ TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
+ (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
+ grub_disk_addr_t and grub_size_t, respectively. If the sector is
+ over 2TB and LBA mode is not supported, raise an error.
+ (get_safe_sectors): New function.
+ (grub_biosdisk_read): Use get_safe_sectors.
+ (grub_biosdisk_write): Likewise.
+
+ * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
+ (grub_efidisk_write): Likewise.
+
+ * disk/loopback.c (delete_loopback): Cosmetic changes.
+ (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
+ correctly.
+ (grub_loopback_open): Likewise.
+ (grub_loopback_read): Likewise. Also, change the type of POS to
+ grub_off_t, and fix the usage of grub_memset.
+
+ * commands/i386/pc/play.c: Include grub/machine/time.h.
+
+ * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
+ print FILE->SIZE.
+
+ * commands/configfile.c: Include grub/env.h.
+
+ * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
+ GRUB_ERRNO directly instead. Change the type of POS to
+ grub_off_t. Follow the coding standard.
+
+ * commands/blocklist.c: Include grub/partition.h.
+ (grub_cmd_blocklist): Return an error if the underlying device is
+ not a disk. Take the starting sector of a partition into account,
+ if a partition is used.
+
+ * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
+ a length field.
+ (lba_mode): Support 64-bit addresses.
+ (chs_mode): Likewise.
+ (copy_buffer): Adapted to the new offsets of a length field and a
+ segment field.
+ (blocklist_default_start): Allocate 64-bit space.
+
+ * boot/i386/pc/boot.S (force_lba): Removed.
+ (boot_drive): Moved to under KERNEL_SECTOR.
+ (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
+ space.
+ (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
+ is useless.
+ (lba_mode): Refactored to support a 64-bit address. More size
+ optimization.
+ (setup_sectors): Likewise.
+
+2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * DISTLIST: Added include/grub/i386/linux.h. Removed
+ include/grub/i386/pc/linux.h
+
+ * configure.ac (AC_INIT): Bumped to 1.94.
+
+ * config.guess: Updated from gnulib.
+ * config.sub: Likewise.
+ * install-sh: Likewise.
+ * mkinstalldirs: Likewise.
+
+2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * conf/common.rmk (grub_modules_init.lst): Depended on
+ grub_emu_SOURCES, excluding grub_emu_init.c, instead of
+ MODSRCFILES.
+
+ * genmk.rb (PModule::rule): Reverted the previous change.
+
+2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * conf/common.rmk (grub_modules_init.lst): Depends on
+ $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
+ that the target does not exist before producing.
+ (grub_modules_init.h): Remove the target before generating.
+ (grub_emu_init.c): Likewise.
+
+ * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
+
+2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
+ for the target-specific tests. Make sure that we also have the
+ up-to-date target variables for those tests.
+
+2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
+ (PModule::rule): Likewise.
+
+2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
+ TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
+ target-specific flags should be prefixed.
+ (PModule::rule): Likewise.
+
+2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * configure.ac (CMP): Check if cmp is available explicitly.
+
+2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
+ (target_cpu): New variable.
+ (pkglibdir): Use target_cpu instead of host_cpu.
+
+ * util/i386/pc/grub-install.in (host_cpu): Removed.
+ (target_cpu): New variable.
+ (pkglibdir): Use target_cpu instead of host_cpu.
+
+ * util/genmoddep.c: Removed.
+
+ * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
+ instead of GRUB_HOST_SIZEOF_VOID_P.
+ * kern/dl.c: Likewise.
+
+ * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
+ ...
+ (GRUB_TARGET_SIZEOF_VOID_P): ... this.
+ (GRUB_HOST_SIZEOF_LONG): Renamed to ...
+ (GRUB_TARGET_SIZEOF_LONG): ... this.
+ (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
+ (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
+ * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
+ to ...
+ (GRUB_TARGET_SIZEOF_VOID_P): ... this.
+ (GRUB_HOST_SIZEOF_LONG): Renamed to ...
+ (GRUB_TARGET_SIZEOF_LONG): ... this.
+ (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
+ (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
+ * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
+ to ...
+ (GRUB_TARGET_SIZEOF_VOID_P): ... this.
+ (GRUB_HOST_SIZEOF_LONG): Renamed to ...
+ (GRUB_TARGET_SIZEOF_LONG): ... this.
+ (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
+ (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
+
+ * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
+ GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
+ [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
+ instead of GRUB_HOST_SIZEOF_LONG.
+ [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
+ GRUB_HOST_WORDS_BIGENDIAN to define or undefine
+ GRUB_CPU_WORDS_BIGENDIAN.
+ Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
+ define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
+ grub_host_ssize_t.
+
+ * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
+ (genmoddep_SOURCES): Likewise.
+ * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
+ (genmoddep_SOURCES): Likewise.
+ * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
+ (genmoddep_SOURCES): Likewise.
+ * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
+ Likewise.
+ (genmoddep_SOURCES): Likewise.
+
+ * genmoddep.awk: New file.
+
+ * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
+ TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
+ CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
+ (PModule::rule): Likewise.
+ (Program::rule): Likewise.
+ (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
+ BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
+ respectively.
+
+ * configure.ac: Rewritten intensively to use host and target
+ instead of build and host, respectively.
+
+ * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
+ (host_cpu): Removed.
+ (target_cpu): New variable.
+ (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
+ (BUILD_CC): Removed.
+ (BUILD_CFLAGS): Likewise.
+ (BUILD_CPPFLAGS): Likewise.
+ (TARGET_CC): New variable.
+ (TARGET_CFLAGS): Likewise.
+ (TARGET_CPPFLAGS): Likewise.
+ (TARGET_LDFLAGS): Likewise.
+ (AWK): Likewise.
+ (include): Use target_cpu instead of host_cpu.
+ (moddep.lst:): Use genmoddep.awk instead of genmoddep.
+
+ * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
+
+2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
+ 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
+ field 'false' to 'exec_on_false'.
+ (grub_script_create_cmdif): Renamed argument names to reflect above
+ changes.
+
+ * normal/execute.c (grub_script_execute_cmdif): Likewise.
+
+ * normal/script.c (grub_script_create_cmdif): Likewise.
+
+2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
+ top.
+ (grub_hfsplus_btree_recptr): Likewise.
+ (grub_hfsplus_find_block): Do not take RETRY any longer. Use
+ FILEBLOCK both to pass a block number and store next block
+ number.
+ (grub_hfsplus_read_block): Rewritten heavily to support an extent
+ overflow file correctly. Specify errors appropriately, because
+ fshelp expects that GRUB_ERRNO is set when fails. Reuse
+ grub_hfsplus_btree_recptr to get the pointer to a found key.
+ (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
+ is found.
+
+ * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
+ linux.mod.
+ (_linux_mod_SOURCES): New variable.
+ (_linux_mod_CFLAGS): Likewise.
+ (_linux_mod_LDFLAGS): Likewise.
+ (linux_mod_SOURCES): Likewise.
+ (linux_mod_CFLAGS): Likewise.
+ (linux_mod_LDFLAGS): Likewise.
+
+ * DISTLIST: Added loader/i386/efi/linux.c,
+ loader/i386/efi/linux_normal.c and
+ include/grub/i386/efi/loader.h.
+
+ * loader/i386/efi/linux.c: New file.
+ * loader/i386/efi/linux_normal.c: Likewise.
+ * include/grub/i386/efi/loader.h: Likewise.
+
+2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * commands/blocklist.c: New file.
+
+ * DISTLIST: Added commands/blocklist.c.
+
+ * term/efi/console.c (grub_console_highlight_color): Use a lighter
+ color for the background, and a darker color for the foreground.
+ (grub_console_checkkey): Return READ_KEY.
+ (grub_console_cls): Set the background to
+ GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
+
+ * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
+
+ * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
+ the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
+
+ * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
+ prototype.
+
+ * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
+ BG. The spec is wrong again.
+
+ * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
+ prototype.
+ [GRUB_UTIL] (grub_blocklist_fini): Likewise.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Added
+ commands/blocklist.c.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+ * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
+ (blocklist_mod_SOURCES): New variable.
+ (blocklist_mod_CFLAGS): Likewise.
+ (blocklist_mod_LDFLAGS): Likewise.
+
+2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
+ duplication.
+ (lba_mode): Use %eax more intensively to reduce the code size.
+
+2006-05-20 Marco Gerards <marco@gnu.org>
+
+ * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
+
+ * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
+ for `menuentry'.
+ (script): Accept leading newlines.
+ (newlines): New rule to describe 0 or more newlines.
+ (commands): Accept `command' with trailing newline. Fixed the
+ order in which arguments were passed to `grub_script_add_cmd'.
+ Accept commands separated by newlines.
+ (function): Changed to accept newlines.
+ (menuentry) Rewritten.
+
+ * normal/script.c (grub_script_create_cmdmenu): Add new entries in
+ front of the list, instead of to the end.
+
+2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/i386/pc/grub-install.in (bindir): New variable.
+ (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
+ Shaver <lbgwjl@gmail.com>.
+
+2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
+ grub/machine/linux.h
+ * loader/i386/pc/linux.c: Likewise.
+
+ * include/grub/i386/pc/linux.h: Moved to ...
+ * include/grub/i386/linux.h: ... here.
+
+ * include/grub/i386/linux.h (struct linux_kernel_params): New
+ struct.
+
+2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
+ checking.
+ (grub_video_vbe_blit_glyph): Likewise.
+ (grub_video_vbe_blit_bitmap): Likewise.
+ (grub_video_vbe_blit_render_target): Likewise.
+
+2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * configure.ac (--with-platform): Properly quote the square
+ brackets.
+
+2006-05-08 Marco Gerards <marco@gnu.org>
+
+ * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
+ this...
+ (kernel_elf_HEADERS): ...to this. Updated all users.
+ (grubof_symlist.c): Renamed from this...
+ (kernel_elf_symlist.c): ...to this. Updated all users.
+ (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
+ (grubof_SOURCES): Renamed from this...
+ (kernel_elf_SOURCES): ...to this.
+ (grubof_HEADERS): Renamed from this...
+ (kernel_elf_HEADERS): ...to this.
+ (grubof_CFLAGS): Renamed from this...
+ (kernel_elf_CFLAGS): ...to this.
+ (grubof_ASFLAGS): Renamed from this...
+ (kernel_elf_ASFLAGS): ...to this.
+ (grubof_LDFLAGS): Renamed from this...
+ (kernel_elf_LDFLAGS): ...to this.
+
+ * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
+ this...
+ (kernel_elf_HEADERS): ...to this. Updated all users.
+ (grubof_symlist.c): Renamed from this...
+ (kernel_elf_symlist.c): ...to this. Updated all users.
+ (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
+ (grubof_SOURCES): Renamed from this...
+ (kernel_elf_SOURCES): ...to this.
+ (grubof_HEADERS): Renamed from this...
+ (kernel_elf_HEADERS): ...to this.
+ (grubof_CFLAGS): Renamed from this...
+ (kernel_elf_CFLAGS): ...to this.
+ (grubof_ASFLAGS): Renamed from this...
+ (kernel_elf_ASFLAGS): ...to this.
+ (grubof_LDFLAGS): Renamed from this...
+ (kernel_elf_LDFLAGS): ...to this.
+
+ * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
+ `kernel.elf' instead of `grubof'.
+
+2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Add --with-platform to configure. Use pkglibdir instead of
+ pkgdatadir. This is reported by Roger Leigh.
+
+ * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
+ (host_vendor): Likewise.
+ (host_os): Likewise.
+ (pkgdatadir): Likewise.
+ (platform): New variable.
+ (pkglibdir): Likewise.
+ Use PKGLIBDIR instead of PKGDATADIR.
+
+ * util/i386/pc/grub-install.in (datadir): Removed.
+ (host_vendor): Likewise.
+ (host_os): Likewise.
+ (pkgdatadir): Likewise.
+ (platform): New variable.
+ (pkglibdir): Likewise.
+ Use PKGLIBDIR instead of PKGDATADIR.
+
+ * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
+ instead of GRUB_DATADIR.
+ (main): Likewise.
+ * util/i386/pc/grub-mkimage.c (usage): Likewise.
+ (main): Likewise.
+ * util/i386/efi/grub-mkimage.c (usage): Likewise.
+ (main): Likewise.
+
+ * configure.ac (--with-platform): New option.
+ Use PLATFORM instead of HOST_VENDOR to specify a platform.
+
+ * Makefile.in: Include a makefile based on PLATFORM instead of
+ HOST_VENDOR.
+ (pkgdatadir): Not appended by the machine type.
+ (pkglibdir): Appended by the machine type.
+ (host_vendor): Removed.
+ (platform): New variable.
+ (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
+ (install-local): Use PKGLIBDIR instead of PKGDATADIR.
+ (uninstall): Likewise.
+
+2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Use the environment context in the menu. Remove the commands
+ "default" and "timeout", and use variables instead.
+
+ * normal/menu.c: Include grub/env.h.
+ (print_entry): Cast TITLE to silence gcc.
+ (get_timeout): New function.
+ (set_timeout): Likewise.
+ (get_entry_number): Likewise.
+ (run_menu): Use a default entry, a fallback entry and a timeout
+ in the environment variables "default", "fallback" and
+ "timeout". Also, tweak the default entry if it is not within the
+ current menu entries.
+ (grub_menu_run): Use a fallback entry in the environment variable
+ "fallback".
+
+ * normal/main.c (read_config_file): Do not initialize
+ NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
+ NEWMENU->TIMEOUT.
+ (grub_normal_execute): Use a data slot to store the menu.
+
+ * include/grub/normal.h (struct grub_menu): Removed default_entry,
+ fallback_entry and timeout.
+ (struct grub_menu_list): Removed.
+ (grub_menu_list_t): Likewise.
+ (struct grub_context): Likewise.
+ (grub_context_t): Likewise.
+ (grub_context_get): Likewise.
+ (grub_context_get_current_menu): Likewise.
+ (grub_context_push_menu): Likewise.
+ (grub_context_pop_menu): Likewise.
+ (grub_default_init): Likewise.
+ (grub_default_fini): Likewise.
+ (grub_timeout_init): Likewise.
+ (grub_timeout_fini): Likewise.
+
+ * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
+ and timeout.mod.
+ (normal_mod_SOURCES): Removed normal/context.c.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
+ commands/default.c, commands/timeout.c and normal/context.c.
+ (normal_mod_SOURCES): Removed normal/context.c.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
+ commands/timeout.c and normal/context.c.
+ (normal_mod_SOURCES): Removed normal/context.c.
+
+ * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
+ commands/default.c, commands/timeout.c and normal/context.c.
+ (normal_mod_SOURCES): Removed normal/context.c.
+
+ * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
+ timeout.mod.
+ (default_mod_SOURCES): Removed.
+ (default_mod_CFLAGS): Likewise.
+ (default_mod_LDFLAGS): Likewise.
+ (timeout_mod_SOURCES): Removed.
+ (timeout_mod_CFLAGS): Likewise.
+ (timeout_mod_LDFLAGS): Likewise.
+
+ * DISTLIST: Removed commands/default.c, commands/timeout.c and
+ normal/context.c.
+
+ * commands/default.c: Removed.
+ * commands/timeout.c: Likewise.
+ * normal/context.c: Likewise.
+
+2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
+
+2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
+ "next" to "prev" for readability.
+ (struct grub_env_sorted_var): New struct.
+ (grub_env_context): Renamed to ...
+ (initial_context): ... this.
+ (grub_env_var_context): Renamed to ...
+ (current_context): ... this.
+ (grub_env_find): Look only at CURRENT_CONTEXT.
+ (grub_env_context_open): Rewritten to copy exported variables from
+ previous context.
+ (grub_env_context_close): Rewritten according to the new
+ scheme. Also, add an assertion to prevent the initial context from
+ removed.
+ (grub_env_insert): Removed the code for the sorted list.
+ (grub_env_remove): Likewise.
+ (grub_env_export): Simply mark the variable with
+ GRUB_ENV_VAR_GLOBAL.
+ (grub_env_set): A cosmetic change for naming consistency.
+ (grub_env_get): Likewise.
+ (grub_env_unset): Likewise.
+ (grub_env_iterate): Rewritten to sort variables within this
+ function.
+ (grub_register_variable_hook): Fixed for naming consistency. Call
+ grub_env_find again, only if NAME is not found at the first time.
+ (mangle_data_slot_name): New function.
+ (grub_env_set_data_slot): Likewise.
+ (grub_env_get_data_slot): Likewise.
+ (grub_env_unset_data_slot): Likewise.
+
+ * include/grub/env.h (grub_env_var_type): New enum.
+ (GRUB_ENV_VAR_LOCAL): New constant.
+ (GRUB_ENV_VAR_GLOBAL): Likewise.
+ (GRUB_ENV_VAR_DATA): Likewise.
+ (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
+ "type".
+ (grub_env_set): Replace VAR with NAME for consistency.
+ (grub_register_variable_hook): Likewise.
+ (grub_env_export): Specify the name of the argument.
+ (grub_env_set_data_slot): New prototype.
+ (grub_env_get_data_slot): Likewise.
+ (grub_env_unset_data_slot): Likewise.
+
+2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Extend the loader so that GRUB can accept a loader which comes
+ back to GRUB when a loaded image exits. Also, this change adds
+ support for a chainloader on EFI.
+
+ * term/efi/console.c: Include grub/misc.h.
+ (grub_console_checkkey): Display a scan code on the top for
+ debugging. This will be removed once the EFI port gets stable.
+ Correct the scan code mapping.
+
+ * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
+ allocate memory from larger regions, in order to reduce the number
+ of allocated regions. Otherwise, the MacOSX loader panics.
+ (filter_memory_map): Avoid less than 1MB for compatibility with
+ other loaders.
+ (add_memory_regions): Allocate from the tail of a region, if
+ possible, to avoid allocating a region near to 1MB, for the MacOSX
+ loader.
+
+ * kern/efi/init.c (grub_efi_set_prefix): Specify
+ GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
+
+ * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
+ argument IMAGE_HANDLE and specify it to get a loaded image.
+ (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
+ grub_efi_get_loaded_image.
+ (grub_efi_get_filename): Divide the length by the size of
+ grub_efi_char16_t.
+ (grub_efi_get_device_path): New function.
+ (grub_efi_print_device_path): Print End Device Path nodes. Divide
+ the length by the size of grub_efi_char16_t for a file path device
+ path node.
+
+ * kern/loader.c (grub_loader_noreturn): New variable.
+ (grub_loader_set): Accept a new argument NORETURN. Set
+ GRUB_LOADER_NORETURN to NORETURN.
+ All callers changed.
+ (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
+ grub_machine_fini.
+
+ * include/grub/efi/efi.h (grub_efi_get_device_path): New
+ prototype.
+ (grub_efi_get_loaded_image): Take an argument to specify an image
+ handle.
+
+ * include/grub/loader.h (grub_loader_set): Added one more argument
+ NORETURN.
+
+ * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
+ instead of grub_efi_open_protocol.
+ (grub_efidisk_get_device_name): Likewise.
+ (grub_efidisk_close): Print a newline.
+ (grub_efidisk_get_device_handle): Fixed to use
+ GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
+ GRUB_EFI_DEVICE_PATH_TYPE.
+
+ * disk/efi/efidisk.c (device_path_guid): Moved to ...
+ * kern/efi/efi.c (device_path_guid): ... here.
+
+ * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
+ chain.mod.
+ (kernel_mod_HEADERS): Added efi/disk.h.
+ (_chain_mod_SOURCES): New variable.
+ (_chain_mod_CFLAGS): Likewise.
+ (_chain_mod_LDFLAGS): Likewise.
+ (chain_mod_SOURCES): Likewise.
+ (chain_mod_CFLAGS): Likewise.
+ (chain_mod_LDFLAGS): Likewise.
+
+ * DISTLIST: Added include/grub/efi/chainloader.h,
+ loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
+
+ * include/grub/efi/chainloader.h: New file.
+ * loader/efi/chainloader.c: Likewise.
+ * loader/efi/chainloader_normal.c: Likewise.
+
+2006-04-30 Marco Gerards <marco@gnu.org>
+
+ * commands/configfile.c (grub_cmd_source): New function.
+ (GRUB_MOD_INIT): Register the commands `source' and `.'.
+ (GRUB_MOD_FINI): De-register the commands `source' and `.'.
+
+2006-04-30 Marco Gerards <marco@gnu.org>
+
+ * normal/execute.c (grub_script_execute_cmd): Change the return
+ type to `grub_err_t'. Correctly return the error.
+ (grub_script_execute_cmdline): In case a command line is not a
+ command or a function, try to interpret it as an assignment.
+
+2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
+ (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
+ skip a node whose name is obviously invalid as UTF-16,
+ i.e. contains a NUL character. Stop the iteration when the last
+ directory entry is found. Instead of using the return value of
+ grub_hfsplus_btree_iterate_node, store the value in RET and use
+ it, because the iterator can be stopped by the last directory
+ entry.
+
+2006-04-30 Marco Gerards <marco@gnu.org>
+
+ * include/grub/env.h (grub_env_export): New prototype. Reported
+ by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
+
+2006-04-30 Marco Gerards <marco@gnu.org>
+
+ * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
+ size of the extents in a catalog file record.
+
+2006-04-29 Marco Gerards <marco@gnu.org>
+
+ * commands/configfile.c (grub_cmd_configfile): Execute the
+ configfile within its own context.
+
+ * include/grub/env.h (grub_env_context_open): New prototype.
+ (grub_env_context_close): Likewise.
+
+ * kern/env.c (grub_env): Removed.
+ (grub_env_sorted): Likewise.
+ (grub_env_context): New variable.
+ (grub_env_var_context): Likewise.
+ (grub_env_find): Search both the active context and the global
+ context.
+ (grub_env_context_open): New function.
+ (grub_env_context_close): Likewise.
+ (grub_env_insert): Likewise.
+ (grub_env_remove): Likewise.
+ (grub_env_export): Likewise.
+ (grub_env_set): Changed to use helper functions to avoid code
+ duplication.
+ (grub_env_iterate): Rewritten so both the current context and the
+ global context are being used.
+
+ * normal/command.c (export_command): New function.
+ (grub_command_init): Register the `export' function.
+
+2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
+ explicitly to suppress gcc's warnings.
+ * fs/fat.c (grub_fat_find_dir): Likewise.
+ (grub_fat_label): Likewise.
+ * fs/xfs.c (grub_xfs_read_inode): Likewise.
+ (grub_xfs_mount): Likewise.
+ (grub_xfs_label): Likewise.
+ * fs/affs.c (grub_affs_mount): Likewise.
+ (grub_affs_label): Likewise.
+ (grub_affs_iterate_dir): Likewise.
+ * fs/sfs.c (grub_sfs_mount): Likewise.
+ (grub_sfs_iterate_dir): Likewise.
+ * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
+ * fs/hfs.c (grub_hfs_mount): Likewise.
+ (grub_hfs_cmp_catkeys): Likewise.
+ (grub_hfs_find_dir): Likewise.
+ (grub_hfs_dir): Likewise.
+ (grub_hfs_label): Likewise.
+ * fs/jfs.c (grub_jfs_mount): Likewise.
+ (grub_jfs_opendir): Likewise.
+ (grub_jfs_getent): Likewise.
+ (grub_jfs_lookup_symlink): Likewise.
+ (grub_jfs_label): Likewise.
+ * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
+ (grub_hfsplus_iterate_dir): Likewise.
+ (grub_hfsplus_btree_iterate_node): Made static.
+
+ * util/grub-emu.c (prefix): New variable.
+ (grub_machine_set_prefix): New function.
+ (main): Do not set the environment variable "prefix" here. Only
+ set PREFIX, which is used later by grub_machine_set_prefix.
+
+ * include/grub/video.h: Do not include grub/symbol.h.
+ (grub_video_register): Not exported. This symbol is not defined in
+ the kernel.
+ (grub_video_unregister): Likewise.
+ (grub_video_iterate): Likewise.
+ (grub_video_setup): Likewise.
+ (grub_video_restore): Likewise.
+ (grub_video_get_info): Likewise.
+ (grub_video_get_blit_format): Likewise.
+ (grub_video_set_palette): Likewise.
+ (grub_video_get_palette): Likewise.
+ (grub_video_set_viewport): Likewise.
+ (grub_video_get_viewport): Likewise.
+ (grub_video_map_color): Likewise.
+ (grub_video_map_rgb): Likewise.
+ (grub_video_map_rgba): Likewise.
+ (grub_video_fill_rect): Likewise.
+ (grub_video_blit_glyph): Likewise.
+ (grub_video_blit_bitmap): Likewise.
+ (grub_video_blit_render_target): Likewise.
+ (grub_video_scroll): Likewise.
+ (grub_video_swap_buffers): Likewise.
+ (grub_video_create_render_target): Likewise.
+ (grub_video_delete_render_target): Likewise.
+ (grub_video_set_active_render_target): Likewise.
+
+ * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
+ Undefined.
+ [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
+
+ * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
+ config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
+ (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
+ instead of $(srcdir)/genkernsyms.sh.
+
+ * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
+ config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
+ (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
+ instead of $(srcdir)/genkernsyms.sh.
+
+ * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
+ gensymlist.sh instead of $(srcdir)/gensymlist.sh.
+ (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
+ instead of $(srcdir)/genkernsyms.sh.
+
+ * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
+ gensymlist.sh instead of $(srcdir)/gensymlist.sh.
+ (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
+ instead of $(srcdir)/genkernsyms.sh.
+
+ * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
+ genkernsyms.sh.
+
+ * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
+ genkernsyms.sh.
+ (gensymlist.sh): New target.
+ (genkernsyms.sh): Likewise.
+
+ * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
+ genkernsyms.sh.in and gensymlist.sh.in.
+
+ * genkernsyms.sh: Removed.
+ * gensymlist.sh: Likewise.
+
+ * genkernsyms.sh.in: New file.
+ * gensymlist.sh.in: Likewise.
+
+2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
+ clobber "prefix", since we may have already set it manually.
+
+2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/misc.c (abort): New alias for grub_abort.
+
+2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
+
+ A new machine-specific function "grub_machine_set_prefix" is
+ defined. This is called after loading modules, so that a prefix
+ initialization can use modules. Also, this change adds an
+ intensive debugging feature for the memory manager via the
+ configure option "--enable-mm-debug".
+
+ * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
+ PART.LEN.
+
+ * kern/sparc64/ieee1275/init.c (abort): Removed.
+ (grub_stop): Likewise.
+ (grub_exit): New function.
+ (grub_set_prefix): Renamed to ...
+ (grub_machine_set_prefix): ... this.
+ (grub_machine_init): Do not call grub_set_prefix.
+
+ * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
+ (grub_machine_set_prefix): ... this.
+ (grub_machine_init): Do not call grub_set_prefix.
+
+ * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
+ (grub_machine_init): Do not set the prefix here.
+
+ * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
+
+ * kern/efi/init.c: Include grub/mm.h.
+ (grub_efi_set_prefix): New function.
+
+ * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
+ (grub_efi_get_filename): New function.
+ (grub_print_device_path): Renamed to ...
+ (grub_efi_print_device_path): ... this.
+
+ * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
+ [MM_DEBUG] (grub_realloc): Likewise.
+ [MM_DEBUG] (grub_free): Likewise.
+ [MM_DEBUG] (grub_memalign): Likewise.
+ [MM_DEBUG] (grub_mm_debug): New variable.
+ [MM_DEBUG] (grub_debug_malloc): New function.
+ [MM_DEBUG] (grub_debug_free): New function.
+ [MM_DEBUG] (grub_debug_realloc): New function.
+ [MM_DEBUG] (grub_debug_memalign): New function.
+
+ * kern/misc.c (grub_abort): Print a newline to distinguish
+ the message.
+
+ * kern/main.c (grub_main): Call grub_machine_set_prefix and
+ grub_set_root_dev after loading modules. This is necessary when
+ setting a prefix depends on modules.
+
+ * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
+ (grub_efi_print_device_path): ... this.
+ (grub_efi_get_filename): New prototype.
+ (grub_efi_set_prefix): Likewise.
+
+ * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
+ and grub/disk.h.
+ (grub_efidisk_get_device_handle): New prototype.
+ (grub_efidisk_get_device_name): Likewise.
+
+ * include/grub/mm.h: Include config.h.
+ (MM_DEBUG): Removed.
+ [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
+ [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
+ [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
+ [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
+ [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
+ [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
+ [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
+ [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
+ [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
+
+ * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
+
+ * disk/efi/efidisk.c: Include grub/partition.h.
+ (iterate_child_devices): New function.
+ (add_device): First, compare only last device path nodes, so that
+ devices are sorted by the types.
+ (grub_efidisk_get_device_handle): New function.
+ (grub_efidisk_get_device_name): Likewise.
+
+ * configure.ac (--enable-mm-debug): New option to enable the
+ memory manager debugging feature. This makes the binary much
+ bigger, so is disabled by default.
+
+2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Use grub_abort instead of grub_stop, and grub_exit must be
+ define in each architecture now. Also, this change adds support
+ for EFI disks.
+
+ * util/i386/pc/grub-probefs.c: Include grub/term.h.
+ (grub_getkey): New function.
+ (grub_term_get_current): Likewise.
+
+ * util/i386/pc/grub-setup.c: Include grub/term.h.
+ (grub_getkey): New function.
+ (grub_term_get_current): Likewise.
+
+ * util/misc.c (grub_stop): Renamed to ...
+ (grub_exit): ... this.
+
+ * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
+ (grub_exit): ... this.
+ (grub_machine_init): Use grub_abort instead of abort.
+ (grub_stop): Removed.
+
+ * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
+ abort.
+
+ * kern/i386/pc/startup.S (grub_exit): New function.
+ (cold_reboot): New label.
+
+ * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
+ (grub_efi_init): Call grub_efidisk_init.
+ (grub_efi_fini): Call grub_efidisk_fini.
+
+ * kern/efi/efi.c: Include grub/mm.h.
+ (grub_efi_console_control_guid): Renamed to ...
+ (console_control_guid): ... this.
+ (grub_efi_loaded_image_guid): Renamed to ...
+ (loaded_image_guid): ... this.
+ (grub_efi_locate_handle): New function.
+ (grub_efi_open_protocol): Likewise.
+ (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
+ GRUB_EFI_CONSOLE_CONTROL_GUID.
+ (grub_efi_exit): Removed.
+ (grub_stop): Likewise.
+ (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
+ (grub_exit): New function.
+ (grub_print_device_path): Likewise.
+
+ * kern/rescue.c (grub_rescue_cmd_exit): New function.
+ (grub_enter_rescue_mode): Register "exit".
+
+ * kern/misc.c (grub_real_dprintf): A cosmetic change.
+ (grub_abort): New function.
+
+ * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
+
+ * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
+
+ * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
+
+ * include/grub/efi/efi.h (grub_efi_exit): Removed.
+ (grub_print_device_path): New prototype.
+ (grub_efi_locate_handle): Likewise.
+ (grub_efi_open_protocol): Likewise.
+
+ * include/grub/efi/disk.h (grub_efidisk_fini): New file.
+ * disk/efi/efidisk.c: Likewise.
+
+ * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
+
+ * include/grub/efi/console_control.h
+ (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
+
+ * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
+ last 8 bytes as an array.
+ (GRUB_EFI_DISK_IO_GUID): New macro.
+ (GRUB_EFI_BLOCK_IO_GUID): Likewise.
+ (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
+ (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
+ grub_uint8_t.
+ (struct grub_efi_guid): Use an array to specify the last 8 bytes.
+ (struct grub_efi_device_path): Rename the member "sub_type" to
+ "subtype".
+ (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
+ (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
+ (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
+ (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
+ (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
+ (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
+ (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
+ (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
+ (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
+ (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
+ (struct grub_efi_pci_device_path): New structure.
+ (grub_efi_pci_device_path_t): New type.
+ (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_pccard_device_path): New structure.
+ (grub_efi_pccard_device_path_t): New type.
+ (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_memory_mapped_device_path): New structure.
+ (grub_efi_memory_mapped_device_path_t): New type.
+ (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_vendor_device_path): New structure.
+ (grub_efi_vendor_device_path_t): New type.
+ (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_controller_device_path): New structure.
+ (grub_efi_controller_device_path_t): New type.
+ (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
+ (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
+ (struct grub_efi_acpi_device_path): New structure.
+ (grub_efi_acpi_device_path_t): New type.
+ (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_expanded_acpi_device_path): New structure.
+ (grub_efi_expanded_acpi_device_path_t): New type.
+ (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
+ (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
+ (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
+ (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
+ (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
+ (struct grub_efi_atapi_device_path): New structure.
+ (grub_efi_atapi_device_path_t): New type.
+ (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_fibre_channel_device_path): New structure.
+ (grub_efi_fibre_channel_device_path_t): New type.
+ (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_1394_device_path): New structure.
+ (grub_efi_1394_device_path_t): New type.
+ (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_usb_device_path): New structure.
+ (grub_efi_usb_device_path_t): New type.
+ (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_usb_class_device_path): New structure.
+ (grub_efi_usb_class_device_path_t): New type.
+ (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_i2o_device_path): New structure.
+ (grub_efi_i2o_device_path_t): New type.
+ (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_mac_address_device_path): New structure.
+ (grub_efi_mac_address_device_path_t): New type.
+ (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_ipv4_device_path): New structure.
+ (grub_efi_ipv4_device_path_t): New type.
+ (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_ipv6_device_path): New structure.
+ (grub_efi_ipv6_device_path_t): New type.
+ (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_infiniband_device_path): New structure.
+ (grub_efi_infiniband_device_path_t): New type.
+ (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_uart_device_path): New structure.
+ (grub_efi_uart_device_path_t): New type.
+ (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_vendor_messaging_device_path): New structure.
+ (grub_efi_vendor_messaging_device_path_t): New type.
+ (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
+ (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
+ (struct grub_efi_hard_drive_device_path): New structure.
+ (grub_efi_hard_drive_device_path_t): New type.
+ (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_cdrom_device_path): New structure.
+ (grub_efi_cdrom_device_path_t): New type.
+ (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_vendor_media_device_path): New structure.
+ (grub_efi_vendor_media_device_path_t): New type.
+ (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_file_path_device_path): New structure.
+ (grub_efi_file_path_device_path_t): New type.
+ (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
+ (struct grub_efi_protocol_device_path): New structure.
+ (grub_efi_protocol_device_path_t): New type.
+ (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
+ (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
+ (struct grub_efi_bios_device_path): New structure.
+ (grub_efi_bios_device_path_t): New type.
+ (struct grub_efi_disk_io): New structure.
+ (grub_efi_disk_io_t): New type.
+ (struct grub_efi_block_io_media): New structure.
+ (grub_efi_block_io_media_t): New type.
+ (struct grub_efi_block_io): New structure.
+ (grub_efi_block_io_t): New type.
+
+ * include/grub/misc.h (grub_stop): Removed.
+ (grub_exit): New prototype.
+ (grub_abort): Likewise.
+
+ * include/grub/disk.h (enum grub_disk_dev_id): Added
+ GRUB_DISK_DEVICE_EFIDISK_ID.
+
+ * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
+ disk/efi/efidisk.c.
+ (kernel_syms.lst): Remove the target if an error occurs.
+
+2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
+ as it was simply too buggy.
+
+2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/misc.c (grub_lltoa): New function.
+ (grub_vsprintf): Added support for the long long suffix,
+ i.e. "ll".
+
+2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
+
+ * Makefile.in (LDFLAGS): Add variable.
+ (LD): Remove variable.
+ * configure.ac: Add -m32 to LDFLAGS.
+ * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
+ * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
+ (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
+ (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
+ suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
+ variables.
+ * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
+ * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
+ * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
+
+2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
+ length for unknown glyph.
+
+2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Add support for pre-loaded modules into the EFI port.
+
+ * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
+ completely. Accept one more argument DIR. The caller has changed.
+
+ * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
+
+ * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
+ (grub_efi_loaded_image_guid): New variable.
+ (grub_efi_get_loaded_image): New function.
+ (grub_arch_modules_addr): Likewise.
+
+ * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
+ prototype.
+
+ * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
+ (struct grub_efi_loaded_image): New structure.
+ (grub_efi_loaded_image_t): New type.
+
+2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
+ size with GRUB_OS_AREA_SIZE as grub_size_t instead of
+ grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
+
+2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
+
+ * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
+
+2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * DISTLIST: Added include/grub/efi/console.h,
+ include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
+ kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
+
+ * include/grub/efi/console.h: New file.
+ * include/grub/efi/time.h: Likewise.
+ * include/grub/i386/efi/kernel.h: Likewise.
+ * kern/efi/init.c: Likewise.
+ * kern/efi/mm.c: Likewise.
+ * term/efi/console.c: Likewise.
+
+ * kern/i386/efi/init.c: Do not include grub/machine/time.h.
+ (grub_stop): Removed.
+ (grub_get_rtc): Likewise.
+ (grub_machine_init): Simply call grub_efi_init.
+ (grub_machine_fini): Call grub_efi_fini.
+
+ * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
+ (grub_efi_output_string): Removed.
+ (grub_efi_stall): New function.
+ (grub_stop): Likewise.
+ (grub_get_rtc): Likewise.
+
+ * include/grub/efi/efi.h (grub_efi_output_string): Removed.
+ (grub_efi_stall): New prototype.
+ (grub_efi_allocate_pages): Likewise.
+ (grub_efi_free_pages): Likewise.
+ (grub_efi_get_memory_map): Likewise.
+ (grub_efi_mm_init): Likewise.
+ (grub_efi_mm_fini): Likewise.
+ (grub_efi_init): Likewise.
+ (grub_efi_fini): Likewise.
+
+ * include/grub/i386/efi/time.h: Do not include
+ grub/symbol.h. Include grub/efi/time.h.
+ (GRUB_TICKS_PER_SECOND): Removed.
+ (grub_get_rtc): Likewise.
+
+ * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
+ Added padding. The EFI spec is buggy.
+ (GRUB_EFI_BLACK): New macro.
+ (GRUB_EFI_BLUE): Likewise.
+ (GRUB_EFI_GREEN): Likewise.
+ (GRUB_EFI_CYAN): Likewise.
+ (GRUB_EFI_RED): Likewise.
+ (GRUB_EFI_MAGENTA): Likewise.
+ (GRUB_EFI_BROWN): Likewise.
+ (GRUB_EFI_LIGHTGRAY): Likewise.
+ (GRUB_EFI_BRIGHT): Likewise.
+ (GRUB_EFI_DARKGRAY): Likewise.
+ (GRUB_EFI_LIGHTBLUE): Likewise.
+ (GRUB_EFI_LIGHTGREEN): Likewise.
+ (GRUB_EFI_LIGHTCYAN): Likewise.
+ (GRUB_EFI_LIGHTRED): Likewise.
+ (GRUB_EFI_LIGHTMAGENTA): Likewise.
+ (GRUB_EFI_YELLOW): Likewise.
+ (GRUB_EFI_WHITE): Likewise.
+ (GRUB_EFI_BACKGROUND_BLACK): Likewise.
+ (GRUB_EFI_BACKGROUND_BLUE): Likewise.
+ (GRUB_EFI_BACKGROUND_GREEN): Likewise.
+ (GRUB_EFI_BACKGROUND_CYAN): Likewise.
+ (GRUB_EFI_BACKGROUND_RED): Likewise.
+ (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
+ (GRUB_EFI_BACKGROUND_BROWN): Likewise.
+ (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
+ (GRUB_EFI_TEXT_ATTR): Likewise.
+
+ * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
+ kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
+ (kernel_mod_HEADERS): Added efi/time.h.
+
+2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
+ include/grub/efi/api.h, include/grub/efi/console_control.h,
+ include/grub/efi/efi.h, include/grub/efi/pe32.h,
+ include/grub/i386/efi/time.h, kern/efi/efi.c,
+ kern/i386/efi/init.c, kern/i386/efi/startup.S,
+ and util/i386/efi/grub-mkimage.c.
+
+ * Makefile.in (RMKFILES): Added i386-efi.rmk.
+
+ * genmk.rb (PModule#rule): Do not export symbols if
+ #{prefix}_EXPORTS is set to "no".
+
+ * conf/i386-efi.mk: New file.
+ * conf/i386-efi.rmk: Likewise.
+ * include/grub/efi/api.h: Likewise.
+ * include/grub/efi/console_control.h: Likewise.
+ * include/grub/efi/efi.h: Likewise.
+ * include/grub/efi/pe32.h: Likewise.
+ * include/grub/i386/efi/time.h: Likewise.
+ * kern/efi/efi.c: Likewise.
+ * kern/i386/efi/init.c: Likewise.
+ * kern/i386/efi/startup.S: Likewise.
+ * util/i386/efi/grub-mkimage.c: Likewise.
+
+2006-04-17 Marco Gerards <marco@gnu.org>
+
+ * include/grub/script.h: Include <grub/parser.h> and
+ "grub_script.tab.h".
+ (struct grub_lexer_param): New struct.
+ (struct grub_parser_param): Likewise.
+ (grub_script_create_arglist): Pass the state in an argument.
+ (grub_script_add_arglist): Likewise.
+ (grub_script_create_cmdline): Likewise.
+ (grub_script_create_cmdblock): Likewise.
+ (grub_script_create_cmdif): Likewise.
+ (grub_script_create_cmdmenu): Likewise.
+ (grub_script_add_cmd): Likewise.
+ (grub_script_arg_add): Likewise.
+ (grub_script_lexer_ref): Likewise.
+ (grub_script_lexer_deref): Likewise.
+ (grub_script_lexer_record_start): Likewise.
+ (grub_script_lexer_record_stop): Likewise.
+ (grub_script_mem_record): Likewise.
+ (grub_script_mem_record_stop): Likewise.
+ (grub_script_malloc): Likewise.
+ (grub_script_yylex): Likewise.
+ (grub_script_yyparse): Likewise.
+ (grub_script_yyerror): Likewise.
+ (grub_script_yylex): Likewise.
+ (grub_script_lexer_init): Return the state.
+
+ * normal/lexer.c (grub_script_lexer_state): Removed variable.
+ (grub_script_lexer_done): Likewise.
+ (grub_script_lexer_getline): Likewise.
+ (grub_script_lexer_refs): Likewise.
+ (script): Likewise.
+ (newscript): Likewise.
+ (record): Likewise.
+ (recording): Likewise.
+ (recordpos): Likewise.
+ (recordlen): Likewise.
+ (grub_script_lexer_init): Return the state instead of setting
+ global variables.
+ (grub_script_lexer_ref): Use the newly added argument for state
+ instead of globals.
+ (grub_script_lexer_deref): Likewise.
+ (grub_script_lexer_record_start): Likewise.
+ (grub_script_lexer_record_stop): Likewise.
+ (recordchar): Likewise.
+ (nextchar): Likewise.
+ (grub_script_yylex2): Likewise.
+ (grub_script_yylex): Likewise.
+ (grub_script_yyerror): Likewise.
+
+ * normal/parser.y (func_mem): Removed variable.
+ (menu_entry): Likewise.
+ (err): Likewise.
+ (%lex-param): New parser option.
+ (%parse-param): Likewise.
+ (script): Always return the AST.
+ (argument): Pass the state around.
+ (arguments): Likewise.
+ (grubcmd): Likewise.
+ (commands): Likewise.
+ (function): Likewise.
+ (menuentry): Likewise.
+ (if_statement): Likewise.
+ (if): Likewise.
+
+ * normal/script.c (grub_script_memused): Removed variable.
+ (grub_script_parsed): Likewise.
+ (grub_script_malloc): Added a state argument. Use that instead of
+ global variables.
+ (grub_script_mem_record): Likewise.
+ (grub_script_mem_record_stop): Likewise.
+ (grub_script_arg_add): Likewise.
+ (grub_script_add_arglist): Likewise.
+ (grub_script_create_cmdline): Likewise.
+ (grub_script_create_cmdif): Likewise.
+ (grub_script_create_cmdmenu): Likewise.
+ (grub_script_add_cmd): Likewise.
+ (grub_script_parse): Setup the state before calling the parser.
+
+2006-04-16 Marco Gerards <marco@gnu.org>
+
+ * normal/command.c (grub_command_init): Remove the title command.
+
+ * normal/lexer.c (grub_script_yylex): Renamed from this...
+ (grub_script_yylex2): ... to this.
+ (grub_script_yylex): New function. Temporary
+ introduced to filter some tokens.
+ (grub_script_yyerror): Print a newline.
+
+ * normal/main.c (read_config_file): Output information about the
+ lines that contain errors. Wait for a key after all lines have
+ been processed. Don't return an empty menu.
+
+ * normal/parser.y (func_mem): Don't initialize.
+ (menu_entry): Likewise.
+ (err): New variable.
+ (script): Don't return anything when an error was encountered.
+ (ws, returns): Removed rules.
+ (argument): Disabled concatenated variable support.
+ (arguments): Remove explicit separators.
+ (grubcmd): Likewise.
+ (function): Likewise.
+ (menuentry): Likewise.
+ (if): Likewise.
+ (commands): Likewise. Add error handling.
+
+ * normal/script.c (grub_script_create_cmdline): If
+ `grub_script_parsed' is 0, assume the parser encountered an error.
+
+2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * configure.ac: Add support for EFI. Fix the typo
+ BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
+
+2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
+ foreign multibyte characters should be shown correctly.
+
+2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * normal/main.c (grub_normal_menu_addentry): Fixed menu size
+ calculation.
+ (read_config_file): Made it to close file before returning.
+
+2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
+ include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
+ video/i386/pc/vbefill.c.
+
+ * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
+ video/i386/pc/vbefill.c.
+
+ * include/grub/video.h (grub_video_blit_format): New enum.
+ (grub_video_mode_info): Added new member blit_format.
+ (grub_video_get_blit_format): New function prototype.
+
+ * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
+ function prototype.
+ (grub_video_vbe_map_rgb): Likewise.
+ (grub_video_vbe_unmap_color): Likewise.
+
+ * include/grub/i386/pc/vbeblit.h: New file.
+
+ * include/grub/i386/pc/vbefill.h: New file.
+
+ * video/video.c (grub_video_get_blit_format): New function.
+ (grub_video_vbe_get_video_ptr): Re-declared as non-static.
+ (grub_video_vbe_map_rgb): Likewise.
+ (grub_video_vbe_unmap_color): Likewise.
+
+ * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
+ optimized fills.
+ (grub_video_vbe_blit_render_target): Changed to use more optimized
+ blits.
+ (grub_video_vbe_setup): Added detection for optimized settings.
+ (grub_video_vbe_create_render_target): Likewise.
+
+ * video/i386/pc/vbeblit.c: New file.
+
+ * video/i386/pc/vbefill.c: New file.
+
+2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * font/manager.c (grub_font_get_glyph): Removed font fixup from
+ here...
+
+ * util/unifont2pff.rb: ... and moved it to here. Improved argument
+ parsing to support both hex and dec ranges. If filename was missing
+ show usage information.
+
+2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
+ video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
+
+ * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
+ gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
+ (video_mod_SOURCES): Added.
+ (video_mod_CFLAGS): Likewise.
+ (video_mod_LDFLAGS): Likewise.
+ (gfxterm_mod_SOURCES): Likewise.
+ (gfxterm_mod_CFLAGS): Likewise.
+ (gfxterm_mod_LDFLAGS): Likewise.
+ (videotest_mod_SOURCES): Likewise.
+ (videotest_mod_CFLAGS): Likewise.
+ (videotest_mod_LDFLAGS): Likewise.
+ (vesafb_mod_SOURCES): Removed.
+ (vesafb_mod_CFLAGS): Likewise.
+ (vesafb_mod_LDFLAGS): Likewise.
+ (vga_mod_SOURCES): Likewise.
+ (vga_mod_CFLAGS): Likewise.
+ (vga_mod_LDFLAGS): Likewise.
+
+ * commands/videotest.c: New file.
+
+ * font/manager.c (fill_with_default_glyph): Modified to use
+ grub_font_glyph.
+ (grub_font_get_glyph): Likewise.
+ (fontmanager): Renamed from this...
+ (font_manager): ... to this.
+
+ * include/grub/font.h (grub_font_glyph): Added new structure.
+ (grub_font_get_glyph): Modified to use grub_font_glyph.
+
+ * include/grub/misc.h (grub_abs): Added as inline function.
+
+ * include/grub/video.h: New file.
+
+ * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
+ (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
+ (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
+ (grub_vbe_get_controller_info): Renamed from this...
+ (grub_vbe_bios_get_controller_info): ... to this.
+ (grub_vbe_get_mode_info): Renamed from this...
+ (grub_vbe_bios_get_mode_info): ... to this.
+ (grub_vbe_set_mode): Renamed from this...
+ (grub_vbe_bios_set_mode): ... to this.
+ (grub_vbe_get_mode): Renamed from this...
+ (grub_vbe_bios_get_mode): ... to this.
+ (grub_vbe_set_memory_window): Renamed from this...
+ (grub_vbe_bios_set_memory_window): ... to this.
+ (grub_vbe_get_memory_window): Renamed from this...
+ (grub_vbe_bios_get_memory_window): ... to this.
+ (grub_vbe_set_scanline_length): Renamed from this...
+ (grub_vbe_set_scanline_length): ... to this.
+ (grub_vbe_get_scanline_length): Renamed from this...
+ (grub_vbe_bios_get_scanline_length): ... to this.
+ (grub_vbe_set_display_start): Renamed from this...
+ (grub_vbe_bios_set_display_start): ... to this.
+ (grub_vbe_get_display_start): Renamed from this...
+ (grub_vbe_bios_get_display_start): ... to this.
+ (grub_vbe_set_palette_data): Renamed from this...
+ (grub_vbe_bios_set_palette_data): ... to this.
+ (grub_vbe_set_pixel_rgb): Removed.
+ (grub_vbe_set_pixel_index): Likewise.
+
+ * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
+ from this...
+ (grub_vbe_bios_get_controller_info): ... to this.
+ (grub_vbe_get_mode_info): Renamed from this...
+ (grub_vbe_bios_get_mode_info): ... to this.
+ (grub_vbe_set_mode): Renamed from this...
+ (grub_vbe_bios_set_mode): ... to this.
+ (grub_vbe_get_mode): Renamed from this...
+ (grub_vbe_bios_get_mode): ... to this.
+ (grub_vbe_set_memory_window): Renamed from this...
+ (grub_vbe_bios_set_memory_window): ... to this.
+ (grub_vbe_get_memory_window): Renamed from this...
+ (grub_vbe_bios_get_memory_window): ... to this.
+ (grub_vbe_set_scanline_length): Renamed from this...
+ (grub_vbe_set_scanline_length): ... to this.
+ (grub_vbe_get_scanline_length): Renamed from this...
+ (grub_vbe_bios_get_scanline_length): ... to this.
+ (grub_vbe_set_display_start): Renamed from this...
+ (grub_vbe_bios_set_display_start): ... to this.
+ (grub_vbe_get_display_start): Renamed from this...
+ (grub_vbe_bios_get_display_start): ... to this.
+ (grub_vbe_set_palette_data): Renamed from this...
+ (grub_vbe_bios_set_palette_data): ... to this.
+ (grub_vbe_bios_get_controller_info): Fixed problem with registers
+ getting corrupted after calling it. Added more pushes and pops.
+ (grub_vbe_bios_set_mode): Likewise.
+ (grub_vbe_bios_get_mode): Likewise.
+ (grub_vbe_bios_get_memory_window): Likewise.
+ (grub_vbe_bios_set_scanline_length): Likewise.
+ (grub_vbe_bios_get_scanline_length): Likewise.
+ (grub_vbe_bios_get_display_start): Likewise.
+ (grub_vbe_bios_set_palette_data): Likewise.
+
+ * normal/cmdline.c (cl_set_pos): Refresh the screen.
+ (cl_insert): Likewise.
+ (cl_delete): Likewise.
+
+ * term/gfxterm.c: New file.
+
+ * term/i386/pc/vesafb.c: Removed file.
+
+ * video/video.c: New file.
+
+ * video/i386/pc/vbe.c (real2pm): Added new function.
+ (grub_video_vbe_draw_pixel): Likewise.
+ (grub_video_vbe_get_video_ptr): Likewise.
+ (grub_video_vbe_get_pixel): Likewise
+ (grub_video_vbe_init): Likewise.
+ (grub_video_vbe_fini): Likewise.
+ (grub_video_vbe_setup): Likewise.
+ (grub_video_vbe_get_info): Likewise.
+ (grub_video_vbe_set_palette): Likewise.
+ (grub_video_vbe_get_palette): Likewise.
+ (grub_video_vbe_set_viewport): Likewise.
+ (grub_video_vbe_get_viewport): Likewise.
+ (grub_video_vbe_map_color): Likewise.
+ (grub_video_vbe_map_rgb): Likewise.
+ (grub_video_vbe_map_rgba): Likewise.
+ (grub_video_vbe_unmap_color): Likewise.
+ (grub_video_vbe_fill_rect): Likewise.
+ (grub_video_vbe_blit_glyph): Likewise.
+ (grub_video_vbe_blit_bitmap): Likewise.
+ (grub_video_vbe_blit_render_target): Likewise.
+ (grub_video_vbe_scroll): Likewise.
+ (grub_video_vbe_swap_buffers): Likewise.
+ (grub_video_vbe_create_render_target): Likewise.
+ (grub_video_vbe_delete_render_target): Likewise.
+ (grub_video_vbe_set_active_render_target): Likewise.
+ (grub_vbe_set_pixel_rgb): Remove function.
+ (grub_vbe_set_pixel_index): Likewise.
+ (index_color_mode): Remove static variable.
+ (active_mode): Likewise.
+ (framebuffer): Likewise.
+ (bytes_per_scan_line): Likewise.
+ (grub_video_vbe_adapter): Added new static variable.
+ (framebuffer): Likewise.
+ (render_target): Likewise.
+ (initial_mode): Likewise.
+ (mode_in_use): Likewise.
+ (mode_list): Likewise.
+
+2006-03-10 Marco Gerards <marco@gnu.org>
+
+ * configure.ac (AC_INIT): Bumped to 1.93.
+
+ * DISTLIST: Added `include/grub/hfs.h'.
+
+2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * boot/i386/pc/boot.S (general_error): Before looping, try INT
+ 18H, which might help the BIOS falling back to next boot media.
+
+2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/i386/pc/grub-install.in: Escape a backslash. Reported by
+ Poe Chen <poe.poechen@gmail.com>.
+
+2006-01-17 Marco Gerards <marco@gnu.org>
+
+ * include/grub/normal.h: Include <grub/script.h>.
+ (grub_command_list): Removed struct.
+ (grub_command_list_t): Removed type.
+ (grub_menu_entry): Remove members `num' and `command_list'. Add
+ members `commands' and `sourcecode'.
+ * include/grub/script.h: Add inclusion guards.
+ (grub_script_cmd_menuentry): New struct.
+ (grub_script_execute_menuentry): New prototype.
+ (grub_script_lexer_record_start): Likewise.
+ (grub_script_lexer_record_stop): Likewise.
+ * normal/execute.c (grub_script_execute_menuentry): New function.
+ * normal/lexer.c (record, recording, recordpos, recordlen): New
+ variables.
+ (grub_script_lexer_record_start): New function.
+ (grub_script_lexer_record_stop): Likewise.
+ (recordchar): Likewise.
+ (nextchar): Likewise.
+ (grub_script_yylex): Use `nextchar' to fetch new characters. Use
+ 2048 as the buffer size. Add the tokens `menuentry' and `@'.
+ * normal/main.c: Include <grub/parser.h> and <grub/script.h>
+ (current_menu): New variable.
+ (free_menu): Mainly rewritten.
+ (grub_normal_menu_addentry): New function.
+ (read_config_file): Rewritten.
+ * normal/menu.c (run_menu_entry): Mainly rewritten.
+ * normal/menu_entry.c (make_screen): Rewritten the code to insert
+ the menu entry.
+ (run): Mainly rewritten.
+ * normal/parser.y (menu_entry): New variable.
+ (GRUB_PARSER_TOKEN_MENUENTRY): New token.
+ (menuentry): New rule.
+ (command): Add `menuentry'.
+ (if_statement): Allow additional returns before `fi'.
+ * normal/script.c (grub_script_create_cmdmenu): New function.
+
+2006-01-03 Marco Gerards <marco@gnu.org>
+
+ * INSTALL: GNU Bison is required.
+ * configure.ac: Rewritten the test to detect Bison.
+ * Makefile.in (YACC): New variable. Reported by Xun Sun
+ <xun.sun.cn@gmail.com>.
+
+2006-01-03 Marco Gerards <marco@gnu.org>
+
+ * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
+ the HFS+ filesystem to filesystem blocks.
+ (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
+ GCC warning is silenced.
+
+2006-01-03 Marco Gerards <marco@gnu.org>
+
+ * partmap/apple.c (apple_partition_map_iterate): Convert the data
+ read from disk from big endian to host byte order.
+
+2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
+
+ * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
+ documentation.
+ (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
+ (grub_hfs_mount): Grammar fix in error. Make sure this is not an
+ embedded HFS+ filesystem.
+ (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
+ (grub_hfs_sblock): Move from here...
+ * include/grub/hfs.h: To here... New file.
+ * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
+ documentation.
+ (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
+ New macros.
+ (grub_hfsplus_volheader): Change type of member `magic' to
+ `grub_uint16_t'.
+ (grub_hfsplus_data): Add new member `embedded_offset'.
+ (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
+ returned block.
+ (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
+ Calculate the offset.
+
+2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
+ Removed.
+ (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
+
+2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
+ ENV->NAME is NULL after allocating ENV->VALUE.
+
+2005-12-25 Marco Gerards <marco@gnu.org>
+
+ * kern/env.c (grub_env_set): Rewritten the error handling code.
+
+2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * geninit.sh: Made more robust, and more portable.
+
+2005-12-25 Marco Gerards <marco@gnu.org>
+
+ Add support for Apple HFS+ filesystems.
+
+ * fs/hfsplus.c: New file.
+
+ * DISTLIST: Added `fs/hfsplus.c'.
+
+ * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
+ (hfsplus_mod_SOURCES): New variable.
+ (hfsplus_mod_CFLAGS): Likewise.
+ (hfsplus_mod_LDFLAGS): Likewise.
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
+ (grub_setup_SOURCES): Likewise.
+ (grub_mkdevicemap_SOURCES): Likewise.
+ (grub_emu_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+ * fs/fshelp.c (grub_fshelp_log2blksize): New function.
+
+ * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
+
+2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
+ commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
+ include/grub/parser.h, include/grub/script.h, kern/parser.c,
+ kern/sparc64/cache.S, normal/execute.c, normal/function.c,
+ normal/lexer.c, normal/parser.y, normal/script.c, and
+ partmap/gpt.c.
+ Removed kern/sparc64/cache.c.
+
+ * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
+ grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
+ grub_emu_init.c.
+
+ * configure.ac (AC_INIT): Bumped to 1.92.
+
+2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * kern/err.c (grub_error_push): Added new function to support error
+ stacks.
+ (grub_error_pop): Likewise.
+ (grub_error_stack_items): New local variable to support error stacks.
+ (grub_error_stack_pos): Likewise.
+ (grub_error_stack_assert): Likewise.
+ (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
+ stack depth.
+ (grub_print_error): Added support to print errors from error stack.
+
+ * include/grub/err.h (grub_error_push): Added function prototype.
+ (grub_error_pop): Likewise.
+
+2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
+
+ * configure.ac: Accept `powerpc64' as host_cpu.
+ (amd64): Rename to `biarch32'.
+
+ * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
+ non-cacheline-aligned addresses.
+
+ * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
+ (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
+ if `size' is non-zero.
+
+2005-12-03 Marco Gerards <mgerards@xs4all.nl>
+
+ * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
+ and `cd' to make sure the filename is not prefixed with a
+ directory name.
+ (pkgdata_MODULES): Add `gpt.mod'.
+ (gpt_mod_SOURCES): New variable.
+ (gpt_mod_CFLAGS): Likewise.
+ (gpt_mod_LDFLAGS): Likewise.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
+
+ * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
+ New macro.
+
+ * partmap/gpt.c: New file.
+
+ * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
+ GPT partition map is detected.
+
+2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
+
+ * commands/i386/pc/play.c: New file.
+ * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
+ (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
+ macros.
+
+2005-11-27 Marco Gerards <mgerards@xs4all.nl>
+
+ * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
+ ((unused))' to silence gcc warning.
+
+2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
+
+ * configure.ac: Correct `AC_PROG_YACC' test.
+
+2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
+
+ * util/powerpc/ieee1275/grub-install.in: Run the mount point
+ check before installing files.
+
+2005-11-22 Mike Small <smallm@panix.com>
+
+ * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
+ number regex so multidigit numbers are recognized correctly.
+
+2005-11-22 Mike Small <smallm@panix.com>
+
+ * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
+ debugging message before attempting to claim memory.
+ (grub_rescue_cmd_initrd): Add a claim debugging message and try
+ multiple addresses in case of failure.
+
+2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
+
+ * term/tparm.c (get_space): Remove empty `if' statement.
+
+ * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
+
+ * kern/parser.c (check_varstate): Rename `state' to 's'.
+
+2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
+
+ * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
+ variable definitions to the beginning of each function. Sort stack
+ variables by size.
+ (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
+ `buf' argument to `char *'.
+
+2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
+
+ * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
+ (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
+ minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
+ hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
+ help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
+ sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
+ configfile.mod, search.mod, gzio.mod and test.mod.
+ (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
+ (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
+ (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
+ (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
+ (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
+ (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
+ (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
+ (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
+ (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
+ (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
+ (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
+ (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
+ (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
+ (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
+ (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
+ (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
+ (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
+ (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
+ (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
+ (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
+ (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
+ (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
+ (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
+
+ * conf/common.mk (grub_modules_init.lst): Use `find' instead of
+ `grep --include'.
+ (pkgdata_MODULES): Add test.mod.
+
+2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
+
+ * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
+ appending to variables with "+=".
+ (PModule): Use full pathname to generate *.lst filenames.
+
+ * Makefile.in: Fixed list rules moved from genmk.rb.
+ (.DELETE_ON_ERROR): New special target.
+ (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
+
+ * conf/i386-pc.rmk: Include conf/common.mk.
+ (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
+ minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
+ hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
+ help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
+ sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
+ configfile.mod, search.mod, gzio.mod and test.mod.
+ (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
+ (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
+ (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
+ (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
+ (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
+ (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
+ (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
+ (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
+ (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
+ (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
+ (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
+ (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
+ (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
+ (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
+ (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
+ (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
+ (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
+ (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
+ (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
+ (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
+ (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
+ (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
+ (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
+ here...
+ * conf/common.rmk: ... to here. New file.
+
+ * conf/common.mk: New file.
+
+2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
+ (grub_script.tab.c): ... here.
+
+ * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
+ (grub_script.tab.c): ... here.
+
+ * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
+ (grub_script.tab.c): ... here.
+
+ * normal/command.c (grub_command_find): Fixed a memory leak of
+ MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
+
+2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
+
+ * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
+ "@" which marks the start of a comment on ARM.
+ (VARIABLE): Likewise.
+
+2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
+
+ Add support for Linux/ADFS partition tables.
+
+ * partmap/acorn.c: New file.
+
+ * include/grub/acorn_filecore.h: Likewise.
+
+ * DISTLIST: Added `partmap/acorn.c' and
+ `include/grub/acorn_filecore.h'.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
+ `partmap/acorn.c'.
+ (pkgdata_MODULES): Add `acorn.mod'.
+ (acorn_mod_SOURCES): New variable.
+ (acorn_mod_CFLAGS): Likewise.
+
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
+ `partmap/acorn.c'.
+ (pkgdata_MODULES): Add `acorn.mod'.
+ (acorn_mod_SOURCES): New variable.
+ (acorn_mod_CFLAGS): Likewise.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
+ (pkgdata_MODULES): Add `acorn.mod'.
+ (acorn_mod_SOURCES): New variable.
+ (acorn_mod_CFLAGS): Likewise.
+ (acorn_mod_LDFLAGS): Likewise.
+
+ * include/types.h (grub_disk_addr_t): New typedef.
+
+2005-11-13 Marco Gerards <mgerards@xs4all.nl>
+
+ * geninit.sh: New file.
+
+ * geninitheader.sh: Likewise.
+
+ * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
+ * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
+ * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
+ * commands/configfile.c (grub_configfile_init)
+ (grub_configfile_fini): Likewise.
+ * commands/default.c (grub_default_init, grub_default_fini):
+ Likewise.
+ * commands/help.c (grub_help_init, grub_help_fini): Likewise.
+ * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
+ * commands/search.c (grub_search_init, grub_search_fini): Likewise.
+ * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
+ Likewise.
+ * commands/test.c (grub_test_init, grub_test_fini): Likewise.
+ * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
+ Likewise.
+ * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
+ * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
+ Likewise.
+ * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
+ Likewise.
+ * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
+ Likewise.
+ * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
+ * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
+ * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
+ * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
+ * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
+ * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
+ * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
+ * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
+ * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
+ * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
+ * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
+ * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
+ * partmap/amiga.c (grub_amiga_partition_map_init)
+ (grub_amiga_partition_map_fini): Likewise.
+ * partmap/apple.c (grub_apple_partition_map_init)
+ (grub_apple_partition_map_fini): Likewise.
+ * partmap/pc.c (grub_pc_partition_map_init)
+ (grub_pc_partition_map_fini): Likewise.
+ * partmap/sun.c (grub_sun_partition_map_init,
+ grub_sun_partition_map_fini): Likewise.
+ * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
+ Likewise.
+
+ * util/grub-emu.c: Include <grub_modules_init.h>.
+ (main): Don't initialize and de-initialize any modules directly,
+ use `grub_init_all' and `grub_fini_all' instead.
+
+ * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
+ `grub_vesafb_mod_init'.
+ (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
+ all users.
+ * term/i386/pc/vga.c (grub_vga_init): Renamed to
+ `grub_vga_mod_init'. Updated all users.
+ (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
+ (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
+ rules.
+
+ * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
+ Generate a function to initialize the module in utilities.
+ Updated all callers.
+ (GRUB_MOD_FINI): Add argument `name'. Generate a function to
+ initialize the module in utilities. Updated all callers.
+
+2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
+ escape sequence and a literal ^L to clear the screen.
+
+ * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
+ when returning from Open Firmware.
+
+2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
+ (grub_ofconsole_height): Likewise.
+ (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
+ manually insert a '\n'.
+ (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
+ `grub_ofconsole_height'. Return early if these are already set.
+
+2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
+
+ * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
+ `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
+ `normal/execute.c', `normal/lexer.c', `io/gzio.c',
+ `kern/parser.c', `grub_script.tab.c', `normal/function.c'
+ and `normal/script.c'.
+ (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
+ `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
+ (test_mod_SOURCES): New variable.
+ (test_mod_CFLAGS): Likewise.
+ (test_mod_LDFLAGS): Likewise.
+ (pkgdata_MODULES): Add `test.mod'.
+ (grub_script.tab.c): New rule.
+ (grub_script.tab.h): Likewise.
+
+2005-11-07 Marco Gerards <mgerards@xs4all.nl>
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
+ `commands/test.c', `normal/execute.c', `normal/lexer.c',
+ `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
+ (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
+ `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
+ (test_mod_SOURCES): New variable.
+ (test_mod_CFLAGS): Likewise.
+ (pkgdata_MODULES): Add `test.mod'.
+ (grub_script.tab.c): New rule.
+ (grub_script.tab.h): Likewise.
+
+2005-11-06 Marco Gerards <mgerards@xs4all.nl>
+
+ Add initial scripting support.
+
+ * commands/test.c: New file.
+ * include/grub/script.h: Likewise.
+ * normal/execute.c: Likewise.
+ * normal/function.c: Likewise.
+ * normal/lexer.c: Likewise.
+ * normal/parser.y: Likewise.
+ * normal/script.c: Likewise.
+
+ * configure.ac: Add `AC_PROG_YACC' test.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
+ `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
+ `normal/function.c' and `normal/script.c'.
+ (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
+ `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
+ (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
+ variables.
+ (pkgdata_MODULES): Add `test.mod'.
+ (grub_script.tab.c): New rule.
+ (grub_script.tab.h): Likewise.
+
+ * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
+
+ * include/grub/normal.h (grub_test_init): New prototype.
+ (grub_test_fini): Likewise.
+
+ * normal/command.c: Include <grub/script.h>.
+ (grub_command_execute): Rewritten.
+
+ * util/grub-emu.c (main): Call `grub_test_init' and
+ `grub_test_fini'.
+
+2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
+ to 0.
+ * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
+ there are no pending characters.
+
+2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
+ `grub_strndup' to drop device arguments. Replace unnecessary
+ `grub_strndup' with `grub_strdup'.
+
+2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
+ `debug' environment variable has been set.
+
+2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
+
+ * Makefile.in (install-local): Use $(DATA).
+ (uninstall): Likewise.
+ * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
+ (sbin_UTILITIES): ... to here.
+ (sbin_SCRIPTS): New variable.
+ (grub_install_SOURCES): New variable.
+ * util/powerpc/ieee1275/grub-install.in: New file.
+ * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
+ variable.
+ (add_segments): Call `grub_util_get_path'.
+
+2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
+
+ From Timothy Baldwin:
+ * commands/ls.c (grub_ls_list_files): Close FILE with
+ grub_file_close.
+ * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
+
+2005-10-24 Marco Gerards <mgerards@xs4all.nl>
+
+ * include/grub/parser.h: New file.
+
+ * kern/parser.c: Likewise.
+
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
+ (grub_setup_SOURCES): Likewise.
+ (grub_probefs_SOURCES): Likewise.
+ (grub_emu_SOURCES): Likewise.
+ (kernel_img_HEADERS): Add `parser.h'.
+
+ * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
+ (grub_emu_SOURCES): Add `kern/parser.c'.
+ (grubof_SOURCES): Likewise.
+
+ * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
+ (grubof_SOURCES): Add `kern/parser.c'.
+
+ * include/grub/misc.h (grub_split_cmdline): Removed prototype.
+
+ * kern/misc.c (grub_split_cmdline): Removed function.
+
+ * kern/rescue.c: Include <grub/parser.h>.
+ (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
+ of `grub_split_cmdline'.
+
+ * normal/command.c: Include <grub/parser.h>.
+ (grub_command_execute): Use `grub_parser_split_cmdline' instead
+ of `grub_split_cmdline'.
+
+ * normal/completion.c: Include <grub/parser.h>.
+ (cmdline_state): New variable.
+ (iterate_dir): End the filename with a quote depending on the
+ command line state.
+ (get_state): new function.
+ (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
+ split the arguments and determine the current argument. When the
+ argument string is not quoted, escape all spaces.
+
+2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
+
+ * normal/sparc64/setjmp.S: New file.
+
+2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
+
+ * include/grub/sparc64/libgcc.h: New file.
+ * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
+ (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
+ normal/sparc64/setjmp.c.
+
+2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
+
+ * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
+ * kern/sparc64/cache.S: New file.
+ * kern/sparc64/cache.c: Removed.
+ * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
+ (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
+ -mtune=ultrasparc.
+ (COMMON_LDFLAGS): Add -melf64_sparc.
+ (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
+ (grubof_SOURCES): Use cache.S instead of cache.c.
+ (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
+ --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
+ (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
+ commented though.
+ (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
+ (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
+ (linux_mod_CFLAGS): Commented out.
+ (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
+ out because module isn't built.
+ (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
+ (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
+ (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
+ (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
+ (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
+ (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
+ (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
+ (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
+ (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
+ (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
+ (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
+ (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
+ (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
+ (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
+
+2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
+ grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
+ longer, because HFS should not be used on PC.
+
+2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
+
+ * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
+ consistently within the loop.
+
+2005-10-15 Marco Gerards <mgerards@xs4all.nl>
+
+ * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
+ directory can not be read.
+
+2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * configure.ac (AC_INIT): Increase the version number to 1.91.
+
+ * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
+ include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
+ term/i386/pc/serial.c.
+
+2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/file.c (grub_file_seek): Seeking to an offset equal to a
+ file size must be permitted.
+
+ * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
+ between %ah and %al.
+
+2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
+ grub_uint64_t.
+ Call the hook with a NUL-terminated filename.
+ (grub_xfs_mount): Use grub_be_to_cpu32 instead of
+ grub_cpu_to_be32.
+
+ * kern/term.c (cursor_state): New variable.
+ (grub_term_set_current): Reset the cursor state on a new
+ terminal.
+ (grub_setcursor): Rewritten to use CURSOR_STATE.
+ (grub_getcursor): New function.
+
+ * include/grub/term.h (grub_getcursor): New prototype.
+
+ * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
+ integers on ARM. Reported by Timothy Baldwin
+ <T.E.Baldwin99@members.leeds.ac.uk>.
+
+2005-10-11 Marco Gerards <mgerards@xs4all.nl>
+
+ * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
+ allocated.
+ (grub_sfs_dir): Likewise.
+
+2005-10-09 Marco Gerards <mgerards@xs4all.nl>
+
+ Add support for the SFS filesystem.
+
+ * fs/sfs.c: New file.
+
+ * DISTLIST: Added `fs/sfs.c'.
+
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
+ (grub_probefs_SOURCES): Likewise.
+ (grub_emu_SOURCES): Likewise.
+ (pkgdata_MODULES): Add `sfs.mod'.
+ (sfs_mod_SOURCES): New variable.
+ (sfs_mod_CFLAGS): Likewise.
+ (sfs_mod_LDFLAGS): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
+ (pkgdata_MODULES): Add `sfs.mod'.
+ (sfs_mod_SOURCES): New variable.
+ (sfs_mod_CFLAGS): Likewise.
+
+ * util/grub-emu.c (main): Call `grub_sfs_init' and
+ `grub_sfs_fini'.
+
+ * include/grub/fs.h (grub_sfs_init): New prototype.
+ (grub_sfs_fini): Likewise.
+
+2005-10-07 Marco Gerards <mgerards@xs4all.nl>
+
+ Add support for the AFFS filesystem.
+
+ * fs/affs.c: New file.
+
+ * DISTLIST: Added `fs/affs.c'.
+
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
+ (grub_probefs_SOURCES): Likewise.
+ (grub_emu_SOURCES): Likewise.
+ (pkgdata_MODULES): Add `affs.mod'.
+ (affs_mod_SOURCES): New variable.
+ (affs_mod_CFLAGS): Likewise.
+ (affs_mod_LDFLAGS): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
+ (pkgdata_MODULES): Add `affs.mod'.
+ (affs_mod_SOURCES): New variable.
+ (affs_mod_CFLAGS): Likewise.
+
+ * util/grub-emu.c (main): Call `grub_affs_init' and
+ `grub_affs_fini'.
+
+ * include/grub/fs.h (grub_affs_init): New prototype.
+ (grub_affs_fini): Likewise.
+
+2005-10-01 Marco Gerards <mgerards@xs4all.nl>
+
+ * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
+
+2005-10-01 Marco Gerards <mgerards@xs4all.nl>
+
+ * configure.ac: Accept `x86_64' as host_cpu. In that case add
+ `-m32' to CFLAGS.
+
+ * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
+ linking.
+
+ * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
+ (COMMON_LDFLAGS): New variable.
+ (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
+ (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
+ (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
+ (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
+ (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
+ (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
+ (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
+ (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
+ (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
+ (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
+ (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
+ (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
+ (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
+ (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
+ (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
+ variables.
+ (normal_mod_ASFLAGS): Add `-m32'.
+
+ * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
+ (grub_host_size_t, grub_host_ssize_t): New types.
+ (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
+ dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
+ `GRUB_HOST_SIZEOF_VOID_P'.
+
+ * include/grub/kernel.h (struct grub_module_header): Type of
+ member offset changed to `grub_host_off_t'. Type of member size
+ changed to `grub_host_size_t'.
+ (struct grub_module_info): Type of member offset changed to
+ `grub_host_off_t'. Type of member size changed to
+ `grub_host_size_t'.
+
+2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Make GRUB's kernel compliant to Multiboot Specification.
+
+ * kern/i386/pc/startup.S (multiboot_header): New label.
+ (multiboot_entry): Likewise.
+ (multiboot_trampoline): Likewise.
+
+ * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
+ Increased to 0x4A0.
+
+ * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
+ put parentheses after a question mark.
+ [!GRUB_UTIL] (my_mod): New variable.
+
+ * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
+
+2005-09-28 Marco Gerards <mgerards@xs4all.nl>
+
+ Adds support for the XFS filesystem. Btrees are not supported
+ yet.
+
+ * fs/xfs.c: New file.
+
+ * DISTLIST: Added `fs/xfs.c'.
+
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
+ (grub_probefs_SOURCES): Likewise.
+ (grub_emu_SOURCES): Likewise.
+ (pkgdata_MODULES): Add `xfs.mod'.
+ (xfs_mod_SOURCES): New variable.
+ (xfs_mod_CFLAGS): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
+ (pkgdata_MODULES): Add `xfs.mod'.
+ (xfs_mod_SOURCES): New variable.
+ (xfs_mod_CFLAGS): Likewise.
+
+ * util/grub-emu.c (main): Call `grub_xfs_init' and
+ `grub_xfs_fini'.
+
+ * include/grub/fs.h (grub_xfs_init): New prototype.
+ (grub_xfs_fini): Likewise.
+
+
+2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
+ color modes, allow greater than 16 colors to be configured as
+ a default palette.
+
+2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * normal/completion.c (complete_arguments): Add the qualifier
+ const into OPTIONS.
+
+ From Omniflux <omniflux+lists@omniflux.com>:
+ * include/grub/terminfo.h: New file.
+ * include/grub/tparm.h: Likewise.
+ * include/grub/i386/pc/serial.h: Likewise.
+ * term/terminfo.c: Likewise.
+ * term/tparm.c: Likewise.
+ * term/i386/pc/serial.c: Likewise.
+ * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
+ serial.mod.
+ (terminfo_mod_SOURCES): New variable.
+ (terminfo_mod_CFLAGS): Likewise.
+ (serial_mod_SOURCES): Likewise.
+ (serial_mod_CFLAGS): Likewise.
+
+2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
+ boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
+ and kern/powerpc/ieee1275/cmain.c, respectively.
+
+ * boot/powerpc/ieee1275/crt0.S: Moved to ...
+ * kern/powerpc/ieee1275/crt0.S: ... here.
+
+ * boot/powerpc/ieee1275/cmain.c: Moved to ...
+ * kern/powerpc/ieee1275/cmain.c: ... here.
+
+ * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
+ kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
+ instead of boot/powerpc/ieee1275/crt0.S and
+ boot/powerpc/ieee1275/cmain.c, respectively.
+
+ * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
+ sectors. It was not used anyway.
+
+2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
+ `unused parameter' warning.
+
+2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
+ function.
+ (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
+ getcharwidth.
+
+2005-08-28 Marco Gerards <metgerards@student.han.nl>
+
+ * include/grub/normal.h (enum grub_completion_type): Added
+ `GRUB_COMPLETION_TYPE_ARGUMENT'.
+
+ * normal/cmdline.c (print_completion): Handle
+ the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
+ * normal/menu_entry.c (store_completion): Likewise.
+
+ * normal/completion.c (complete_arguments): New function.
+ (grub_normal_do_completion): Call `complete_arguments' when the
+ current words start with a dash.
+
+2005-08-27 Marco Gerards <metgerards@student.han.nl>
+
+ * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
+ `gzio.mod' instead of `io.mod').
+
+2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
+ (DISTDIRS): Added io and video.
+ Rewrite the search routine to make an output consistently.
+
+ * DISTLIST: Added conf/sparc64-ieee1275.mk,
+ conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
+ include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
+ io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
+ kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
+ util/powerpc/ieee1275/misc.c.
+
+ * include/grub/gzio.h: New file.
+ * io/gzio.c: Likewise.
+
+ * kern/file.c (grub_file_close): Call grub_device_close only if
+ FILE->DEVICE is not NULL.
+
+ * include/grub/mm.h [!NULL] (NULL): New macro.
+
+ * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
+ (pkgdata_MODULES): Added gzio.mod.
+ (gzio_mod_SOURCES): New variable.
+ (gzio_mod_CFLAGS): Likewise.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
+ (pkgdata_MODULES): Added gzio.mod.
+ (gzio_mod_SOURCES): New variable.
+ (gzio_mod_CFLAGS): Likewise.
+
+ * commands/cat.c: Include grub/gzio.h.
+ (grub_cmd_cat): Use grub_gzfile_open instead of
+ grub_file_open.
+
+ * commands/cmp.c: Include grub/gzio.h.
+ (grub_cmd_cmp): Use grub_gzfile_open instead of
+ grub_file_open.
+
+ * loader/i386/pc/multiboot.c: Include grub/gzio.h.
+ (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
+ grub_file_open.
+ (grub_rescue_cmd_module): Likewise.
+
+2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
+
+ * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
+ kern/sparc64/ieee1275/init.c because it contains _start.
+ * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
+
+2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
+
+ * configure.ac: Add support for sparc64 host with ieee1275
+ firmware.
+ * configure: Generated from configure.ac.
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
+ instead of int.
+ (grub_ofdisk_read): Likewise.
+ (grub_ofdisk_open): Use %p to print pointer values, and cast the
+ pointers as (void *) to remove a warning.
+ (grub_ofdisk_close): Likewise.
+ (grub_ofdisk_read): Likewise.
+ * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
+ returns, so make it return void to remove a warning.
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
+ Corresponding prototype change.
+ * kern/mm.c (grub_mm_init_region): Use %p to print pointer
+ values, and cast the pointers as (void *) to remove a warning.
+ (grub_mm_dump): Likewise.
+ * conf/sparc64-ieee1275.mk: New file.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * include/grub/sparc64/setjmp.h: Likewise.
+ * include/grub/sparc64/types.h: Likewise.
+ * include/grub/sparc64/ieee1275/console.h: Likewise.
+ * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
+ * include/grub/sparc64/ieee1275/kernel.h: Likewise.
+ * include/grub/sparc64/ieee1275/time.h: Likewise.
+ * kern/sparc64/cache.c: Likewise.
+ * kern/sparc64/dl.c: Likewise.
+ * kern/sparc64/ieee1275/init.c: Likewise.
+ * kern/sparc64/ieee1275/openfw.c: Likewise.
+
+2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/console.c (grub_ncurses_putchar): If C is greater than
+ 0x7f, set C to a question mark.
+ (grub_ncurses_getcharwidth): New function.
+ (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
+ getcharwidth.
+
+ * normal/menu.c (print_entry): Made aware of Unicode. First,
+ convert TITLE to UCS-4, and predict the cursor position by
+ grub_getcharwidth.
+
+ * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
+ const to SRC.
+ * kern/misc.c (grub_utf16_to_utf8): Likewise.
+
+2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
+ the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
+ grub_strcat.
+
+ * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
+ file by the option BOOT_IMAGE. Use grub_stpcpy instead of
+ grub_strcpy and grub_strlen. Take it into account that a space
+ character is inserted as a delimiter.
+
+2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * partmap/pc.c (pc_partition_map_iterate): Include the value of an
+ invalid magic in the error.
+
+ * commands/search.c: New file.
+
+ * util/grub-emu.c (main): Call grub_search_init and
+ grub_search_fini.
+
+ * kern/rescue.c (grub_rescue_print_disks): Removed.
+ (grub_rescue_print_devices): New function.
+ (grub_rescue_cmd_ls): Use grub_device_iterate with
+ grub_rescue_print_devices instead of grub_disk_dev_iterate with
+ grub_rescue_print_disks.
+
+ * kern/partition.c (grub_partition_iterate): Return the result of
+ PARTMAP->ITERATE instead of GRUB_ERRNO.
+
+ * kern/device.c: Include grub/partition.h.
+ (grub_device_iterate): New function.
+
+ * include/grub/partition.h (grub_partition_iterate): Return int
+ instead of grub_err_t.
+
+ * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
+ prototype.
+ [GRUB_UTIL] (grub_search_fini): Likewise.
+
+ * include/grub/device.h (grub_device_iterate): New prototype.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
+ commands/search.c.
+ (pkgdata_MODULES): Added search.mod.
+ (search_mod_SOURCES): New variable.
+ (search_mod_CFLAGS): Likewise.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
+ (pkgdata_MODULES): Added search.mod.
+ (search_mod_SOURCES): New variable.
+ (search_mod_CFLAGS): Likewise.
+
+ * commands/ls.c (grub_ls_list_disks): Renamed to ...
+ (grub_ls_list_devices): ... this, and use grub_device_iterate.
+ All callers changed.
+
+ * DISTLIST: Added commands/search.c.
+
+2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
+ conversion.
+ (grub_getcharwidth): New function.
+
+ * kern/misc.c (grub_utf8_to_ucs4): New function.
+
+ * include/grub/term.h (struct grub_term): Added a new member
+ "getcharwidth".
+ (grub_getcharwidth): New prototype.
+
+ * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
+
+ * term/i386/pc/console.c (map_char): New function. Segregated from
+ grub_console_putchar.
+ (grub_console_putchar): Use map_char.
+ (grub_console_getcharwidth): New function.
+ (grub_console_term): Specified grub_console_getcharwidth as
+ getcharwidth.
+
+ * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
+ (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
+
+ * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
+ GRUB_ERRNO.
+ (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
+ on grub_strtoul completely.
+ (write_char): Declare local variables in the beginning of the
+ function.
+ (grub_vesafb_getcharwidth): New function.
+ (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
+ getcharwidth.
+
+2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
+ commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
+ commands/i386/pc/vbetest.c.
+
+ * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
+ call grub_vbe_get_controller_info again, because the returned
+ information is volatile.
+ (grub_vbe_set_video_mode): Mostly rewritten.
+ (grub_vbe_get_video_mode): Use grub_vbe_probe and use
+ grub_vbe_status_t correctly.
+ (grub_vbe_get_video_mode_info): Likewise.
+ (grub_vbe_set_pixel_rgb): Use a switch statement rather than
+ several if statements.
+
+ * commands/i386/pc/vbe_list_modes.c: Renamed to ...
+ * commands/i386/pc/vbeinfo.c: ... this.
+
+ * commands/i386/pc/vbe_test.c: Renamed to ...
+ * commands/i386/pc/vbetest.c: ... this.
+
+ * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
+ ...
+ (grub_cmd_vbeinfo): ... this. Save video modes before
+ iterating. Skip a video mode, if it is not available, not enough
+ information is given or it is monochrome. Show the memory
+ model. Leave the interpretation of MODEVAR to grub_strtoul
+ completely.
+ (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
+ (GRUB_MOD_FINI): Likewise.
+
+ * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
+ (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
+ grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
+ duplicated grub_env_get. Leave the interpretation of MODEVAR to
+ grub_strtoul completely.
+ (real2pm): Removed.
+ (GRUB_MOD_INIT): Rename vbe_test to vbetest.
+ (GRUB_MOD_FINI): Likewise.
+
+ * normal/misc.c: Include grub/mm.h.
+
+ * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
+ vbe_list_modes with vbetest.mod and vbeinfo.mod.
+ (vbe_list_modes_mod_SOURCES): Removed.
+ (vbe_list_modes_mod_CFLAGS): Likewise.
+ (vbe_test_mod_SOURCES): Likewise.
+ (vbe_test_mod_CFLAGS): Likewise.
+ (vbeinfo_mod_SOURCES): New variable.
+ (vbeinfo_mod_CFLAGS): Likewise.
+ (vbetest_mod_SOURCES): Likewise.
+ (vbetest_mod_CFLAGS): Likewise.
+
+2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * normal/misc.c: New file.
+
+ * DISTLIST: Added normal/misc.c.
+
+ * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
+ DISK to HOOK. Call HOOK with DISK.
+ * partmap/apple.c (apple_partition_map_iterate): Likewise.
+ * partmap/pc.c (pc_partition_map_iterate): Likewise.
+ * partmap/sun.c (sun_partition_map_iterate): Likewise.
+
+ * normal/menu_entry.c (struct screen): Added a new member
+ "completion_shown".
+ (completion_buffer): New global variable.
+ (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
+ (store_completion): New function.
+ (complete): Likewise.
+ (clear_completions): Likewise.
+ (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
+ call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
+ a tab, call complete.
+
+ * normal/completion.c (disk_dev): Removed.
+ (print_simple_completion): Likewise.
+ (print_partition_completion): Likewise.
+ (print_func): New global variable.
+ (add_completion): Do not take the arguments WHAT or PRINT any
+ longer. Added a new argument TYPE. Instead of printing directly,
+ call PRINT_FUNC if not NULL.
+ All callers changed.
+ (complete_device): Use a local variable DEV instead of
+ DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
+ (grub_normal_do_completion): Take a new argument HOOK. Do not
+ initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
+ empty string, return NULL instead.
+ All callers changed.
+
+ * normal/cmdline.c (print_completion): New function.
+
+ * kern/partition.c (grub_partition_iterate): Add an argument DISK
+ to HOOK.
+ All callers changed.
+
+ * kern/disk.c (grub_print_partinfo): Removed.
+
+ * include/grub/partition.h (struct grub_partition_map): Add a new
+ argument DISK into HOOK of ITERATE.
+ (grub_partition_iterate): Add a new argument DISK to HOOK.
+
+ * include/grub/normal.h (enum grub_completion_type): New enum.
+ (grub_completion_type_t): New type.
+ (GRUB_COMPLETION_TYPE_COMMAND): New constant.
+ (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
+ (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
+ (GRUB_COMPLETION_TYPE_FILE): Likewise.
+ (grub_normal_do_completion): Added a new argument HOOK.
+ (grub_normal_print_device_info): New prototype.
+
+ * include/grub/disk.h (grub_print_partinfo): Removed.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
+ (normal_mod_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ (normal_mod_SOURCES): Likewise.
+
+ * commands/ls.c (grub_ls_list_disks): Use
+ grub_normal_print_device_info instead of grub_print_partinfo. Free
+ PNAME.
+ (grub_ls_list_files): Use grub_normal_print_device_info instead of
+ duplicating the code.
+
+2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * commands/i386/pc/vbe_list_modes.c: Update source formatting to
+ follow GCS more precisely.
+ * commands/i386/pc/vbe_test.c: Likewise.
+ * include/grub/i386/pc/vbe.h: Likewise.
+ * term/i386/pc/vesafb.c: Likewise.
+ * video/i386/pc/vbe.c: Likewise.
+
+2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * DISTLIST: Added term/i386/pc/vesafb.c
+ DISTLIST: Added video/i386/pc/vbe.c
+ DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
+ DISTLIST: Added commands/i386/pc/vbe_test.c.
+ * commands/i386/pc/vbe_list_modes.c: New file.
+ * commands/i386/pc/vbe_test.c: Likewise.
+ * term/i386/pc/vesafb.c: Likewise.
+ * video/i386/pc/vbe.c: Likewise.
+ * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
+ (grub_vbe_probe) Added prototype.
+ (grub_vbe_set_video_mode) Likewise.
+ (grub_vbe_get_video_mode) Likewise.
+ (grub_vbe_get_video_mode_info) Likewise.
+ (grub_vbe_set_pixel_rgb) Likewise.
+ (grub_vbe_set_pixel_index) Likewise.
+ * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
+ (pkgdata_MODULES): Added vesafb.mod.
+ (pkgdata_MODULES): Added vbe_list_modes.mod.
+ (pkgdata_MODULES): Added vbe_test.mod.
+ (vbe_mod_SOURCES): Added.
+ (vbe_mod_CFLAGS): Likewise.
+ (vesafb_mod_SOURCES): Likewise.
+ (vesafb_mod_CFLAGS): Likewise.
+ (vbe_list_modes_mod_SOURCES): Likewise.
+ (vbe_list_modes_mod_CFLAGS): Likewise.
+ (vbe_test_mod_SOURCES): Likewise.
+ (vbe_test_mod_CFLAGS): Likewise.
+
+2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * normal/command.c (grub_command_execute): If INTERACTIVE is
+ false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
+ CMDLINE. Disable the pager if INTERACTIVE is true.
+ All callers are changed.
+
+ * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
+ before reading a config file.
+ * normal/main.c (read_config_file): Even if a command is not
+ found, register it if it is within an entry.
+
+ * util/grub-emu.c: Include sys/types.h and unistd.h.
+ (options): Added --hold.
+ (struct arguments): Added a new member "hold".
+ (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
+ missing.
+ (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
+ cleared by a debugger, if it is not zero.
+
+ * include/grub/normal.h (grub_command_execute): Add an argument
+ INTERACTIVE.
+
+2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * DISTLIST: Added include/grub/i386/pc/vbe.h.
+
+2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
+ program with another one, because the old one didn't detect a bug
+ in gcc-3.4. Always use regparm 2, because the new test is still
+ not enough for gcc-4.0. Someone must investigate a simple test
+ case which detects a bug in gcc-4.0.
+
+2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * DISTLIST: Added normal/completion.c.
+
+ * normal/completion.c: New file.
+
+ * term/i386/pc/console.c (grub_console_getwh): New function.
+ (grub_console_term): Assign grub_console_getwh to getwh.
+
+ * normal/cmdline.c (grub_tab_complete): Removed. Now the same
+ function is defined in normal/completion.c as
+ grub_normal_do_completion.
+ (grub_cmdline_get): Use grub_normal_do_completion instead of
+ grub_tab_complete.
+
+ * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
+ returns non-zero, otherwise return 0.
+ (grub_partition_iterate): First, probe the partition map. Then,
+ call ITERATE only for this partition map.
+
+ * kern/misc.c (grub_strncmp): Rewritten.
+
+ * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
+ returns non-zero. Otherwise return 0.
+
+ * include/grub/partition.h (grub_partition_map_iterate): Return
+ int instead of void.
+
+ * include/grub/normal.h (grub_normal_do_completion): New prototype.
+
+ * include/grub/misc.h (grub_strncmp): Change the type of N to
+ grub_size_t.
+
+ * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
+ of void.
+
+ * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
+ unsigned explicitly before comparing it with I.
+
+ * kern/main.c (grub_env_write_root): Add the attribute unused into
+ VAR.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
+ normal/completion.c.
+ (normal_mod_SOURCES): Likewise.
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
+ (normal_mod_SOURCES): Likewise.
+
+ * normal/command.c (grub_iterate_commands): If ITERATE returns
+ non-zero, return one immediately.
+
+2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
+
+ * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
+ * kern/i386/pc/startup.S: Updated Global Descriptor table's
+ descriptions.
+ (grub_vbe_get_controller_info): New function.
+ (grub_vbe_get_mode_info): Likewise.
+ (grub_vbe_set_mode): Likewise.
+ (grub_vbe_get_mode): Likewise.
+ (grub_vbe_set_memory_window): Likewise.
+ (grub_vbe_get_memory_window): Likewise.
+ (grub_vbe_set_scanline_length): Likewise.
+ (grub_vbe_get_scanline_length): Likewise.
+ (grub_vbe_set_display_start): Likewise.
+ (grub_vbe_get_display_start): Likewise.
+ (grub_vbe_set_palette_data): Likewise.
+ * include/grub/i386/pc/vbe.h: New file.
+
+2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
+
+ * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
+ kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
+ * DISTLIST: Likewise.
+ * kern/ieee1275/of.c: Moved to ...
+ * kern/ieee1275/ieee1275.c: ... here.
+
+2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
+
+ * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
+ (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
+ Pass 0 as `end' parameter to grub_strtoul().
+
+2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
+
+ * include/grub/powerpc/ieee1275/console.h: Do not include
+ <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
+ ifdef.
+ (grub_console_cur_color): Remove i386-specific prototype.
+ (grub_console_real_putchar): Likewise.
+ (grub_console_checkkey): Likewise.
+ (grub_console_getkey): Likewise.
+ (grub_console_getxy): Likewise.
+ (grub_console_gotoxy): Likewise.
+ (grub_console_cls): Likewise.
+ (grub_console_setcursor): Likewise.
+ * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
+ Include <grub/machine/console.h>.
+ * term/ieee1275/ofconsole.c: Likewise.
+
+2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * Makefile.in (LIBLZO): New variable.
+
+ * configure.ac: Check for LZO version 2.
+
+ * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
+ lzo/lzo1x.h instead of lzo1x.h.
+
+ * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
+ of -llzo.
+
+ * util/i386/pc/grub-setup.c (main): Do not free PREFIX
+ twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
+
+ * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
+ copying the data from PARTITION to P.
+
+2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
+ negative, unload the module.
+
+ * util/i386/pc/grub-setup.c (setup): The name of the PC partition
+ map is "pc_partition_map" but not "pc".
+ (usage): Fix the description. The options are --boot-image and
+ --core-image but not --boot-file or --core-file.
+ (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
+ based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
+ DEFAULT_DIRECTORY.
+
+ * util/i386/pc/grub-install.in: Do not specify --boot-file or
+ --core-file. Specify INSTALL_DEVICE as an argument.
+
+ * util/console.c: Include config.h.
+ [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
+ [HAVE_NCURSES_H]: Include ncurses.h.
+ [HAVE_CURSES_H]: Include curses.h.
+ [!A_NORMAL] (A_NORMAL): Defined as zero.
+ [!A_STANDOUT] (A_STANDOUT): Likewise.
+
+ * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
+ -lncurses.
+ * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
+
+ * configure.ac: Check for curses libraries and headers.
+
+ * Makefile.in (LIBCURSES): New variable.
+
+ * genmk.rb (Script::rule): Set the executable bits.
+
+ * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
+ name of the PC partition map is "pc_partition_map" but not "pc".
+
+2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/i386/pc/grub-install.in (grub_probefs): New variable.
+ (modules): Likewise.
+ (usage): Added descriptions for --modules and --grub-probefs.
+ Handle --modules and --grub-probefs. Save the arguments in MODULES
+ and GRUB_PROBEFS, respectively.
+ Auto-detect a filesystem module against GRUBDIR. If the result is
+ empty and modules are not specified explicitly, abort the
+ installation. Add the result to MODULES.
+
+ * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
+ disk/powerpc/ieee1275/ofdisk.c,
+ include/grub/powerpc/ieee1275/init.h and
+ term/powerpc/ieee1275/ofconsole.c.
+ Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
+ term/ieee1275/ofconsole.c.
+
+ * include/grub/powerpc/ieee1275/console.h: Resurrected.
+
+ * COPYING: Upgraded to the latest version. Only the address of the
+ FSF office has changed.
+
+2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
+ kern/ieee1275.c with kern/ieee1275/of.c.
+
+ * kern/ieee1275.c: Moved to ...
+ * kern/ieee1275/of.c: ... here.
+
+2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
+ readability.
+
+ * config.guess: Updated to the latest version from gnulib.
+ * config.sub: Likewise.
+ * install.sh: Likewise.
+ * mkinstalldirs: Likewise.
+
+ * include/grub/console.h: Removed. This file is arch-specific. Do
+ not put this in include/grub.
+
+ * include/grub/i386/pc/console.h: Resurrected.
+
+ * util/console.c: Include grub/machine/console.h instead of
+ grub/console.h.
+ * util/grub-emu.c: Likewise.
+
+2005-08-04 Marco Gerards <metgerards@student.han.nl>
+
+ * kern/term.c (grub_putcode): Use `grub_getwh' instead of
+ hardcoded value.
+
+ From Vincent Pelletier <subdino2004@yahoo.fr>
+ * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
+ Redefined to use grub_getwh.
+ (grub_term): New member named getwh.
+ (grub_getwh): New prototype.
+ * kern/term.c (grub_getwh): New function.
+ * term/i386/pc/console.c (grub_console_getwh): New function.
+ (grub_console_term): New member `getwh'.
+ * term/i386/pc/vga.c (grub_vga_getwh): New function.
+ (grub_vga_term): New member `getwh'.
+ * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
+ grub_ssize_t.
+ (grub_ofconsole_getw): New function.
+ (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
+ (grub_ofconsole_term): New field named getwh and new initial
+ value.
+
+2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
+
+ * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
+ * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
+ Move `abort', `grub_reboot', and `grub_halt' prototypes ...
+ * include/grub/powerpc/ieee1275/kernel.h: ... to here.
+ * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
+ of <grub/machine/ieee1275.h>.
+ * commands/ieee1275/reboot.c: Likewise.
+ * boot/powerpc/ieee1275/ieee1275.c: Move ...
+ * kern/ieee1275.c: ... to here. All users updated. Change all
+ parameter structs to use new type `grub_ieee1275_cell_t'.
+ * term/powerpc/ieee1275/ofconsole.c: Move ...
+ * term/ieee1275/ofconsole.c: ... to here. All users updated.
+ * disk/powerpc/ieee1275/ofdisk.c: Move ...
+ * disk/ieee1275/ofdisk.c: ... to here. All users updated.
+ * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
+ to return int.
+ * include/grub/i386/pc/console.h: Move to include/grub/console.h.
+ Remove unused prototypes. All users updated.
+ * include/grub/powerpc/ieee1275/console.h: Removed.
+ * include/grub/powerpc/ieee1275/ieee1275.h: Define
+ `grub_ieee1275_cell_t'.
+ * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
+ Cast comparisons with -1 to the correct type.
+ * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
+ type to match `grub_ieee1275_entry_fn'.
+
+2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * DISTLIST: Added util/i386/pc/grub-probefs.c.
+
+ * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
+ (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
+ partmap/sun.c.
+ (grub_probefs_SOURCES): New variable.
+
+ * util/i386/pc/grub-probefs.c: New file.
+
+ * util/i386/pc/grub-setup.c (main): Call
+ grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
+ grub_hfs_init and grub_jfs_init to initialize the system. Call
+ grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
+ grub_pc_partition_map_fini to finish the system.
+
+2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
+ function.
+ (grub_multiboot_load_elf32): Likewise.
+ (grub_multiboot_is_elf64): Likewise.
+ (grub_multiboot_load_elf64): Likewise.
+ (grub_multiboot_load_elf): Likewise.
+ (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
+ an ELF32 or ELF64 file.
+ This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
+
+ From Serbinenko Vladimir <serbinenko.vova@list.ru>:
+ * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
+ NULL before calling FS->LABEL.
+ * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
+ * commands/ls.c (grub_ls_list_files): Show labels, if possible.
+ (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
+ before calling FS->LABEL.
+
+2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/i386/pc/grub-install.in (datadir): New variable.
+ (libdir): Removed.
+ (pkgdatadir): New variable.
+ (pkglibdir): Removed.
+
+2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * DISTLIST: Added util/i386/pc/grub-install.in.
+
+ * util/i386/pc/grub-install.in: New file.
+
+ * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
+ (grub_install_SOURCES): Likewise.
+
+ * genmk.rb: Added support for scripts.
+ (Script): New class.
+ (scripts): New variable.
+
+ * Makefile.in (install-local): Install sbin_SCRIPTS by
+ INSTALL_SCRIPT.
+ (uninstall): Remove sbin_SCRIPTS.
+
+ * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
+ device, try to get a GRUB device by
+ grub_util_biosdisk_get_grub_dev.
+ Free DEST_DEV.
+
+ * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
+ description for --device-map.
+
+2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Change the semantics of variable hooks. They now return strings
+ instead of error values.
+
+ * util/i386/pc/grub-setup.c: Include grub/env.h.
+ (setup): Use grub_device_set_root instead of grub_env_set.
+
+ * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
+ grub_env_get instead of grub_device_set_root and
+ grub_device_get_root, respectively.
+
+ * kern/main.c (grub_env_write_root): New function.
+ (grub_set_root_dev): Register grub_env_write_hook for "root". Use
+ grub_env_set instead of grub_device_set_root.
+
+ * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
+ many variables.
+ (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
+ rather than calling ENV->WRITE_HOOK afterwards.
+ (grub_env_get): Return the result of ENV->READ_HOOK rather than
+ passing a pointer of a pointer.
+ (grub_register_variable_hook): Change the types of "read_hook" and
+ "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
+ respectively.
+ Allocate the default empty string on the heap, because this string
+ may be freed later.
+
+ * kern/device.c: Include grub/env.h.
+ (grub_device_set_root): Removed.
+ (grub_device_get_root): Likewise.
+ (grub_device_open): Use grub_env_get instead of
+ grub_device_get_root.
+
+ * include/grub/env.h (grub_env_read_hook_t): New type.
+ (grub_env_write_hook_t): Likewise.
+ (grub_env_var): Change the types of "read_hook" and "write_hook"
+ to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
+ (grub_register_variable_hook): Likewise.
+
+ * include/grub/device.h (grub_device_set_root): Removed.
+ (grub_device_set_root): Likewise.
+
+ * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
+ make sure that DIRNAME terminates with '/', so that
+ grub_fat_find_dir will fail if PATH is not a directory.
+
+ * commands/ls.c (grub_ls_list_files): Remove the qualifier const
+ from DIRNAME.
+ Use the qualifier auto for print_files and print_files_long.
+ If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
+ as a regular file.
+ Put a newline only if there is no error.
+ (grub_cmd_ls): Remove grub_ls_print_files, because this is not
+ used.
+
+2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/partition.c (grub_partition_probe): Initialize PART to
+ NULL. Otherwise, when no partition map is registered, this returns
+ a garbage.
+
+2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * partmap/apple.c (apple_partition_map_iterate): Check if POS
+ equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
+ valid.
+
+2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * commands/ls.c (grub_ls_list_disks): Print the filesystem
+ information on each device, if it does not have partitions. Print
+ "Device" instead of "Disk", because this function is not specific
+ to disk devices.
+
+ * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
+ static to ensure that it is put on the memory rather than a
+ register.
+
+2005-07-17 Yoshinori Okuji <okuji@enbug.org>
+
+ * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
+ (grub_cat_init): Likewise.
+ * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
+ (options): Likewise.
+ * commands/configfile.c (GRUB_MOD_INIT): Likewise.
+ (grub_configfile_init): Likewise.
+ * font/manager.c (GRUB_MOD_INIT): Likewise.
+ * commands/help.c (GRUB_MOD_INIT): Likewise.
+ (grub_help_init): Likewise.
+ * normal/command.c (grub_command_init): Likewise.
+ * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
+ * disk/loopback.c (grub_loop_init): Likewise.
+ (GRUB_MOD_INIT): Likewise.
+ * commands/ls.c (grub_ls_init): Likewise.
+ (GRUB_MOD_INIT): Likewise.
+ (options): Likewise.
+ * commands/boot.c (grub_boot_init): Likewise.
+ (GRUB_MOD_INIT): Likewise.
+ * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
+ * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
+ (GRUB_MOD_INIT): Likewise.
+ * commands/cmp.c (grub_cmp_init): Likewise.
+ (GRUB_MOD_INIT): Likewise.
+
+ * normal/arg.c: Use <> instead of "" to include header files.
+ (SHORT_ARG_HELP): New macro.
+ (SHORT_ARG_USAGE): Likewise.
+ (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
+ of 'h' and 'u' for help and usage, respectively. Use more GNU-like
+ descriptions.
+ (find_short): Check if C is 'h' or 'u' explicitly.
+ (grub_arg_show_help): Use space characters instead of tabs. Treat
+ SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
+ are shown with --help and --usage only if they are not used for
+ the command itself.
+ (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
+ 'h' and 'u'.
+
+ * include/grub/arg.h (struct grub_arg_option): Add the qualifier
+ const into "longarg". Change the type of "shortarg" to int.
+
+2005-07-17 Yoshinori Okuji <okuji@enbug.org>
+
+ * boot/i386/pc/boot.S (boot_drive_check): New label.
+
+ * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
+ macro.
+
+ * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
+ which do not pass a boot drive correctly. Copied from GRUB Legacy.
+
+2005-07-17 Yoshinori Okuji <okuji@enbug.org>
+
+ * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
+ When turning off Gate A20, skip the check and return immediately,
+ because this is not fatal usually.
+
+2005-07-17 Yoshinori Okuji <okuji@enbug.org>
+
+ * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
+ be 0x7C00 instead of 0x8000.
+
+ * boot/i386/pc/pxeboot.S: Rewritten.
+
+ * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
+ EXT_C.
+ (gate_a20_check_state): Read a byte from 0x108000. Invert the
+ result.
+
+2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
+ robustness. This routine now supports a BIOS call and System
+ Control Port A to modify the gate A20.
+
+ * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
+ Increased to 0x440.
+
+2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
+
+ * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
+ device path and resulting ihandle.
+ (grub_ofdisk_close): dprintf the ihandle being closed.
+ (grub_ofdisk_read): dprintf function parameters.
+ * kern/mm.c (grub_mm_init_region): Likewise.
+ * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
+ (grub_linux_boot): dprintf the Linux entry point, initrd address and
+ size, and boot arguments.
+ (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
+ before loading into memory.
+ (grub_rescue_cmd_initrd): dprintf the initrd's address and size
+ before loading into memory.
+
+2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/mm.c: Added much documentation.
+ (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
+ 8, set to 5 instead of 8.
+
+2005-07-10 Yoshinori Okuji <okuji@enbug.org>
+
+ * DISTLIST: Added util/i386/pc/grub-mkimage.c.
+
+ * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
+ (grub_mkdevicemap_SOURCES): New variable.
+
+ * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
+ lib/device.c of GRUB Legacy.
+
+2005-07-10 Yoshinori Okuji <okuji@enbug.org>
+
+ * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
+ instead of PATH is NULL.
+
+2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
+
+ * commands/cmp.c (BUFFER_SIZE): New macro.
+ (grub_cmd_cmp): Close the right file at the right time. Compare
+ only data just read. Don't report files of different size as
+ identical. Dynamically allocate buffers. Move variable
+ declarations at the beginning of function.
+
+2005-07-09 Yoshinori Okuji <okuji@enbug.org>
+
+ * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
+ reverse.
+
+2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
+
+ * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
+ when backspace is pressed at beginning of line.
+
+2005-07-03 Yoshinori Okuji <okuji@enbug.org>
+
+ * DISTLIST: Added genfslist.sh.
+
+ * normal/main.c (fs_module_list): New variable.
+ (autoload_fs_module): New function.
+ (read_fs_list): Likewise.
+ (grub_normal_execute): Call read_fs_list.
+
+ * kern/fs.c (grub_fs_autoload_hook): New variable.
+ (grub_fs_probe): Added support for auto-loading.
+
+ * include/grub/normal.h (struct grub_fs_module_list): New struct.
+ (grub_fs_module_list_t): New type.
+
+ * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
+ (grub_fs_autoload_hook): New prototype.
+
+ * genfslist.sh: New file.
+
+ * genmk.rb: Added a rule to generate a filesystem list.
+
+2005-06-30 Marco Gerards <metgerards@student.han.nl>
+
+ * configure.ac: Fix the test for cross-compiling.
+
+ * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
+ define GRUB_UTIL anymore.
+
+ * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
+ so this function works on other systems than just big endian.
+ (load_modules): Likewise.
+ (add_segments): Likewise.
+
+2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
+ contains `l' modifier, get a long from va_arg().
+
+2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/mm.c (grub_free): If the next free block which is being
+ merged is the first free block, set the first block to the block
+ being freed.
+ Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
+
+2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
+
+ * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
+ `grub_ieee1275_chosen'.
+
+2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
+
+ * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
+ (grub_ieee1275_chosen): New variable.
+ (cmain): Initialize and use `grub_ieee1275_chosen' instead of
+ `chosen'.
+ * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
+ * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
+ Rename first argument to `phandle' for consistency.
+ (grub_ieee1275_get_property_length): Likewise.
+ (grub_ieee1275_next_property): Likewise. Change type of first argument
+ to grub_ieee1275_phandle_t.
+ * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
+ Move export next to declaration.
+ (grub_ieee1275_chosen): New variable.
+ * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
+ Correct cosmetic typo.
+ * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
+ `grub_ieee1275_chosen'.
+ * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
+ * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
+ (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
+ * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
+ `grub_ieee1275_chosen'.
+
+2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
+
+ * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
+ /chosen/bootargs.
+ * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
+ /chosen/bootargs as "variable=value" pairs.
+
+2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
+
+ * include/grub/misc.h (grub_dprintf): New macro.
+ (grub_real_dprintf): New prototype.
+ (grub_strword): Likewise.
+ (grub_iswordseparator): Likewise.
+ * kern/misc.c (grub_real_dprintf): New function.
+ (grub_strword): Likewise.
+ (grub_iswordseparator): Likewise.
+
+2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
+
+ * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
+ (roundup): Remove macro.
+ (grub_ieee1275_flags): Make static.
+ (grub_ieee1275_realmode): Remove.
+ (grub_ieee1275_test_flag): New function.
+ (grub_ieee1275_set_flag): Likewise.
+ (find_options): Rename to `grub_ieee1275_find_options'; update
+ callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
+ GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
+ (cmain): New prototype.
+ (cmain): Use `grub_ieee1275_set_flag' instead of accessing
+ `grub_ieee1275_flags' directly.
+ * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
+ machine/biosdisk.h.
+ * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
+ Don't include grub/machine/init.h.
+ (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
+ * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
+ Remove prototype.
+ (grub_ieee1275_realmode): Likewise.
+ (grub_ieee1275_flag): New enum.
+ (grub_ieee1275_test_flag): New prototype.
+ (grub_ieee1275_set_flag): New prototype.
+ * include/grub/powerpc/ieee1275/init.h: Remove file.
+ * include/grub/powerpc/ieee1275/ofdisk.h: New file.
+ * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
+ Include grub/machine/console.h. Include grub/machine/ofdisk.h.
+ (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
+ comment.
+ * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
+ `grub_ieee1275_test_flag'.
+ (grub_ieee1275_encode_devname): Likewise.
+
+2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
+
+ * include/grub/powerpc/ieee1275/ieee1275.h
+ (grub_ieee1275_encode_devname): New prototype.
+ (grub_ieee1275_get_filename): Likewise.
+ * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
+ function.
+ (grub_set_prefix): Likewise.
+ (grub_machine_init): Call grub_set_prefix.
+ * kern/powerpc/ieee1275/openfw.c: Fix typos.
+ (grub_parse_type): New enum.
+ (grub_ieee1275_get_devargs): New function.
+ (grub_ieee1275_get_devname): Likewise.
+ (grub_ieee1275_parse_args): Likewise.
+ (grub_ieee1275_get_filename): Likewise.
+ (grub_ieee1275_encode_devname): Likewise.
+
+2005-03-30 Marco Gerards <metgerards@student.han.nl>
+
+ * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
+ `grub_loader_unset'.
+
+2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
+
+ * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
+ instead of grub_ieee1275_interpret.
+ (grub_halt_init): New function.
+ (grub_halt_fini): Likewise.
+ (GRUB_MOD_INIT): Correct message grammar.
+ * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
+ instead of grub_ieee1275_interpret.
+ (grub_reboot_init): New function.
+ (grub_reboot_fini): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
+ commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
+ util/i386/pc/misc.c with commands/ieee1275/halt.c,
+ commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
+ * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
+ function.
+ * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
+ Add prototype.
+ * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
+ prototype.
+ (grub_halt): Likewise.
+ * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
+ (cmain): Remove __attribute__((unused)).
+ * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
+ (grub_heap_len): Likewise.
+ (grub_machine_fini): New function.
+ * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
+ (grub_halt): Likewise.
+ * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
+ function.
+ * util/powerpc/ieee1275/misc.c: New file.
+
+2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * DISTLIST: New file.
+ * gendistlist.sh: Likewise.
+
+ * Makefile.in (COMMON_DISTFILES): Removed.
+ (BOOT_DISTFILES): Likewise.
+ (CONF_DISTFILES): Likewise.
+ (DISK_DISTFILES): Likewise.
+ (FS_DISTFILES): Likewise.
+ (INCLUDE_DISTFILES): Likewise.
+ (KERN_DISTFILES): Likewise.
+ (LOADER_DISTFILES): Likewise.
+ (TERM_DISTFILES): Likewise.
+ (UTIL_DISTFILES): Likewise.
+ (DISTFILES): Likewise.
+ (uninstall): Uninstall files in $(pkgdata_DATA).
+ (DISTLIST): New target.
+ (distdir): Use the contents of the file DISTLIST to get a list of
+ distributed files.
+
+2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
+ descriptor. This is ported from GRUB Legacy.
+
+ * gencmdlist.sh: Added an extra semicolon to make it work with
+ old sed versions. Reported by Robert Bihlmeyer
+ <robbe@orcus.priv.at>.
+
+2005-03-08 Yoshinori Okuji <okuji@enbug.org>
+
+ Automatic loading of commands is supported.
+
+ * normal/main.c (read_command_list): New function.
+ (grub_normal_execute): Call read_command_list.
+
+ * normal/command.c (grub_register_command): Return zero or CMD.
+ Allocate CMD->NAME from the heap.
+ Initialize CMD->MODULE_NAME to zero.
+ Find the same name as well. If the same command is found and it is
+ a dummy command, overwrite members. If it is not a dummy command,
+ return zero.
+ (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
+ (grub_command_find): If a dummy command is found, load a module
+ and retry to find a command only once.
+
+ * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
+ make sure that each command is loaded.
+
+ * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
+ macro.
+ (struct grub_command): Remove const from the member `name'.
+ Add a new member `module_name'.
+ (grub_register_command): Return grub_command_t.
+
+ * commands/help.c (grub_cmd_help): Call grub_command_find to make
+ sure that each command is loaded.
+
+ * genmk.rb (PModule::rule): Specify a module name without the
+ suffix ".mod" to gencmdlist.sh.
+
+2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * gencmdlist.sh: New file.
+
+ * genmk.rb (PModule::rule): Generate a rule for a command list.
+ Clean command.lst.
+ Generate command.lst from $(COMMANDFILES).
+
+ * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
+ (DATA): Added $(pkgdata_DATA).
+ (install-local): Install files in $(pkgdata_DATA).
+
+2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * term/i386/pc/vga.c (debug_command): Removed.
+ (GRUB_MOD_INIT): Do not register the command "debug".
+
+ From Hollis Blanchard:
+ * commands/configfile.c: New file.
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Added
+ commands/configfile.c.
+ (pkgdata_MODULES): Added configfile.mod.
+ (configfile_mod_SOURCES): New variable.
+ (configfile_mod_CFLAGS): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
+ commands/configfile.c.
+ (pkgdata_MODULES): Added configfile.mod.
+ (configfile_mod_SOURCES): New variable.
+ (configfile_mod_CFLAGS): Likewise.
+ * util/grub-emu.c (main): Call grub_configfile_init and
+ grub_configfile_fini.
+ * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
+ prototype.
+ [GRUB_UTIL] (grub_configfile_fini): Likewise.
+
+2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * normal/arg.c (grub_arg_show_help): Do not show the bug report
+ address.
+
+ * commands/help.c (grub_cmd_help): Do not print newlines after
+ the last command in print_command_help.
+
+2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * commands/default.h: New file.
+ * commands/timeout.h: Likewise.
+ * normal/context.c: Likewise.
+
+ * util/misc.c: Do not include sys/times.h.
+ Include sys/time.h and grub/machine/time.h.
+ (grub_get_rtc): Rewritten with gettimeofday.
+
+ * util/grub-emu.c (main): Call grub_default_init and
+ grub_timeout_init before grub_normal_init, and call
+ grub_timeout_fini and grub_default_fini after grub_main.
+
+ * util/console.c (grub_ncurses_checkkey): Return the read
+ character or -1.
+
+ * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
+ timeouts.
+
+ * normal/main.c (read_config_file): Push MENU. If this fails,
+ print an error and wait for a user input.
+ Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
+ If a menu is empty or an error occurs, pop MENU.
+ (grub_normal_execute): Pop and free MENU after grub_menu_run
+ returns.
+
+ * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
+
+ * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
+ include time.h.
+ [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
+ without GRUB_UTIL.
+ * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
+ time.h.
+ [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
+ without GRUB_UTIL.
+
+ * include/grub/normal.h (struct grub_menu_list): New struct.
+ (grub_menu_list_t): New type.
+ (struct grub_context): New struct.
+ (grub_context_t): New type.
+ (grub_register_command): Got rid of EXPORT_FUNC.
+ (grub_unregister_command): Likewise.
+ (grub_context_get): New prototype.
+ (grub_context_get_current_menu): Likewise.
+ (grub_context_push_menu): Likewise.
+ (grub_context_pop_menu): Likewise.
+ [GRUB_UTIL] (grub_default_init): Likewise.
+ [GRUB_UTIL] (grub_default_fini): Likewise.
+ [GRUB_UTIL] (grub_timeout_init): Likewise.
+ [GRUB_UTIL] (grub_timeout_fini): Likewise.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
+ commands/timeout.c and normal/context.c.
+ (pkgdata_MODULES): Added default.mod and timeout.mod.
+ (normal_mod_SOURCES): Added normal/context.c.
+ (default_mod_SOURCES): New variable.
+ (default_mod_CFLAGS): Likewise.
+ (timeout_mod_SOURCES): Likewise.
+ (timeout_mod_CFLAGS): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
+ conf/i386-pc.rmk.
+ (pkgdata_MODULES): Added default.mod and timeout.mod.
+ (normal_mod_SOURCES): Added normal/context.c.
+ (default_mod_SOURCES): New variable.
+ (default_mod_CFLAGS): Likewise.
+ (timeout_mod_SOURCES): Likewise.
+ (timeout_mod_CFLAGS): Likewise.
+
+ * Makefile.in (all-local): Added $(MKFILES).
+
+2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
+
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
+ (grub_emu_SOURCES): Likewise.
+ (pkgdata_MODULES): Add `sun.mod'.
+ (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
+ `partmap/sun.c'.
+ (pkgdata_MODULES): Add `sun.mod'.
+ (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
+ * include/grub/partition.h (grub_sun_partition_map_init): New
+ prototype.
+ (grub_sun_partition_map_fini): Likewise.
+ * partmap/sun.c: New file.
+ * util/grub-emu.c (main): Initialize and de-initialize the sun
+ partitionmap support.
+
+2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
+
+ This implements an Emacs-like menu entry editor.
+
+ * normal/menu_entry.c: New file.
+
+ * util/console.c (grub_ncurses_putchar): Translate some Unicode
+ characters to ASCII.
+ (saved_char): New variable.
+ (grub_ncurses_checkkey): Rewritten completely.
+ (grub_ncurses_getkey): Likewise.
+ (grub_ncurses_init): Call raw instead of cbreak.
+
+ * normal/menu.c (print_entry): Do not put a space.
+ (init_page): Renamed to ...
+ (grub_menu_init_page): ... this. All callers changed.
+ (edit_menu_entry): Removed.
+ (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
+
+ * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
+
+ * kern/misc.c (grub_vprintf): Call grub_refresh.
+
+ * normal/menu.c (DISP_LEFT): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
+ * normal/menu.c (DISP_UP): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
+ * normal/menu.c (DISP_RIGHT): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
+ * normal/menu.c (DISP_DOWN): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
+ * normal/menu.c (DISP_HLINE): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
+ * normal/menu.c (DISP_VLINE): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
+ * normal/menu.c (DISP_UL): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
+ * normal/menu.c (DISP_UR): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
+ * normal/menu.c (DISP_LL): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
+ * normal/menu.c (DISP_LR): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
+ * normal/menu.c (TERM_WIDTH): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
+ * normal/menu.c (TERM_HEIGHT): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
+ * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
+ * normal/menu.c (TERM_MARGIN): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
+ * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
+ * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
+ * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
+ * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
+ * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
+ * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
+ * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
+ * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
+ * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
+ * normal/menu.c (TERM_CURSOR_X): Renamed to ...
+ * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
+ All callers changed.
+
+ * include/grub/normal.h: New prototype.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Added
+ normal/menu_entry.c.
+ (normal_mod_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+ (normal_mod_SOURCES): Likewise.
+
+2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * include/grub/normal.h (grub_halt_init): New prototype.
+ (grub_halt_fini): Likewise.
+ (grub_reboot_init): Likewise.
+ (grub_reboot_fini): Likewise.
+
+ * util/grub-emu.c: Include signal.h.
+ (main_env): New global variable.
+ (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
+ catch C-c.
+ (grub_machine_fini): New function.
+ (main): Call grub_halt_init and grub_reboot_init before
+ grub_main, and grub_reboot_fini and grub_halt_fini after it.
+ Call setjmp with MAIN_ENV to go back afterwards.
+ Call grub_machine_fini right before return.
+
+ * include/grub/util/misc.h: Include setjmp.h.
+ (main_env): New prototype.
+
+ * include/grub/kernel.h (grub_machine_fini): New prototype.
+ * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
+ * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
+
+ * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
+ * kern/i386/pc/init.c (grub_machine_fini): Likewise.
+ * term/i386/pc/console.c (grub_console_fini): Likewise.
+
+ * util/i386/pc/misc.c: New file.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Added
+ util/i386/pc/misc.c, commands/i386/pc/halt.c and
+ commands/i386/pc/reboot.c.
+
+2005-02-14 Guillem Jover <guillem@hadrons.org>
+
+ * include/grub/dl.h (grub_dl_check_header): New prototype.
+ (grub_arch_dl_check_header): Change return type to grub_err_t,
+ remove size parameter and export function. Update all callers.
+ * kern/dl.c (grub_dl_check_header): New function.
+ (grub_dl_load_core): Use `grub_dl_check_header' instead of
+ `grub_arch_dl_check_header'. Check ELF type. Check if sections
+ are inside the core.
+ * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
+ independent ELF header checks.
+ * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
+ * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
+ `grub_dl_check_header' instead of explicit checks. Check for the
+ ELF type.
+ * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
+ `grub_dl_check_header' instead of explicit checks. Remove arch
+ specific ELF header checks.
+
+ * util/grub-emu.c (grub_arch_dl_check_header): Remove the
+ argument SIZE.
+
+2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
+
+ * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
+ * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
+
+2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
+ return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
+ (part_map_iterate): Clear `grub_errno' and return 0 if
+ `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
+ * partmap/amiga.c (amiga_partition_map_iterate): Return
+ GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
+ * partmap/apple.c (apple_partition_map_iterate): Likewise.
+
+2005-02-01 Guillem Jover <guillem@hadrons.org>
+
+ * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
+ help info.
+
+2005-01-31 Marco Gerards <metgerards@student.han.nl>
+
+ * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
+ Removed prototype.
+ (grub_rescue_cmd_linux): New prototype.
+ (grub_rescue_cmd_initrd): Likewise.
+ * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
+ `bi_rec'.
+ (grub_linux_release_mem): Release the memory for the initrd.
+ (grub_load_linux): Renamed from this...
+ (grub_rescue_cmd_linux): ...To this. Changed all callers.
+ Changed `entry' not to be static. Loop over memory regions to
+ find another one when the default fails.
+ (grub_rescue_cmd_initrd): New function.
+ (grub_linux_init): Remove function.
+ (grub_linux_fini): Likewise.
+ (GRUB_MOD_INIT): Register `initrd'.
+ (GRUB_MOD_FINI): Unregister `initrd'.
+ * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
+ Function removed.
+ (grub_linux_normal_fini): Likewise.
+ (GRUB_MOD_INIT): Register `initrd'.
+ (GRUB_MOD_FINI): Unregister `initrd'.
+
+2005-01-31 Marco Gerards <metgerards@student.han.nl>
+
+ * commands/help.c: New file.
+ * normal/arg.c (show_help): Renamed to...
+ (grub_arg_show_help): ... this.
+ * commands/i386/pc/halt.c: New file.
+ * commands/i386/pc/reboot.c: Likewise.
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
+ (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
+ (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
+ (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
+ variables.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
+ `commands/help.c'.
+ (pkgdata_MODULES): Add `help.mod'.
+ (help_mod_SOURCES, help_mod_CFLAGS): New variables.
+ * grub/i386/pc/init.h (grub_reboot): New prototype.
+ (grub_halt): Likewise.
+ * include/grub/normal.h (grub_arg_show_help): New prototype.
+ (grub_help_init): Likewise.
+ (grub_help_fini): Likewise.
+ * util/grub-emu.c (main): Initialize and deinitialize the help
+ command.
+
+ * normal/cmdline.c (grub_cmdline_get): Doc fix.
+
+ * normal/command.c (grub_command_init): Fixed the description of
+ the `set' and `unset' commands.
+
+2005-01-31 Marco Gerards <metgerards@student.han.nl>
+
+ * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
+ function.
+ * commands/ieee1275/halt.c: New file.
+ * commands/ieee1275/reboot.c: Likewise.
+ * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
+ `__attribute__ ((unused))'. Some GCS related fixed.
+ (grub_suspend_init) [GRUB_UTIL]: Function removed.
+ (grub_suspend_fini): Likewise.
+ * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
+ and `halt.mod'.
+ (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
+ (halt_mod_CFLAGS): New variables.
+ * include/grub/powerpc/ieee1275/ieee1275.h
+ (grub_ieee1275_interpret): New prototype.
+
+2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * include/grub/misc.h (memmove): New prototype.
+ (memcpy): Likewise.
+
+2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
+
+ * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
+ `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
+
+2005-01-22 Marco Gerards <metgerards@student.han.nl>
+
+ * kern/misc.c (grub_strndup): Function rewritten.
+
+2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
+
+ * normal/menu.c (TERM_WIDTH): Macro redefined.
+ (TERM_TOP_BORDER_Y): Likewise.
+ (draw_border): Replaced while-loop by a for-loop. Make the number
+ of lines consistent with the number of lines displayed in
+ print_entries. Added a margin below the rectangle.
+ (print_entry): Make the entry fit in the rectangle.
+ (print_entries): Display the scroll arrows next to the right
+ border.
+
+2005-01-21 Marco Gerards <metgerards@student.han.nl>
+
+ * fs/minix.c (grub_minix_find_file): Reserve more space for
+ `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
+ `grub_strncpy' to copy `path' into it.
+
+2005-01-21 Marco Gerards <metgerards@student.han.nl>
+
+ Add the loopback device, a device via which files can be accessed
+ as devices.
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
+ (pkgdata_MODULES): Add loopback.mod.
+ (loopback_mod_SOURCES): New variable.
+ (loopback_mod_CFLAGS): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
+ `disk/loopback.c'.
+ (pkgdata_MODULES): Add loopback.mod.
+ (loopback_mod_SOURCES): New variable.
+ (loopback_mod_CFLAGS): Likewise.
+ * disk/loopback.c: new file.
+ * include/grub/normal.h (grub_loop_init): New prototype.
+ (grub_loop_fini): New prototype.
+ * util/grub-emu.c (main): Initialize and de-initialize loopback
+ support.
+ * include/grub/disk.h (grub_disk_dev_id): Add
+ `GRUB_DISK_DEVICE_LOOPBACK_ID'.
+
+2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
+
+ * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
+ function.
+ * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
+ (suspend_mod_SOURCES): New variable.
+ (suspend_mod_CFLAGS): Likewise.
+ * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
+ New prototype.
+ * commands/ieee1275/suspend.c: New file.
+
+2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
+
+ * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
+ ((unused))' to `__attribute__ ((used))'.
+ (GRUB_MOD_FINI): Likewise.
+ * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
+ * genmk.rb (PModule): Assign space to common symbols when linking
+ modules.
+
+2005-01-20 Marco Gerards <metgerards@student.han.nl>
+
+ * include/grub/mm.h (grub_mm_init_region): Change the type of the
+ `unsigned' arguments to `grub_size_t'.
+ (grub_malloc): Likewise.
+ (grub_realloc): Likewise.
+ (grub_memalign): Likewise.
+ * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
+ * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
+ * util/misc.c (grub_malloc): Likewise.
+ (grub_realloc): Likewise.
+ * kern/mm.c (get_header_from_pointer): Change the casts to
+ `unsigned' into a cast to `grub_size_t'.
+
+ * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
+ point to `currnode' when `currnode' is changed.
+
+ * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
+ Schottelius <nico-linux@schottelius.org>.
+
+2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
+
+ * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
+ (note_path): Remove variable.
+ (GRUB_IEEE1275_NOTE_NAME): New macro.
+ (GRUB_IEEE1275_NOTE_TYPE): Likewise.
+ (grub_ieee1275_note_hdr): New structure.
+ (grub_ieee1275_note_desc): Likewise.
+ (grub_ieee1275_note): Likewise.
+ (load_note): Remove `dir' argument. All callers updated. Remove
+ `note_img' and `path'. Do not load a file from `note_path'.
+ Initialize a struct grub_ieee1275_note and write that to `out'.
+ Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
+
+2005-01-05 Marco Gerards <metgerards@student.han.nl>
+
+ * util/misc.c (grub_util_read_image): Revert last change. It
+ called `grub_util_read_at', which seeks from the beginning of the
+ file.
+
+2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
+
+ * TODO: Add note about endianness in grub-mkimage.
+ * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
+ section.
+ * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
+ (grub_mkimage_SOURCES): New target.
+ * include/grub/kernel.h (grub_start_addr): Remove variable.
+ (grub_end_addr): Likewise.
+ (grub_total_module_size): Likewise.
+ (grub_kernel_image_size): Likewise.
+ (GRUB_MODULE_MAGIC): New constant.
+ (grub_module_info): New structure.
+ (grub_arch_modules_addr): New prototype.
+ (grub_get_end_addr): Remove prototype.
+ * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
+ * include/grub/powerpc/ieee1275/kernel.h: New file.
+ * include/grub/util/misc.h (grub_util_get_fp_size): New
+ prototype.
+ (grub_util_read_at): Likewise.
+ (grub_util_write_image_at): Likewise.
+ * kern/main.c (grub_get_end_addr): Remove function.
+ (grub_load_modules): Call grub_arch_modules_addr instead of using
+ grub_end_addr. Look for a grub_module_info struct in memory. Use
+ the grub_module_info fields instead of calling grub_get_end_addr
+ as loop conditions. Move grub_add_unused_region code here.
+ (grub_add_unused_region): Remove function.
+ * kern/i386/pc/init.c: Include grub/cache.h.
+ (grub_machine_init): Remove call to grub_get_end_addr. Remove
+ one call to add_mem_region.
+ (grub_arch_modules_addr): New function.
+ * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
+ (grub_total_module_size): Likewise.
+ Include grub/machine/kernel.h.
+ (grub_arch_modules_addr): New function.
+ * util/grub-emu.c (grub_end_addr): Remove variable.
+ (grub_total_module_size): Likewise.
+ (grub_arch_modules_addr): New function.
+ * util/misc.c: Include unistd.h.
+ (grub_util_get_fp_size): New function.
+ (grub_util_read_at): Likewise.
+ (grub_util_write_image_at): Likewise.
+ (grub_util_read_image): Call grub_util_read_at.
+ (grub_util_write_image): Call grub_util_write_image_at.
+ * util/i386/pc/grub-mkimage.c (generate_image): Allocate
+ additional memory in kernel_img for a struct grub_module_info.
+ Fill in that grub_module_info.
+ * util/powerpc/ieee1275/grub-mkimage.c: New file.
+
+2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
+
+ * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
+ New function.
+ * include/grub/powerpc/ieee1275/ieee1275.h
+ (grub_ieee1275_milliseconds): New prototype.
+ * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
+ Change to 1000.
+ * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
+ grub_ieee1275_milliseconds.
+
+2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
+
+ * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
+ variable.
+ (find_options): New function.
+ (cmain): Call find_options.
+ * include/grub/powerpc/ieee1275/ieee1275.h
+ (grub_ieee1275_realmode): New extern variable.
+ * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
+ grub_map if grub_ieee1275_realmode is false.
+
+2004-12-29 Marco Gerards <metgerards@student.han.nl>
+
+ * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
+ lines are inserted and make it work like readline. Reported by
+ Vincent Pelletier <subdino2004@yahoo.fr>.
+
+2004-12-28 Marco Gerards <metgerards@student.han.nl>
+
+ * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
+ `kern/powerpc/cache.S'.
+
+2004-12-27 Marco Gerards <metgerards@student.han.nl>
+
+ * genmk.rb: Handle the `Program' class in the main loop. Written
+ by Johan Rydberg <jrydberg@gnu.org>.
+ (Program): New class.
+ (programs): New variable.
+ * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
+ instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
+ instead of "grub/kernel.h". Include <grub/machine/init.h>.
+ (help_arch): Function removed.
+ * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
+ `powerpc/libgcc.h' and `loader.h'.
+ (pkgdata_PROGRAMS): New variable.
+ (sbin_UTILITIES): Variable removed.
+ (grub_emu_SOURCES): Added kern/powerpc/cache.S.
+ (grubof_SOURCES): Variable re-defined so it only includes the
+ core functionality.
+ (grubof_CFLAGS): Remove `-DGRUBOF'.
+ (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
+ (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
+ (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
+ (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
+ (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
+ (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
+ (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
+ (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
+ (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
+ (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
+ (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
+ (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
+ (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
+ (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
+ (pc_mod_CFLAGS): New variables.
+ * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
+ (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
+ * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
+ * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
+ Moved from here...
+ * include/grub/i386/pc/init.h (grub_os_area_addr)
+ (rub_os_area_size): ... to here.
+ * include/grub/powerpc/ieee1275/ieee1275.h
+ (grub_ieee1275_entry_fn): Export symbol.
+ * include/grub/powerpc/ieee1275/init.h: New file.
+ * include/grub/powerpc/libgcc.h: Likewise.
+ * include/grub/cache.h: Likewise.
+ * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
+ <hollis@penguinppc.org>.
+ * kern/dl.c: Include <grub/cache.h>.
+ (grub_dl_flush_cache): New function.
+ (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
+ for this module.
+ * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
+ (grub_console_init): Removed prototypes.
+ (grub_machine_init): Don't initialize the modules anymore.
+ * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
+ static.
+ * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
+ Macro undef removed.
+ (GRUB_HOST_WORDS_BIGENDIAN): New macro.
+ * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
+ relocation `R_PPC_REL32'. Return an error when the relocation is
+ unknown.
+ * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
+ * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
+ * util/misc.c (grub_arch_sync_caches): Likewise.
+
+2004-12-19 Marco Gerards <metgerards@student.han.nl>
+
+ * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
+ `symlist.c', add `grubof_symlist.c'.
+ (symlist.c): Variable removed.
+ (grubof_HEADERS): Variable added.
+ (grubof_symlist.c): New target.
+ (kernel_syms.lst): Use `grubof_HEADERS' instead of
+ `kernel_img_HEADERS'.
+ (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
+ * kern/powerpc/dl.c: New file.
+ * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
+ Function removed.
+ (grub_arch_dl_relocate_symbols): Likewise.
+ (grub_register_exported_symbols): Likewise.
+
+2004-12-13 Marco Gerards <metgerards@student.han.nl>
+
+ * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
+ (grub_ext2_dir): Likewise. Don't return in case of an error, jump
+ to fail instead. Reported by Vincent Pelletier
+ <subdino2004@yahoo.fr>.
+
+ * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
+ it is not allocated. Reported by Vincent Pelletier
+ <subdino2004@yahoo.fr>.
+
+ * normal/cmdline.c (grub_tab_complete): Add a blank line to the
+ output so the output looks better.
+
+2004-12-04 Marco Gerards <metgerards@student.han.nl>
+
+ Modulize the partition map support and add support for the amiga
+ partition map.
+
+ * commands/ls.c: Include <grub/partition.h> instead of
+ <grub/machine/partition.h>.
+ * kern/disk.c: Likewise.
+ * kern/rescue.c: Likewise.
+ * loader/i386/pc/chainloader.c: Likewise.
+ * normal/cmdline.c: Likewise.
+ * kern/powerpc/ieee1275/init.c: Likewise.
+ (grub_machine_init): Call `grub_pc_partition_map_init',
+ `grub_amiga_partition_map_init' and
+ `grub_apple_partition_map_init'.
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
+ `disk/i386/pc/partition.c'. Add `kern/partition.c'.
+ (kernel_img_HEADERS): Remove `machine/partition.h'. Add
+ `partition.h' and `pc_partition.h'.
+ (grub_setup_SOURCES): Remove
+ `disk/i386/pc/partition.c'. Add `kern/partition.c',
+ `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
+ (grub_emu_SOURCES): Likewise.
+ (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
+ (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
+ (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
+ `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
+ `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
+ (grubof_SOURCES): Likewise.
+ * disk/i386/pc/partition.c: File removed.
+ * disk/powerpc/ieee1275/partition.c: Likewise.
+ * include/grub/powerpc/ieee1275/partition.h: Likewise.
+ * include/grub/i386/pc/partition.h: Likewise.
+ * kern/partition.c: New file.
+ * partmap/amiga.c: Likewise.
+ * partmap/apple.c: Likewise.
+ * partmap/pc.c: Likewise.
+ * include/grub/partition.h: Likewise..
+ * include/grub/pc_partition.h: Likewise.
+ * util/grub-emu.c: Include <grub/partition.h> instead of
+ <grub/machine/partition.h>.
+ (main): Call `grub_pc_partition_map_init',
+ `grub_amiga_partition_map_init' and
+ `grub_apple_partition_map_init' and deinitialize afterwards.
+ * util/i386/pc/biosdisk.c: Include `#include
+ <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
+ `<grub/machine/partition.h>'.
+ * util/i386/pc/grub-setup.c: Likewise.
+ * util/i386/pc/biosdisk.c: Likewise.
+ (grub_util_biosdisk_get_grub_dev): Only access the PC specific
+ partition information in case of a PC partition.
+ * util/i386/pc/grub-setup.c: Include `#include
+ <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
+ `<grub/machine/partition.h>'.
+ (setup): Only access the PC specific partition information in case
+ of a PC partition.
+
+2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
+ (grub_longjmp): Likewise.
+ * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
+ 20.
+ * normal/powerpc/setjmp.S: New file.
+ * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
+ `normal/powerpc/setjmp.S'.
+ (grubof_CFLAGS): Add `-DGRUBOF'.
+ * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
+ [GRUB_UTIL && !GRUBOF].
+
+2004-11-16 Marco Gerards <metgerards@student.han.nl>
+
+ * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
+ property named `name'. Correctly handle the error returned by
+ `grub_ieee1275_finddevice' if a device can not be opened.
+
+2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
+
+ * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
+ `actual' for negativity.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
+ kern/fshelp.c.
+
+2004-11-01 Marco Gerards <metgerards@student.han.nl>
+
+ * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
+ (PAGE_OFFSET): New macro.
+ (CRTC_ADDR_PORT): Likewise.
+ (CRTC_DATA_PORT): Likewise.
+ (START_ADDR_HIGH_REGISTER): Likewise.
+ (START_ADDR_LOW_REGISTER): Likewise.
+ (GRAPHICS_ADDR_PORT): Likewise.
+ (GRAPHICS_DATA_PORT): Likewise.
+ (READ_MAP_REGISTER): Likewise.
+ (INPUT_STATUS1_REGISTER): Likewise.
+ (INPUT_STATUS1_VERTR_BIT): Likewise.
+ (page): New variable.
+ (wait_vretrace): New function.
+ (set_read_map): Likewise.
+ (set_start_address): Likewise.
+ (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
+ the right page.
+ (check_vga_mem): Take the page into account.
+ (write_char): Likewise.
+ (write_cursor): Likewise.
+ (scroll_up): Likewise. Copy the page to the page that is not
+ shown and switch between both pages.
+ (grub_vga_putchar): Fix off by one error.
+ (grub_vga_cls): Wait for the vertical retrace. Take the page into
+ account.
+
+2004-11-01 Marco Gerards <metgerards@student.han.nl>
+
+ Add support for iso9660 (including rockridge).
+
+ * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
+ (iso9660_mod_SOURCES): New variable.
+ (iso9660_mod_CFLAGS): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
+ * include/grub/fs.h (grub_iso9660_init): New prototype.
+ * util/grub-emu.c (main): Call `grub_iso9660_init'.
+ * fs/iso9660.c: New file.
+
+ * include/grub/misc.h (grub_strncat): New prototype.
+ * kern/misc.c (grub_strncat): New function.
+
+ * fs/hfs.c (grub_hfs_mount): Translate the error
+ `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
+ * fs/jfs.c (grub_jfs_mount): Likewise.
+ * fs/ufs.c (grub_ufs_mount): Likewise.
+
+2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
+
+ * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
+ which initialized BAT registers.
+ * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
+ grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
+ Move from here...
+ * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
+ grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
+ ... to here.
+ * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
+ (grub_mapclaim): Likewise.
+ * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
+ grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
+ hand.
+
+2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
+
+ * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
+ (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
+ -ffreestanding and -msoft-float.
+
+2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
+
+ * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
+ append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
+ set in grub_ieee1275_flags.
+
+2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
+
+ * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
+ prototype.
+ * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
+ grub_console_init first.
+ Change the memory range used for grub_ieee1275_claim and
+ grub_mm_init_region.
+ Print an error message if the claim fails.
+ Include <grub/misc.h>.
+
+2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
+
+ * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
+ Call grub_children_iterate for device nodes of type `scsi',
+ `ide', or `ata'.
+ (grub_ofdisk_open): Remove manual device alias resolution.
+ Fix memory leak when device cannot be opened.
+ * include/grub/powerpc/ieee1275/ieee1275.h
+ (grub_children_iterate): New prototype.
+ * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
+ New function.
+ * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
+ Return -1 if args.size was -1.
+
+2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
+
+ * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
+ (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
+ World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
+ Open Firmware's memory for it; claim memory from _start to _end.
+ * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
+ (_end): New extern.
+ (_start): Zero BSS from __bss_start to _end.
+ * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
+ New extern.
+ (GRUB_IEEE1275_NO_PARTITION_0): New #define.
+
+2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
+
+ * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
+ -1 if args.base was -1.
+
+2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
+
+ * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
+ escape sequence instead of a literal ^L. Also call
+ grub_ofconsole_gotoxy.
+
+2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
+
+ * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
+ void * arguments to grub_addr_t. All callers updated. Also make
+ the `result' argument optional.
+ (grub_ieee1275_release): change void * arguments to grub_addr_t.
+ All callers updated.
+
+2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
+
+ * commands/ls.c (grub_ls_list_files): Use the string following the
+ initial ')', if present, as the filesystem path.
+ * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
+
+ * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
+
+2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Make the source code of the menu interface more readable.
+
+ * normal/menu.c: Include grub/mm.h.
+ (TERM_WIDTH): New macro.
+ (TERM_HEIGHT): Likewise.
+ (TERM_INFO_HEIGHT): Likewise.
+ (TERM_MARGIN): Likewise.
+ (TERM_SCROLL_WIDTH): Likewise.
+ (TERM_TOP_BORDER_Y): Likewise.
+ (TERM_LEFT_BORDER_X): Likewise.
+ (TERM_BORDER_WIDTH): Likewise.
+ (TERM_MESSAGE_HEIGHT): Likewise.
+ (TERM_BORDER_HEIGHT): Likewise.
+ (TERM_NUM_ENTRIES): Likewise.
+ (TERM_FIRST_ENTRY_Y): Likewise.
+ (TERM_ENTRY_WIDTH): Likewise.
+ (TERM_CURSOR_X): Likewise.
+ (draw_border): Use macros instead of magic numbers.
+ (print_entry): Likewise.
+ (print_entries): Likewise.
+ (run_menu): Likewise. Also, handle the key 'e'.
+ (run_menu_entry): Ignore empty command lines.
+ (print_message): Added a new argument EDIT. If EDIT is true,
+ print a different message.
+ (init_page): Likewise.
+ (edit_menu_entry): New function. Not implemented yet.
+
+2004-09-17 Marco Gerards <metgerards@student.han.nl>
+
+ Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
+ can be loaded from normal mode.
+
+ * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
+ `multiboot.mod'.
+ (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
+ (multiboot_mod_CFLAGS): New variables.
+ * loader/i386/pc/linux_normal.c: New file.
+ * loader/i386/pc/multiboot_normal.c: Likewise.
+
+ * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
+ attribute `unused'.
+
+ * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
+ `fdiro' to read the mode information from instead of `diro'.
+
+ * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
+ looking up a symlink.
+
+ * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
+ macro.
+ * normal/command.c (grub_command_execute): Don't parse the
+ arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
+ flags of the command.
+
+ * normal/menu.c (grub_menu_run): Fix typo.
+
+2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
+
+ * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
+
+ * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
+ `y + 1' instead of `y - 1'.
+
+ * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
+
+2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
+
+ From Hollis Blanchard <hollis@penguinppc.org>:
+ * kern/misc.c (memmove): New alias for grub_memmove.
+ (memcmp): New alias for grub_memcmp.
+ (memset): New alias for grub_memset.
+ * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
+ Change "int handle" to "grub_ieee1275_phandle_t handle".
+ * include/grub/powerpc/ieee1275/ieee1275.h
+ (grub_ieee1275_get_property): Likewise.
+
+2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
+
+ Added normal mode command `chainloader' as module chain.mod, which
+ depends on normal.mod and _chain.mod.
+
+ * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
+ (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
+ * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
+ Deleted prototype.
+ * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
+ but arguments parsing moved to ...
+ (grub_chainloader_cmd): ... here. New function.
+ * include/grub/i386/pc/chainloader.h: New file.
+ * loader/i386/pc/chainloader_normal.c: Likewise.
+
+2004-09-11 Marco Gerards <metgerards@student.han.nl>
+
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
+ (grub_mkimage_LDFLAGS): Likewise.
+ (grub_emu_SOURCES): Likewise.
+ (kernel_img_HEADERS): Added fshelp.h.
+ * fs/ext2.c: Include <grub/fshelp.h>.
+ (FILETYPE_REG): New macro.
+ (FILETYPE_INO_REG): Likewise.
+ (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
+ Changed all users.
+ (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
+ all users.
+ (grub_fshelp_node): New struct.
+ (grub_ext2_data): Added member `diropen'. Changed member `inode'
+ to a pointer.
+ (grub_ext2_get_file_block): Removed function.
+ (grub_ext2_read_block): New function.
+ (grub_ext2_read_file): Replaced parameter `data' by `node'.
+ This function was written.
+ (grub_ext2_mount): Read the root inode. Create a diropen struct.
+ (grub_ext2_find_file): Removed function.
+ (grub_ext2_read_symlink): New function.
+ (grub_ext2_iterate_dir): Likewise.
+ (grub_ext2_open): Rewritten.
+ (grub_ext2_dir): Rewritten.
+ * include/grub/fshelp.h: New file.
+ * fs/fshelp.c: Likewise.
+
+2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
+ (print_message): Add a missing newline.
+ (run_menu): Added timeout support.
+ (run_menu_entry): New local function.
+ (grub_menu_run): Added support for booting.
+
+ * kern/loader.c (grub_loader_is_loaded): New function.
+
+ * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
+ (grub_get_rtc): Exported.
+
+ * include/grub/i386/pc/time.h: Include grub/symbol.h.
+ (grub_get_rtc): Exported.
+
+ * include/grub/normal.h (struct grub_command_list): Remove
+ constant from the member `command'.
+
+ * include/grub/loader.h (grub_loader_is_loaded): Declared.
+
+ * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
+
+ * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
+
+2004-08-28 Marco Gerards <metgerards@student.han.nl>
+
+ Add support for the JFS filesystem.
+
+ * fs/jfs.c: New file.
+ * include/grub/fs.h (grub_jfs_init): New prototype.
+ (grub_jfs_fini): New prototype.
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
+ (grub_emu_SOURCES): Likewise.
+ (pkgdata_MODULES): Add jfs.mod.
+ (jfs_mod_SOURCES): New variable.
+ (jfs_mod_CFLAGS): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
+ (grubof_SOURCES): Likewise.
+ * util/grub-emu.c (main): Initialize and deinitialize JFS support.
+
+ * fs/fat.c (grub_fat_find_dir): Convert the filename little
+ endian to the host endian.
+ (grub_fat_utf16_to_utf8): Move function from there...
+ * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
+ the endianness of the source string anymore.
+ * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
+
+2004-08-24 Marco Gerards <metgerards@student.han.nl>
+
+ * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
+ (grub_boot_fini) [GRUB_UTIL]: Likewise.
+ (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
+ (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
+
+ * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
+ (grub_hfs_iterate_dir): Make the function static. Add prototypes
+ for `node_found' and `it_dir'.
+ (grub_hfs_dir): Add prototype for `dir_hook'.
+
+ * fs/minix.c (grub_minix_get_file_block): Add prototype for
+ `grub_get_indir'. Rename `indir' in two blocks to `indir16'
+ and `indir32' to silence a gcc warning.
+
+ * include/grub/fs.h (grub_hfs_init): New prototype.
+ (grub_hfs_fini): Likewise.
+
+
+2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Each disk device has its own id now. This is useful to make use
+ of multiple disk devices.
+
+ * include/grub/disk.h (grub_disk_dev_id): New enum.
+ (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
+ (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
+
+ * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
+ GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
+
+ * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
+ GRUB_DISK_DEVICE_OFDISK_ID as an id.
+
+ * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
+ GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
+
+ * include/grub/disk.h (struct grub_disk_dev): Added a new member
+ "id" which is used by the cache manager.
+
+ * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
+ of just "GRUB".
+
+2004-08-18 Marco Gerards <metgerards@student.han.nl>
+
+ * fs/hfs.c: New file.
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
+ (grub_emu_SOURCES): Likewise.
+ (pkgdata_MODULES): Add hfs.mod.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
+ (grubof_SOURCES): Likewise.
+ * util/grub-emu.c (main): Initialize and deinitialize HFS support.
+
+ * include/grub/misc.h (grub_strncasecmp): Add prototype.
+ * kern/misc.c (grub_strncasecmp): Add function.
+
+2004-08-14 Marco Gerards <metgerards@student.han.nl>
+
+ * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
+ with parentheses.
+
+ * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
+ (grub_ext2_dir): In case the directory entry type is unknown, read
+ it from the inode.
+
+2004-08-02 Peter Bruin <pjbruin@dds.nl>
+
+ * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
+ grub_load_linux instead of grub_rescue_cmd_linux as second
+ argument of grub_rescue_register_command.
+
+ * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
+
+2004-07-27 Marco Gerards <metgerards@student.han.nl>
+
+ * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
+ function.
+ * commands/boot.c: Remove the check for `GRUB_UTIL'.
+ * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
+ `loader/powerpc/ieee1275/linux.c',
+ `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
+ * include/grub/powerpc/ieee1275/ieee1275.h
+ (grub_ieee1275_release): New prototype.
+ * include/grub/powerpc/ieee1275/loader.h: Rewritten.
+ * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
+ normal, boot, linux and linux_normal.
+ * loader/powerpc/ieee1275/linux.c: New file.
+ * loader/powerpc/ieee1275/linux_normal.c: Likewise.
+
+2004-07-12 Marco Gerards <metgerards@student.han.nl>
+
+ * normal/arg.c (grub_arg_parse): Correct error handling after
+ reallocating the argumentlist (check if `argl' is not null instead
+ of checking if `args' is not null).
+ * kern/mm.c (grub_realloc): Return the same pointer when using the
+ same region, instead of returning the header address.
+
+2004-07-11 Marco Gerards <metgerards@student.han.nl>
+
+ * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
+ one block instead of two when looking for the initial partition.
+ (grub_partition_probe): Initialize the local variable `p' with 0.
+ Use base 10 for the grub_strtoul call.
+ * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
+ need for one local variable.
+ (grub_strtoul): Don't add the new value to `num', instead of that
+ just assign it.
+
+2004-07-11 Marco Gerards <metgerards@student.han.nl>
+
+ * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
+ (pxeboot_img_SOURCES): New variable.
+ (pxeboot_img_ASFLAGS): Likewise.
+ (pxeboot_img_LDFLAGS): Likewise.
+ * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
+ GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
+ <lode_leroy@hotmail.com>.
+
+2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
+
+ * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
+ there was no input.
+
+2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
+
+ * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
+ the history buffer logic.
+
+2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
+
+ * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
+ (FILETYPE_INO_SYMLINK): New macros.
+ (grub_ext2_find_file): Check if the node is a directory using the
+ inode stat information instead of using the filetype in the
+ dirent. Exclude the first character of an absolute symlink.
+ (grub_ext2_dir): Mask out the filetype part of the mode member of
+ the inode.
+
+2004-05-24 Marco Gerards <metgerards@student.han.nl>
+
+ Add support for UFS version 1 and 2. Add support for the minix
+ filesystem version 1 and 2, both the variants with 14 and 30 long
+ filenames.
+
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
+ fs/minix.c.
+ (grub_emu_SOURCES): Likewise.
+ (pkgdata_MODULES): Add ufs.mod and minix.mod.
+ (ufs_mod_SOURCES): New variable.
+ (ufs_mod_CFLAGS): Likewise.
+ (minix_mod_SOURCES): Likewise.
+ (minix_mod_CFLAGS): Likewise.
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
+ fs/minix.c.
+ (grubof_SOURCES): Likewise.
+ * fs/ufs.c: New file.
+ * fs/minix.c: New file.
+ * include/grub/fs.h (grub_ufs_init): New prototype.
+ (grub_ufs_fini): Likewise.
+ (grub_minix_init): Likewise.
+ (grub_minix_fini): Likewise.
+ * util/grub-emu.c (main): Initialize and deinitialize UFS and
+ minix fs.
+
+2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
+ commands/ls.c, commands/terminal.c, commands/boot.c,
+ commands/cmp.c and commands/cat.c.
+ (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
+
+ * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
+ "env.h"
+
+2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
+
+ All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
+ and grub_, respectively. Because the conversion is trivial and
+ mechanical, I omit the details here. Please refer to the CVS
+ if you need more information.
+
+2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * include/pupa: Renamed to ...
+ * include/grub: ... this.
+ * util/i386/pc/pupa-mkimage.c: Renamed to ...
+ * util/i386/pc/grub-mkimage.c: ... this.
+ * util/i386/pc/pupa-setup.c: Renamed to ...
+ * util/i386/pc/grub-setup.c: ... this.
+ * util/pupa-emu.c: Renamed to ...
+ * util/grub-emu.c: ... this.
+
+2004-03-29 Marco Gerards <metgerards@student.han.nl>
+
+ Add support for the newworld apple macintosh (PPC). This has been
+ tested on the powerbook 2000 only. It only adds support for
+ generic ieee1275 functions, console and disk support. This should
+ be easy to port to other architectures with support for Open
+ Firmware.
+
+ * configure.ac: Accept the powerpc as host_cpu. In the case of
+ the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
+ specific tests are only executed while building for the i386.
+ Inverse test for crosscompile.
+ * genmk.rb (Utility): Allow assembler files.
+ * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
+ * conf/powerpc-ieee1275.rmk: New file.
+ * disk/powerpc/ieee1275/ofdisk.c: Likewise.
+ * disk/powerpc/ieee1275/partition.c: Likewise.
+ * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
+ * include/pupa/powerpc/ieee1275/console.h: Likewise.
+ * include/pupa/powerpc/ieee1275/partition.h: Likewise.
+ * include/pupa/powerpc/ieee1275/time.h: Likewise.
+ * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
+ * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
+ * include/pupa/powerpc/ieee1275/loader.h
+ * include/pupa/powerpc/setjmp.h: Likewise.
+ * include/pupa/powerpc/types.h: Likewise.
+ * kern/powerpc/ieee1275/init.c: Likewise.
+ * kern/powerpc/ieee1275/openfw.c: Likewise.
+ * term/powerpc/ieee1275/ofconsole.c: Likewise.
+
+ These files were written by Johan Rydberg
+ (jrydberg@night.trouble.net) and I only modified them slightly.
+
+ * boot/powerpc/ieee1275/cmain.c: New file.
+ * boot/powerpc/ieee1275/crt0.S: Likewise.
+ * boot/powerpc/ieee1275/ieee1275.c: Likewise.
+ * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
+
+2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * Makefile.in: Update copyright.
+ * genmodsrc.sh: Likewise.
+ * gensymlist.sh: Likewise.
+ * term/i386/pc/vga.c: Indent correctly.
+
+ * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
+ bugreporting address.
+ * util/i386/pc/pupa-setup.c (usage): Likewise,
+ (main): Call pupa_ext2_init and pupa_ext2_fini.
+
+ * fs/fat.c (log2): Renamed to ...
+ (fat_log2): ... this.
+ All callers changed.
+ * kern/misc.c (memcpy): Alias to pupa_memmove.
+ * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
+ lvalue cast.
+ * util/console.c (pupa_ncurses_fini): Return 0.
+
+ * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
+ Move fail label here.
+ [__GNU__]: Don't warn when using stat.
+ (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
+ (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
+ long int. Use strtol instead of strtoul.
+
+2004-03-14 Marco Gerards <metgerards@student.han.nl>
+
+ * commands/boot.c: New file.
+ * commands/cat.c: Likewise.
+ * commands/cmp.c: Likewise.
+ * commands/ls.c: Likewise.
+ * commands/terminal.c: Likewise.
+ * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
+ (pupa_register_command): Changed interface to match the new
+ argument parser.
+ (pupa_command_execute): Changed (almost rewritten) so it uses
+ pupa_split_command. Added support for setting variables using the
+ syntax `foo=bar'.
+ (rescue_command): Changed to work with the new argument parser.
+ (terminal_command): Moved from here to commands/terminal.c.
+ (set_command): New function.
+ (unset_command): New function.
+ (insmod_command): New function.
+ (rmmod_command): New function.
+ (lsmod_command): New function.
+ (pupa_command_init): Don't initialize the command terminal
+ anymore. Initialize the commands set, unset, insmod, rmmod and
+ lsmod.
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
+ (kernel_img_HEADERS): Add arg.h and env.h.
+ (pupa_mkimage_LDFLAGS): Add kern/env.c.
+ (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
+ commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
+ normal/arg.c.
+ (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
+ terminal.mod.
+ (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
+ (boot_mod_SOURCES): New variable.
+ (terminal_mod_SOURCES): Likewise.
+ (ls_mod_SOURCES): Likewise.
+ (cmp_mod_SOURCES): Likewise.
+ (cat_mod_SOURCES): Likewise.
+
+ * normal/arg.c: New file.
+ * kern/env.c: Likewise.
+ * include/pupa/arg.h: Likewise.
+ * include/pupa/env.h: Likewise.
+ * font/manager.c (font_command): Changed to match argument parsing
+ interface changes.
+ (PUPA_MOD_INIT): Likewise.
+ * hello/hello.c (pupa_cmd_hello): Likewise.
+ (PUPA_MOD_INIT): Likewise.
+ * include/pupa/disk.h: Include <pupa/device.h>.
+ (pupa_print_partinfo): New prototype.
+ * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
+ (pupa_dl_get_prefix): Likewise.
+ * include/pupa/misc.h: Include <pupa/err.h>.
+ (pupa_isgraph): New prototype.
+ (pupa_isdigit): Likewise.
+ (pupa_split_cmdline): Likewise.
+ * include/pupa/normal.h: Include <pupa/arg.h>.
+ (pupa_command): Changed the prototype of the member `func' to
+ match the argument parsing interface. Added member `options'.
+ (pupa_register_command): Updated to match function.
+ (pupa_arg_parse): New prototype.
+ (pupa_hello_init) [PUPA_UTIL]: New prototype.
+ (pupa_hello_fini) [PUPA_UTIL]: Likewise.
+ (pupa_ls_init) [PUPA_UTIL]: Likewise.
+ (pupa_ls_fini) [PUPA_UTIL]: Likewise.
+ (pupa_cat_init) [PUPA_UTIL]: Likewise.
+ (pupa_cat_fini) [PUPA_UTIL]: Likewise.
+ (pupa_boot_init) [PUPA_UTIL]: Likewise.
+ (pupa_boot_fini) [PUPA_UTIL]: Likewise.
+ (pupa_cmp_init) [PUPA_UTIL]: Likewise.
+ (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
+ (pupa_terminal_init) [PUPA_UTIL]: Likewise.
+ (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
+ * kern/disk.c: Include <pupa/file.h>.
+ (pupa_print_partinfo): New function.
+ * kern/dl.c: Include <pupa/env.h>.
+ (pupa_dl_dir): Variable removed.
+ (pupa_dl_load): Use the environment variable `prefix' instead of
+ the variable pupa_dl_dir.
+ (pupa_dl_set_prefix): Function removed.
+ (pupa_dl_get_prefix): Likewise.
+ * kern/i386/pc/init.c: Include <pupa/env.h>.
+ (pupa_machine_init): Use the environment variable `prefix' instead of
+ using pupa_dl_set_prefix to set the prefix.
+ * kern/main.c: Include <pupa/env.h>.
+ (pupa_set_root_dev): Use the environment variable `prefix' instead of
+ using pupa_dl_get_prefix to get the prefix.
+ * kern/misc.c: Include <pupa/env.h>.
+ (pupa_isdigit): New function.
+ (pupa_isgraph): Likewise.
+ (pupa_ftoa): Likewise.
+ (pupa_vsprintf): Added support for printing values of the type
+ `double'. Make it possible to format variable output when using
+ formatting like `%1.2%f'.
+ (pupa_split_cmdline): New function.
+ * kern/rescue.c: Include <pupa/env.h>.
+ (next_word): Removed function.
+ (pupa_rescue_cmd_prefix): Likewise.
+ (pupa_rescue_cmd_set): New function.
+ (pupa_rescue_cmd_unset): New function.
+ (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
+ split the command line instead of splitting it here. Added
+ support for setting variables using the syntax `foo=bar'. Don't
+ initialize the prefix command anymore. Initialized the set and
+ unset commands.
+ * normal/cmdline.c: Include <pupa/env.h>.
+ (pupa_tab_complete): Added prototypes for print_simple_completion,
+ print_partition_completion, add_completion, iterate_commands,
+ iterate_dev, iterate_part and iterate_dir. Moved code to print
+ partition information from here to kern/disk.c.
+ (pupa_cmdline_run): Don't check if the function exists anymore.
+ * normal/main.c: Include <pupa/env.h>.
+ (pupa_rescue_cmd_normal): Use the environment variable `prefix'
+ instead of using pupa_dl_get_prefix to get the prefix.
+ * term/i386/pc/vga.c: Include <pupa/arg.h>.
+ (check_vga_mem): Cast pointers to `void *' to silence a gcc
+ warning.
+ (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
+ (pupa_vga_setcolor): Declare unused variables with `__attribute__
+ ((unused))' to silence a gcc warning.
+ (pupa_vga_setcolor): Likewise.
+ (debug_command): Changed to match argument parsing
+ interface changes.
+ * util/pupa-emu.c: Include <pupa/env.h>.
+ (options): Added 0's for unused fields to silence a gcc warning.
+ (argp): Likewise.
+ (main): Use the environment variable `prefix' instead of using
+ pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
+ boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
+ and terminal.
+
+ * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
+ * util/misc.c: Include <malloc.h>.
+ (pupa_malloc): Rewritten so errors are correctly reported.
+ (pupa_realloc): Likewise.
+ (pupa_memalign): Likewise.
+ (pupa_mm_init_region): Declare unused variables with
+ `__attribute__ ((unused))' to silence a gcc warning.
+ * normal/i386/setjmp.S: Remove tab at the end of the file to
+ silence a gcc warning.
+ * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
+ variables with `__attribute__ ((unused))' to silence a gcc
+ warning.
+ * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
+ local variable i unsigned to silence a gcc warning.
+
+ * kern/term.c: Include <pupa/misc.h>.
+ (pupa_more_lines): New variable.
+ (pupa_more): Likewise.
+ (pupa_putcode): When the pager is active pause at the end of every
+ screen.
+ (pupa_set_more): New function.
+ * include/pupa/term.h (pupa_set_more): New prototype.
+
+
+2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Now this project is GRUB 2 rather than PUPA. The location of
+ the CVS repository was moved to GRUB's.
+
+ * configure.ac: Use bug-grub as the reporting address.
+ Use GRUB instead of PUPA.
+ Change the version number to 1.90.
+
+2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * genkernsyms.sh: Updated copyright information.
+ * genmk.rb: Likewise.
+ * genmodsrc.sh: Likewise.
+ * gensymlist.sh: Likewise.
+ * boot/i386/pc/boot.S: Likewise.
+ * boot/i386/pc/diskboot.S: Likewise.
+ * disk/i386/pc/biosdisk.c: Likewise.
+ * disk/i386/pc/partition.c: Likewise.
+ * font/manager.c: Likewise.
+ * fs/ext2.c: Likewise.
+ * fs/fat.c: Likewise.
+ * include/pupa/boot.h: Likewise.
+ * include/pupa/device.h: Likewise.
+ * include/pupa/disk.h: Likewise.
+ * include/pupa/dl.h: Likewise.
+ * include/pupa/elf.h: Likewise.
+ * include/pupa/err.h: Likewise.
+ * include/pupa/file.h: Likewise.
+ * include/pupa/font.h: Likewise.
+ * include/pupa/fs.h: Likewise.
+ * include/pupa/kernel.h: Likewise.
+ * include/pupa/loader.h: Likewise.
+ * include/pupa/misc.h: Likewise.
+ * include/pupa/mm.h: Likewise.
+ * include/pupa/net.h: Likewise.
+ * include/pupa/normal.h: Likewise.
+ * include/pupa/rescue.h: Likewise.
+ * include/pupa/setjmp.h: Likewise.
+ * include/pupa/symbol.h: Likewise.
+ * include/pupa/term.h: Likewise.
+ * include/pupa/types.h: Likewise.
+ * include/pupa/i386/setjmp.h: Likewise.
+ * include/pupa/i386/types.h: Likewise.
+ * include/pupa/i386/pc/biosdisk.h: Likewise.
+ * include/pupa/i386/pc/boot.h: Likewise.
+ * include/pupa/i386/pc/console.h: Likewise.
+ * include/pupa/i386/pc/init.h: Likewise.
+ * include/pupa/i386/pc/kernel.h: Likewise.
+ * include/pupa/i386/pc/linux.h: Likewise.
+ * include/pupa/i386/pc/loader.h: Likewise.
+ * include/pupa/i386/pc/memory.h: Likewise.
+ * include/pupa/i386/pc/multiboot.h: Likewise.
+ * include/pupa/i386/pc/partition.h: Likewise.
+ * include/pupa/i386/pc/time.h: Likewise.
+ * include/pupa/i386/pc/vga.h: Likewise.
+ * include/pupa/i386/pc/util/biosdisk.h: Likewise.
+ * include/pupa/util/getroot.h: Likewise.
+ * include/pupa/util/misc.h: Likewise.
+ * include/pupa/util/resolve.h: Likewise.
+ * kern/device.c: Likewise.
+ * kern/disk.c: Likewise.
+ * kern/dl.c: Likewise.
+ * kern/err.c: Likewise.
+ * kern/file.c: Likewise.
+ * kern/fs.c: Likewise.
+ * kern/loader.c: Likewise.
+ * kern/main.c: Likewise.
+ * kern/misc.c: Likewise.
+ * kern/mm.c: Likewise.
+ * kern/rescue.c: Likewise.
+ * kern/term.c: Likewise.
+ * kern/i386/dl.c: Likewise.
+ * kern/i386/pc/init.c: Likewise.
+ * kern/i386/pc/lzo1x.S: Likewise.
+ * kern/i386/pc/startup.S: Likewise.
+ * loader/i386/pc/chainloader.c: Likewise.
+ * loader/i386/pc/linux.c: Likewise.
+ * loader/i386/pc/multiboot.c: Likewise.
+ * normal/cmdline.c: Likewise.
+ * normal/command.c: Likewise.
+ * normal/main.c: Likewise.
+ * normal/menu.c: Likewise.
+ * normal/i386/setjmp.S: Likewise.
+ * term/i386/pc/console.c: Likewise.
+ * term/i386/pc/vga.c: Likewise.
+ * util/console.c: Likewise.
+ * util/genmoddep.c: Likewise.
+ * util/misc.c: Likewise.
+ * util/pupa-emu.c: Likewise.
+ * util/resolve.c: Likewise.
+ * util/unifont2pff.rb: Likewise.
+ * util/i386/pc/biosdisk.c: Likewise.
+ * util/i386/pc/getroot.c: Likewise.
+ * util/i386/pc/pupa-mkimage.c: Likewise.
+ * util/i386/pc/pupa-setup.c: Likewise.
+
+2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
+ when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
+ callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
+ reading and reset it after reading.
+ (pupa_ext2_close): Return PUPA_ERR_NONE.
+
+ * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
+ Correct value.
+ (struct linux_kernel_header): Add kernel_version and
+ initrd_addr_max.
+ * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
+ pupa_file_read succeeds.
+ (pupa_rescue_cmd_initrd): Implement.
+
+2003-12-03 Marco Gerards <metgerards@student.han.nl>
+
+ * fs/ext2.c (pupa_ext2_label): New function.
+ (pupa_ext2_fs): Added label.
+ * fs/fat.c (pupa_fat_label): New function.
+ (pupa_fat_fs): Added label.
+ * include/pupa/fs.h (struct pupa_fs): Added prototype label.
+
+ * kern/misc.c (pupa_strndup): New function.
+ * include/pupa/misc.h (pupa_strndup): New prototype.
+
+ * include/pupa/normal.h: Include <pupa/err.h>.
+ (pupa_set_history): New prototype.
+ (pupa_iterate_commands): New prototype.
+ * normal/cmdline.c: Include <pupa/machine/partition.h>,
+ <pupa/disk.h>, <pupa/file.h>.
+ (hist_size): New variable.
+ (hist_lines): Likewise.
+ (hist_end): Likewise.
+ (hist_used): Likewise.
+ (pupa_set_history): New function.
+ (pupa_history_get): Likewise.
+ (pupa_history_add): Likewise.
+ (pupa_history_replace): Likewise.
+ (pupa_tab_complete): Likewise.
+ (pupa_cmdline_run): Added tab completion and history buffer. Tab
+ completion shows partitionnames while completing partitions, this
+ feature was suggested by Jeff Bailey.
+ * normal/command.c (pupa_iterate_commands): New function.
+ * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
+ (pupa_normal_init): Initialize history buffer.
+ (PUPA_MOD_INIT): Likewise.
+ (pupa_normal_fini): Free the history buffer.
+ (PUPA_MOD_FINI): Likewise.
+
+ * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
+ key.
+
+ * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
+ * configure.ac [i386]: Check for regparam bug.
+ (NESTED_FUNC_ATTR) [! i386]: Defined.
+
+2003-11-17 Marco Gerards <metgerards@student.han.nl>
+
+ * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
+ (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
+ (pupa_emu_SOURCES): New variable.
+ (pupa_emu_LDFLAGS): Likewise.
+ * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
+ (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
+ * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
+ (pupa_normal_fini) [PUPA_UTIL]: Likewise.
+ * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
+ (pupa_jmp_buf): New typedef.
+ (pupa_setjmp) [PUPA_UTIL]: New macro.
+ (pupa_longjmp) [PUPA_UTIL]: Likewise.
+ * include/pupa/term.h (struct pupa_term): New member `refresh'.
+ (pupa_refresh): New prototype.
+ * include/pupa/util/getroot.h: New file.
+ * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
+ it.
+ * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
+ (pupa_rescue_cmd_cat): Likewise.
+ (pupa_rescue_cmd_ls): Likewise.
+ (pupa_rescue_cmd_testload): Likewise.
+ (pupa_rescue_cmd_lsmod): Likewise.
+ * normal/cmdline.c (pupa_cmdline_get): Likewise.
+ * normal/menu.c (run_menu): Likewise.
+ * kern/term.c (pupa_cls): Likewise.
+ (pupa_refresh): New function.
+ * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
+ (pupa_normal_fini) [PUPA_UTIL]: Likewise.
+ * util/console.c: New file.
+
+ * util/i386/pc/getroot.c: New file.
+ * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
+ (pupa_putchar): New function.
+ (pupa_refresh): Likewise.
+ (xgetcwd): Function moved to ...
+ (strip_extra_slashes): Likewise.
+ (get_prefix): Likewise.
+ * util/i386/pc/getroot.c: ... here.
+ (find_root_device): Function moved and renamed to...
+ * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
+ Changed all callers.
+ * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
+ and renamed to...
+ * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
+ Changed all callers.
+ * util/misc.c (pupa_memalign): New function.
+ (pupa_mm_init_region): Likewise.
+ (pupa_register_exported_symbols): Likewise.
+ (pupa_putchar): Function removed.
+ * util/pupa-emu.c: New file.
+
+2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
+ (_multiboot_mod_SOURCES): New variable.
+ (_multiboot_mod_CFLAGS): Likewise.
+ * loader/i386/pc/multiboot.c: New file.
+ * include/pupa/i386/pc/multiboot.h: Likewise.
+ * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
+ (pupa_multiboot_real_boot): New function.
+ * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
+ (pupa_multiboot_real_boot): New prototype.
+ (pupa_rescue_cmd_multiboot): Likewise
+ (pupa_rescue_cmd_module): Likewise.
+
+ * kern/loader.c (pupa_loader_set): Continue when
+ pupa_loader_unload_func() fails.
+ (pupa_loader_unset): New function.
+ * include/pupa/loader.h (pupa_loader_unset): New prototype.
+
+ * kern/misc.c (pupa_stpcpy): New function.
+ * include/pupa/misc.h (pupa_stpcpy): New prototype.
+
+2003-11-12 Marco Gerards <metgerards@student.han.nl>
+
+ * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
+ for available extensions.
+
+ * include/pupa/i386/pc/time.h: New file.
+ * kern/disk.c: Include <pupa/machine/time.h>.
+ (PUPA_CACHE_TIMEOUT): New macro.
+ (pupa_last_time): New variable.
+ (pupa_disk_open): Flush the cache when there was a timeout.
+ (pupa_disk_close): Reset the timer.
+ * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
+ pupa_currticks.
+ * util/misc.c: Include <sys/times.h>
+ (pupa_get_rtc): New function.
+
+2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
+
+ * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
+ as blocks.
+ (pupa_ext2_get_file_block): Use blocks member.
+
+ * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
+ first block. Return -1 instead of pupa_errno on error.
+
+2003-10-27 Marco Gerards <metgerards@student.han.nl>
+
+ * README: In the pupa-mkimage example use _chain instead of chain
+ and ext2 instead of fat.
+ * TODO: Replace ext2fs with jfs as an example. Add an item for
+ adding journal playback for ext2fs.
+ * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
+ (pkgdata_MODULES): Added ext2.mod.
+ (ext2_mod_SOURCES): New variable.
+ (ext2_mod_CFLAGS): Likewise.
+ * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
+ * include/pupa/misc.h (pupa_strncpy): New prototype.
+ (pupa_strcat): Likewise.
+ (pupa_strncmp): Likewise.
+ * kern/misc.c (pupa_strcat): Enable function.
+ (pupa_strncpy): New function.
+ (pupa_strncmp): Likewise.
+ * fs/ext2.c: New file.
+
+ * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
+ when the read failed before retrying.
+ * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
+ (_FILE_OFFSET_BITS): Likewise.
+ * configure.ac: Added AC_SYS_LARGEFILE.
+
+2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * genmk.rb (PModule#rule): Make sure to get only symbol names
+ from the output of nm.
+ Reported by Robert Millan <rmh.grub@aybabtu.com>.
+
+2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
+
+ I forgot to check in these changes for a long time. This adds
+ incomplete support for VGA console, and this is still very
+ buggy. Also, a lot of consideration is required for I18N,
+ UNICODE, and VGA font issues. Therefore, assume that this is
+ such that "better than nothing".
+
+ * font/manager.c: New file.
+ * include/pupa/font.h: Likewise.
+ * include/pupa/i386/pc/vga.h: Likewise.
+ * term/i386/pc/vga.c: Likewise.
+ * util/unifont2pff.rb: Likewise.
+
+ * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
+ (pkgdata_MODULES): Added vga.mod and font.mod.
+ (vga_mod_SOURCES): New variables.
+ (vga_mod_CFLAGS): Likewise.
+ (font_mod_SOURCES): Likewise.
+ (font_mod_CFLAGS): Likewise.
+
+ * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
+
+ * include/pupa/term.h: Include pupa/err.h.
+ (struct pupa_term): Added init and fini.
+ Changed the argument of putchar to pupa_uint32_t.
+
+ * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
+ (pupa_console_real_putchar): New prototype.
+ (pupa_console_putchar): Removed.
+ (pupa_console_checkkey): Exported.
+ (pupa_console_getkey): Likewise.
+
+ * kern/misc.c (pupa_vsprintf): Add support for UNICODE
+ characters.
+
+ * kern/term.c (pupa_term_set_current): Rewritten.
+ (pupa_putchar): Likewise.
+ (pupa_putcode): New function.
+
+ * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
+ (pupa_console_real_putchar): ... this.
+ (pupa_vga_set_mode): New function.
+ (pupa_vga_get_font): Likewise.
+
+ * normal/command.c: Include pupa/term.h.
+ (terminal_command): New function.
+ (pupa_command_init): Register the command "terminal".
+
+ * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
+ (DISP_UP): Likewise.
+ (DISP_RIGHT): Likewise.
+ (DISP_DOWN): Likewise.
+ (DISP_HLINE): Likewise.
+ (DISP_VLINE): Likewise.
+ (DISP_UL): Likewise.
+ (DISP_UR): Likewise.
+ (DISP_LL): Likewise.
+ (DISP_LR): Likewise.
+
+ * term/i386/pc/console.c (pupa_console_putchar): New function.
+
+2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
+
+ * util/resolve.c (pupa_util_resolve_dependencies): BUG
+ FIX. Reverse the path_list.
+
+ * include/pupa/normal.h: Export pupa_register_command and
+ pupa_unregister_command.
+
+ * hello/hello.c (pupa_cmd_hello): New module.
+ * conf/i386-pc.rmk: Added hello.mod.
+
+2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/i386/pc/lzo1x.S: New file.
+
+ * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
+ (compress_kernel): New variable.
+ (generate_image): Heavily modified to support compressing a
+ large part of the core image.
+
+ * util/misc.c (pupa_util_read_image): Fix a file descriptor
+ leak.
+ (pupa_util_load_image): New function.
+
+ * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
+ (pupa_compressed_size): New variable.
+ (codestart): Enable Gate A20 here.
+ Decompress the compressed part of the core image.
+ Rearrange the code to put functions and variables which are
+ required for initialization in the non-compressed part.
+ Include lzo1x.S.
+
+ * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
+ here.
+
+ * include/pupa/util/misc.h (pupa_util_write_image): Declared.
+
+ * include/pupa/i386/pc/kernel.h
+ (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
+ (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
+ (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
+ (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
+ (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
+
+ * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
+
+ * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
+ (Utility#rule): Likewise.
+
+ * configure.ac: Check if LZO is available.
+
+2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * include/pupa/normal.h: New file.
+ * include/pupa/setjmp.h: Likewise.
+ * include/pupa/i386/setjmp.h: Likewise.
+ * normal/cmdline.c: Likewise.
+ * normal/command.c: Likewise.
+ * normal/main.c: Likewise.
+ * normal/menu.c: Likewise.
+ * normal/i386/setjmp.S: Likewise.
+
+ * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
+ (pupa_rescue_cmd_initrd): Likewise.
+
+ * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
+ Likewise.
+
+ * kern/i386/pc/startup.S (translation_table): New variable.
+ (translate_keycode): New function.
+ (pupa_console_getkey): Call translate_keycode.
+
+ * kern/rescue.c (attempt_normal_mode): New function.
+ (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
+ it failed, print a message.
+
+ * kern/mm.c (pupa_real_malloc): Print more information when a
+ free magic is broken.
+ (pupa_free): If the first free header is not free actually, set
+ it to P.
+
+ * kern/main.c (pupa_load_normal_mode): Just load the module
+ "normal".
+ (pupa_main): Don't print the message
+ "Entering into rescue mode..." here.
+
+ * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
+ Declared.
+ (pupa_rescue_cmd_initrd): Likewise.
+ (pupa_rescue_cmd_initrd): Likewise.
+
+ * include/pupa/symbol.h (FUNCTION): Specify the type.
+ (VARIABLE): Likewise.
+
+ * include/pupa/err.h (pupa_err_t): Added
+ PUPA_ERR_UNKNOWN_COMMAND.
+
+ * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
+ (pupa_dl_get_prefix): Likewise.
+
+ * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
+ Added _chain.mod and _linux.mod instead of chain.mod and
+ linux.mod.
+ (chain_mod_SOURCES): Renamed to ...
+ (_chain_mod_SOURCES): ... this.
+ (chain_mod_CFLAGS): Renamed to ...
+ (_chain_mod_CFLAGS): ... this.
+ (linux_mod_SOURCES): Renamed to ...
+ (_linux_mod_SOURCES): ... this.
+ (linux_mod_CFLAGS): Renamed to ...
+ (_linux_mod_CFLAGS): ... this.
+ (normal_mod_SOURCES): New variable.
+ (normal_mod_CFLAGS): Likewise.
+ (normal_mod_ASFLAGS): Likewise.
+
+2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
+ possible.
+
+ * kern/dl.c (pupa_dl_ref): Refer depending modules
+ recursively.
+ (pupa_dl_unref): Unrefer depending modules recursively.
+ Don't call pupa_dl_unload implicitly, because PUPA can crash if
+ a module is unloaded before one depending on that module is
+ unloaded.
+ (pupa_dl_unload): Unload depending modules explicitly,
+ if possible.
+
+2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * include/pupa/i386/pc/linux.h: New file.
+ * loader/i386/pc/linux.c: Likewise.
+
+ * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
+ Removed.
+ (pupa_chainloader_unload): Return PUPA_ERR_NONE.
+ (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
+ of PUPA_CHAINLOADER_BOOT_SECTOR.
+
+ * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
+ (pupa_linux_prot_size): New variable.
+ (pupa_linux_tmp_addr): Likewise.
+ (pupa_linux_real_addr): Likewise.
+ (pupa_linux_boot_zimage): New function.
+ (pupa_linux_boot_bzimage): Likewise.
+
+ * kern/i386/pc/init.c (struct mem_region): New structure.
+ (MAX_REGIONS): New macro.
+ (mem_regions): New variable.
+ (num_regions): Likewise.
+ (pupa_os_area_addr): Likewise.
+ (pupa_os_area_size): Likewise.
+ (pupa_lower_mem): Likewise.
+ (pupa_upper_mem): Likewise.
+ (add_mem_region): New function.
+ (compact_mem_regions): Likewise.
+ (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
+ the size of the conventional memory and that of so-called upper
+ memory (before the first memory hole).
+ Instead of adding each found region to free memory, use
+ add_mem_region and add them after removing overlaps.
+ Also, add only 1/4 of the upper memory to free memory. The rest
+ is used for loading OS images. Maybe this is ad hoc, but this
+ makes it much easier to relocate OS images when booting.
+
+ * kern/rescue.c (pupa_rescue_cmd_module): Removed.
+ (pupa_enter_rescue_mode): Don't register initrd and module.
+
+ * kern/mm.c: Include pupa/dl.h.
+
+ * kern/main.c: Include pupa/file.h and pupa/device.h.
+
+ * kern/loader.c (pupa_loader_load_module_func): Removed.
+ (pupa_loader_load_module): Likewise.
+
+ * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
+ ``.o''.
+
+ * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
+ (pupa_linux_tmp_addr): Likewise.
+ (pupa_linux_real_addr): Likewise.
+ (pupa_linux_boot_zimage): Likewise.
+ (pupa_linux_boot_bzimage): Likewise.
+
+ * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
+ (pupa_upper_mem): Likewise.
+ (pupa_gate_a20): Don't export, because turning off Gate A20 in a
+ module is too dangerous.
+
+ * include/pupa/loader.h (pupa_os_area_addr): Declared.
+ (pupa_os_area_size): Likewise.
+ (pupa_loader_set): Remove the first argument. Loader doesn't
+ manage modules or initrd any longer.
+ (pupa_loader_load_module): Removed.
+
+ * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
+ (linux_mod_SOURCES): New variable.
+ (linux_mod_CFLAGS): Likewise.
+
+2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
+ the length of a blocklist correctly.
+
+ * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
+ Use ioctl only if the OS file is a block device.
+ (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
+ not very useful for normal files.
+
+ * kern/main.c (pupa_set_root_dev): New function.
+ (pupa_load_normal_mode): Likewise.
+ (pupa_main): Call those above.
+
+ * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
+ pupa_uint16_t.
+
+ * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
+
+2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
+ (setup): Configure the installed partition information and the
+ dl prefix.
+
+ * loader/i386/pc/chainloader.c (my_mod): New variable.
+ (pupa_chainloader_unload): New function.
+ (pupa_rescue_cmd_chainloader): Refer itself.
+ (PUPA_MOD_INIT): Save its own module in MY_MOD.
+
+ * kern/i386/pc/startup.S (install_partition): Removed.
+ (version_string): Likewise.
+ (config_file): Likewise.
+ (pupa_install_dos_part): New variable.
+ (pupa_install_bsd_part): Likewise.
+ (pupa_prefix): Likewise.
+ (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
+
+ * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
+ and pupa/misc.h.
+ (make_install_device): New function.
+ (pupa_machine_init): Set the dl prefix.
+
+ * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
+ (buf): Renamed to ...
+ (linebuf): ... this.
+ (pupa_rescue_cmd_prefix): New function.
+ (pupa_rescue_cmd_insmod): Likewise.
+ (pupa_rescue_cmd_rmmod): Likewise.
+ (pupa_rescue_cmd_lsmod): Likewise.
+ (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
+ rmmod and lsmod.
+
+ * kern/mm.c (pupa_memalign): If failed even after invalidating
+ disk caches, unload unneeded modules and retry.
+
+ * kern/misc.c (pupa_memmove): New function.
+ (pupa_memcpy): Removed.
+ (pupa_strcpy): New function.
+ (pupa_itoa): Made static.
+
+ * kern/dl.c (pupa_dl_iterate): New function.
+ (pupa_dl_ref): Likewise.
+ (pupa_dl_unref): Likewise.
+ (pupa_dl_unload): Return if succeeded or not.
+ (pupa_dl_unload_unneeded): New function.
+ (pupa_dl_unload_all): Likewise.
+ (pupa_dl_init): Renamed to ...
+ (pupa_dl_set_prefix): ... this.
+ (pupa_dl_get_prefix): New function.
+
+ * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
+ (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
+ (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
+ (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
+ (pupa_install_dos_part): Declared.
+ (pupa_install_bsd_part): Likewise.
+ (pupa_prefix): Likewise.
+ (pupa_boot_drive): Likewise.
+
+ * include/pupa/types.h: Fix a typo.
+
+ * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
+ pupa_memmove.
+ (pupa_memmove): Declared.
+ (pupa_strcpy): Likewise.
+
+ * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
+ pupa_mod_init takes one argument, its own module.
+ (pupa_dl_unload_unneeded): Declared.
+ (pupa_dl_unload_all): Likewise.
+ (pupa_dl_ref): Likewise.
+ (pupa_dl_unref): Likewise.
+ (pupa_dl_iterate): Likewise.
+ (pupa_dl_init): Renamed to ...
+ (pupa_dl_set_prefix): ... this.
+ (pupa_dl_get_prefix): Declared.
+
+ * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
+ (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
+ unloaded.
+ (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
+ (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
+
+ * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
+ -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
+
+2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * util/i386/pc/pupa-setup.c (setup): Define the internal
+ function find_first_partition_start at the top level, because GCC
+ 3.0.x cannot compile internal functions in deeper scopes
+ correctly.
+ (find_root_device): Use lstat instead of stat.
+ Don't follow symbolic links.
+ Fix the path-constructing code.
+
+ * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
+ (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
+ by a BLKGETSIZE ioctl first, because block devices don't fill
+ the member st_mode of the structure stat on Linux.
+ [__linux__] (linux_find_partition): Use a temporary buffer
+ REAL_DEV for the working space. Copy it to DEV before returning.
+ (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
+ buffer cache consistent.
+ (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
+ strncmp. The previous value was merely wrong.
+ (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
+
+ * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
+ FAT size is 12. The previous value was merely wrong.
+
+ * kern/main.c (pupa_main): Don't split the starting message from
+ newlines.
+
+ * kern/term.c (pupa_putchar): Put CR after LF instead of before
+ LF, because BIOS goes crazy about character attributes in this
+ case.
+
+2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * include/i386/pc/util/biosdisk.h: New file.
+ * util/i386/pc/biosdisk.c: Likewise.
+ * util/i386/pc/pupa-setup.c: Likewise.
+
+ * Makefile.in (INCLUDE_DISTFILES): Added
+ include/pupa/i386/pc/util/biosdisk.h.
+ (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
+ directory util/i386/pc.
+ (install-local): Added a rule for sbin_UTILITIES.
+ (uninstall): Likewise.
+
+ * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
+
+ * util/misc.c (xrealloc): New function.
+ (pupa_malloc): Likewise.
+ (pupa_free): Likewise.
+ (pupa_realloc): Likewise.
+ (pupa_stop): Likewise.
+ (pupa_putchar): Likewise.
+
+ * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
+
+ * include/pupa/util/misc.h (xrealloc): Declared.
+
+ * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
+ macro.
+ (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
+ (PUPA_BOOT_MACHINE_BPB_END): ... this.
+
+ * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
+ [PUPA_UTIL] (pupa_fat_fini): Likewise.
+
+ * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
+ way should be implemented.
+ [PUPA_UTIL] (pupa_fat_fini): Likewise.
+
+ * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
+ the size of NAME for safety.
+ (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
+ 0x88.
+
+ * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
+ (pupa_setup_SOURCES): Likewise.
+
+ * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
+
+2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
+ bunch of pushl's from pusha, because this destroys the return
+ value.
+
+2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
+
+ Use -mrtd and -mregparm=3 to reduce the generated code sizes.
+ This means that any missing prototypes could be fatal. Also, you
+ must take care when writing assembly code. See the comments at
+ the beginning of startup.S, for more details.
+
+ * kern/i386/pc/startup.S (pupa_halt): Modified for the new
+ compilation mechanism.
+ (pupa_chainloader_real_boot): Likewise.
+ (pupa_biosdisk_rw_int13_extensions): Likewise.
+ (pupa_biosdisk_rw_standard): Likewise.
+ (pupa_biosdisk_check_int13_extensions): Likewise.
+ (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
+ (pupa_biosdisk_get_diskinfo_standard): Likewise.
+ (pupa_get_memsize): Likewise.
+ (pupa_get_mmap_entry): Likewise.
+ (pupa_console_putchar): Likewise.
+ (pupa_console_setcursor): Likewise.
+ (pupa_getrtsecs): Use pushl instead of push.
+
+ * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
+ memory instead of the stack for a mmap entry, because some
+ BIOSes may ignore the maximum size and overflow.
+
+ * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
+
+ * genmk.rb (PModule#rule): Compile automatically generated
+ sources with module-specific CFLAGS as well as other sources.
+
+2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * configure.ac: Check ld.
+ Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
+ respectively, before checking endianness and sizes.
+
+ * Makefile.in (LD): New variable.
+
+2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * Makefile.in (BUILD_CC): CC -> BUILD_CC.
+
+2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * Changelog: New file.
+