2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
authorRobert Millan <rmh@aybabtu.com>
Thu, 7 Jan 2010 16:53:29 +0000 (16:53 +0000)
committerRobert Millan <rmh@aybabtu.com>
Thu, 7 Jan 2010 16:53:29 +0000 (16:53 +0000)
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.

1  2 
ChangeLog
normal/dyncmd.c
normal/handler.c
normal/main.c

diff --cc ChangeLog
+++ b/ChangeLog
++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'.
diff --cc normal/dyncmd.c
Simple merge
@@@ -135,6 -135,6 +135,7 @@@ voi
  read_handler_list (void)
  {
    const char *prefix;
++  static int first_time = 1;
    const char *class_name;
  
    auto int iterate_handler (grub_handler_t handler);
        return 0;
      }
  
++  /* Make sure that this function does not get executed twice.  */
++  if (! first_time)
++    return;
++  first_time = 0;
++
    prefix = grub_env_get ("prefix");
    if (prefix)
      {
          if (file)
            {
              char *buf = NULL;
--
--            /* Override previous handler.lst.  */
--            while (grub_handler_class_list)
--              {
--                grub_handler_class_t tmp;
--                tmp = grub_handler_class_list->next;
--                grub_free (grub_handler_class_list);
--                grub_handler_class_list = tmp;
--              }
--
              for (;; grub_free (buf))
                {
                  char *p;
diff --cc normal/main.c
@@@ -424,8 -410,7 +424,7 @@@ read_lists (struct grub_env_var *var __
  {
    read_command_list ();
    read_fs_list ();
--  read_handler_list ();
 +  read_crypto_list ();
    return val ? grub_strdup (val) : NULL;
  }
  
@@@ -437,8 -422,8 +436,9 @@@ grub_normal_execute (const char *config
    grub_menu_t menu = 0;
  
    read_lists (NULL, NULL);
++  read_handler_list ();
    grub_register_variable_hook ("prefix", NULL, read_lists);
 -  grub_command_execute ("parser.sh", 0, 0);
 +  grub_command_execute ("parser.grub", 0, 0);
  
    reader_nested = nested;