]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Use FOR_* macros instead of *_iterate whenever possible.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 11 Jun 2010 20:31:16 +0000 (22:31 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 11 Jun 2010 20:31:16 +0000 (22:31 +0200)
* commands/handler.c: Removed.
* commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
* commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
* conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
* conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
(grub_probe_SOURCES): Remove kern/parser.c.
(util/grub-script-check.c_DEPENDENCIES): Removed.
(grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
and grub_script_check_init.c.
(grub_script_check_init.lst): Removed.
(grub_script_check_init.h): Likewise.
(grub_script_check_init.c): Likewise.
(pkglib_MODULES): Remove handler.mod and sh.mod.
(handler_mod_SOURCES): Removed.
(handler_mod_CFLAGS): Likewise.
(handler_mod_LDFLAGS): Likewise.
(normal_mod_SOURCES): Remove normal/handler.c.
Add script/main.c, script/script.c, script/execute.c,
script/function.c, script/lexer.c, grub_script.tab.c
and grub_script.yy.c.
* conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
* conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
* conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
(grub_setup_SOURCES): Remove kern/parser.c.
* conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
* conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
* conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
* conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
(grub_setup_SOURCES): Remove kern/parser.c.
* conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
* gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
* include/grub/command.h (grub_command_iterate): Removed.
(FOR_COMMANDS): New macro.
* include/grub/dl.h (grub_dl): New member next.
(grub_dl_iterate): Removed.
(grub_dl_head): New variable declaration.
(FOR_DL_MODULES): New macro.
* include/grub/fs.h: Include list.h.
(grub_fs): Make next first element.
(grub_fs_list): New variable declaration.
(grub_fs_register): Make inline.
(grub_fs_unregister): Likewise.
(grub_fs_iterate): Removed.
(FOR_FILESYSTEMS): New macro.
* include/grub/handler.h: Removed.
* include/grub/list.h (grub_list_hook_t): Removed.
(grub_list_test_t): Likewise.
(grub_list_pop): Likewise.
(grub_list_iterate): Likewise.
(grub_list_insert): Likewise.
(FOR_LIST_ELEMENTS): New macro.
* include/grub/parser.h (grub_parser_class): Removed.
(grub_parser_register): Likewise.
(grub_parser_unregister): Likewise.
(grub_parser_get_current): Likewise.
(grub_parser_set_current): Likewise.
(grub_register_rescue_parser): Likewise.
(grub_rescue_parse_line): New function.
* include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
* include/grub/script_sh.h (grub_script_function_list): New variable
declaration.
(FOR_SCRIPT_FUNCTIONS): New macro.
(grub_script_function_iterate): Removed.
(grub_normal_parse_line): New prototype.
* include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
(FOR_DISABLED_TERM_INPUTS): Likewise.
(FOR_ACTIVE_TERM_OUTPUTS): Likewise.
(FOR_DISABLED_TERM_OUTPUTS): Likewise.
* include/grub/video.h (grub_video_adapter): Move 'next' to first
element.
(grub_video_register): Inline.
(grub_video_unregister): Likewise.
(grub_video_adapter_list): New variable declaration.
(grub_video_iterate): Removed.
(FOR_VIDEO_ADAPTERS): New macro.
* kern/dl.c (grub_dl_list): Removed. All users updated.
(grub_dl_iterate): Removed.
* kern/fs.c (grub_fs_list): Make global.
(grub_fs_register): Removed.
(grub_fs_unregister): Likewise.
(grub_fs_iterate): Likewise.
* kern/handler.c: Removed.
* kern/list.c (grub_list_pop): Removed.
(grub_list_iterate): Likewise.
(grub_list_insert): Likewise.
(grub_named_list_find): Use FOR_LIST_ELEMENTS.
(grub_prio_list_insert): Don't use grub_list_insert.
* kern/main.c (grub_register_rescue_parser): Don't call
grub_register_rescue_parser.
* kern/parser.c (grub_parser_class): Removed.
(grub_parser_execute): Use grub_rescue_parse_line.
* kern/rescue_parser.c (grub_rescue_parse_line): Make global.
(grub_rescue_parser): Removed.
(grub_register_rescue_parser): Likewise.
* kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
* normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
(grub_auth_check_authentication): Likewise.
* normal/completion.c (iterate_command): Removed.
(grub_normal_do_completion): Use FOR_COMMANDS.
* normal/handler.c: Removed.
* normal/main.c (read_config_file): Remove parser changing.
(grub_normal_execute): Don't call read_handler_list.
(grub_normal_read_line_real): Statically allocate prompt.
(grub_cmdline_run): Use grub_normal_parse_line.
(GRUB_MOD_FINI): Don't call free_handler_list.
* normal/menu_entry.c (run): Likewise.
* script/function.c (grub_script_function_list): Make global.
(grub_script_function_iterate): Removed.
* script/main.c (grub_normal_parse_line): Make global.
(grub_sh_parser): Removed.
(GRUB_MOD_INIT): Likewise.
(GRUB_MOD_FINI): Likewise.
* tests/lib/functional_test.c (grub_functional_test): Use
FOR_LIST_ELEMENTS.
* tests/lib/test.c (free_failures): Don't use grub_list_pop.
(grub_test_run): Use FOR_LIST_ELEMENTS.
* tests/lib/unit_test.c (main): Likewise.
* util/deviceiter.c (grub_util_iterate_devices): Don't use
grub_list_pop.
* util/grub-fstest.c (grub_term_input_class): Removed.
(grub_term_output_class): Likewise.
* util/grub-probe.c: Likewise.
* util/i386/pc/grub-setup.c: Likewise.
* util/sparc64/ieee1275/grub-setup.c: Likewise.
* util/grub-script-check.c (main): Don't call grub_init_all and
grub_fini_all.
* video/video.c (grub_video_adapter_list): Make global.
(grub_video_register): Removed.
(grub_video_unregister): Likewise.
(grub_video_iterate): Likewise.

25 files changed:
1  2 
ChangeLog
conf/any-emu.rmk
conf/common.rmk
conf/i386-coreboot.rmk
conf/i386-ieee1275.rmk
conf/i386-pc.rmk
conf/i386-qemu.rmk
conf/mips-qemu-mips.rmk
conf/mips-yeeloong.rmk
conf/powerpc-ieee1275.rmk
conf/sparc64-ieee1275.rmk
conf/x86-efi.rmk
include/grub/dl.h
include/grub/video.h
kern/dl.c
kern/main.c
kern/parser.c
normal/auth.c
normal/completion.c
normal/main.c
util/deviceiter.c
util/grub-probe.c
util/grub-script-check.c
util/i386/pc/grub-setup.c
util/sparc64/ieee1275/grub-setup.c

diff --cc ChangeLog
index 0575e7c5d0a6d6aa9922bdcb00ba4b75d69ac715,820b595edbdda4a3a750f7d4c5146b08bda3f9e5..c4a6246ee320ec9d5317c263ea7a1ddf2d535497
+++ b/ChangeLog
++2010-06-10  Vladimir Serbinenko  <phcoder@gmail.com>
++
++      Use FOR_* macros instead of *_iterate whenever possible.
++
++      * commands/handler.c: Removed.
++      * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
++      * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
++      * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
++      * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
++      (grub_probe_SOURCES): Remove kern/parser.c.
++      (util/grub-script-check.c_DEPENDENCIES): Removed.
++      (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
++      and grub_script_check_init.c.
++      (grub_script_check_init.lst): Removed.
++      (grub_script_check_init.h): Likewise.
++      (grub_script_check_init.c): Likewise.
++      (pkglib_MODULES): Remove handler.mod and sh.mod.
++      (handler_mod_SOURCES): Removed.
++      (handler_mod_CFLAGS): Likewise.
++      (handler_mod_LDFLAGS): Likewise.
++      (normal_mod_SOURCES): Remove normal/handler.c.
++      Add script/main.c, script/script.c, script/execute.c,
++      script/function.c, script/lexer.c, grub_script.tab.c
++      and grub_script.yy.c.
++      * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
++      * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
++      * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
++      (grub_setup_SOURCES): Remove kern/parser.c.
++      * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
++      * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
++      * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
++      * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
++      * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
++      (grub_setup_SOURCES): Remove kern/parser.c.
++      * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
++      * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
++      * include/grub/command.h (grub_command_iterate): Removed.
++      (FOR_COMMANDS): New macro.
++      * include/grub/dl.h (grub_dl): New member next.
++      (grub_dl_iterate): Removed.
++      (grub_dl_head): New variable declaration.
++      (FOR_DL_MODULES): New macro.
++      * include/grub/fs.h: Include list.h.
++      (grub_fs): Make next first element.
++      (grub_fs_list): New variable declaration.
++      (grub_fs_register): Make inline.
++      (grub_fs_unregister): Likewise.
++      (grub_fs_iterate): Removed.
++      (FOR_FILESYSTEMS): New macro.
++      * include/grub/handler.h: Removed.
++      * include/grub/list.h (grub_list_hook_t): Removed.
++      (grub_list_test_t): Likewise.
++      (grub_list_pop): Likewise.
++      (grub_list_iterate): Likewise.
++      (grub_list_insert): Likewise.
++      (FOR_LIST_ELEMENTS): New macro.
++      * include/grub/parser.h (grub_parser_class): Removed.
++      (grub_parser_register): Likewise.
++      (grub_parser_unregister): Likewise.
++      (grub_parser_get_current): Likewise.
++      (grub_parser_set_current): Likewise.
++      (grub_register_rescue_parser): Likewise.
++      (grub_rescue_parse_line): New function.
++      * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
++      * include/grub/script_sh.h (grub_script_function_list): New variable
++      declaration.
++      (FOR_SCRIPT_FUNCTIONS): New macro.
++      (grub_script_function_iterate): Removed.
++      (grub_normal_parse_line): New prototype.
++      * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
++      (FOR_DISABLED_TERM_INPUTS): Likewise.
++      (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
++      (FOR_DISABLED_TERM_OUTPUTS): Likewise.
++      * include/grub/video.h (grub_video_adapter): Move 'next' to first
++      element.
++      (grub_video_register): Inline.
++      (grub_video_unregister): Likewise.
++      (grub_video_adapter_list): New variable declaration.
++      (grub_video_iterate): Removed.
++      (FOR_VIDEO_ADAPTERS): New macro.
++      * kern/dl.c (grub_dl_list): Removed. All users updated.
++      (grub_dl_iterate): Removed.
++      * kern/fs.c (grub_fs_list): Make global.
++      (grub_fs_register): Removed.
++      (grub_fs_unregister): Likewise.
++      (grub_fs_iterate): Likewise.
++      * kern/handler.c: Removed.
++      * kern/list.c (grub_list_pop): Removed.
++      (grub_list_iterate): Likewise.
++      (grub_list_insert): Likewise.
++      (grub_named_list_find): Use FOR_LIST_ELEMENTS.
++      (grub_prio_list_insert): Don't use grub_list_insert.
++      * kern/main.c (grub_register_rescue_parser): Don't call
++      grub_register_rescue_parser.
++      * kern/parser.c (grub_parser_class): Removed.
++      (grub_parser_execute): Use grub_rescue_parse_line.
++      * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
++      (grub_rescue_parser): Removed.
++      (grub_register_rescue_parser): Likewise.
++      * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
++      * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
++      (grub_auth_check_authentication): Likewise.
++      * normal/completion.c (iterate_command): Removed.
++      (grub_normal_do_completion): Use FOR_COMMANDS.
++      * normal/handler.c: Removed.
++      * normal/main.c (read_config_file): Remove parser changing.
++      (grub_normal_execute): Don't call read_handler_list.
++      (grub_normal_read_line_real): Statically allocate prompt.
++      (grub_cmdline_run): Use grub_normal_parse_line.
++      (GRUB_MOD_FINI): Don't call free_handler_list.
++      * normal/menu_entry.c (run): Likewise.
++      * script/function.c (grub_script_function_list): Make global.
++      (grub_script_function_iterate): Removed.
++      * script/main.c (grub_normal_parse_line): Make global.
++      (grub_sh_parser): Removed.
++      (GRUB_MOD_INIT): Likewise.
++      (GRUB_MOD_FINI): Likewise.
++      * tests/lib/functional_test.c (grub_functional_test): Use
++      FOR_LIST_ELEMENTS.
++      * tests/lib/test.c (free_failures): Don't use grub_list_pop.
++      (grub_test_run): Use FOR_LIST_ELEMENTS.
++      * tests/lib/unit_test.c (main): Likewise.
++      * util/deviceiter.c (grub_util_iterate_devices): Don't use
++      grub_list_pop.
++      * util/grub-fstest.c (grub_term_input_class): Removed.
++      (grub_term_output_class): Likewise.
++      * util/grub-probe.c: Likewise.
++      * util/i386/pc/grub-setup.c: Likewise.
++      * util/sparc64/ieee1275/grub-setup.c: Likewise.
++      * util/grub-script-check.c (main): Don't call grub_init_all and
++      grub_fini_all.
++      * video/video.c (grub_video_adapter_list): Make global.
++      (grub_video_register): Removed.
++      (grub_video_unregister): Likewise.
++      (grub_video_iterate): Likewise.
++
 +2010-06-09  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
 +      reported by Henrique Ferreiro.
 +
 +2010-06-09  Robert Millan  <rmh@gnu.org>
 +
 +      * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
 +      ones, when both are available.
 +
 +2010-06-08  Grégoire Sutre  <gregoire.sutre@gmail.com>
 +
 +      Make --version uniform and avoid hard-coded program name.
 +
 +      * util/grub-mkimage.c (main): Use `program_name' instead of
 +      hard-coded string.
 +      * util/i386/pc/grub-setup.c (main): Likewise.
 +      * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
 +      * util/grub-install.in: Save the basename of $0 in $self, and use the
 +      latter in informational messages.  Use the same format for --version
 +      as the binary programs.
 +      * util/grub-mkconfig.in: Likewise.
 +      * util/grub-mkrescue.in: Likewise.
 +      * util/grub-reboot.in: Likewise.
 +      * util/grub-set-default.in: Likewise.
 +      * util/i386/efi/grub-install.in: Likewise.
 +      * util/ieee1275/grub-install.in: Likewise.
 +      * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
 +
 +2010-06-08  Grégoire Sutre  <gregoire.sutre@gmail.com>
 +
 +      * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
 +      embedding area.  Use <= instead of == when checking for non-emptiness.
 +
 +2010-06-08  Grégoire Sutre  <gregoire.sutre@gmail.com>
 +
 +      * configure.ac: Add `.' to the directories searched for unifont.
 +
 +2010-06-08  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
 +      grub_script.yy.h.
 +
 +2010-06-08  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (History): Expand to cover GRUB 2.
 +      (Serial terminal): Refer to `terminal_input' and `terminal_output'
 +      commands, not `terminal'.
 +      (serial): Likewise.
 +      (terminal_input): New section.
 +      (terminal_output): New section.
 +      (uppermem): New section (stub).
 +      (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
 +
 +2010-06-08  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Security): Menu entries are unrestricted by
 +      default, not restricted to superusers as I had previously thought.
 +      Reword to account for this.
 +
 +2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * kern/emu/misc.c (device_mapper_null_log): New function.
 +      (grub_device_mapper_supported): New function.
 +      * include/grub/emu/misc.h (grub_device_mapper_supported): Add
 +      prototype.
 +      * kern/emu/hostdisk.c (find_partition_start): Check whether
 +      device-mapper is supported before trying to use it.
 +      * util/deviceiter.c (grub_util_iterate_devices): Likewise.
 +
 +2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
 +      (File name syntax): Likewise.
 +      (help): --all is no longer supported in GRUB 2.  Be more precise
 +      about pattern matching.
 +
 +2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * normal/completion.c (grub_normal_do_completion): When completing
 +      arguments to "set" and the current word contains an equals sign,
 +      skip to after the equals sign before starting completion.
 +
 +2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
 +
 +2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Network): New section.
 +      (Device syntax): The network device is called `(pxe)' in GRUB 2, not
 +      `(nd)' as in GRUB Legacy.
 +      (pxe_unload): New section.
 +
 +2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Troubleshooting): `echo' is not usually available
 +      in the rescue shell, so recommend using `set' instead.  Thanks,
 +      Jordan Uggla.
 +
 +2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
 +      (password): New section.
 +      (password_pbkdf2): New section.
 +      (search): New section.
 +      (Security): New section.
 +      (Troubleshooting): New section, currently very incomplete.
 +      (Invoking grub-mkpasswd-pbkdf2): New section.
 +      (Internals): New section, currently very incomplete.
 +
 +2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub.d/00_header.in: Add some more quoting (of
 +      "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
 +      work again.
 +      Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
 +
 +2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
 +      to `count', fixing variable shadowing that broke the -c option.
 +
 +2010-06-05  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
 +      in case they contain spaces.
 +
 +2010-06-04  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
 +      "part_" to partmap module names, in line with grub-install.
 +      Reported by: Jindřich Makovička (Debian bug #584426).
 +
 +2010-06-04  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub-mkimage.c: Make target-related error messages slightly
 +      more helpful; -O talks about "format".  Explicitly point to the use
 +      of -O if no target is specified.
 +      Reported by: Didier Raboud (Debian bug #584415).
 +
 +2010-06-03  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * INSTALL: Document several build requirements for optional features
 +      (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
 +
 +2010-06-02  Grégoire Sutre  <gregoire.sutre@gmail.com>
 +
 +      * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
 +      [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
 +      (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
 +
 +2010-06-02  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
 +      Thanks to Jordan Uggla for spotting this.
 +
 +2010-06-02  Aleš Nesrsta <starous@volny.cz>
 +
 +      Finally make USB usable.
 +
 +      * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
 +      (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
 +      (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
 +      (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
 +      (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
 +      (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
 +      (GRUB_OHCI_FSMPS): Likewise.
 +      (GRUB_OHCI_PERIODIC_START): Likewise.
 +      (GRUB_OHCI_FRAME_INTERVAL): Likewise.
 +      (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
 +      (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
 +      (GRUB_OHCI_SET_PORT_RESET): Likewise.
 +      (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
 +      * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
 +      (grub_ohci_transaction): Likewise.
 +      (grub_ohci_transfer): Improve condition detection algorithms.
 +      Handle toggle property. Program the transactions correctly.
 +      Improve error handling. Various important fixups.
 +      (grub_ohci_portstatus): Put register writes in right order.
 +      * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
 +      (grub_uhci_transfer): Don't show "failed" message on success.
 +      * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
 +      array.
 +      (grub_usb_device_initialize): Read first 8 bytes of descriptor to
 +      determine its size.
 +      * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
 +      before initialization is completed. Use IN direction for empty
 +      transfers. Use last_trans and compute toggle.
 +      * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
 +      (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
 +      (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
 +      (GRUB_USB_FEATURE_TEST_MODE): Likewise.
 +      * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
 +      (grub_usb_device): Increase toggle to 256.
 +      (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
 +      GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
 +      GRUB_USBMS_SUBCLASS_SFF8070.
 +      * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
 +      (grub_scsi_inquiry): New member page and alloc_length.
 +      (grub_scsi_request_sense): New structure.
 +      (grub_scsi_request_sense_data): Likewise.
 +      (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
 +      control.
 +      * disk/scsi.c (grub_scsi_request_sense): New function.
 +      (grub_scsi_test_unit_ready): Likewise.
 +      (grub_scsi_inquiry): Fill new fields.
 +      (grub_scsi_read_capacity): Likewise.
 +      (grub_scsi_read10): Add request sense at the end.
 +      (grub_scsi_read12): Likewise.
 +      (grub_scsi_write10): Likewise.
 +      (grub_scsi_write12): Likewise.
 +      (grub_scsi_open): Add Test Unit Ready.
 +      * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
 +      Support additional subclasses. Con't clear halt yet. Activate the
 +      proper config. Calculate LUNs correctly.
 +      (grub_usbms_transfer): Various important fixups.
 +
 +2010-06-02  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
 +      * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
 +      (grub_ohci_fini_hw): New function.
 +      (grub_ohci_restore_hw): Likewise.
 +      (GRUB_MOD_INIT(ohci)): Register preboot hook.
 +      (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
 +      * term/usb_keyboard.c: Remove include of grub/machine/console.h.
 +
 +2010-06-02  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Dedicated DMA allocations.
 +
 +      * bus/pci.c (grub_memalign_dma32): New function
 +      (grub_dma_free): Likewise.
 +      (grub_dma_get_virt): Likewise.
 +      (grub_dma_get_phys): Likewise.
 +      * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
 +      (grub_ohci_pci_iter): Use dma32_alloc.
 +      (grub_ohci_transfer): Likewise.
 +      * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
 +      (grub_usb_bulk_readwrite): Likewise.
 +      * include/grub/pci.h: Add declarations.
 +
 +2010-06-02  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      CS5536 support.
 +
 +      * bus/cs5536.c: New file.
 +      * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
 +      * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
 +      (cs5536_mod_SOURCES): New variable.
 +      (cs5536_mod_CFLAGS): Likewise.
 +      (cs5536_mod_LDFLAGS): Likewise.
 +      * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
 +      machine/pci.h.
 +      (kernel_img_SOURCES): Add bus/cs5536.c.
 +      (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
 +      usb_keyboard.mod.
 +      (usb_mod_SOURCES): New variable.
 +      (usb_mod_CFLAGS): New variable.
 +      (usb_mod_LDFLAGS): New variable.
 +      (usbtest_mod_SOURCES): New variable.
 +      (usbtest_mod_CFLAGS): New variable.
 +      (usbtest_mod_LDFLAGS): New variable.
 +      (ohci_mod_SOURCES): New variable.
 +      (ohci_mod_CFLAGS): New variable.
 +      (ohci_mod_LDFLAGS): New variable.
 +      (usbms_mod_SOURCES): New variable.
 +      (usbms_mod_CFLAGS): New variable.
 +      (usbms_mod_LDFLAGS): New variable.
 +      (usb_keyboard_mod_SOURCES): New variable.
 +      (usb_keyboard_mod_CFLAGS): New variable.
 +      (usb_keyboard_mod_LDFLAGS): New variable.
 +      * include/grub/smbus.h: New file.
 +      * include/grub/cs5536.h: New file.
 +
 +2010-06-02  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub.d/00_header.in: Add safety check to make sure that
 +      ${locale_dir} exists before trying to probe it.
 +
 +2010-06-02  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
 +      per the GNU Coding Standards; this is now too obscure to be worth
 +      documenting.
 +      (QNX): Likewise.
 +      (chainloader): Remove cross-reference to `SCO UnixWare'.
 +
 +2010-06-02  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Chain-loading): New section.
 +      (DOS/Windows): New section, borrowed from GRUB Legacy with details
 +      adjusted for GRUB 2.
 +      (SCO UnixWare): Likewise.
 +      (QNX): Likewise.
 +      (chainloader): Add reference to `Block list syntax'.
 +      (drivemap): New section.
 +      (parttool): New section.
 +
 +2010-06-02  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
 +      the grub shell'.
 +      (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
 +      (Installing GRUB using grub-install): Remove reference to the grub
 +      shell; mention `grub-mkimage' and `grub-setup' instead.
 +      (Invoking grub-install): Likewise.
 +      (Interface): Add reference to `Menu entry editor'.
 +      (serial): Remove `--device' option.
 +
 +2010-06-02  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Configuration): New section, documenting
 +      configuration file generation using grub-mkconfig.  I've left a slot
 +      for documenting the full shell scripting format but have not yet
 +      started on writing that up.
 +      (Invoking grub-mkconfig): New section.
 +
 +2010-06-02  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (direntry): Remove grub-terminfo reference.
 +      (GNU GRUB manual): Likewise.
 +      (General commands): Update description of `terminfo' for GRUB 2.
 +
 +2010-06-02  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
 +      (GRUB_MOD_INIT): Fix capitalisation.
 +      * docs/grub.texi (Command-line and menu entry commands): Document
 +      gettext and gptsync commands.
 +
 +2010-06-02  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
 +      kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
 +
 +2010-06-01  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      Add btrfs probing support, currently only in the single-device case.
 +
 +      * kern/emu/getroot.c (find_root_device_from_mountinfo): New
 +      function.
 +      (grub_guess_root_device): Call find_root_device_from_mountinfo
 +      before looking in /dev.
 +
 +2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
 +      GRUB_DISK_SIZE_UNKNOWN.
 +      * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
 +
 +2010-05-31  Jiro SEKIBA <jir@unicus.jp>
 +
 +      * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
 +      * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
 +      corrupted or not synced properly.
 +
 +2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
 +      Reported by: Seth Goldberg.
 +
 +2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
 +      addition of dest.
 +      Reported by: Seth Goldberg.
 +
 +2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
 +      Reported by: Seth Goldberg.
 +
 +2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
 +      64-bit address as signed on MIPS.
 +
 +2010-05-28  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
 +      to the empty string.
 +
 +2010-05-28  BVK Chaitanya  <bvk.groups@gmail.com>
 +
 +      Fix grub-emu issues on NetBSD, with gcc 4.1.3.
 +
 +      * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
 +      * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
 +      * kern/misc.c (__enable_execute_stack): Disable on
 +      GRUB_MACHINE_EMU.
 +
 +2010-05-28  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      Make grub-probe work with symbolic links under /dev/mapper as well
 +      as with real block devices.  The Linux world seems to be (at best)
 +      in transition here, and GRUB shouldn't get caught in the middle.
 +
 +      * kern/emu/getroot.c (find_root_device): Follow symbolic links under
 +      /dev/mapper.
 +
 +2010-05-27  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub-script-check.c (main): Ensure defined behaviour on empty
 +      input files (in which case exit zero).
 +
 +2010-05-27  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * kern/emu/misc.c (canonicalize_file_name): realpath can still
 +      return NULL for various reasons even if it has a maximum-length
 +      buffer: for example, there might be a symlink loop, or the path
 +      might exceed PATH_MAX.  If this happens, return NULL.
 +
 +2010-05-27  Robert Millan  <rmh@gnu.org>
 +
 +      * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
 +      partmap module to handle cross-partmap setups.
 +      Reported by Orestes Mas.  Gràcies!
 +
 +2010-05-27  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub-mkrescue.in: Initialise override_dir rather than
 +      assuming that it's unset or empty in the environment.
 +
 +2010-05-26  Grégoire Sutre  <gregoire.sutre@gmail.com>
 +
 +      * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
 +      variable index into p_index to suppress a warning with -Wshadow.
 +
 +2010-05-25  BVK Chaitanya  <bvk.groups@gmail.com>
 +
 +      * INSTALL: Added flex >= 2.5.35 requirement.
 +
 +2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
 +
 +2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      cmostest support.
 +
 +      * commands/i386/cmostest.c: New file.
 +      * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
 +      (cmostest_mod_SOURCES): New variable.
 +      (cmostest_mod_CFLAGS): Likewise.
 +      (cmostest_mod_LDFLAGS): Likewise.
 +      * conf/i386-pc.rmk: Likewise.
 +      * docs/grub.texi (Vendor power-on keys): New section.
 +      * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
 +      GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
 +      and GRUB_BUTTON_CMOS_ADDRESS.
 +      * util/grub.d/00_header.in: Handle powering-on by separate button.
 +
 +2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
 +      Removed drawing_scrollbar argument. All users updated
 +      Fixes #29792.
 +      Reported by Jo Shields
 +
 +2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
 +      buffer since gfxterm handles double repaint.
 +
 +2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
 +      * term/gfxterm.c (real_scroll): Likewise.
 +
 +2010-05-21  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
 +      before calling BIOS.
 +
 +2010-05-21  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * include/grub/i18n.h: Always enable grub_gettext.
 +
 +2010-05-21  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
 +      partition naming style.
 +
 +2010-05-21  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub-mkconfig.in: Fix handling of -o so that it works when
 +      not the first option.
 +
 +2010-05-20  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
 +
 +2010-05-20  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/misc.c: Move inclusion of <limits.h> to ...
 +      * kern/emu/misc.c: ... here.  Needed for canonicalize_file_name.
 +
 +2010-05-20  Grégoire Sutre  <gregoire.sutre@gmail.com>
 +
 +      * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
 +      Fix merge error in NetBSD code.
 +      (find_partition_start) [__NetBSD__]: Likewise.
 +
 +2010-05-19  BVK Chaitanya  <bvk.groups@gmail.com>
 +
 +      Fix grub-mkrescue usage unit testing.
 +
 +      * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
 +
 +2010-05-18  Christian Franke  <franke@computer.org>
 +
 +      * util/grub.d/10_windows.in: Use path names instead of
 +      drive letters to prevent warning from Cygwin 1.7.
 +      Add drivemap command to menuentry if needed.
 +
 +2010-05-18  Justus Winter  <4winter@informatik.uni-hamburg.de>
 +
 +      * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
 +      gnumach and gnumach.gz.
 +
 +2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * include/grub/i18n.h (gettext): Inline instead of using #define.
 +      (grub_gettext): Likewise.
 +      (_): Likewise.
 +
 +2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
 +      -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
 +      * util/grub-mkimage.c (image_targets): Add i386-multiboot.
 +      (main): Add a slash after pkglibdirroot.
 +
 +2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-install.in: Add missing "in" keyword.
 +
 +2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-mkrescue.in: Remove -O i386-pc duplication.
 +      Reported by: Seth Goldberg.
 +
 +2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
 +
 +2010-05-18  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * configure.ac: Check for Linux device-mapper support.
 +
 +      * util/hostdisk.c (device_is_mapped): New function.
 +      (find_partition_start): New function, partly broken out from
 +      linux_find_partition and grub_util_biosdisk_get_grub_dev but with
 +      device-mapper support added.
 +      (linux_find_partition): Use find_partition_start.
 +      (convert_system_partition_to_system_disk): Add `st' argument.
 +      Support Linux /dev/mapper/* devices if device-mapper support is
 +      available; only DM-RAID devices are understood at present.
 +      (find_system_device): Add `st' argument.  Pass it to
 +      convert_system_partition_to_system_disk.
 +      (grub_util_biosdisk_get_grub_dev): Pass stat result to
 +      find_system_device and convert_system_partition_to_system_disk.  Use
 +      find_partition_start.
 +
 +      * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
 +      kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
 +      * util/deviceiter.c [__linux__]: Define MINOR.
 +      (grub_util_iterate_devices): Add support for DM-RAID disk devices.
 +      * util/mkdevicemap.c (grub_putchar): New function.
 +      (grub_getkey): New function.
 +      (grub_refresh): New function.
 +      (main): Set debug=all if -v -v is used.
 +
 +2010-05-18  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      Fix build with non-GNU libcs.
 +
 +      * util/misc.c (canonicalize_file_name): Move to ...
 +      * kern/emu/misc.c (canonicalize_file_name): ... here.  Needed by
 +      grub_make_system_path_relative_to_its_root.
 +
 +2010-05-18  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub-mkrescue.in: Sync up with grub-install in terms of how
 +      we handle finding grub-mkimage.  Default to finding grub-mkimage in
 +      ${bindir} with program_transform_name applied, and provide a
 +      --grub-mkimage option to override this.
 +
 +2010-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Remove grub-mkisofs.
 +
 +      * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
 +      (grub_mkisofs_SOURCES): Removed.
 +      (grub_mkisofs_CFLAGS): Removed.
 +      * util/mkisofs/defaults.h: Removed.
 +      * util/mkisofs/eltorito.c: Likewise.
 +      * util/mkisofs/exclude.h: Likewise.
 +      * util/mkisofs/hash.c: Likewise.
 +      * util/mkisofs/include/: Likewise.
 +      * util/mkisofs/include/fctldefs.h: Likewise.
 +      * util/mkisofs/include/mconfig.h: Likewise.
 +      * util/mkisofs/include/prototyp.h: Likewise.
 +      * util/mkisofs/include/statdefs.h: Likewise.
 +      * util/mkisofs/iso9660.h: Likewise.
 +      * util/mkisofs/joliet.c: Likewise.
 +      * util/mkisofs/match.c: Likewise.
 +      * util/mkisofs/match.h: Likewise.
 +      * util/mkisofs/mkisofs.c: Likewise.
 +      * util/mkisofs/mkisofs.h: Likewise.
 +      * util/mkisofs/msdos_partition.h: Likewise.
 +      * util/mkisofs/multi.c: Likewise.
 +      * util/mkisofs/name.c: Likewise.
 +      * util/mkisofs/rock.c: Likewise.
 +      * util/mkisofs/tree.c: Likewise.
 +      * util/mkisofs/write.c: Likewise.
 +
 +2010-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Unify grub-mkimage accross platforms.
 +
 +      * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
 +      * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
 +      (grub_mkelfimage_SOURCES): Removed.
 +      (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
 +      (util/grub-mkimage.c_DEPENDENCIES): .. this.
 +      (bin_UTILITIES): Add grub-mkimage.
 +      (grub_mkimage_SOURCES): New variable.
 +      (kernel_img_HEADERS): Remove machine/kernel.h.
 +      * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
 +      (pkglib_PROGRAMS): Add kernel.img.
 +      (kernel_img_HEADERS): Add machine/kernel.h.
 +      (kernel_img_FORMAT): Removed.
 +      (bin_UTILITIES): Remove grub-mkimage.
 +      (grub_mkimage_SOURCES): Removed.
 +      (grub_mkimage_CFLAGS): Likewise.
 +      (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
 +      * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
 +      (pkglib_PROGRAMS): Add kernel.img.
 +      (bin_UTILITIES): Remove grub-mkimage.
 +      (grub_mkimage_SOURCES): Removed.
 +      (grub_mkimage_CFLAGS): Likewise.
 +      (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
 +      * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
 +      (pkglib_PROGRAMS): Add kernel.img.
 +      * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
 +      (pkglib_PROGRAMS): Add kernel.img.
 +      * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
 +      (grub_mkimage_SOURCES): Removed.
 +      (grub_mkimage_CFLAGS): Likewise.
 +      (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
 +      * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
 +      (pkglib_PROGRAMS): Add kernel.img.
 +      (bin_UTILITIES): Remove grub-mkimage.
 +      (grub_mkimage_SOURCES): Removed.
 +      (grub_mkimage_CFLAGS): Likewise.
 +      (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
 +      * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
 +      (grub_mkimage_SOURCES): Removed.
 +      (grub_mkimage_CFLAGS): Likewise.
 +      (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
 +      * configure.ac (machine_CFLAGS): Add "-DMACHINE".
 +      * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
 +      (grub_pe32_optional_header): ... this.
 +      (grub_pe64_optional_header): ... and this. All users updated.
 +      (GRUB_PE32_PE32_MAGIC): Split into ..
 +      (GRUB_PE32_PE32_MAGIC): .. this.
 +      (GRUB_PE32_PE64_MAGIC): .. and this.
 +      (GRUB_PE32_SIGNATURE_SIZE): New definition.
 +      * include/grub/elf.h (PT_GNU_STACK): New definition.
 +      * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
 +      * include/grub/i386/efi/kernel.h: Likewise.
 +      * include/grub/i386/kernel.h: Likewise.
 +      * include/grub/i386/pc/kernel.h: Likewise.
 +      * include/grub/i386/qemu/boot.h: Likewise.
 +      * include/grub/mips/kernel.h: Likewise.
 +      * include/grub/mips/qemu-mips/kernel.h: Likewise.
 +      * include/grub/powerpc/ieee1275/kernel.h: Likewise.
 +      * include/grub/powerpc/kernel.h: Likewise.
 +      * include/grub/sparc64/ieee1275/boot.h: Likewise.
 +      * include/grub/sparc64/ieee1275/kernel.h: Likewise.
 +      * include/grub/sparc64/kernel.h: Likewise.
 +      * include/grub/x86_64/efi/kernel.h: Likewise.
 +      * include/grub/x86_64/kernel.h: Likewise.
 +      * include/grub/offsets.h: New file.
 +      * include/grub/kernel.h (grub_module_info): Split into ...
 +      (grub_module_info32): ... this.
 +      (grub_module_info64): ... and this.
 +      * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
 +      * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
 +      (grub_boot_blocklist): Moved from here ...
 +      * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
 +      * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
 +      * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
 +      * include/grub/types.h (grub_target_to_host16): Removed.
 +      (grub_target_to_host32): Likewise.
 +      (grub_target_to_host64): Likewise.
 +      (grub_host_to_target16): Likewise.
 +      (grub_host_to_target32): Likewise.
 +      (grub_host_to_target64): Likewise.
 +      (grub_host_to_target_addr): Likewise.
 +
 +      Support grub-mkrescue for efi, coreboot and qemu.
 +
 +      * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
 +      * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
 +      * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
 +      * util/grub-mkrawimage.c: Moved from here ...
 +      * util/grub-mkimage.c: ... here. All users updated.
 +      (ALIGN_ADDR): Use image_target.
 +      (TARGET_NO_FIELD): New const.
 +      (image_target_desc): New type.
 +      (image_targets): New array.
 +      (grub_target_to_host64): Use image_target.
 +      (grub_target_to_host32): Likewise.
 +      (grub_target_to_host16): Likewise.
 +      (grub_host_to_target64): Likewise.
 +      (grub_host_to_target32): Likewise.
 +      (grub_host_to_target16): Likewise.
 +      (grub_host_to_target_addr): Likewise.
 +      (generate_image): Handle multiimage.
 +      (main): Require -O parameter. All users updated.
 +      * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
 +      util/efi/grub-mkimage.c
 +      * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
 +      New option --rom-directory.
 +      Use xorriso.
 +      * util/i386/efi/grub-mkimage.c: Removed.
 +      * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
 +      (grub_target_to_host32): Likewise.
 +      (grub_target_to_host64): Likewise.
 +      (grub_host_to_target16): Likewise.
 +      (grub_host_to_target32): Likewise.
 +      (grub_host_to_target64): Likewise.
 +      * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
 +      (grub_target_to_host32): Likewise.
 +      (grub_target_to_host64): Likewise.
 +      (grub_host_to_target16): Likewise.
 +      (grub_host_to_target32): Likewise.
 +      (grub_host_to_target64): Likewise.
 +
 +2010-05-17  BVK Chaitanya  <bvk.groups@gmail.com>
 +
 +      Source tree is reorganized for emu build.
 +
 +      * include/grub/util/console.h: Move from here...
 +      * include/grub/emu/console.h: ...to here.
 +      * include/grub/util/getroot.h: Move from here...
 +      * include/grub/emu/getroot.h: ...to here.
 +      * include/grub/util/hostdisk.h: Move from here...
 +      * include/grub/emu/hostdisk.h: ...to here.
 +      * util/console.c: Move from here...
 +      * kern/emu/console.c: ...to here.
 +      * util/getroot.c: Move from here...
 +      * kern/emu/getroot.c: ...to here.
 +      * util/grub-emu.c: Move from here...
 +      * kern/emu/main.c: ...to here.
 +      * util/hostdisk.c: Move from here...
 +      * kern/emu/hostdisk.c: ...to here.
 +      * util/hostfs.c: Move from here...
 +      * kern/emu/hostfs.c: ...to here.
 +      * util/mm.c: Move from here...
 +      * kern/emu/mm.c: ...to here.
 +      * util/pci.c: Move from here...
 +      * bus/emu/pci.c: ...to here.
 +      * util/sdl.c: Move from here...
 +      * video/emu/sdl.c: ...to here.
 +      * util/time.c: Move from here...
 +      * kern/emu/time.c: ...to here.
 +      * util/usb.c: Move from here...
 +      * bus/usb/emu/usb.c: ...to  here.
 +
 +      * include/grub/emu/misc.h: New header for grub-emu functions.
 +      * kern/emu/misc.c: grub-emu functions separated from util/misc.c
 +
 +      * conf/any-emu.rmk: Rule updates for above renames.
 +      * conf/common.rmk: Likewise.
 +      * conf/i386-pc.rmk: Likewise.
 +      * conf/i386-qemu.rmk: Likewise.
 +      * conf/mips.rmk: Likewise.
 +      * conf/sparc64-ieee1275.rmk: Likewise.
 +      * conf/x86-efi.rmk: Likewise.
 +
 +      * disk/lvm.h: #include updates for above renames.
 +      * util/grub-mkrelpath.c: Likewise.
 +      * util/grub-probe.c: Likewise.
 +      * util/i386/pc/grub-setup.c: Likewise.
 +      * util/sparc64/ieee1275/grub-setup.c: Likewise.
 +      * kern/emu/console.c: Likewise.
 +      * kern/emu/getroot.c: Likewise.
 +      * kern/emu/hostdisk.c: Likewise.
 +      * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
 +
 +      * include/grub/dl.h: Remove grub_dl_{ref,unref}.
 +      * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
 +      * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
 +      * util/misc.c: Remove grub-emu functions.
 +
 +2010-05-13  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Fix gfxmenu crash.
 +      Reported by: Thorsten Grützmacher.
 +
 +      * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
 +      timeout hook.
 +      (circprog_set_property): Register and unregister timeout hook.
 +      * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
 +      (label_destroy): Free template. and unregister hook.
 +      (label_set_state): New function.
 +      (label_set_property): Handle templates and hooks.
 +      * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
 +      timeout hook.
 +      (progress_bar_set_property): Register and unregister timeout hook.
 +      * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
 +      * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
 +      * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
 +      (update_timeout_visit): Removed.
 +      (update_timeouts): New function.
 +      (redraw_timeouts): Likewise.
 +      (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
 +      (grub_gfxmenu_clear_timeout): Likewise.
 +      * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
 +      (grub_gfxmenu_timeout_notify): Likewise.
 +      (grub_gfxmenu_timeout_notifications): New external variable.
 +      (grub_gfxmenu_timeout_register): New function.
 +      (grub_gfxmenu_timeout_unregister): Likewise.
 +
 +2010-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Transform (broken) vga terminal into (working) vga video driver.
 +
 +      * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
 +      video/i386/pc/vga.c.
 +      * include/grub/video.h (grub_video_driver_id):
 +      Add GRUB_VIDEO_DRIVER_VGA.
 +      * term/i386/pc/vga.c: Renamed to ...
 +      * video/i386/pc/vga.c: ...this
 +      (DEBUG_VGA): Removed.
 +      (CHAR_WIDTH): Likewise.
 +      (CHAR_HEIGHT): Likewise.
 +      (TEXT_WIDTH): Likewise.
 +      (TEXT_HEIGHT): Likewise.
 +      (DEFAULT_FG_COLOR): Likewise.
 +      (DEFAULT_BG_COLOR): Likewise.
 +      (colored_char): Likewise.
 +      (xpos): Likewise.
 +      (ypos): Likewise.
 +      (cursor_state): Likewise.
 +      (fg_color): Likewise.
 +      (bg_color): Likewise.
 +      (text_buf): Likewise.
 +      (page): Likewise.
 +      (font): Likewise.
 +      (framebuffer): New variable.
 +      (set_read_map): Disabled.
 +      (setup): New variable.
 +      (is_target): Likewise.
 +      (grub_vga_mod_init): Likewise.
 +      (grub_vga_mod_fini): Likewise.
 +      (check_vga_mem): Likewise.
 +      (write_char): Likewise.
 +      (write_cursor): Likewise.
 +      (scroll_up): Likewise.
 +      (grub_vga_putchar): Likewise.
 +      (grub_vga_getcharwidth): Likewise.
 +      (grub_vga_getwh): Likewise.
 +      (grub_vga_getxy): Likewise.
 +      (grub_vga_gotoxy): Likewise.
 +      (grub_vga_cls): Likewise.
 +      (grub_vga_setcolorstate): Likewise.
 +      (grub_vga_setcursor): Likewise.
 +      (grub_video_vga_init): New function.
 +      (grub_video_vga_setup): Likewise.
 +      (grub_video_vga_fini): Likewise.
 +      (update_target): Likewise.
 +      (grub_video_vga_blit_bitmap): Likewise.
 +      (grub_video_vga_blit_render_target): Likewise.
 +      (grub_video_vga_set_active_render_target): Likewise.
 +      (grub_video_vga_get_active_render_target): Likewise.
 +      (grub_video_vga_swap_buffers): Likewise.
 +      (grub_video_vga_set_palette): Likewise.
 +      (grub_video_vga_get_info_and_fini): Likewise.
 +      (grub_vga_term): Removed.
 +      (grub_video_vga_adapter): New variable.
 +      (GRUB_MOD_INIT): Register a video driver instead of terminal.
 +      (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
 +
 +2010-05-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * video/readers/jpeg.c: Indented.
 +
 +2010-05-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Various jpeg cleanups.
 +
 +      * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
 +      (grub_jpeg_decode_quan_table): Use sizeof.
 +      (grub_jpeg_decode_du): Use ARRAY_SIZE.
 +
 +2010-05-05  Peter Hurley <No e-mail available> (tiny change)
 +
 +      * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
 +      tables. Ignore non-last ac bit.
 +      (grub_jpeg_decode_quan_table): Likewise.
 +
 +2010-05-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
 +      GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
 +      * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
 +      GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
 +      * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
 +      1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
 +
 +2010-05-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
 +      error.
 +
 +2010-05-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
 +
 +2010-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
 +      condition.
 +
 +2010-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
 +      part.
 +
 +2010-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * kern/mm.c (grub_mm_init_region): Check for region size after aligning
 +      pointers.
 +
 +2010-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
 +
 +2010-05-01  Christian Franke  <franke@computer.org>
 +
 +      * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
 +      Remove broken Cygwin path conversion.
 +      * util/misc.c: [__CYGWIN__] Add include and define.
 +      [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
 +      for Cygwin 1.7.
 +      (make_system_path_relative_to_its_root): Simplify loop, replace early
 +      return by break.
 +      [__CYGWIN__] Add conversion to win32 path.
 +      Include "/" case in trailing slash removal.
 +
 +2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * kern/main.c (grub_load_config): Fix copy-pasted comment.
 +      Reported by: Seth Goldberg
 +
 +2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * commands/help.c (grub_cmd_help): Fix a typo.
 +      Reported by: Seth Goldberg
 +
 +2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
 +      name and add N_.
 +      * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
 +      * commands/iorw.c (GRUB_MOD_INIT): Likewise.
 +      * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
 +      * commands/regexp.c (GRUB_MOD_INIT): Likewise.
 +      * commands/setpci.c (GRUB_MOD_INIT): Likewise.
 +      * commands/terminal.c (GRUB_MOD_INIT): Likewise.
 +      * efiemu/main.c (GRUB_MOD_INIT): Likewise.
 +      * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
 +      * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
 +      * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
 +      * normal/context.c (GRUB_MOD_INIT): Likewise.
 +      * normal/main.c (GRUB_MOD_INIT): Likewise.
 +      * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
 +      * term/serial.c (GRUB_MOD_INIT): Likewise.
 +      * term/terminfo.c (GRUB_MOD_INIT): Likewise.
 +
 +2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
 +        extra == 0.
 +
 +2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * commands/iorw.c: New file.
 +      * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
 +      (iorw_mod_SOURCES): New variable.
 +      (iorw_mod_CFLAGS): Likewise.
 +      (iorw_mod_LDFLAGS): Likewise.
 +
 +2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Hotkey support
 +
 +      * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
 +      * normal/main.c (hotkey_aliases): New variable.
 +      (grub_normal_add_menu_entry): Parse "--hotkey".
 +      * normal/menu_text.c (run_menu): Handle hotkeys.
 +
 +2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * kern/i386/coreboot/init.c (grub_machine_init): Call
 +      grub_machine_mmap_init on qemu.
 +
 +2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * boot/i386/qemu/boot.S: Add a missing .code16.
 +
 +2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Use LBIO on coreboot.
 +
 +      * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
 +      kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
 +      * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
 +      New declaration.
 +      * kern/i386/coreboot/init.c (grub_machine_init): Don't call
 +      grub_machine_mmap_init on coreboot.
 +      * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
 +      GRUB_LINUXBIOS_MEMBER_LINK.
 +      (grub_machine_mmap_iterate): Fix declaration.
 +      * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
 +
 +2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Split coreboot and multiboot ports.
 +
 +      * conf/i386-multiboot.rmk: New file.
 +      * configure.ac: Add multiboot port.
 +      * include/grub/i386/multiboot/boot.h: New file.
 +      * include/grub/i386/multiboot/console.h: Likewise.
 +      * include/grub/i386/multiboot/init.h: Likewise.
 +      * include/grub/i386/multiboot/kernel.h: Likewise.
 +      * include/grub/i386/multiboot/loader.h: Likewise.
 +      * include/grub/i386/multiboot/memory.h: Likewise.
 +      * include/grub/i386/multiboot/serial.h: Likewise.
 +      * include/grub/i386/multiboot/time.h: Likewise.
 +      * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
 +      * loader/multiboot.c: Likewise.
 +      * loader/multiboot_mbi2.c: Likewise.
 +      * util/grub-mkrescue.in: Generate multiboot rescue.
 +
 +2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * kern/parser.c (grub_parser_execute): Cope with read-only config.
 +
 +2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Merge handling of input and output terminals. Fix a hang.
 +
 +      * commands/terminal.c (abstract_terminal): New struct.
 +      (handle_command): New function. Based on grub_cmd_terminal_input.
 +      (grub_cmd_terminal_input): Use handle_command.
 +      (grub_cmd_terminal_output): Use handle_command.
 +
 +2010-05-01  BVK Chaitanya  <bvk.groups@gmail.com>
 +
 +      Fix comment handling.
 +
 +      * tests/grub_script_comments.in: New testcase.
 +      * conf/tests.rmk: Rules for new testcase.
 +      * script/yylex.l: Updated flex rules.
 +
 +2010-04-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>
 +
 +      * docs/grub.texi (play): Document that zero pitches produce rests.
 +      * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
 +      if argc is 1.
 +
 +2010-04-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
 +      autogen issues.
 +
 +2010-04-26  Christian Franke  <franke@computer.org>
 +
 +      * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
 +      * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
 +      (grub_get_prefix): Remove function.
 +      * util/grub-emu.c (main): Replace grub_get_prefix () call by
 +      make_system_path_relative_to_its_root ().
 +      * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
 +
 +2010-04-24  Christian Franke  <franke@computer.org>
 +
 +      * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
 +      (kernel_img_LDFLAGS): Remove -static-libgcc.
 +
 +2010-04-24  Christian Franke  <franke@computer.org>
 +
 +      * configure.ac: Do not CHECK_BSS_START_SYMBOL
 +      and CHECK_END_SYMBOL if grub-emu is built.
 +      Unset TARGET_OBJ2ELF if grub-emu is built
 +      without module support.
 +
 +2010-04-24  Jiro SEKIBA <jir@unicus.jp>
 +
 +      Nilfs2 support.
 +
 +      * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
 +      (grub_fstest_SOURCES): Likewise.
 +      (pkglib_MODULES): Add nilfs2.mod.
 +      (nilfs2_mod_SOURCES): New variable.
 +      (nilfs2_mod_CFLAGS): Likewise.
 +      (nilfs2_mod_LDFLAGS): Likewise.
 +      * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
 +      * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
 +      * fs/nilfs2.c: New file.
 +
 +2010-04-21  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
 +      is not supported.
 +
 +2010-04-19  Grégoire Sutre  <gregoire.sutre@gmail.com>
 +
 +      Add grub-mkconfig support for NetBSD.
 +
 +      * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
 +      * util/grub-mkconfig.in: export new NetBSD specific variables.
 +      * po/POTFILES-shell: added 10_netbsd.in.
 +      * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
 +
 +2010-04-19  BVK Chaitanya  <bvk.groups@gmail.com>
 +
 +      Fix emu build with grub-emu-pci and grub-emu-modules.
 +
 +      * include/grub/util/misc.h: Export grub_util_{info,error,warn}
 +      functions.
 +      * include/grub/libpciaccess.h: New file.
 +      * conf/any-emu.rmk: Update kernel headers for emu build.
 +
 +2010-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
 +
 +2010-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
 +
 +2010-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
 +      Retrieve chosen/bootpath if bootpath isn't hardcoded.
 +      * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
 +      util/ieee1275/ofpath.c.
 +      * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
 +      * util/ieee1275/grub-ofpathname.c: ... this. All users updated
 +      * include/grub/sparc64/ieee1275/boot.h
 +      (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
 +      (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
 +      * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
 +      * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
 +      const char *.
 +      * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
 +      (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
 +      Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
 +      install.
 +
 +2010-04-18  Grégoire Sutre  <gregoire.sutre@gmail.com>
 +
 +      * util/grub-mkconfig.in: Corrected two == equality tests.
 +      Set grub_prefix as in grub-install for NetBSD and OpenBSD.
 +      * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
 +      expect a number appended to it.
 +      * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
 +      expects a number appended to it.
 +
 +2010-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
 +
 +2010-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/hostdisk.c (make_device_name): Change to new partition naming.
 +
 +2010-04-17  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
 +
 +2010-04-17  Christian Franke  <franke@computer.org>
 +
 +      * Makefile.in: Add missing localedir setting.
 +
 +2010-04-14  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      Restore TEXTDOMAINDIR correction from r1889, lost apparently by
 +      mistake in r2156.  Noticed by Anthony Fok.
 +
 +      * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
 +      @localedir@.
 +      * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
 +
 +2010-04-14  BVK Chaitanya  <bvk.groups@gmail.com>
 +
 +      Fix a spurious, uninitialized variable warning.
 +
 +      * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
 +      Initialize variable, shdr.
 +      (grub_freebsd_load_elfmodule): Likewise.
 +      (grub_freebsd_load_elf_meta): Likewise.
 +
 +2010-04-13  BVK Chaitanya  <bvk.groups@gmail.com>
 +
 +      Fix for escaped dollar in double quoted strings.
 +
 +      * script/yylex.l: Updated flex rules.
 +      * conf/tests.rmk: Rule for new testcase.
 +      * tests/grub_script_dollar.in: New testcase.
 +
 +2010-04-13  Carles Pina i Estany  <carles@pina.cat>
 +2010-04-13  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      Enclose all translated strings in grub.cfg in single quotes, and
 +      escape them appropriately (Ubuntu bug #552921).
 +
 +      * util/grub-mkconfig_lib.in (gettext_quoted): New function.
 +      * util/grub.d/10_hurd.in: Use it.
 +      * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
 +      * util/grub.d/10_linux.in (linux_entry): Likewise.
 +
 +2010-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Fix cygwin compilation.
 +
 +      * configure.ac: Define NEED_REGISTER_FRAME_INFO.
 +      * include/grub/misc.h (__register_frame_info)
 +      [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
 +      (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
 +      * kern/misc.c (__register_frame_info)
 +      [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
 +      (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
 +
 +2010-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
 +
 +2010-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Unify libgcc processing.
 +
 +      * Makefile.in (kernel_img_LDFLAGS): New variable.
 +      * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
 +      * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
 +      overwriting.
 +      * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
 +      * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
 +      * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
 +      * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
 +      * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
 +      overwriting. Remove -lgcc and -static-libgcc
 +      * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
 +      * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
 +      * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
 +      (kernel_img_LDFLAGS): Append instead of overwriting.
 +      Remove -lgcc and -static-libgcc
 +      * conf/sparc64-ieee1275.rmk: Likewise.
 +      * include/grub/powerpc/libgcc.h: Move to ...
 +      * include/grub/libgcc.h: .. this.
 +      * include/grub/libgcc.h: Don't export most of the function on x86.
 +      (__bswapsi2): New export.
 +      (__bswapdi2): Likewise.
 +      * include/grub/mips/libgcc.h: Removed.
 +      * include/grub/sparc64/libgcc.h: Likewise.
 +
 +2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
 +      disk_info_msg (conflicts with gettexting into languages with cases).
 +
 +2010-04-10  Grégoire Sutre  <gregoire.sutre@gmail.com>
 +
 +      Add grub-probe support for NetBSD.
 +
 +      * util/getroot.c (find_root_device): Convert block device to
 +      character device on NetBSD.
 +      * util/probe.c (probe): Require character device on NetBSD.
 +      * util/hostdisk.c: NetBSD specific headers.
 +      (configure_device_driver): new function to tune device driver
 +      parameters (currently only for NetBSD floppy driver).
 +      (grub_util_biosdisk_open): NetBSD specific code (get disk size
 +      via disklabel ioctl).
 +      (open_device): call configure_device_driver on NetBSD.
 +      (convert_system_partition_to_system_disk): NetBSD specific code.
 +      (device_is_wholedisk): Likewise.
 +      (grub_util_biosdisk_get_grub_dev): Likewise.
 +      (make_device_name): Fixed a typo in bsd_part_str.
 +      * configure.ac: check for opendisk() and getrawpartition() on
 +      NetBSD and set LIBUTIL.
 +      * Makefile.in: add LIBUTIL to LIBS.
 +
 +2010-04-10  BVK Chaitanya  <bvk.groups@gmail.com>
 +
 +      Documentation fix.
 +
 +      * util/grub-script-check.c: Better help message.
 +
 +2010-04-10  BVK Chaitanya  <bvk.groups@gmail.com>
 +
 +      Fix FreeBSD build.
 +
 +      * configure.ac: Flex version check.
 +      * conf/common.rmk: Add -Wno-error to sh.mod.
 +      * script/yylex.l: Remove all #pragma.
 +
 +2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * include/grub/util/misc.h (canonicalise_file_name): Add missing
 +      prototype.
 +      Reported by: Seth Goldberg.
 +
 +2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
 +      Rename "module" to "module2".
 +      Reported by: Seth Goldberg.
 +
 +2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
 +      EXPORT_FUNC.
 +      Reported by: Seth Goldberg.
 +
 +2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * lib/posix_wrap/locale.h: Add missing file.
 +      Reported by: Seth Goldberg.
 +
 +2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      grub-emu module load support.
 +
 +      * Makefile.in (TARGET_NO_MODULES): New variable. All users of
 +      NO_DYNAMIC_MODULES switched to this.
 +      (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
 +      (CFLAGS): Likewise.
 +      * conf/any-emu.rmk: Generate symlist.
 +      (kernel_img_HEADERS): Add util/datetime.h.
 +      (kernel_img_HEADERS) [sdl]: Add sdl.h.
 +      (kernel_img_HEADERS) [libusb]: Add libusb.h.
 +      (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
 +      kern/$(target_cpu)/cache.S.
 +      * configure.ac (grub-emu-modules): New option.
 +      * genmk.rb: Handle multiple source lists.
 +      * include/grub/sdl.h: New file.
 +      * include/grub/libusb.h: Likewise.
 +      * util/grub-emu.c (main): Hanle (host) root.
 +      * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
 +      GRUB_ERR_UNKNOWN_DEVICE.
 +      * util/misc.c: Move mm functions to ...
 +      * util/mm.c: ... here. All users updated.
 +
 +2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * Makefile.in (RMKFILES): Search in srcdir and not current directory.
 +      (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
 +      missing files.
 +      (maintainer-clean): Remove libgcrypt-grub.
 +
  2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>
  
        * term/efi/console.c (grub_console_checkkey): Macroify key contants.
index 21e139a322c5c0b09351b5c763f39aa3e242f975,3a2c47bf5bf8bed85048f51339cdddd58c18fe5d..958da2bee24ba377deca36a74b23642ffe4552f2
@@@ -3,7 -3,11 +3,7 @@@
  kernel_img_RELOCATABLE = yes
  pkglib_PROGRAMS = kernel.img
  kernel_img_SOURCES = kern/device.c kern/disk.c kern/dl.c kern/env.c   \
-       kern/err.c kern/list.c kern/handler.c kern/command.c            \
 -      kern/err.c kern/list.c  kern/command.c          \
++      kern/err.c kern/list.c kern/command.c           \
        kern/corecmd.c kern/file.c kern/fs.c kern/main.c kern/misc.c    \
        kern/parser.c kern/partition.c kern/term.c                      \
        kern/rescue_reader.c kern/rescue_parser.c                       \
diff --cc conf/common.rmk
index beee25be93f2c11f0f602962138c41b95d47fcda,dd94df4a76a2f545278b4ac4b1d851d3f2587784..3b9d1e5ce4d632ae4ae83bdf6bf7833401125909
@@@ -1,7 -1,7 +1,7 @@@
  # -*- makefile -*-
  
  # Used by various components.  These rules need to precede them.
--script/lexer.c_DEPENDENCIES = grub_script.tab.h
++script/lexer.c_DEPENDENCIES = grub_script.tab.h grub_script.yy.h
  
  sbin_UTILITIES += grub-mkdevicemap
  grub_mkdevicemap_SOURCES = gnulib/progname.c util/grub-mkdevicemap.c \
@@@ -25,9 -25,9 +25,9 @@@ util/grub-mkimage.c_DEPENDENCIES = Make
  sbin_UTILITIES += grub-probe
  util/grub-probe.c_DEPENDENCIES = grub_probe_init.h
  grub_probe_SOURCES = gnulib/progname.c util/grub-probe.c      \
 -      util/hostdisk.c util/misc.c util/getroot.c              \
 +      kern/emu/hostdisk.c util/misc.c kern/emu/misc.c kern/emu/getroot.c kern/emu/mm.c        \
        kern/device.c kern/disk.c kern/err.c kern/misc.c        \
-       kern/parser.c kern/partition.c kern/file.c kern/list.c  \
+       kern/partition.c kern/file.c kern/list.c        \
        \
        fs/affs.c fs/cpio.c fs/fat.c fs/ext2.c fs/hfs.c         \
        fs/hfsplus.c fs/iso9660.c fs/udf.c fs/jfs.c fs/minix.c  \
@@@ -88,12 -102,11 +88,11 @@@ DISTCLEANFILES += grub_script.yy.c grub
  
  # For grub-script-check.
  bin_UTILITIES += grub-script-check
- util/grub-script-check.c_DEPENDENCIES = grub_script_check_init.h
  grub_script_check_SOURCES = gnulib/progname.c gnulib/getdelim.c gnulib/getline.c \
 -      util/grub-script-check.c util/misc.c \
 +      util/grub-script-check.c util/misc.c kern/emu/misc.c kern/emu/mm.c \
        script/main.c script/script.c script/function.c script/lexer.c \
-       kern/handler.c kern/err.c kern/parser.c kern/list.c \
-       kern/misc.c kern/env.c grub_script_check_init.c grub_script.tab.c \
+       kern/err.c kern/list.c \
+       kern/misc.c kern/env.c grub_script.tab.c \
        grub_script.yy.c
  grub_script_check_CFLAGS = $(GNULIB_UTIL_CFLAGS)
  MOSTLYCLEANFILES += symlist.c kernel_syms.lst
@@@ -102,11 -115,8 +101,11 @@@ DEFSYMFILES += kernel_syms.ls
  kernel_img_HEADERS += boot.h cache.h device.h disk.h dl.h elf.h elfload.h \
        env.h err.h file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h \
        partition.h msdos_partition.h reader.h symbol.h term.h time.h types.h \
-       list.h handler.h command.h i18n.h env_private.h libgcc.h
 -      machine/memory.h machine/loader.h machine/kernel.h \
 -      list.h command.h i18n.h env_private.h
++      list.h command.h i18n.h env_private.h libgcc.h
 +
 +ifneq ($(platform), emu)
 +kernel_img_HEADERS += machine/memory.h machine/loader.h
 +endif
  
  symlist.c: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h gensymlist.sh
        /bin/sh gensymlist.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
@@@ -638,18 -624,14 +619,14 @@@ keystatus_mod_LDFLAGS = $(COMMON_LDFLAG
  
  # For normal.mod.
  normal_mod_SOURCES = normal/main.c normal/cmdline.c normal/dyncmd.c \
-       normal/auth.c normal/autofs.c normal/handler.c \
+       normal/auth.c normal/autofs.c  \
        normal/color.c normal/completion.c normal/datetime.c normal/menu.c \
        normal/menu_entry.c normal/menu_text.c \
-       normal/misc.c normal/crypto.c normal/term.c normal/context.c
- normal_mod_CFLAGS = $(COMMON_CFLAGS)
- normal_mod_LDFLAGS = $(COMMON_LDFLAGS)
- # For sh.mod.
- sh_mod_SOURCES = script/main.c script/script.c script/execute.c \
+       normal/misc.c normal/crypto.c normal/term.c normal/context.c \
+       script/main.c script/script.c script/execute.c \
        script/function.c script/lexer.c grub_script.tab.c grub_script.yy.c
- sh_mod_CFLAGS = $(COMMON_CFLAGS) $(POSIX_CFLAGS) -Wno-error
- sh_mod_LDFLAGS = $(COMMON_LDFLAGS)
 -normal_mod_CFLAGS = $(COMMON_CFLAGS) $(POSIX_CFLAGS)
++normal_mod_CFLAGS = $(COMMON_CFLAGS) $(POSIX_CFLAGS) -Wno-error
+ normal_mod_LDFLAGS = $(COMMON_LDFLAGS)
  
  ifneq (, $(FONT_SOURCE))
  font/font.c_DEPENDENCIES = ascii.h
Simple merge
Simple merge
index fa8394b52cd0ca6043863cc11e25920a539f5173,5ff852f2edc2942c63df1e57c2550b25f52db98f..549949b105feb75a4593f67d7cfb15edebbe8514
@@@ -53,33 -55,42 +53,33 @@@ kernel_img_SOURCES = kern/i386/pc/start
        term/i386/pc/console.c term/i386/vga_common.c \
        symlist.c
  kernel_img_HEADERS += machine/biosdisk.h machine/vga.h machine/vbe.h \
 -      machine/pxe.h i386/pit.h
 +      machine/pxe.h i386/pit.h machine/kernel.h
  kernel_img_CFLAGS = $(COMMON_CFLAGS)  $(TARGET_IMG_CFLAGS)
  kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
 -kernel_img_LDFLAGS = $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS)$(GRUB_KERNEL_MACHINE_LINK_ADDR) $(COMMON_CFLAGS)
 -kernel_img_FORMAT = binary
 +kernel_img_LDFLAGS += $(COMMON_LDFLAGS) $(TARGET_IMG_LDFLAGS)0x8200 $(COMMON_CFLAGS)
  
  # Utilities.
 -bin_UTILITIES = grub-mkimage
  sbin_UTILITIES = grub-setup
  
 -# For grub-mkimage.
 -grub_mkimage_SOURCES = gnulib/progname.c util/grub-mkrawimage.c util/misc.c \
 -      util/resolve.c lib/LzmaEnc.c lib/LzFind.c
 -grub_mkimage_CFLAGS = -DGRUB_KERNEL_MACHINE_LINK_ADDR=$(GRUB_KERNEL_MACHINE_LINK_ADDR)
 -util/grub-mkrawimage.c_DEPENDENCIES = Makefile
 -
  # For grub-setup.
  util/i386/pc/grub-setup.c_DEPENDENCIES = grub_setup_init.h
 -grub_setup_SOURCES = gnulib/progname.c \
 -      util/i386/pc/grub-setup.c util/hostdisk.c       \
 -      util/misc.c util/getroot.c kern/device.c kern/disk.c    \
 -      kern/err.c kern/misc.c kern/partition.c \
 -      kern/file.c kern/fs.c kern/env.c kern/list.c            \
 -      fs/fshelp.c                                             \
 -      \
 -      fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c          \
 -      fs/hfsplus.c fs/iso9660.c fs/udf.c fs/jfs.c fs/minix.c   \
 -      fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c fs/sfs.c           \
 -      fs/ufs.c fs/ufs2.c fs/xfs.c fs/afs.c fs/afs_be.c         \
 -      fs/befs.c fs/befs_be.c fs/tar.c                 \
 -      \
 -      partmap/msdos.c partmap/bsdlabel.c partmap/sunpc.c      \
 -      partmap/gpt.c           \
 -      \
 -      disk/raid.c disk/mdraid_linux.c disk/lvm.c              \
 -      util/raid.c util/lvm.c                  \
 +grub_setup_SOURCES = gnulib/progname.c util/i386/pc/grub-setup.c      \
 +      util/misc.c kern/emu/misc.c kern/emu/getroot.c                  \
 +      kern/emu/hostdisk.c kern/device.c kern/disk.c kern/err.c        \
-       kern/misc.c kern/parser.c kern/partition.c kern/file.c          \
++      kern/misc.c kern/partition.c kern/file.c                        \
 +      kern/emu/mm.c kern/fs.c kern/env.c kern/list.c fs/fshelp.c      \
 +                                                                      \
 +      fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c                 \
 +      fs/hfsplus.c fs/iso9660.c fs/udf.c fs/jfs.c fs/minix.c          \
 +      fs/nilfs2.c fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c               \
 +      fs/sfs.c fs/ufs.c fs/ufs2.c fs/xfs.c fs/afs.c                   \
 +      fs/afs_be.c fs/befs.c fs/befs_be.c fs/tar.c                     \
 +                                                                      \
 +      partmap/msdos.c partmap/bsdlabel.c partmap/sunpc.c              \
 +      partmap/gpt.c                                                   \
 +                                                                      \
 +      disk/raid.c disk/mdraid_linux.c disk/lvm.c                      \
 +      util/raid.c util/lvm.c                                          \
        grub_setup_init.c
  
  sbin_SCRIPTS += grub-install
Simple merge
Simple merge
Simple merge
Simple merge
index 0aac67104db32a606eb57cc29531fe559585289e,b4079dd1f8c1abd4d477c03d3976da8c76e90807..2314f6477a8fd50a13362c516329beb96992107f
@@@ -41,33 -40,37 +41,33 @@@ kernel_img_LDFLAGS += -nostdlib -Wl,-N,
  kernel_img_FORMAT = binary
  
  # Utilities.
 -bin_UTILITIES = grub-mkimage
  sbin_UTILITIES = grub-setup grub-ofpathname
  
 -# For grub-mkimage.
 -grub_mkimage_SOURCES = util/grub-mkrawimage.c util/misc.c \
 -        util/resolve.c gnulib/progname.c
 -
  # For grub-setup.
  util/sparc64/ieee1275/grub-setup.c_DEPENDENCIES = grub_setup_init.h
 -grub_setup_SOURCES = util/sparc64/ieee1275/grub-setup.c util/hostdisk.c       \
 -      util/misc.c util/getroot.c kern/device.c kern/disk.c    \
 -      kern/err.c kern/misc.c kern/parser.c kern/partition.c   \
 -      kern/file.c kern/fs.c kern/env.c kern/list.c            \
 -      fs/fshelp.c                                             \
 -      \
 -      fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c         \
 -      fs/hfsplus.c fs/iso9660.c fs/udf.c fs/jfs.c fs/minix.c  \
 -      fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c fs/sfs.c          \
 -      fs/ufs.c fs/ufs2.c fs/xfs.c fs/afs.c fs/afs_be.c        \
 -      fs/befs.c fs/befs_be.c fs/tar.c                 \
 -      \
 -      partmap/amiga.c partmap/apple.c partmap/msdos.c         \
 -      partmap/bsdlabel.c partmap/sun.c partmap/acorn.c        \
 -      \
 -      disk/raid.c disk/mdraid_linux.c disk/lvm.c              \
 -      util/raid.c util/lvm.c gnulib/progname.c        \
 -      grub_setup_init.c
 +grub_setup_SOURCES = util/sparc64/ieee1275/grub-setup.c                       \
 +      util/ieee1275/ofpath.c util/misc.c kern/emu/hostdisk.c          \
 +      kern/emu/misc.c kern/emu/getroot.c kern/emu/mm.c kern/device.c  \
-       kern/disk.c kern/err.c kern/misc.c kern/parser.c                \
++      kern/disk.c kern/err.c kern/misc.c                              \
 +      kern/partition.c kern/file.c kern/fs.c kern/env.c kern/list.c   \
 +      fs/fshelp.c                                                     \
 +                                                                      \
 +      fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c                 \
 +      fs/hfsplus.c fs/iso9660.c fs/udf.c fs/jfs.c fs/minix.c          \
 +      fs/nilfs2.c fs/ntfs.c fs/ntfscomp.c fs/reiserfs.c               \
 +      fs/sfs.c fs/ufs.c fs/ufs2.c fs/xfs.c fs/afs.c                   \
 +      fs/afs_be.c fs/befs.c fs/befs_be.c fs/tar.c                     \
 +                                                                      \
 +      partmap/amiga.c partmap/apple.c partmap/msdos.c                 \
 +      partmap/bsdlabel.c partmap/sun.c partmap/acorn.c                \
 +                                                                      \
 +      disk/raid.c disk/mdraid_linux.c disk/lvm.c util/raid.c          \
 +      util/lvm.c gnulib/progname.c grub_setup_init.c
  
  # For grub-ofpathname.
 -grub_ofpathname_SOURCES = util/sparc64/ieee1275/grub-ofpathname.c \
 -      util/ieee1275/ofpath.c util/misc.c gnulib/progname.c
 +grub_ofpathname_SOURCES = util/ieee1275/grub-ofpathname.c     \
 +      util/ieee1275/ofpath.c util/misc.c kern/emu/misc.c      \
 +      gnulib/progname.c
  
  # Scripts.
  sbin_SCRIPTS = grub-install
Simple merge
index cf5da7fd5be5ab600a73d3e3c74c6685b60bcd9b,c44e85aef84fe5e5770755eea42d74c2553cacfb..351cca64d14337f7c13f21b0f9063d12c4aa1692
@@@ -96,9 -97,27 +97,12 @@@ void grub_dl_unload_all (void)
  #else
  #define GRUB_NO_MODULES 0
  #endif
 -#if GRUB_NO_MODULES
 -static inline int
 -grub_dl_ref (grub_dl_t mod)
 -{
 -  (void) mod;
 -  return 0;
 -}
 -static inline int
 -grub_dl_unref (grub_dl_t mod)
 -{
 -  (void) mod;
 -  return 0;
 -}
 -#else
  int EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod);
  int EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod);
- void EXPORT_FUNC(grub_dl_iterate) (int (*hook) (grub_dl_t mod));
 -#endif
+ extern grub_dl_t EXPORT_VAR(grub_dl_head);
+ #define FOR_DL_MODULES(var) FOR_LIST_ELEMENTS ((var), (grub_dl_head))
  grub_dl_t EXPORT_FUNC(grub_dl_get) (const char *name);
  grub_err_t grub_dl_register_symbol (const char *name, void *addr,
                                    grub_dl_t mod);
Simple merge
diff --cc kern/dl.c
Simple merge
diff --cc kern/main.c
Simple merge
diff --cc kern/parser.c
Simple merge
diff --cc normal/auth.c
index 156b84c3744313d70cc8cc68ef675ff9d3f35c3b,c28f50024e5b9d81b7e946ebad789979548e2c82..15acfb12821a0d56e4cef3ffe473bb5d22e78054
@@@ -240,7 -224,11 +224,11 @@@ grub_auth_check_authentication (const c
    if (!grub_password_get (entered, GRUB_AUTH_MAX_PASSLEN))
      goto access_denied;
  
-   grub_list_iterate (GRUB_AS_LIST (users), hook);
 -  for (user = users; user; user = user->next)
++  FOR_LIST_ELEMENTS (user, users)
+     {
+       if (grub_strcmp (login, user->name) == 0)
+       cur = user;
+     }
  
    if (!cur || ! cur->callback)
      goto access_denied;
Simple merge
diff --cc normal/main.c
Simple merge
index d7e8f159ee4ea65480e154b7bcbef40c74eb83b9,b0a9e1388721f832295124f919d413bd9949fa70..c3bc508dd551812b80b7af199ead33b2a80e483f
@@@ -667,124 -643,6 +667,125 @@@ grub_util_iterate_devices (int NESTED_F
            return;
        }
      }
-                         struct dmraid_seen *seen_elt =
-                           grub_list_pop (GRUB_AS_LIST_P (&seen));
 +
 +# ifdef HAVE_DEVICE_MAPPER
 +#  define dmraid_check(cond, ...) \
 +  if (! (cond)) \
 +    { \
 +      grub_dprintf ("deviceiter", __VA_ARGS__); \
 +      goto dmraid_end; \
 +    }
 +
 +  /* DM-RAID.  */
 +  if (grub_device_mapper_supported ())
 +    {
 +      struct dm_tree *tree = NULL;
 +      struct dm_task *task = NULL;
 +      struct dm_names *names = NULL;
 +      unsigned int next = 0;
 +      void *top_handle, *second_handle;
 +      struct dm_tree_node *root, *top, *second;
 +      struct dmraid_seen *seen = NULL;
 +
 +      /* Build DM tree for all devices.  */
 +      tree = dm_tree_create ();
 +      dmraid_check (tree, "dm_tree_create failed\n");
 +      task = dm_task_create (DM_DEVICE_LIST);
 +      dmraid_check (task, "dm_task_create failed\n");
 +      dmraid_check (dm_task_run (task), "dm_task_run failed\n");
 +      names = dm_task_get_names (task);
 +      dmraid_check (names, "dm_task_get_names failed\n");
 +      dmraid_check (names->dev, "No DM devices found\n");
 +      do
 +      {
 +        names = (void *) names + next;
 +        dmraid_check (dm_tree_add_dev (tree, MAJOR (names->dev),
 +                                       MINOR (names->dev)),
 +                         "dm_tree_add_dev (%s) failed\n", names->name);
 +        next = names->next;
 +      }
 +      while (next);
 +
 +      /* Walk the second-level children of the inverted tree; that is, devices
 +       which are directly composed of non-DM devices such as hard disks.
 +       This class includes all DM-RAID disks and excludes all DM-RAID
 +       partitions.  */
 +      root = dm_tree_find_node (tree, 0, 0);
 +      top_handle = NULL;
 +      top = dm_tree_next_child (&top_handle, root, 1);
 +      while (top)
 +      {
 +        second_handle = NULL;
 +        second = dm_tree_next_child (&second_handle, top, 1);
 +        while (second)
 +          {
 +            const char *node_name, *node_uuid;
 +            char *name;
 +            struct dmraid_seen *seen_elt;
 +
 +            node_name = dm_tree_node_get_name (second);
 +            dmraid_check (node_name, "dm_tree_node_get_name failed\n");
 +            node_uuid = dm_tree_node_get_uuid (second);
 +            dmraid_check (node_uuid, "dm_tree_node_get_uuid failed\n");
 +            if (strncmp (node_uuid, "DMRAID-", 7) != 0)
 +              {
 +                grub_dprintf ("deviceiter", "%s is not DM-RAID\n", node_name);
 +                goto dmraid_next_child;
 +              }
 +
 +            /* Have we already seen this node?  There are typically very few
 +               DM-RAID disks, so a list should be fast enough.  */
 +            if (grub_named_list_find (GRUB_AS_NAMED_LIST (seen), node_name))
 +              {
 +                grub_dprintf ("deviceiter", "Already seen DM device %s\n",
 +                              node_name);
 +                goto dmraid_next_child;
 +              }
 +
 +            name = xasprintf ("/dev/mapper/%s", node_name);
 +            if (check_device (name))
 +              {
 +                if (hook (name, 0))
 +                  {
 +                    free (name);
 +                    while (seen)
 +                      {
-         struct dmraid_seen *seen_elt = grub_list_pop (GRUB_AS_LIST_P (&seen));
++                        struct dmraid_seen *seen_elt = seen;
++                        seen = seen->next;
 +                        free (seen_elt);
 +                      }
 +                    if (task)
 +                      dm_task_destroy (task);
 +                    if (tree)
 +                      dm_tree_free (tree);
 +                    return;
 +                  }
 +              }
 +            free (name);
 +
 +            seen_elt = xmalloc (sizeof *seen_elt);
 +            seen_elt->name = node_name;
 +            grub_list_push (GRUB_AS_LIST_P (&seen), GRUB_AS_LIST (seen_elt));
 +
 +dmraid_next_child:
 +            second = dm_tree_next_child (&second_handle, top, 1);
 +          }
 +        top = dm_tree_next_child (&top_handle, root, 1);
 +      }
 +
 +dmraid_end:
 +      while (seen)
 +      {
++        struct dmraid_seen *seen_elt = seen;
++        seen = seen->next;
 +        free (seen_elt);
 +      }
 +      if (task)
 +      dm_task_destroy (task);
 +      if (tree)
 +      dm_tree_free (tree);
 +    }
 +# endif /* HAVE_DEVICE_MAPPER */
  #endif /* __linux__ */
  }
  
Simple merge
index e69f787f5bf807f9818a8287c6f40828d337825d,0cbba4350d99832a9cb8e68ecf7b03fbf65fdd08..77213c109ccb11c39a48aff84ee6e9d2a1dfd2b0
@@@ -260,9 -253,7 +255,7 @@@ main (int argc, char *argv[]
        grub_free (input);
      } while (script != 0);
  
-   /* Free resources.  */
-   grub_fini_all ();
    if (file) fclose (file);
  
 -  return (script == 0);
 +  return (found_input && script == 0);
  }
Simple merge
index 93e135eb3ced70cea2ce4ed4009f12e2377c053e,c39ea853fc6397331ab27b29e7d84f42c4e7d63d..218a0e037bb8c6136d07554dd5a4128877d6ed38
@@@ -102,9 -94,9 +102,6 @@@ grub_getkey (void
    return -1;
  }
  
--struct grub_handler_class grub_term_input_class;
--struct grub_handler_class grub_term_output_class;
--
  void
  grub_refresh (void)
  {