++2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
++
++ Shutdown using ACPI.
++
++ * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
++ * grub-core/commands/acpihalt.c: New file.
++ * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
++ * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
++ (grub_acpi_halt): New proto.
++ (GRUB_ACPI_SLP_EN): New const.
++ (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
++ (GRUB_ACPI_OPCODE_*): New enum.
++ (GRUB_ACPI_EXTOPCODE_*): Likewise.
++
+2010-09-11 Tristan Gingold <gingold@free.fr>
+2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
+2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/lsacpi.c: New file.
+ * grub-core/Makefile.core.def (lsacpi): New module.
+ * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
+ (GRUB_ACPI_MADT_SIGNATURE): Likewise.
+ (grub_acpi_madt_entry_header): New struct.
+ (grub_acpi_madt): Likewise.
+ (grub_acpi_madt_entry_interrupt_override): Likewise.
+ (grub_acpi_madt_entry_sapic): Likewise.
+ (grub_acpi_madt_entry_lsapic): Likewise.
+ (grub_acpi_madt_entry_platform_int_source): Likewise.
+ * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
+ (PRIuGRUB_UINT32_T): Likewise.
+ (PRIxGRUB_UINT64_T): Likewise.
+
+2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Implement loading palette on ieee1275_fb.
+
+ * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
+ (have_setcolors): Likewise.
+ (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
+ (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
+ (grub_video_ieee1275_set_palette): Implement.
+
+2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
+2010-09-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in (grub_partition): New variable.
+ Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
+ * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
+ Fixes a bug reported by Yves Blusseau.
+
+2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix emu on mipsel.
+
+ * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
+ =grub_cpu_flush_cache on all mips and not only yeeloong.
+ * configure.ac (COND_mips): New conditional.
+ * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
+ platforms.
+ * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
+ * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
+ [GRUB_LINKER_HAVE_INIT]: New function.
+ (grub_emu_post_init): Likewise.
+ * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
+ * grub-core/kern/emu/main.c: Use grub_emu_post_init.
+ * include/grub/cache.h (_mips): Include mips/cache.h.
+ * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
+ LVM and RAID prototypes.
+ * include/grub/emu/misc.h (grub_emu_post_init): New proto.
+ * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
+ function.
+
+2010-09-10 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in: Don't try to verify core.img until after
+ running grub-mkimage to create it.
+
+2010-09-10 Robert Millan <rmh@gnu.org>
+
+ * util/grub.d/10_hurd.in: Add misc readability checks.
+ * util/grub.d/10_kfreebsd.in: Likewise.
+ * util/grub.d/10_linux.in: Likewise.
+
+2010-09-10 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in: ${imgext} won't be defined here until the
+ install branch is merged. For the meantime, only verify core.img on
+ i386-pc and sparc64-ieee1275 platforms.
+
+2010-09-10 Robert Millan <rmh@gnu.org>
+
+ Solaris support in grub_find_zpool_from_dir(). Thanks
+ Seth Goldberg for referring to getextmntent() facility.
+
+ * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
+ `sys/mkdev.h'.
+ * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
+ `<sys/mnttab.h>'.
+ [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
+ [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
+ method for finding zpool name.
+
+2010-09-10 Colin Watson <cjwatson@ubuntu.com>
+
+ grub-fstest needs the host and hostfs modules while other utilities
+ actively require those modules to be absent, so grub-fstest needs
+ its own initialisation and finalisation code.
+
+ * Makefile.am (grub_fstest.pp): New target.
+ (grub_fstest_init.lst): Likewise.
+ (grub_fstest_init.c): Likewise.
+ * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
+
+2010-09-10 Robert Millan <rmh@gnu.org>
+
+ * configure.ac: Check for `struct statfs.f_fstypename' and
+ `struct statfs.f_mntfromname'.
+
+ * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
+ kFreeBSD-specific code.
+
+2010-09-10 Robert Millan <rmh@gnu.org>
+
+ * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
+ on ZFS. Now non-main filesystems are supported as / too.
+
+2010-09-09 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
+ and grub-core/disk/host.c to ...
+ (grub-fstest): ... here. Having the host disk implementation
+ present confuses grub-probe and other utility programs.
+
+ * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
+ when writing to a file, not when writing to stdout.
+
+2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * tests/partmap_test.in: New test for partitions.
+ * Makefile.util.def: Rules for new test.
+
+2010-09-09 Robert Millan <rmh@gnu.org>
+
+ * util/grub-probe.c (probe): Fix a pair of unhandled error
+ conditions.
+
+2010-09-09 Robert Millan <rmh@gnu.org>
+
+ Basic Btrfs support (detection and UUID).
+
+ * grub-core/fs/btrfs.c: New file.
+ * Makefile.util.def (library): Register btrfs.c.
+ * grub-core/Makefile.core.def: Likewise.
+
+2010-09-08 Robert Millan <rmh@gnu.org>
+
+ * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
+ with (optional) parameters to specify device and relative path.
+ * util/grub-install.in: Use is_path_readable_by_grub() to
+ verify readability of a few critical files.
+ * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
+ verify readability of grub.cfg.new.
+
+2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Split minix.mod into minix.mod and minix2.mod.
+
+ * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
+ * grub-core/Makefile.core.def (minix2): New module.
+ * grub-core/fs/minix.c: Use definitions instead of runtime version
+ checking.
+ * grub-core/fs/minix2.c: New file.
+
+2010-09-08 Yves Blusseau <blusseau@zetam.org>
+
+ Add new --boot-directory option to replace --root-directory
+
+ * util/grub-install.in: Add new --boot-directory option
+ * util/grub-reboot.in: Likewise.
+ * util/grub-set-default.in: Likewise.
+
+2010-09-08 Yves Blusseau <blusseau@zetam.org>
+
+ * util/grub-mkconfig.in: Use new variable.
+
+2010-09-08 Yves Blusseau <blusseau@zetam.org>
+
+ * configure.ac: Define some useful variables.
+
+2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
+ GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
+ * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
+ Use terminfo and don't use cursor-on/cursor-off unless it's known
+ to work.
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
+ GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
+
+2010-09-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
+ starts with "(,", fill the drive containing the loaded image in
+ between those two characters, but expect that a full partition
+ specification including partition map names will follow.
+
+2010-09-08 Robert Millan <rmh@gnu.org>
+
+ * configure.ac: Remove `--enable-grub-fstest' option.
+ * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
+
+ * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
+ `grub-fstest' instead of `grub-probe' for readability verification.
+ * util/grub-probe.c (probe): Remove readability verification kludge.
+
+2010-09-08 Robert Millan <rmh@gnu.org>
+
+ * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
+ initializing `GRUB_FS'.
+
+2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Not command (!) support to GRUB script.
+
+ * tests/grub_script_not.in: New test.
+ * Makefile.util.def: Rules for new test.
+
+ * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
+ ! command as a special case.
+ * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
+
+2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
+ grub_free.
+
+2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
+
+2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * docs/grub.texi (Shell-like scripting): Documentation for break,
+ continue, shift and return commands.
+
+2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Rename CD-ROM to cd on BIOS.
+
+ * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
+ "cd".
+ (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
+ * util/grub-probe.c (main): Likewise.
+ * util/i386/pc/grub-setup.c (main): Likewise.
+ * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
+ Reported and debugged by: alexxy
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
+ diagnostic info.
+
+2010-09-05 Jo Shields <directhex@apebox.org>
+
+ * util/grub.d/30_os-prober.in: Add missing classes.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Theme file format): Document new position format.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
+ a table. Use @code instead of @verbatim.
+
+2010-09-05 Colin D Bennett <colin@gibibit.com>
+
+ Gfxmenu documentation.
+
+ * docs/grub.texi (Theme file format): New chapter.
+
+2010-09-05 Szymon Janc <szymon@janc.net.pl>
+
+ * grub-core/Makefile.core.def (xzio): New module.
+ * grub-core/io/xzio.c: New file.
+ * grub-core/lib/xzembed/xz.h: New file (from xembed).
+ * grub-core/lib/xzembed/xz_config.h: Likewise.
+ * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
+ * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
+ * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
+ * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
+ * grub-core/lib/xzembed/xz_private.h: Likewise.
+ * grub-core/lib/xzembed/xz_stream.h: Likewise.
+ * include/grub/file.h (grub_file_filter_id): New compression filter
+ GRUB_FILE_FILTER_XZIO.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
+ * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
+ size.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
+ GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Uncompressed checksum support.
+
+ * grub-core/commands/hashsum.c (options): Add option --uncompress.
+ (check_list): New parameter uncompress.
+ (grub_cmd_hashsum): Handle --uncompress.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Reintroduce testload.
+
+ * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
+ from here ...
+ * grub-core/commands/testload.c (grub_cmd_testload): ... here.
+ (GRUB_MOD_INIT): New function.
+ (GRUB_MOD_FINI): Likewise.
+ * grub-core/Makefile.core.def (testload): New module.
+
+2010-09-05 Szymon Janc <szymon@janc.net.pl>
+
+ * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
+ (uint8_t): New type.
+ (uint16_t): Likewise.
+ (uint32_t): Likewise.
+ (uint64_t): Likewise.
+
+2010-09-05 Szymon Janc <szymon@janc.net.pl>
+
+ * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
+
+2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
+ Made static.
+ (grub_gzfile_open): Removed. All users updated.
+ (GRUB_MOD_INIT): New function.
+ (GRUB_MOD_FINI): Likewise.
+ * grub-core/kern/file.c (grub_file_filters_all): New variable.
+ (grub_file_filters_enabled): Likewise.
+ (grub_file_open): Handle filters.
+ * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
+ * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
+ * include/grub/file.h (grub_file_filter_id_t): New type.
+ (grub_file_filter_t): Likewise.
+ (grub_file_filters_all): New extern variable.
+ (grub_file_filters_enabled): Likewise.
+ (grub_file_filter_register): New inline function.
+ (grub_file_filter_unregister): Likewise.
+ (grub_file_filter_disable): Likewise.
+ (grub_file_filter_disable_compression): Likewise.
+ * include/grub/gzio.h: Removed.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Filename expansion support for wildcards in GRUB script.
+
+ * tests/grub_script_expansion.in: New test.
+ * Makefile.util.def: Rule for new test.
+
+ * grub-core/commands/wildcard.c: New file, implements filename
+ expansion support for GRUB script.
+ * grub-core/Makefile.core.def: Rule update for regexp.mod.
+ * grub-core/script/argv.c: Cosmetic changes.
+ * grub-core/script/execute.c (grub_script_arglist_to_argv):
+ Refactored to perform wildcard expansion on arguments.
+ * include/grub/script_sh.h (grub_script_wildcard_translator): New
+ struct.
+
+ * tests/util/grub-shell.in: Fix quoting for read input.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Support for updating environment variables with matched substrings
+ of regexp.
+
+ * tests/grub_cmd_regexp.in: New test.
+ * Makefile.util.def: Rule for new test.
+
+ * grub-core/commands/regexp.c: New option -s to update environment
+ variables with regexp matches.
+
+2010-09-04 Szymon Janc <szymon@janc.net.pl>
+
+ * include/grub/file.h (grub_file): New member not_easly_seekable.
+ (grub_file_seekable): New inline function.
+ * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
+ easily seekable.
+ (grub_gzio_open): Set not_easly_seekable.
+ * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
+ * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Support for options to appear multiple times on cmdline.
+
+ * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
+ * grub-core/commands/extcmd.c: Support for repeatable option.
+ * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
+ repeatable option support.
+
+ Refactor menuentry into a regular command.
+
+ * grub-core/commands/menuentry.c: New file, menuentry command
+ implementation.
+ * grub-core/Makefile.core.def: Rule update for normal.mod.
+ * grub-core/normal/main.c: Moved menuentry creation to
+ grub-core/commands/menuentry.c.
+ * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
+ (grub_menu_execute_entry_real): Removed.
+ * grub-core/script/execute.c (grub_script_execute_sourcecode): New
+ function.
+ (grub_script_execute_menuentry): Removed.
+ * grub-core/script/parser.y (menuentry): Removed.
+ * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
+ * grub-core/script/yylex.l (menuentry): Removed.
+ * include/grub/menu.h (grub_menu_init): New prototype.
+ (grub_menu_fini): New prototype.
+ * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
+ * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
+ (grub_script_execute_sourcecode): New prototype.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ "return" command for GRUB script functions.
+
+ * tests/grub_script_return.in: New test.
+ * Makefile.util.def: Rules for new test.
+
+ * grub-core/script/execute.c (grub_script_return): New function.
+ * grub-core/script/main.c: Register/unregister return commaond.
+ * include/grub/script_sh.h (grub_script_return): New prototype.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ "setparams" command to update positional parameters.
+
+ * tests/grub_script_setparams.in: New test.
+ * Makefile.util.def: Rules for new test.
+
+ * grub-core/script/argv.c (grub_script_argv_make): New function.
+ * grub-core/script/execute.c (replace_scope): New function.
+ (grub_script_setparams): New function.
+ * grub-core/script/lexer.c: Remove unused variables.
+ * grub-core/script/main.c: Register/unregister setparams command.
+ * include/grub/script_sh.h (grub_script_argv_make): New prototype.
+ (grub_script_setparams): New prototype.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * grub-core/normal/completion.c (grub_normal_do_completion): Fix
+ grub_free order.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Support for passing block of commands as an argument to extcmds.
+
+ * Makefile.util.def: Rules for new test.
+ * tests/grub_script_blockarg.in: New test.
+ * grub-core/tests/test_blockarg.c: New file, block argument
+ command used in the test.
+
+ * include/grub/extcmd.h (grub_extcmd_context): New struct.
+ (grub_register_extcmd_prio): New function prototype.
+ (grub_extcmd_dispatcher): New function prototype.
+ * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
+ type.
+ * include/grub/script_sh.h (struct grub_script): New members
+ `children', `next_siblings' and `refcnt' for block arguments and
+ reference counting.
+ (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
+ (grub_script_arg): New member `script' for block argument.
+ (grub_script_argv): New member `script' for block argument.
+ (grub_parser_param): New member `scripts' for block argument.
+ (grub_script_mem_free): New extern function prototype.
+ (grub_script_ref): New function prototype.
+ (grub_script_unref): New function prototype.
+
+ * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
+ extcmd form to support block arguments.
+ * grub-core/script/argv.c: Block arguments support.
+ * grub-core/script/execute.c: Likewise.
+ * grub-core/script/lexer.c: Likewise.
+ * grub-core/script/main.c: Likewise.
+ * grub-core/script/script.c: Likewise.
+ * grub-core/script/parser.y: Likewise. New `block' and `block0'
+ non-terminals.
+
+ * grub-core/commands/acpi.c: Update extcmd implementations with
+ grub_extcmd_context_t.
+ * grub-core/commands/cat.c: Likewise.
+ * grub-core/commands/echo.c: Likewise.
+ * grub-core/commands/extcmd.c: Likewise.
+ * grub-core/commands/hashsum.c: Likewise.
+ * grub-core/commands/hdparm.c: Likewise.
+ * grub-core/commands/help.c: Likewise.
+ * grub-core/commands/hexdump.c: Likewise.
+ * grub-core/commands/i386/cpuid.c: Likewise.
+ * grub-core/commands/i386/pc/drivemap.c: Likewise.
+ * grub-core/commands/i386/pc/halt.c: Likewise.
+ * grub-core/commands/i386/pc/sendkey.c: Likewise.
+ * grub-core/commands/iorw.c: Likewise.
+ * grub-core/commands/keystatus.c: Likewise.
+ * grub-core/commands/loadenv.c: Likewise.
+ * grub-core/commands/ls.c: Likewise.
+ * grub-core/commands/lspci.c: Likewise.
+ * grub-core/commands/memrw.c: Likewise.
+ * grub-core/commands/probe.c: Likewise.
+ * grub-core/commands/search_wrap.c: Likewise.
+ * grub-core/commands/setpci.c: Likewise.
+ * grub-core/commands/sleep.c: Likewise.
+ * grub-core/disk/loopback.c: Likewise.
+ * grub-core/hello/hello.c: Likewise.
+ * grub-core/loader/i386/bsd.c: Likewise.
+ * grub-core/loader/xnu.c: Likewise.
+ * grub-core/term/gfxterm.c: Likewise.
+ * grub-core/term/serial.c: Likewise.
+ * grub-core/tests/lib/functional_test.c: Likewise.
+
+2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Multi-line quoted strings support.
+
+ * grub-core/script/lexer.c (append_newline): Removed.
+ (grub_script_lexer_yywrap): Refactored.
+ (grub_script_lexer_init): Refactored.
+ * grub-core/script/yylex.l (yywrap): New function.
+ (grub_lexer_resplit): New function.
+ (grub_lexer_unput): New function.
+ * include/grub/script_sh.h (grub_lexer_param): New members, unput
+ and resplit.
+ * tests/grub_script_echo1.in: Added few more testcases.
+
+2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/misc.c: Don't add abort alias in utils.
+ Reported by: echoline.
+
+2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Add missing files into "make dist" tarball for other platforms.
+
+ * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
+ * conf/Makefile.common (dist_noinst_DATA): New variable.
+ * conf/Makefile.extra-dist: Added missing make dist files.
+ * grub-core/Makefile.core.def: Likewise.
+
+2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Compress grub_prefix.
+
+ * grub-core/boot/i386/pc/lnxboot.S: Use
+ GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
+ * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
+ * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
+ GRUB_MACHINE_PREFIX_END. All users updated.
+ (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
+ (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
+ + 0x40.
+ (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
+ * util/grub-mkimage.c (image_target_desc): Change data_end to
+ prefix_end. All users updated.
+
+2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
+ value.
+ (grub_openbsd_boot): Likewise.
+ (grub_netbsd_boot): Likewise.
+ * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
+ (grub_xnu_boot): Likewise.
+
+2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Clean LIBS variable after tests.
+
+2010-09-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
+
+2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
+ echo if libdevmapper will be used.
+
+2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
+
+ * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
+ constant for the same file.
+
+2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
+
+2010-09-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
+ grub-core/*.pp.
+
+2010-09-02 Colin Watson <cjwatson@ubuntu.com>
+
+ Zero %ebp and %edi when entering Linux's 32-bit entry point, as
+ required by the boot protocol.
+
+ * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
+ ebp and edi members.
+ * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
+ state.ebp and state.edi.
+ * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
+ %ebp and %edi according to grub_relocator32_ebp and
+ grub_relocator32_edi respectively.
+ * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
+ and state.edi.
+
+2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Add i386-pc-pxe image target.
+
+ * util/grub-mkimage.c (image_target_desc): New enum value
+ IMAGE_I386_PC_PXE.
+ (image_targets): New target i386-pc-pxe.
+ (generate_image): Handle i386-pc-pxe image.
+
+2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix grub_pxe_scan.
+
+ * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
+ (grub_pxe_scan): Fix types and pxe_rm_entry computation.
+ All users updated.
+ * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
+ (grub_pxe_pxenv): Correct type.
+
+2010-09-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * NEWS: Document most of the important changes since 1.98.
+
+2010-09-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
+ generated manual page) a little.
+
+2010-09-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi: Add myself as an author.
+
+2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.util.def (libgrub.a): Add missing sunpc.
+ Reported by: Seth Goldberg.
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Interrupt wrapping and code simplifications.
+
+ * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
+ x86_noieee1275 which are functionaly equivalent in this case.
+ (grub-install): Make source on each platform explicit. Enable on
+ all noemu.
+ * gentpl.py (x86_efi_pc): Removed group.
+ (x86_noefi): Likewise.
+ (i386_noefi): Likewise.
+ (x86_noieee1275): Likewise.
+ (i386_noieee1275): Likewise.
+ (i386_noefi_noieee1275): Likewise.
+ (i386_pc_qemu_coreboot): Likewise.
+ (i386_coreboot_multiboot): Likewise.
+ (i386_pc_coreboot_multiboot_qemu): Likewise.
+ (x86_noefi_mips): Likewise.
+ (noieee1275): Likewise.
+ (ieee1275_mips): Likewise.
+ (noemu_noieee1275): Likewise.
+ (cmos): New group.
+ (usb): Likewise.
+ (videoinkernel): Likewise.
+ (videomodules): Likewise.
+ * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
+ include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
+ include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
+ include/grub/loader.h, include/grub/msdos_partition.h,
+ include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
+ include/grub/machine/console.h, include/grub/machine/vga.h,
+ include/grub/machine/vbe.h, include/grub/machine/init.h,
+ include/grub/machine/kernel.h, include/grub/cpu/time.h,
+ include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
+ (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
+ (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
+ * grub-core/Makefile.core.def (kernel): Explicit the source for
+ startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
+ Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
+ Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
+ Use videoinkernel tag.
+ (usb): Enable on all usb.
+ (usbserial_common): Likewise.
+ (usbserial_pl2303): Likewise.
+ (usbserial_ftdi): Likewise.
+ (uhci): Enable on all x86.
+ (ohci): Enable on all pci.
+ (cmostest): Enable on all CMOS.
+ (acpi): Include commands/acpi.c on all platforms.
+ (halt): Add relevant lib/*/halt.c.
+ (hdparm): Enable on all pci.
+ (lspci): Likewise.
+ (usbtest): Enable on all usb.
+ (ata): Enable on all pci.
+ (ata_pthru): Likewise.
+ (usbms): Enable on all usb.
+ (usb_keyboard): Likewise.
+ (font): Use tag videomodules.
+ (bufio): Likewise.
+ (datetime): Use tag cmos. Enable on all noemu.
+ (mmap): Use tags common and x86.
+ (gfxterm): Use tag videomodules.
+ (bitmap): Likewise.
+ (bitmap_scale): Likewise.
+ (video_fb): Likewise.
+ (video): Likewise.
+ * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
+ adjust padding accordingly. All users updated.
+ (grub_ohci_transaction): Fix bad format specification.
+ (GRUB_MOD_INIT): Add asserts for struct size.
+ * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
+ (grub_alloc_td): Likewise.
+ (grub_free_queue): Likewise.
+ (grub_uhci_transfer): Likewise.
+ (grub_uhci_transaction): Fix bad format specification.
+ * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
+ (grub_usb_bulk_readwrite): Likewise.
+ * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
+ * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
+ Made static.
+ * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
+ Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
+ * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
+ Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
+ Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
+ ... here. Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
+ Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
+ ... here. Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S
+ (grub_biosdisk_check_int13_extensions): Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c
+ (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
+ Made static.
+ * grub-core/kern/i386/pc/startup.S
+ (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c
+ (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
+ Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S
+ (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c
+ (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
+ Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S
+ (grub_biosdisk_get_diskinfo_standard): Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c
+ (grub_biosdisk_get_diskinfo_standard): ... here.
+ Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S
+ (grub_biosdisk_get_num_floppies): Moved from here ...
+ * grub-core/disk/i386/pc/biosdisk.c
+ (grub_biosdisk_get_num_floppies): ... here.
+ Transformed into C. Made static.
+ * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
+ New function.
+ * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
+ * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
+ Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
+ * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
+ Transformed into C. Made static.
+ * grub-core/kern/i386/ieee1275/init.c: Removed.
+ * grub-core/kern/i386/misc.S: Likewise.
+ * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
+ Splitted from here ...
+ * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
+ Transformed into C. Made static. All users updated.
+ * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
+ Transformed into C. Made static. All users updated.
+ * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
+ Moved from here...
+ * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
+ Transformed into C. Made static. All users updated.
+ * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
+ Moved from here...
+ * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
+ Transformed into C. Made static. All users updated.
+ * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
+ Removed (replaced by C version).
+ * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
+ Moved from here...
+ * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
+ Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
+ ... here. Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S
+ (grub_vbe_bios_getset_dac_palette_width):Moved from here...
+ * grub-core/video/i386/pc/vbe.c
+ (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
+ ... here. Transformed into C.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
+ ... here. Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
+ ... here. Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
+ Moved from here...
+ * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
+ ... here. Transformed into C. Made static.
+ * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
+ pxe_rm_entry as third argument.
+ (grub_bios_interrupt): New function.
+ * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
+ * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
+ of calling grub_stop.
+ * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
+ * grub-core/lib/efi/halt.c (grub_halt): ...here.
+ * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
+ * grub-core/lib/emu/halt.c (grub_halt): ... here.
+ * grub-core/lib/i386/halt.c: Moved from here ...
+ * grub-core/lib/i386/halt.c: ... here.
+ * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
+ * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
+ * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
+ grub_stop_floppy.
+ * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
+ * include/grub/i386/coreboot/init.h: Removed.
+ * include/grub/i386/multiboot/init.h: Likewise.
+ * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
+ * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
+ * include/grub/i386/pc/int.h: New file.
+ * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
+ (grub_pxe_scan): Removed.
+ (grub_pxe_call): Update prototype.
+ * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
+ prototypes.
+ * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
+ * include/grub/i386/qemu/init.h: Removed.
+ * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
+ noreturn.
+ (grub_halt): Likewise.
+ * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
+ (grub_reboot): Likewise.
+ * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
+ * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
+ * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
+
+2010-08-30 Robert Millan <rmh@gnu.org>
+
+ * NEWS: Document addition of ZFS support in `grub-install' and
+ `grub-mkconfig'.
+
+2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
+ dprintf output.
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove leftover embedding of font objects.
+
+ * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
+ * util/grub-install.in (font): Removed.
+ * util/grub-mkimage.c (generate_image): Remove font support. All users
+ updated.
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Network): Fix reference to pxe_blksize.
+ Reported by: Ian Turner
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
+ timeout to avoid indefinite boot stalling.
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
+ (grub_env_write_color_highlight): Likewise.
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/term.c (print_more): Return to normal and not
+ to standard state after printing "---MORE---".
+
+2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
+ Mask out the bit 0x80 since it has other meaning that specifiing color.
+
+2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ New relocator. Allows for more kernel support and more straightforward
+ loader writing.
+
+ * Makefile.am (BOOTTARGET): New variable.
+ (QEMU32): Likewise.
+ (linux.init.x86_64): New target.
+ (linux.init.i386): Likewise.
+ (multiboot.elf): Likewise.
+ (kfreebsd.elf): Likewise.
+ (kfreebsd.aout): Likewise.
+ (pc-chainloader.elf): Likewise.
+ (pc-chainloader.bin): Likewise.
+ (ntldr.elf): Likewise.
+ (ntldr.bin): Likewise.
+ (multiboot2.elf): Likewise.
+ (kfreebsd.init.x86_64): Likewise.
+ (kfreebsd.init.i386): Likewise.
+ (knetbsd.init.i386): Likewise.
+ (kopenbsd.init.i386): Likewise.
+ (knetbsd.init.x86_64): Likewise.
+ (kopenbsd.init.x86_64): Likewise.
+ (linux-initramfs.i386): Likewise.
+ (linux-initramfs.x86_64): Likewise.
+ (kfreebsd-mfsroot.i386.img): Likewise.
+ (knetbsd.image.i386): Likewise.
+ (kopenbsd.image.i386): Likewise.
+ (kopenbsd.image.x86_64): Likewise.
+ (knetbsd.miniroot-image.i386.img): Likewise.
+ (kfreebsd-mfsroot.x86_64.img): Likewise.
+ (knetbsd.image.x86_64): Likewise.
+ (knetbsd.miniroot-image.x86_64.img): Likewise.
+ (kfreebsd-mfsroot.i386.gz): Likewise.
+ (bootcheck-kfreebsd-i386): Likewise.
+ (kfreebsd-mfsroot.x86_64.gz): Likewise.
+ (bootcheck-kfreebsd-x86_64): Likewise.
+ (knetbsd.miniroot-image.i386.gz): Likewise.
+ (bootcheck-knetbsd-i386): Likewise.
+ (bootcheck-kopenbsd-i386): Likewise.
+ (bootcheck-kopenbsd-x86_64): Likewise.
+ (knetbsd.miniroot-image.x86_64.gz): Likewise.
+ (bootcheck-knetbsd-x86_64): Likewise.
+ (bootcheck-linux-i386): Likewise.
+ (bootcheck-linux-x86_64): Likewise.
+ (bootcheck-linux16-i386): Likewise.
+ (bootcheck-linux16-x86_64): Likewise.
+ (bootcheck-multiboot): Likewise.
+ (bootcheck-multiboot2): Likewise.
+ (bootcheck-kfreebsd-aout): Likewise.
+ (bootcheck-pc-chainloader): Likewise.
+ (bootcheck-ntldr): Likewise.
+ (CLEANFILES): Add new targets.
+ (BOOTCHECKS): New variable.
+ (.PHONY): Add bootchecks.
+ (SUCCESSFUL_BOOT_STRING): New variable.
+ (BOOTCHECK_TIMEOUT): Likewise.
+ (bootcheck): New target
+ * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
+ * configure.ac: Correct efiemu excuse.
+ * docs/grub.texi (Supported kernels): New chapter.
+ * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
+ include/grub/mm_private.h. Simplify inclusion of
+ include/grub/boot.h, include/grub/loader.h
+ and include/grub/msdos_partition.h
+ (KERNEL_HEADER_FILES) [i386_coreboot]:
+ Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
+ (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
+ (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
+ (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
+ include/grub/machine/loader.h.
+ (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
+ * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
+ extra_dist.
+ (pci.mod): Enable on i386-multiboot.
+ (acpi.mod): Enable on i386-multiboot and i386-coreboot.
+ (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
+ i386-qemu.
+ (relocator.mod): Rewritten.
+ (aout.mod): Enable on all x86.
+ (bsd.mod): Likewise.
+ (ntldr.mod): New module.
+ (linux.mod): Use loader/i386/linux.c on all x86.
+ (xnu.mod): Enable on all x86.
+ (vga_text.mod): disable on EFI and QEMU.
+ * grub-core/efiemu/i386/coredetect.c: Remove useless include.
+ * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
+ * grub-core/efiemu/loadcore.c: Likewise.
+ * grub-core/efiemu/main.c: Likewise.
+ (grub_efiemu_exit_boot_services): Removed.
+ (grub_efiemu_finish_boot_services): Likewise.
+ * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
+ function.
+ * grub-core/efiemu/i386/nocfgtables.c: New file.
+ * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
+ * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
+ (grub_efi_finish_boot_services): Moved from here ...
+ * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
+ Fille finish memory map and related data.
+ (finish_mmap_buf): New variable.
+ (grub_efi_uintn_t finish_mmap_size): Likewise.
+ (grub_efi_uintn_t finish_key): Likewise.
+ (grub_efi_uintn_t finish_desc_size): Likewise.
+ (grub_efi_uint32_t finish_desc_version): Likewise.
+ (grub_efi_is_finished): Likewise.
+ (grub_efi_get_memory_map): Use saved memory map if EFI is already
+ finished.
+ * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
+ (grub_elf64_phdr_iterate): Likewise.
+ * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
+ (grub_os_area_size): Likewise.
+ (grub_machine_init): Don't reserve os area.
+ * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
+ * grub-core/kern/i386/ieee1275/startup.S: Likewise.
+ * grub-core/kern/i386/loader.S: Removed.
+ * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
+ (grub_os_area_size): Likewise.
+ (grub_machine_init): Don't reserve os area.
+ * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
+ Don't call grub_dl_unload_all.
+ Don't include loader.S.
+ * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
+ Declare the memory after _end as available.
+ * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
+ * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
+ (GRUB_MM_ALLOC_MAGIC): Moved from here...
+ * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
+ * grub-core/kern/mm.c (grub_mm_header): Moved from here...
+ * include/grub/mm_private.h (grub_mm_header): ... here.
+ * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
+ * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
+ * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
+ (grub_mm_region): ..here. Removed addr. Added pre_size.
+ All users updated.
+ * grub-core/kern/mm.c (base): Renamed to ...
+ (grub_mm_base): ... this. Made global.
+ (grub_real_malloc): Alloc from end of region.
+ (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
+ * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
+ * grub-core/kern/powerpc/cache_flush.S: ... here.
+ * grub-core/lib/efi/relocator.c: New file.
+ * grub-core/lib/i386/relocator.c: Rewritten.
+ * grub-core/lib/i386/relocator16.S: New file.
+ * grub-core/lib/i386/relocator32.S: Likewise.
+ * grub-core/lib/i386/relocator64.S: Likewise.
+ * grub-core/lib/i386/relocator_asm.S: Rewritten.
+ * grub-core/lib/i386/relocator_common.S: New file.
+ * grub-core/lib/ieee1275/relocator.c: Likewise.
+ * grub-core/lib/mips/relocator.c: Rewritten.
+ * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
+ stylistic adjustments.
+ * grub-core/lib/powerpc/relocator.c: New file.
+ * grub-core/lib/powerpc/relocator_asm.S: Likewise.
+ * grub-core/lib/relocator.c: Rewritten.
+ * grub-core/lib/x86_64/relocator_asm.S: New file.
+ * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
+ * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
+ (bsd_tag): New struct.
+ (tags): New variable.
+ (tags_last): Likewise.
+ (netbsd_module): New struct.
+ (netbsd_mods): New variable.
+ (netbsd_mods_last): Likewise.
+ (openbsd_opts): New parameter "serial".
+ (OPENBSD_SERIAL_ARG): New definition.
+ (netbsd_opts): New parameter "serial".
+ (NETBSD_SERIAL_ARG): New definition.
+ (grub_freebsd_add_meta): Reorganised into ...
+ (grub_bsd_add_meta): ...this. All users updated.
+ (grub_freebsd_add_mmap): Reorganised into ...
+ (generate_e820_mmap): ...this...
+ (grub_bsd_add_mmap): ...and this. All users updated.
+ (grub_freebsd_list_modules): Use tags.
+ (grub_netbsd_add_meta_module): New function.
+ (grub_netbsd_list_modules): Likewise.
+ (grub_freebsd_boot): Use relocator and finish EFI.
+ (grub_openbsd_boot): Likewise.
+ (grub_netbsd_setup_video): New function.
+ (grub_netbsd_add_modules): Likewise.
+ (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
+ and finish EFI.
+ (grub_bsd_unload): Unload tags.
+ (grub_bsd_load_aout): Use relocator.
+ (grub_bsd_elf32_size_hook): New function.
+ (grub_bsd_elf32_hook): Use relocator.
+ (grub_bsd_elf64_size_hook): New function.
+ (grub_bsd_elf64_hook): Use relocator.
+ (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
+ (grub_bsd_load): Zero-out openbsd_ramdisk.
+ (grub_bsd_load): Use relocator.
+ (grub_cmd_openbsd): Support serial.
+ (grub_cmd_netbsd): Support modules.
+ (grub_cmd_freebsd_module): Use relocator.
+ (grub_netbsd_module_load): New function.
+ (grub_cmd_netbsd_module): Likewise.
+ (grub_cmd_openbsd_ramdisk): Likewise.
+ (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
+ kopenbsd_ramdisk.
+ (GRUB_MOD_FINI): Unregister new commands.
+ * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
+ (grub_freebsd_load_elfmodule_obj): Use relocator.
+ (grub_freebsd_load_elfmodule): Likewise.
+ (grub_freebsd_load_elf_meta): Likewise.
+ (grub_netbsd_load_elf_meta): New function.
+ (grub_openbsd_find_ramdisk): Likewise.
+ * grub-core/loader/i386/bsd_helper.S: Removed.
+ * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
+ * grub-core/loader/i386/bsd_trampoline.S: Removed.
+ * grub-core/loader/i386/efi/linux.c: Likewise.
+ * grub-core/loader/i386/ieee1275/linux.c: Likewise.
+ * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
+ (DEFAULT_VIDEO_MODE): Likewise.
+ (real_mode_target): New variable.
+ (prot_mode_target): Likewise.
+ (initrd_mem_target): Likewise.
+ (relocator): Likewise.
+ (efi_mmap_buf): Likewise.
+ (efi_mmap_size): Likewise.
+ (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
+ (free_pages): Use relocator.
+ (allocate_pages): Account for efi_mmap and use relocator. Return error.
+ (grub_linux_setup_video): Return error.
+ (grub_linux_trampoline_start): Removed.
+ (grub_linux_trampoline_end): Likewise.
+ (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
+ andd video parameters depending on firmware.
+ [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
+ [GRUB_MACHINE_EFI]: Pass EFI parameters.
+ (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
+ (grub_cmd_initrd): Use relocator.
+ * grub-core/loader/i386/linux_trampoline.S: Removed.
+ * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
+ (elf_sec_entsize): Likewise.
+ (elf_sec_shstrndx): Likewise.
+ (elf_sections): Likewise.
+ (grub_multiboot_load): Use relocator.
+ (grub_multiboot_get_mbi_size): Account for sections.
+ (grub_multiboot_make_mbi): Use relocator and support sections.
+ (grub_multiboot_add_elfsyms): New function.
+ (grub_multiboot_free_mbi): Free sections.
+ * grub-core/loader/i386/pc/linux.c (relocator): New variable.
+ (grub_linux_real_target): Likewise.
+ (grub_linux_real_chunk): Likewise.
+ (grub_linux16_prot_size): Likewise.
+ (grub_linux16_boot): Use relocator.
+ (grub_linux_unload): Unload relocator.
+ (grub_cmd_linux): Use relocator.
+ (grub_cmd_initrd): Likewise.
+ * grub-core/loader/i386/pc/ntldr.c: New file.
+ * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
+ Don't try to guess CPU frequency.
+ (grub_xnu_set_video): Stretch bitmap.
+ (grub_xnu_boot): Use relocator.
+ * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
+ (grub_linux_unload): Free relocator.
+ (grub_linux_load32): Use relocator.
+ (grub_linux_load64): Likewise.
+ (grub_cmd_initrd): Likewise.
+ * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
+ (grub_multiboot_unload): Unload relocator.
+ (grub_cmd_multiboot): Use relocator.
+ (grub_cmd_module): Likewise.
+ * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
+ Use relocator and support sections.
+ * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
+ (elf_sec_entsize): Likewise.
+ (elf_sec_shstrndx): Likewise.
+ (elf_sections): Likewise.
+ (grub_multiboot_load): Use relocator.
+ (grub_multiboot_get_mbi_size): Account for sections.
+ (grub_multiboot_make_mbi): Use relocator and support sections.
+ (grub_multiboot_add_elfsyms): New function.
+ * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
+ * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
+ * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
+ Prototype changed. All users updated.
+ (grub_xnu_align_heap): Simplified.
+ (grub_xnu_writetree_toheap): Likewise.
+ (grub_xnu_unload): Unload relocator.
+ (grub_cmd_xnu_kernel): Use relocator.
+ (grub_cmd_xnu_kernel64): Likewise.
+ (grub_xnu_register_memory): Simplified.
+ * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
+ * grub-core/term/efi/console.c (grub_console_putchar): Abort if
+ EFI is finished.
+ (grub_console_checkkey): Likewise.
+ (grub_console_getkey): Likewise.
+ (grub_console_getwh): Likewise.
+ (grub_console_getxy): Likewise.
+ (grub_console_gotoxy): Likewise.
+ (grub_console_cls): Likewise.
+ (grub_console_setcolorstate): Likewise.
+ (grub_console_setcursor): Likewise.
+ * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
+ * grub-core/tests/boot/kbsd.init-i386.S: New file.
+ * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
+ * grub-core/tests/boot/kbsd.spec.txt: Likewise.
+ * grub-core/tests/boot/kernel-8086.S: Likewise.
+ * grub-core/tests/boot/kernel-i386.S: Likewise.
+ * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
+ * grub-core/tests/boot/kfreebsd.cfg: Likewise.
+ * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
+ * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
+ * grub-core/tests/boot/knetbsd.cfg: Likewise.
+ * grub-core/tests/boot/kopenbsd.cfg: Likewise.
+ * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
+ * grub-core/tests/boot/linux.cfg: Likewise.
+ * grub-core/tests/boot/linux.init-i386.S: Likewise.
+ * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
+ * grub-core/tests/boot/linux16.cfg: Likewise.
+ * grub-core/tests/boot/multiboot.cfg: Likewise.
+ * grub-core/tests/boot/multiboot2.cfg: Likewise.
+ * grub-core/tests/boot/ntldr.cfg: Likewise.
+ * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
+ * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
+ * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
+ New definition.
+ * include/grub/dl.h (grub_dl_unload_all): Removed.
+ * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
+ (grub_efi_finish_boot_services): Change prototype.
+ (grub_efi_is_finished): New variable.
+ * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
+ Changed prototype.
+ (grub_efiemu_finish_boot_services): Removed.
+ (grub_machine_efiemu_init_tables): New prototype.
+ * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
+ (grub_elf64_phdr_iterate): Likewise.
+ * include/grub/i386/bsd.h: Include relocator.h.
+ (freebsd_tag_header): New struct.
+ (grub_openbsd_bios_mmap): Removed.
+ (grub_unix_real_boot): Removed.
+ (grub_freebsd_load_elfmodule32): Changed prototype.
+ (grub_freebsd_load_elfmodule_obj64): Likewise.
+ (grub_freebsd_load_elf_meta32): Likewise.
+ (grub_freebsd_load_elf_meta64): Likewise.
+ (grub_freebsd_add_meta): Removed.
+ (grub_netbsd_load_elf_meta32): New prototype.
+ (grub_netbsd_load_elf_meta64): Likewise.
+ (grub_bsd_add_meta): Likewise.
+ (grub_openbsd_ramdisk_descriptor): New struct.
+ (grub_openbsd_find_ramdisk32): New prototype.
+ (grub_openbsd_find_ramdisk64): Likewise.
+ * include/grub/i386/coreboot/loader.h: Removed.
+ * include/grub/i386/efi/loader.h: Likewise.
+ * include/grub/i386/ieee1275/loader.h: Likewise.
+ * include/grub/i386/linux.h (linux_kernel_header): Change void *
+ to grub_uint32_t.
+ * include/grub/i386/loader.h: Removed.
+ * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
+ value.
+ (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
+ (grub_phys_addr_t): New type.
+ (grub_vtop): New inline function.
+ (grub_map_memory): Likewise.
+ (grub_unmap_memory): Likewise.
+ * include/grub/i386/multiboot/loader.h: Removed.
+ * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
+ (NETBSD_BTINFO_CONSOLE): New definition.
+ (NETBSD_BTINFO_SYMTAB): Likewise.
+ (NETBSD_BTINFO_MODULES): Likewise.
+ (NETBSD_BTINFO_FRAMEBUF): Likewise.
+ (grub_netbsd_bootinfo): New struct.
+ (grub_netbsd_btinfo_common): Use explicit bitsize.
+ (grub_netbsd_btinfo_mmap_entry): Removed.
+ (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
+ (grub_netbsd_btinfo_bootdisk): New struct.
+ (grub_netbsd_btinfo_symtab): Likewise.
+ (grub_netbsd_btinfo_serial): Likewise.
+ (grub_netbsd_btinfo_modules): Likewise.
+ (grub_netbsd_btinfo_framebuf): Likewise.
+ (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
+ * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
+ Likewise.
+ (grub_openbsd_bootargs): Use explicit bitsize.
+ (grub_openbsd_bootarg_console): New struct.
+ (GRUB_OPENBSD_COM_MAJOR): New definition.
+ (GRUB_OPENBSD_VGA_MAJOR): Likewise.
+ * include/grub/i386/pc/efiemu.h: Removed.
+ * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
+ * include/grub/i386/qemu/loader.h: Removed.
+ * include/grub/i386/relocator.h: Rewritten.
+ * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
+ * include/grub/mips/memory.h: New file.
+ * include/grub/mips/multiboot.h: Rewritten.
+ * include/grub/mips/relocator.h: Rewritten.
+ * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
+ (grub_vtop): New function.
+ (grub_map_memory): Likewise.
+ (grub_unmap_memory): Likewise.
+ * include/grub/misc.h (ALIGN_DOWN): New definition.
+ * include/grub/mm.h (grub_mm_check_real): New proto.
+ (GRUB_MM_CHECK): New definition.
+ * include/grub/mm_private.h: New file.
+ * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
+ (grub_multiboot_get_mbi_size): Removed.
+ (grub_multiboot_make_mbi): Change prottype.
+ (grub_multiboot_set_accepts_video): New proto.
+ (grub_multiboot_add_elfsyms): Likewise.
+ (grub_multiboot_payload_eip): New variable.
+ * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
+ New prototype.
+ * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
+ New definition.
+ (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
+ (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
+ * include/grub/powerpc/ieee1275/loader.h: Removed.
+ * include/grub/powerpc/memory.h: New file.
+ * include/grub/powerpc/relocator.h: Likewise.
+ * include/grub/relocator.h: Likewise.
+ * include/grub/relocator_private.h: Likewise.
+ * include/grub/sparc64/ieee1275/loader.h: Removed.
+ * include/grub/x86_64/memory.h: New file.
+ * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
+ (grub_xnu_heap_malloc): Likewise.
+ (grub_xnu_heap_real_start): Removed.
+ (grub_xnu_heap_start): Likewise.
+ (grub_xnu_relocator): New variable.
+ (grub_xnu_heap_target_start): Likewise.
+ * tests/util/grub-shell.in: Support non-pc.
+ * util/grub-mkimage.c (image_targets): Fix multiboot target.
+
+2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
+ on malloc error.
+ (grub_bidi_logical_to_visual): Check that malloc succeded.
+ * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
+ puts.
+ (grub_xputs_normal): Likewise.
+
+2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
+ extra_dist.
+
+2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/efiemu/runtime/efiemu.sh: Removed.
+
+2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.util.def (grub-ofpathname): Add missing ldadd.
+
+2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
+ dprintf.
+
+2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * Makefile.util.def: Use ldadd instead of ldflags for libraries.
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/term.c (print_more): Fix a memory leak.
+ (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
+ (grub_xputs_normal): Likewise.
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
+ the begining of the string
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/script/script.c (grub_script_parse): Free parsed on
+ failure.
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
+ on failure.
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
+ return.
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
+ (scroll_up): Fix a memory leak.
+
+2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
+ errors.
+
+2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Handle USB pendrives exposed as floppies.
+
+ * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
+ floppy.
+ * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
+ Check for partitions on all devices.
+
+2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
+ (readkey): Likewise.
+
+2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Multiple variable names support to "export" command.
+
+ * normal/context.c (grub_cmd_export): "export" command supports
+ multiple variable names.
+
+2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
+ --target=drive output to Mach device name.
+
+2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
+
+ New Automake based build system for GRUB.
+
+ * ABOUT-NLS: New file.
+ * Makefile.am: New file. GRUB host utils' rules that doesn't fit
+ in Makefile.util.def file.
+ * Makefile.util.def: New file. Autogen build definitions file for
+ GRUB host utils.
+ * conf/Makefile.common: New file. Common variables for GRUB host
+ utils and target modules.
+ * conf/Makefile.extra-dist: New file. Extra files for make dist.
+ * docs/Makefile.am: New file. Automake file for docs.
+ * gentpl.py: New file. Python script to generate Autogen
+ template.
+ * grub-core/Makefile.am: New file. GRUB target modules' rules
+ that doesn't fit in Makefile.core.def file.
+ * grub-core/Makefile.core.def: New file. Autogen build
+ definitions file for GRUB target modules.
+ * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
+ specific setjmp.S file.
+ * po/Makefile.am: New file.
+
+ * .bzrignore: New ignores.
+ * INSTALL: New requirements, without Ruby.
+ * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
+ * autogen.sh: Updated to invoke autogen as necessary.
+ * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
+ and defines for Automake conditionals.
+ * geninit.sh: Refactoring.
+
+ * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
+ necessary.
+ * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
+ New prototype.
+
+ * include/grub/test.h: Fix functional test modules' naming.
+ * grub-core/tests/example_functional_test.c: Fix test module name.
+
+ * util/misc.c: Hosted versions' of grub functions for libgrub.a
+ * tests/lib/unit_test.c: Remove hosted versions of grub functions.
+ * util/grub-editenv.c: Likewise.
+ * util/grub-fstest.c: Likewise.
+ * util/grub-mkdevicemap.c: Likewise.
+ * util/grub-mkfont.c: Likewise.
+ * util/grub-mkimage.c: Likewise.
+ * util/grub-mkpasswd-pbkdf2.c: Likewise.
+ * util/grub-probe.c: Likewise.
+ * util/grub-script-check.c: Likewise.
+ * util/i386/pc/grub-setup.c: Likewise.
+ * util/sparc64/ieee1275/grub-setup.c: Likewise.
+
+ * tests/util/grub-shell.in: Fix override directory path.
+ * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
+ * util/import_gcry.py: Create Makefile.gcry.def file instead.
+
+ * util/lvm.c: Update #includes.
+ * util/raid.c: Likewise.
+ * util/resolve.c: Likewise.
+ * grub-core/bus/emu/pci.c: Likewise.
+ * grub-core/lib/posix_wrap/stdlib.h: Likewise.
+ * grub-core/lib/posix_wrap/string.h: Likewise.
+ * grub-core/kern/emu/main.c: Likewise.
+
+ * grub-core/gensymlist.sh: New file. Script for generating kernel
+ symbols file.
+ * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
+
+ * grub-core/gentrigtables.c: Fix unused variable warnings.
+
+ * Makefile.in: Removed.
+ * conf/any-emu.rmk: Removed.
+ * conf/common.rmk: Removed.
+ * conf/i386-coreboot.rmk: Removed.
+ * conf/i386-efi.rmk: Removed.
+ * conf/i386-ieee1275.rmk: Removed.
+ * conf/i386-multiboot.rmk: Removed.
+ * conf/i386-pc.rmk: Removed.
+ * conf/i386-qemu.rmk: Removed.
+ * conf/i386.rmk: Removed.
+ * conf/mips-yeeloong.rmk: Removed.
+ * conf/mips.rmk: Removed.
+ * conf/powerpc-ieee1275.rmk: Removed.
+ * conf/sparc64-ieee1275.rmk: Removed.
+ * conf/tests.rmk: Removed.
+ * conf/x86-efi.rmk: Removed.
+ * conf/x86_64-efi.rmk: Removed.
+ * gendistlist.sh: Removed.
+ * geninitheader.sh: Removed.
+ * genkernsyms.sh.in: Removed.
+ * genmk.rb: Removed.
+ * gensymlist.sh.in: Removed.
+ * mkinstalldirs: Removed.
+ * boot: Moved ...
+ * grub-core/boot: ... to here.
+ * bus: Moved ...
+ * grub-core/bus: ... to here.
+ * commands: Moved ...
+ * grub-core/commands: ... to here.
+ * disk: Moved ...
+ * grub-core/disk: ... to here.
+ * efiemu: Moved ...
+ * grub-core/efiemu: ... to here.
+ * font: Moved ...
+ * grub-core/font: ... to here.
+ * fs: Moved ...
+ * grub-core/fs: ... to here.
+ * gencmdlist.sh: Moved ...
+ * grub-core/gencmdlist.sh: ... to here.
+ * genemuinit.sh: Moved ...
+ * grub-core/genemuinit.sh: ... to here.
+ * genemuinitheader.sh: Moved ...
+ * grub-core/genemuinitheader.sh: ... to here.
+ * genfslist.sh: Moved ...
+ * grub-core/genfslist.sh: ... to here.
+ * genhandlerlist.sh: Moved ...
+ * grub-core/genhandlerlist.sh: ... to here.
+ * genmoddep.awk: Moved ...
+ * grub-core/genmoddep.awk: ... to here.
+ * genmodsrc.sh: Moved ...
+ * grub-core/genmodsrc.sh: ... to here.
+ * genpartmaplist.sh: Moved ...
+ * grub-core/genpartmaplist.sh: ... to here.
+ * genparttoollist.sh: Moved ...
+ * grub-core/genparttoollist.sh: ... to here.
+ * genterminallist.sh: Moved ...
+ * grub-core/genterminallist.sh: ... to here.
+ * gentrigtables.c: Moved ...
+ * grub-core/gentrigtables.c: ... to here.
+ * genvideolist.sh: Moved ...
+ * grub-core/genvideolist.sh: ... to here.
+ * gettext: Moved ...
+ * grub-core/gettext: ... to here.
+ * gfxmenu: Moved ...
+ * grub-core/gfxmenu: ... to here.
+ * gnulib: Moved ...
+ * grub-core/gnulib: ... to here.
+ * hello: Moved ...
+ * grub-core/hello: ... to here.
+ * hook: Moved ...
+ * grub-core/hook: ... to here.
+ * io: Moved ...
+ * grub-core/io: ... to here.
+ * kern: Moved ...
+ * grub-core/kern: ... to here.
+ * lib: Moved ...
+ * grub-core/lib: ... to here.
+ * loader: Moved ...
+ * grub-core/loader: ... to here.
+ * mmap: Moved ...
+ * grub-core/mmap: ... to here.
+ * normal: Moved ...
+ * grub-core/normal: ... to here.
+ * partmap: Moved ...
+ * grub-core/partmap: ... to here.
+ * parttool: Moved ...
+ * grub-core/parttool: ... to here.
+ * script: Moved ...
+ * grub-core/script: ... to here.
+ * term: Moved ...
+ * grub-core/term: ... to here
+ * tests/example_functional_test.c: Moved ...
+ * grub-core/tests/example_functional_test.c: ... to here.
+ * tests/lib/functional_test.c: Moved ...
+ * grub-core/tests/lib/functional_test.c: ... to here.
+ * tests/lib/test.c: Moved ...
+ * grub-core/tests/lib/test.c: ... to here.
+ * video: Moved ...
+ * grub-core/video: ... to here.
+
+2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Replace --enable-grub-emu-modules with grub-emu-lite.
+
+ * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
+ cache.S.
+
+ * include/grub/emu/misc.h (grub_emu_init): New prototype.
+ * kern/emu/full.c: New file. For grub-emu specific initialization.
+ * kern/emu/lite.c: New file. For grub-emu-lite initialization.
+ * kern/emu/main.c: Call initialization function grub_emu_init.
+
+ * Makefile.in: Include grub-emu-lite in install.
+ * commands/parttool.c: Use grub_no_autoload to differentiate
+ between grub-emu and grub-emu-lite.
+ * include/grub/misc.h: New variable grub_no_autoload.
+
+ * conf/any-emu.rmk: New rules for grub-emu-lite.
+ * configure.ac: Remove --enable-grub-emu-modules.
+ * genmk.rb: Cleanup unnecessary rules.
+ * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
+
+ * normal/main.c: Don't load list files on grub-emu-lite.
+ * util/misc.c (grub_arch_sync_caches): Removed.
+
+2010-08-23 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/mips/startup.S (grub_prefix): Update comment to refer to
+ grub-mkimage rather than grub-mkelfimage.
+ * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
+
+2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
+ a key after CapsLock or NumLock. It's just a qemu bug.
+
+2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
+ needed by libusb wrapper.
+
+2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
+
+2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/multiboot.c (grub_cmd_module): Don't unzip module if
+ --nounzip is passed.
+
+2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ USB hotunplugging and USB serial support.
+
+ * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
+ * bus/usb/uhci.c (grub_free_queue): Compute *actual.
+ (grub_uhci_transfer): Respect timeout and set *actual.
+ * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
+ non-standard length.
+ (grub_usb_device_attach): Autoload modules.
+ (GRUB_MOD_INIT): Set grub_term_poll_usb.
+ (GRUB_MOD_FINI): Unset grub_term_poll_usb.
+ * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
+ users updated.
+ (grub_usb_add_hub): Fill nports and children.
+ (attach_root_port): Receive hub instead of controller.
+ All users updated. Fill hub->devices.
+ (grub_usb_root_hub): Allocate hub->devices.
+ (detach_device): New function.
+ (poll_nonroot_hub): Fill children and detach devices.
+ * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
+ actual arguments. All users updated.
+ (grub_usb_bulk_read_extended): New function.
+ * bus/usb/serial/common.c: New file.
+ * bus/usb/serial/ftdi.c: Likewise.
+ * bus/usb/serial/pl2303.c: Likewise.
+ * commands/terminal.c (handle_command): Support wildcard.
+ * commands/usbtest.c: Output "Unknown" instead of empty string.
+ * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
+ (usbserial_common_mod_SOURCES): New variable.
+ (usbserial_common_mod_CFLAGS): Likewise.
+ (usbserial_common_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES): Add usbserial_pl2303.mod.
+ (usbserial_pl2303_mod_SOURCES): New variable.
+ (usbserial_pl2303_mod_CFLAGS): Likewise.
+ (usbserial_pl2303_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES): Add usbserial_ftdi.mod.
+ (usbserial_ftdi_mod_SOURCES): New variable.
+ (usbserial_ftdi_mod_CFLAGS): Likewise.
+ (usbserial_ftdi_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES): Add serial.mod.
+ (serial_mod_SOURCES): New variable.
+ (serial_mod_CFLAGS): Likewise.
+ (serial_mod_LDFLAGS): Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/mips-yeeloong.rmk: Likewise.
+ * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
+ * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
+ * disk/usbms.c (first_available_slot): New variable.
+ (grub_usbms_attach): Don't reuse free slots due to potential cache
+ problems.
+ * include/grub/serial.h: Moved to ..
+ * include/grub/ns8250.h: ...this.
+ * include/grub/serial.h: New file.
+ * include/grub/term.h (grub_term_poll_usb): New variable.
+ * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
+ readkey. All users updated.
+ (grub_terminfo_output_state): Pass term to put.
+ * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
+ (grub_usb_controller_dev): Add timeout and actual arguments to
+ transfer. All users updated.
+ (grub_usb_interface): New field detach_data.
+ (grub_usb_device): New fields children and nports.
+ (grub_usb_ep_type_t): New type.
+ (grub_usb_get_ep_type): New function.
+ (grub_usb_bulk_read_extended): Likewise.
+ * include/grub/usbdesc.h (grub_usb_desc): New type.
+ * include/grub/usbserial.h: New file.
+ * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
+ * kern/term.c (grub_term_poll_usb): New variable.
+ (grub_getkey): Call grub_term_poll_usb if set.
+ (grub_checkkey): Likewise.
+ (grub_getkeystatus): Likewise.
+ * term/serial.c: Moved controller-specific parts to ...
+ * term/ns8250.c: ... here.
+ * term/serial.c: Mostly rewritten.
+ * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
+ according to spec.
+
+2010-08-20 Robert Millan <rmh@gnu.org>
+
+ Make kFreeBSD code more generic to support ext2fs as root, ufs as
+ a separate module and maybe other interesting combinations.
+
+ * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
+ (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
+ (kfreebsd_entry): Add generic filesystem module load routine.
+ Map GRUB `ext2' to kFreeBSD `ext2fs'.
+
+2010-08-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
+ "numcenter" (I misunderstood the purpose of this entry).
+ * docs/grub.texi (sendkey): Likewise.
+
+2010-08-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/i386/pc/sendkey.c (options): Remove "keep" from all
+ status flag options; simply omitting the option is equivalent and
+ simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
+ (keysym_table): Rename "num5numlock" to "numlock".
+ (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
+ can uniformly say that only the last of multiple `sendkey'
+ invocations has any effect.
+ * docs/grub.texi (sendkey): New section.
+
+2010-08-19 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/i386/pc/sendkey.c (options): Fix three typos.
+
+2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Implement sendkey support.
+
+ * commands/i386/pc/sendkey.c: New file.
+ * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
+ (sendkey_mod_SOURCES): New variable.
+ (sendkey_mod_CFLAGS): Likewise.
+ (sendkey_mod_LDFLAGS): Likewise.
+
+2010-08-18 Colin Watson <cjwatson@ubuntu.com>
+
+ * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
+ fix warnings from Autoconf.
+
+2010-08-18 Colin Watson <cjwatson@ubuntu.com>
+
+ * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
+ to avoid false positives with some assemblers that output things
+ like "someprefix_func" as part of their output.
+
+2010-08-15 Robert Millan <rmh@gnu.org>
+
+ * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
+ errors.
+ * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
+ grub_get_libzfs_handle() errors.
+
+2010-08-14 Robert Millan <rmh@gnu.org>
+
+ * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
+ filesystem is not ZFS.
+
+2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix for misspelled color names defaulting to black/black (bug
+ reported by Doug Nazar)
+
+ * include/grub/normal.h (grub_parse_color_name_pair): Add return
+ status to prototype.
+ * normal/color.c (grub_parse_color_name_pair): Return failure
+ status.
+ (grub_env_write_color_normal): Ignore bad color names.
+ (grub_env_write_color_highlight): Likewise.
+ * normal/main.c (GRUB_MOD_INIT): Set default color names.
+
+2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
+
+ "shift" command support to GRUB script.
+
+ * include/grub/script_sh.h (grub_script_shift): New prototype.
+ * script/execute.c (grub_script_shift): New function.
+ * script/main.c (grub_script_init): Register shift command.
+ (grub_script_fini): Unregister shift command.
+ * util/grub-script-check.c (grub_script_cmd_shift): New function.
+
+ * tests/grub_script_shift.in: New testcase.
+ * conf/tests.rmk: Rules for new testcase.
+
+2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
+
+ "continue" command support to GRUB script.
+
+ * script/execute.c (grub_script_execute_cmdwhile): Continue support.
+ (grub_script_break): Continue support.
+ * script/main.c (grub_script_init): Register continue command.
+ (grub_script_fini): Unregister continue command.
+
+ * tests/grub_script_continue.in: New testcase.
+ * conf/tests.rmk: Rules for new testcase.
+
+2010-08-12 BVK Chaitanya <bvk@dbook>
+
+ "break" command support to GRUB script.
+
+ * conf/common.rmk: Rule updates to grub-script-check.
+ * include/grub/misc.h (grub_min): New function.
+ * include/grub/script_sh.h (grub_script_init): New prototype.
+ (grub_script_fini): New prototype.
+ (grub_script_break): New prototype.
+ * script/main.c (grub_script_init): New function.
+ (grub_script_fini): New function.
+ * script/execute.c (grub_script_break): New function.
+ * normal/main.c: Calls to grub_script_{init,fini}.
+ * util/grub-script-check.c (grub_script_break): New function.
+
+ * tests/grub_script_break.in: New testcase.
+ * conf/tests.rmk: Rules for new test case.
+
+2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Function parameters support to GRUB script.
+
+ * script/yylex.l (VARIABLE): Regular expression update.
+ * script/function.c (grub_script_function_call): Moved ...
+ * script/execute.c (grub_script_function_call): ... to here.
+ (grub_script_execute_arglist_to_argv): Removed.
+ (grub_script_arglist_to_argv): New function.
+ * script/argv.c: New file.
+ (grub_script_argv_free): New function.
+ (grub_script_argv_next): Likewise.
+ (grub_script_argv_append): Likewise.
+ (grub_script_argv_split_append): Likewise.
+ * include/grub/script_sh.h (grub_script_argv): New struct.
+ (grub_script_argv_free): New function.
+ (grub_script_argv_next): Likewise.
+ (grub_script_argv_append): Likewise.
+ (grub_script_argv_split_append): Likewise.
+
+ * conf/common.rmk (normal.mod): New source script/argv.c.
+
+ * tests/grub_script_echo1.in: More tests.
+ * tests/grub_script_vars1.in: Likewise.
+ * tests/grub_script_functions.in: New test case.
+ * conf/tests.rmk: Rules for new testcase.
+
+2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Remove grub_script_cmdblock struct.
+
+ * include/grub/script_sh.h: Remove grub_script_cmdblock.
+ * script/parser.y: Likewise.
+ * script/execute.c: Rename cmdblock suffix to cmdlist.
+ * script/script.c: Likewise.
+ * util/grub-script-check.c: Likewise.
+
+2010-08-11 Yves Blusseau <blusseau@zetam.org>
+
+ * .bzrignore: add grub-macho2img
+
+2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
+
+2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove the dump of sm712 initialisation sequence.
+
+ * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
+ * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
+ (GRUB_VGA_IO_MISC_WRITE): Likewise.
+ (GRUB_VGA_CR_*): Added many registers.
+ (GRUB_VGA_SR_*): Likewise.
+ (GRUB_VGA_GR_*): Likewise.
+ (grub_vga_write_arx): New function.
+ (grub_video_hw_config): New struct.
+ (grub_vga_set_geometry): New function.
+ * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
+ GRUB_PCI_CLASS_SUBCLASS_VGA.
+ * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
+ * video/sm712.c (grub_sm712_write_reg): New function
+ (grub_sm712_read_reg): Likewise.
+ (grub_sm712_sr_write): Likewise.
+ (grub_sm712_gr_write): Likewise.
+ (grub_sm712_cr_write): Likewise.
+ (grub_sm712_write_arx): Likewise.
+ (grub_sm712_cr_shadow_write): Likewise.
+ (grub_sm712_write_dda_lookup): Likewise.
+ (grub_video_sm712_setup): Initialise the video rather then
+ blindly replay the dump.
+ (main) [TEST]: Add a routine to be able to compile as standalone for
+ tests.
+ * video/sm712_init.c (sm712_init): Removed.
+ (sm712_sr_seq1): New array.
+ (sm712_sr_seq2): Likewise.
+
+2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/vga.h: Add missing grub/pci.h include.
+
+2010-08-10 Yves Blusseau <blusseau@zetam.org>
+
+ * util/grub-macho2img.c (main): fix typo
+
+2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
+ (grub_vga_gr_read): Likewise.
+ (grub_vga_cr_write): Likewise.
+ (grub_vga_cr_read): Likewise.
+ (grub_vga_sr_write): Likewise.
+ (grub_vga_sr_read): Likewise.
+ (grub_vga_palette_read): Likewise.
+ (grub_vga_palette_write): Likewise.
+ * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
+ (grub_sm712_sr_read): New function.
+ (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
+ * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
+
+2010-08-09 Robert Millan <rmh@gnu.org>
+
+ * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
+ out unused variables on non-ZFS build.
+
+2010-08-08 Robert Millan <rmh@gnu.org>
+
+ Fix path generation for sub-filesystems in ZFS.
+
+ * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
+ missing slash.
+
+2010-08-08 Robert Millan <rmh@gnu.org>
+
+ * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
+
+2010-08-08 Robert Millan <rmh@gnu.org>
+
+ * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
+ exist, issue a proper error message (rely on `ls' for translated
+ strings).
+
+2010-08-08 Robert Millan <rmh@gnu.org>
+
+ Fix grub-probe invocation.
+
+ * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
+
+2010-08-04 Robert Millan <rmh@gnu.org>
+
+ * configure.ac: Remove checks for getfsstat() and getmntany().
+ Add checks for `<sys/param.h>' and `<sys/mount.h>'.
+ * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
+ [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
+ [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
+ [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
+ function.
+ (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
+ via find_mount_point_from_dir() and getfsstat() / getmntany().
+
+2010-08-04 Robert Millan <rmh@gnu.org>
+
+ * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
+ (grub_find_zpool_from_mount_point): Merge into ...
+ (grub_find_zpool_from_dir): ... this.
+ * kern/emu/misc.c: Likewise.
+
+ * kern/emu/misc.c
+ (grub_make_system_path_relative_to_its_root): Replace
+ grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
+ with grub_find_zpool_from_dir().
+ * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
+
+2010-08-04 Robert Millan <rmh@gnu.org>
+
+ Support OpenSolaris in ZFS device resolution.
+
+ * configure.ac: Check for getmntany().
+ * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
+ [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
+ support.
+
+2010-08-03 Robert Millan <rmh@gnu.org>
+
+ Fix grub-emu build.
+
+ * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
+ * include/grub/emu/misc.h: ... here.
+
+ * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
+ * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
+
+ * util/misc.c: Remove `<grub/util/libzfs.h>'.
+ [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
+ (grub_get_libzfs_handle): Move to ...
+ * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
+ (grub_get_libzfs_handle): ... here.
+
+2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * script/execute.c (grub_script_execute_cmdline): Check for NULL
+ as command name case.
+
+2010-08-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * disk/raid.c (insert_array): Select unique numbers for named arrays
+ as well, for use as keys in the disk cache.
+
+2010-08-01 Robert Millan <rmh@gnu.org>
+
+ * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
+ kFreeBSD device name, except on ZFS where the filesystem label is
+ used.
+ (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
+ `/boot/zfs/zpool.cache'.
+ Set mountfrom kernel variable using ${kfreebsd_device}.
+
+2010-08-01 Robert Millan <rmh@gnu.org>
+
+ Make it even harder to use uninitialized `libzfs_handle' (and
+ make the interface a bit simpler).
+
+ * include/grub/util/misc.h (grub_util_init_libzfs)
+ (libzfs_handle): Remove.
+ (grub_get_libzfs_handle): New prototype.
+
+ * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
+ attribute.
+ (grub_util_init_libzfs): Remove.
+ (grub_get_libzfs_handle): New function.
+
+ * kern/emu/getroot.c (find_root_device_from_libzfs): Use
+ grub_get_libzfs_handle() to obtain a libzfs handle instead of
+ accessing `libzfs_handle' directly.
+
+2010-08-01 Robert Millan <rmh@gnu.org>
+
+ * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
+ (grub_find_zpool_from_mount_point): New function prototypes.
+
+ * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
+ * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
+
+ * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
+ * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
+ `static' attribute.
+
+ * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
+ finding zpool from mount point into ...
+ * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
+
+ * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
+ requested path is part of a ZFS pool, use
+ grub_find_zpool_from_mount_point() to detect its filesystem name,
+ and generate a path with `/fsname@path' syntax.
+
+2010-08-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/util/libzfs.h (libzfs_init): Set argument list to
+ (void) rather than () so that this is a proper prototype.
+
+2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
+
+2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
+ [HAVE_LIBZFS && HAVE_LIBNVPAIR]
+
+2010-08-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
+
+2010-08-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
+
+2010-08-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
+ and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
+ GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
+ disable gfxpayload.
+ (Shell-like scripting): Add real content.
+ (Serial terminal): Suggest `terminal_input serial; terminal_output
+ serial' rather than putting the two commands on separate lines,
+ since console input will be inoperative after the first command.
+ (menuentry): Document --class, --users, and --hotkey options.
+ (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
+ Vladimir Serbinenko).
+
+2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
+2010-08-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
+
+2010-08-01 Robert Millan <rmh@gnu.org>
+
+ * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
+ (grub_find_zpool_from_mount_point): New function prototypes.
+
+ * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
+ * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
+
+ * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
+ * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
+ `static' attribute.
+
+ * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
+ finding zpool from mount point into ...
+ * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
+
+ * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
+ requested path is part of a ZFS pool, use
+ grub_find_zpool_from_mount_point() to detect its filesystem name,
+ and generate a path with `/fsname@path' syntax.
+
+2010-08-01 Robert Millan <rmh@gnu.org>
+
+ Prevent accidental use of uninitialized libzfs_handle.
+
+ * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
+ * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
+ * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
+
+2010-08-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
+ util/grub.d/10_linux.in). Fixes Debian bug #591093.
+
+2010-08-01 Robert Millan <rmh@gnu.org>
+
+ * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
+
+2010-07-31 Robert Millan <rmh@gnu.org>
+
+ * util/grub.d/10_kfreebsd.in: Make module handling more generic.
+
+2010-07-31 Robert Millan <rmh@gnu.org>
+
+ * kern/emu/misc.c: Add missing license header.
+
+2010-07-31 Robert Millan <rmh@gnu.org>
+
+ * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
+
+ * include/grub/util/libnvpair.h: Include `<config.h>'.
+ [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
+ declaring libnvpair prototypes ourselves.
+ * include/grub/util/libzfs.h: Include `<config.h>'.
+ [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
+ declaring libzfs prototypes ourselves.
+
+ (libzfs_handle): Moved to ...
+ * include/grub/util/misc.h (libzfs_handle): ... here.
+ Include `<grub/util/libzfs.h>'.
+
+2010-07-30 Robert Millan <rmh@gnu.org>
+
+ * include/grub/emu/misc.h: Add missing license header.
+
+2010-07-30 Robert Millan <rmh@gnu.org>
+
+ Enable `grub-probe -t device' resolution on ZFS.
+
+ * configure.ac: Check for getfsstat(), libzfs and libnvpair.
+ * include/grub/util/libnvpair.h: New file.
+ * include/grub/util/libzfs.h: New file.
+
+ * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
+ [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
+ `<grub/util/libnvpair.h>'.
+ [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
+
+ (find_mount_point_from_dir): New static function.
+ [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
+ function.
+ [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
+ find_root_device_from_libzfs() before ressorting to find_root_device().
+
+ * include/grub/util/misc.h (grub_util_init_libzfs): New function
+ prototype.
+ * util/misc.c: Include `<grub/util/libzfs.h>'.
+ (grub_util_init_libzfs): New function.
+ [HAVE_LIBZFS] (libzfs_handle): New global variable.
+ [HAVE_LIBZFS] (fini_libzfs): New static function.
+ (grub_util_init_libzfs): New function.
+ * util/grub-probe.c (main): Call grub_util_init_libzfs().
+
+2010-07-30 Robert Millan <rmh@gnu.org>
+
+ * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
+ (xmalloc, xrealloc, xstrdup, xasprintf): Add
+ `warn_unused_result' attribute.
+ * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
+ (grub_xasprintf, grub_xvasprintf): Likewise.
+ * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
+
+2010-07-29 Robert Millan <rmh@gnu.org>
+
+ * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
+ (probe): Handle `PRINT_FS_LABEL'.
+ (main): Handle `-t fs_label'.
+
+2010-07-29 Robert Millan <rmh@gnu.org>
+
+ * configure.ac: Remove grub-mkisofs checks.
+
+2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/ieee1275/grub-install.in: Don't use empty grub_device.
+ Reported by: Lennart Sorensen.
+
+2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/00_header.in: Remove compatibility with terminal.mod
+ prior to terminal_input/terminal_output separation. It's been over 1.5
+ years and those versions weren't widely deployed.
+
+2010-07-22 Colin Watson <cjwatson@ubuntu.com>
+
+ * disk/raid.c (insert_array): Don't count named arrays when looking
+ for unused array numbers.
+ Reported and tested by: Michael Guntsche.
+
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
+ implementation of this so that grub-emu links again, with a note
+ that this should support hotplugging in the future.
+
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
+
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
+ handle on failure.
+ (grub_loopback_close): Remove empty function.
+ (grub_loopback_dev): Remove close method.
+
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ Disable EFI cursor when the EFI console becomes inactive.
+
+ * term/efi/console.c (grub_efi_console_init): New function.
+ (grub_efi_console_fini): New function.
+ (grub_console_term_output): Register init and fini methods.
+
+2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * tests/util/grub-shell-tester.in: Remove bashism and declare as
+ sh script.
+
+2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/loopback.c (grub_loopback): Replace filename with file.
+ (delete_loopback): Handle new semantics.
+ (grub_cmd_loopback): Likewise.
+ (grub_loopback_iterate): Likewise.
+ (grub_loopback_close): Likewise.
+
+2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
+ with -p "".
+ Reported by: Tito Keitel.
+
+2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Naming convention): Document new naming convention.
+
+2010-07-20 Vadim Solomin <vadic052@gmail.com>
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ Generate device.map in something closer to the old ordering.
+
+ * util/deviceiter.c (struct device): New declaration.
+ (compare_file_names): Rename to ...
+ (compare_devices): ... this. Sort by kernel name in preference to
+ the stable by-id name, but keep the latter as a fallback comparison.
+ Update header comment.
+ (grub_util_iterate_devices) [__linux__]: Construct and sort an array
+ of `struct device' rather than of plain file names.
+
+2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
+
+ * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
+ on i386.
+
+2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/acpi.c (setup_common_tables): Use sizeof instead of
+ hardcoding size.
+ (setv1table): Likewise.
+
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
+ removing the homehost if present.
+ * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
+ (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
+ removing the homehost if present.
+ (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
+ if possible.
+ * util/i386/pc/grub-setup.c (main): Handle md/* devices.
+
+ * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
+ parameter. Set its pointer target to 0.
+ * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
+ parameter. Set its pointer target to 0 for 0.9 metadata, or to the
+ `data_offset' value from the superblock for 1.x metadata.
+ * disk/raid.c (grub_raid_read): Offset reads by the start sector of
+ data on the device.
+ (insert_array): Record the start sector of data on the device.
+ (grub_raid_register): Pass start_sector parameters to
+ grub_raid_list->detect and insert_array.
+ * include/grub/raid.h (struct grub_raid_array): Add start_sector
+ member.
+ (struct grub_raid): Add start_sector parameter to `detect'.
+
+ * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
+ __attribute__ ((packed)), leaving a comment.
+ (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
+ (grub_mdraid_detect_09): ... here and ...
+ (grub_mdraid_detect_1x): ... here.
+
+2010-07-20 Peter Henn <peter.henn@web.de>
+
+ * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
+ chunk size and disk size, which are already given as sector counts
+ as distinct from the 0.90 units. Fetch the correct device number
+ from the role table instead of using the table index.
+
+2010-07-20 Felix Zielcke <fzielcke@z-51.de>
+
+ * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
+ * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
+ (WriteMostly1): New macro.
+ Set array->name to NULL for metadata format 0.90. Add support for
+ metadata 1.x. Fix some comments.
+ * disk/raid.c (): Add support for name based RAID arrays. Fix a
+ few comments.
+ * util/getroot.c (grub_util_get_grub_dev): Add support for
+ /dev/md/name style devices.
+
+2010-07-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Ignore 20_linux_xen.
+
+2010-07-17 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/import_unicode.py: Remove unnecessary imports.
+
+2010-07-17 Aleš Nesrsta <starous@volny.cz>
+
+ Hotplugging and USB hub support.
+
+ * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
+ (grub_ohci): Likewise.
+ (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
+ (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
+ (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
+ (GRUB_OHCI_CTRL_EDS): Likewise.
+ (GRUB_OHCI_BULK_EDS): Likewise.
+ (GRUB_OHCI_TDS): Likewise.
+ (GRUB_OHCI_ED_ADDR_MASK): Likewise.
+ (grub_ohci_ed_phys2virt): New function.
+ (grub_ohci_virt_to_phys): Likewise.
+ (grub_ohci_td_phys2virt): Likewise.
+ (grub_ohci_td_virt2phys): Likewise.
+ (grub_ohci_pci_iter): Allocate memory and don't wait for stable
+ attachment.
+ (grub_ohci_find_ed): New function.
+ (grub_ohci_alloc_td): Likewise.
+ (grub_ohci_free_td): Likewise.
+ (grub_ohci_free_tds): Likewise.
+ (grub_ohci_transfer): Use previously allocated memory.
+ (grub_ohci_portstatus): Reset status changed bit.
+ (grub_ohci_detect_dev): Supply status changed.
+ (grub_ohci_fini_hw): Free memory.
+ (grub_ohci_restore_hw): Reallocate memory.
+ * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
+ Reset status change.
+ (grub_uhci_detect_dev): Supply status_change.
+ * bus/usb/usb.c (attach_hooks): New var.
+ (grub_usb_device_attach): New function.
+ (grub_usb_register_attach_hook_class): Likewise.
+ (grub_usb_unregister_attach_hook_class): Likewise.
+ * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
+ (grub_usb_add_hub): Reset connection changed bit.
+ (attach_root_port): New function.
+ (grub_usb_root_hub): Likewise.
+ (poll_nonroot_hub): Likewise.
+ (grub_usb_poll_devices): Likewise.
+ * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
+ * disk/usbms.c (grub_usbms_open): Use device hooks.
+ (grub_usbms_iterate) :Poll devices.
+ (grub_usbms_finddevs): Split into ...
+ (grub_usbms_attach): ... this ...
+ (grub_usbms_attach): ... and this.
+ * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
+ in detect_dev.
+ (grub_usb_interface): New fields attached and detach_hook.
+ (grub_usb_attach_hook_class): New type.
+ (grub_usb_attach_desc): New struct.
+ (grub_usb_register_attach_hook_class): New function.
+ (grub_usb_unregister_attach_hook_class): Likewise.
+ (grub_usb_poll_devices): Likewise.
+ (grub_usb_device_attach): Likewise.
+ * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
+ (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
+
+2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
+ * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
+ delta determination style. Works with most NetBSD partitions too.
+
+2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
+ * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
+
+2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
+
+2010-07-14 Anton Blanchard <anton@samba.org>
+
+ * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
+ ET_DYN files.
+
+2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
+
+2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * kern/partition.c (grub_partition_check_containment): New function to
+ check that a partition is physically contained in a parent. Since
+ offsets are relative (and non-negative), this reduces to checking that
+ the partition ends before its parent.
+ (grub_partition_map_probe): Discard out-of-range sub-partitions.
+ (grub_partition_iterate): Likewise.
+ * include/grub/partition.h (grub_partition_map): Slightly more detailed
+ comments.
+ * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
+ partitions that start before their parent, and add debug printfs.
+
+2010-07-13 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in (.SUFFIX): Spell correctly, as ...
+ (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
+ bare module name without `.mod', e.g. `test') tried to invoke a
+ Modula-2 compiler.
+
+2010-07-13 Colin Watson <cjwatson@ubuntu.com>
+
+ * README: Point to the Info manual.
+
+2010-07-13 Jiro SEKIBA <jir@unicus.jp>
+
+ * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
+ 2nd superblock position from partition size.
+
+2010-07-10 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in (MAINTAINER_CLEANFILES): Remove
+ unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
+ unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
+ outputs.
+
+2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Restructure SCSI .id handling.
+ Reported and tested by: Aleš Nesrsta.
+
+ * disk/ata.c (grub_atapi_close): Removed. All users updated.
+ (grub_atapi_dev): Changed .name to "ata". New field .id.
+ * disk/usbms.c (grub_usbms_close): Removed. All users updated.
+ (grub_usbms_dev): New field .id.
+ * disk/scsi.c (grub_scsi_iterate): Generate name.
+ (grub_scsi_open): Parse name.
+ * include/grub/scsi.h (grub_make_scsi_id): New function.
+ (grub_scsi_dev): Change iterate and open to number instead of naming
+ busses. All users updated.
+ (grub_scsi): Remove name. Add .bus.
+
+2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/help.c (grub_cmd_help): Fix a typo.
+
+2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
+ Reported and tested by: Colin Watson.
+
+2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
+ in this context.
+
+2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
+
+2010-07-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
+ indentation.
+
+2010-07-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
+ and disk/raid6_recover.c.
+ * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
+
+2010-07-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * term/gfxterm.c (repaint_schedulded): Rename to ...
+ (repaint_scheduled): ... this. Update all callers.
+ (repaint_was_schedulded): Rename to ...
+ (repaint_was_scheduled): ... this. Update all callers.
+
+2010-07-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
+ which we expect to be handled by upper layers.
+
+2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * bus/usb/usbhub.c: #include time.h header.
+
+2010-07-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
+ entry_name also for entries without stat blocks (e.g. ".."); fixes
+ corruption of the first entry in a directory.
+
+2010-07-06 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
+ after setting gfxterm as the active terminal. GRUB_BACKGROUND
+ doesn't work otherwise.
+
+2010-07-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Features): Update list of supported file systems.
+ (GNU/Linux): Update for GRUB 2.
+ (Serial terminal): Remove mention of --disable-serial, which was a
+ GRUB Legacy configure option. Update instructions to use
+ `terminal_input' and `terminal_output' rather than `terminal'.
+ (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
+ configuration' and `Installing GRUB using grub-install'.
+ (Menu entry editor): Update for GRUB 2.
+ (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
+ Document new -a, -u, and -v options.
+ (initrd): New section.
+ (initrd16): New section.
+ (linux): New section.
+ (linux16): New section.
+ (search): The `var' argument to `--set' is optional.
+ (GRUB only offers a rescue shell): Go into a little more detail on
+ drive ordering.
+
+2010-07-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
+
+2010-07-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
+ unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
+
+2010-07-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/i386/pc/grub-setup.c (setup): Rename prefix to
+ install_prefix, in line with install_dos_part and install_bsd_part.
+ Add new prefix variable, which is copied to install_prefix after
+ comparing core.img in memory with the one read from disk in the
+ no-embedding case, and use that rather than overwriting
+ install_prefix immediately when installing to a partition.
+ Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
+ Bicakci.
+
+2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * configure.ac: Avoid == in test command, it's not portable.
+ * util/grub.d/30_os-prober.in: Likewise.
+
+2010-07-04 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
+
+2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * util/i386/pc/grub-setup.c (setup): Do not embed when there are
+ multiple (top-level) partmaps.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/i386/efi/grub-install.in: Don't use empty grub_device.
+ Reported by: Tino Keitel.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Bidi and diacritics support.
+
+ * Makefile.in (widthspec.bin): New target.
+ (widthspec.h): Likewise.
+ (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
+ * autogen.sh: Generate unidata.c.
+ * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
+ * commands/ls.c (grub_ls_list_devices): Likewise.
+ (grub_ls_list_files): Likewise.
+ * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
+ (grub_mini_cmd_lsmod): Likewise.
+ * commands/read.c: Likewise.
+ * kern/corecmd.c (grub_core_cmd_ls): Likewise.
+ * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
+ * lib/arg.c (grub_arg_show_help): Likewise.
+ * lib/crypto.c (grub_password_get): Likewise.
+ * normal/auth.c (grub_username_get): Likewise.
+ * normal/misc.c (grub_normal_print_device_info): Likewise.
+ * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
+ * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
+ (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
+ (normal/charset.c_DEPENDENCIES): New variable.
+ (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
+ (pkglib_MODULES): Remove charset.mod.
+ (charset_mod_SOURCES): Removed.
+ (charset_mod_CFLAGS): Likewise.
+ (charset_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
+ * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
+ and term/tparm.c.
+ * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
+ * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
+ (kernel_img_HEADERS): Add terminfo.h.
+ * font/font.c (ascii_glyph_lookup): Return NULL on failure.
+ Fill ->font. Reverse ascii bitmaps.
+ (grub_font_get_xheight): New function.
+ * font/font.c (grub_font_get_string_width): Moved from here ...
+ * gfxmenu/font.c (grub_font_get_string_width): ... here.
+ * font/font.c (grub_font_draw_string): Moved from here ...
+ * gfxmenu/font.c (grub_font_draw_string): ... here.
+ * font/font.c (grub_font_dup_glyph): New function.
+ (grub_font_blit_glyph): Likewise.
+ (grub_font_blit_glyph_mirror): Likewise.
+ (blit_comb): Likewise.
+ (grub_font_construct_dry_run): Likewise.
+ (grub_font_get_constructed_device_width): Likewise.
+ (grub_font_construct_glyph): Likewise.
+ * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
+ * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
+ * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
+ * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
+ (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
+ (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
+ (grub_font_get_xheight): New proto.
+ (grub_font_get_constructed_device_width): Likewise.
+ (grub_font_construct_glyph): Likewise.
+ * include/grub/font.h (grub_font_get_string_width): Moved from here ...
+ * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
+ * include/grub/font.h (grub_font_draw_string): Moved from here ...
+ * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
+ * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
+ * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
+ * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
+ (grub_console_getcharwidth): Likewise.
+ * include/grub/misc.h (grub_xputs): New proto.
+ (grub_puts): Inlined.
+ * include/grub/normal.h (grub_print_ucs4): Add margin specification.
+ (grub_normal_get_line_counter): Removed.
+ (grub_install_newline_hook): Likewise.
+ (grub_normal_get_char_counter): New proto.
+ (grub_normal_reset_more): Likewise.
+ (grub_xputs_normal): Likewise.
+ * include/grub/powerpc/ieee1275/console.h: Removed.
+ * include/grub/sparc64/ieee1275/console.h: Likewise.
+ * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
+ (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
+ (GRUB_TERM_CODE_TYPE_CP437): Likewise.
+ (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
+ (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
+ (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
+ (grub_term_input): Pass reference to self. All users updated.
+ (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
+ Pass reference to self. New fields normal_color, highlight_color and
+ data. All users updated.
+ (grub_putchar): Removed.
+ (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
+ (grub_unicode_estimate_width): New function.
+ (grub_term_getcharwidth): Add defaults.
+ (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
+ (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
+ (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
+ (grub_cls): Remove EXPORT_FUNC.
+ (grub_setcolorstate): Inline.
+ (grub_newline_hook): Removed.
+ * include/grub/terminfo.h: Rewritten. All users updated.
+ * include/grub/unicode.h: New file.
+ * include/grub/video.h (grub_video_signed_rect): New type.
+ * kern/emu/console.c (grub_console_highlight_color): Removed.
+ (grub_console_normal_color): Likewise.
+ (grub_console_standard_color): Made static.
+ (grub_ncurses_putchar): Remove mapping.
+ (grub_ncurses_getcharwidth): Removed.
+ (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
+ (grub_ncurses_setcolor): Removed.
+ (grub_ncurses_getcolor): Likewise.
+ * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
+ (grub_console_putchar): ... this.
+ (grub_console_putchar): Handle argument difference.
+ * kern/ieee1275/init.c (grub_machine_init): Split console_init into
+ console_init_early and console_init_lately.
+ * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
+ * kern/misc.c (grub_puts): Removed.
+ (grub_vprintf): Store UTF-8 string instead of outputting it directly.
+ (grub_vsnprintf_real): Remove str = NULL support.
+ * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
+ * normal/charset.c (grub_utf8_to_ucs4): ... here.
+ * kern/term.c (grub_putcode): Renamed to ...
+ (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
+ (grub_putchar): Removed.
+ (grub_xputs_dumb): New function.
+ (grub_xputs): New variable.
+ * lib/charset.c: Move from here ...
+ * normal/charset.c: ... to here.
+ (grub_ucs4_to_utf8): New function.
+ (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
+ (join_types): New variable.
+ (unpack_join): New function.
+ (bidi_types): New variable.
+ (unpack_bidi): New function.
+ (get_bidi_type): Likewise.
+ (get_join_type): Likewise.
+ (is_mirrored): Likewise.
+ (grub_unicode_get_comb_type): Likewise.
+ (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
+ (is_type_after): Likewise.
+ (grub_unicode_aglomerate_comb): Likewise.
+ (bidi_line_wrap): Likewise.
+ (grub_bidi_line_logical_to_visual): Likewise.
+ (grub_bidi_logical_to_visual): Likewise.
+ (grub_unicode_mirror_code): Likewise.
+ (grub_unicode_shape_code): Likewise.
+ * normal/cmdline.c (grub_cmdline_get): Reset more counter.
+ Don't use grub_putchar.
+ * normal/main.c (grub_normal_init_page): Use grub_putcode.
+ (grub_normal_reader_init): Likewise.
+ (grub_xputs_saved): New variable.
+ (GRUB_MOD_INIT): Set grub_xputs.
+ (GRUB_MOD_FINI): Restore grub_xputs.
+ * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
+ (menu_init): Avoid printing gfxmenu error.
+ (show_menu): Use grub_normal_get_char_counter.
+ * normal/menu_entry.c (update_screen): Fix out-of-array.
+ (complete): Avoid NULL dereferencing.
+ * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
+ * normal/menu_text.c (print_spaces): Removed.
+ (grub_print_ucs4): Likewise.
+ (grub_print_message_indented): Use grub_print_ucs4.
+ (print_message): Use grub_putcode.
+ (print_entry): Hanlde diacritics.
+ * normal/term.c (term_state): New type.
+ (grub_more_lines): Removed.
+ (term_states): New variable.
+ (grub_normal_line_counter): Renamed to ..
+ (grub_normal_char_counter): ...this. All users updated.
+ (grub_normal_get_line_counter): Renamed to ...
+ (grub_normal_get_char_counter): ... this.
+ (grub_normal_reset_more): New function.
+ (process_newline): Removed.
+ (print_more): New function.
+ (grub_install_newline_hook): Removed.
+ (map_code): New function.
+ (grub_puts_terminal): Use grub_print_ucs4.
+ (putglyph): New function.
+ (putcode_real): Likewise.
+ (grub_putcode): Use putcode_real.
+ (get_maxwidth): New function.
+ (get_startwidth): Likewise.
+ (print_ucs4_terminal): Likewise.
+ (find_term_state): Likewise.
+ (put_glyphs_terminal): Likewise.
+ (print_backlog): Likewise.
+ (print_ucs4_real): Likewise.
+ (grub_print_ucs4): Likewise.
+ (grub_xputs_normal): Likewise.
+ * term/efi/console.c (grub_console_putchar): Output diacritics.
+ (grub_console_getcharwidth): Removed.
+ (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
+ * term/gfxterm.c (clear_char): Free chars.
+ (scroll_up): Avoid leaking memory.
+ (grub_gfxterm_putchar): Support diacritics.
+ (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
+ * term/i386/pc/console.c (grub_console_term_output): Declare as
+ GRUB_TERM_CODE_TYPE_VGA.
+ * term/i386/pc/vga.c (grub_vga_term): Declare as
+ GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
+ * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
+ GRUB_TERM_CODE_TYPE_VGA.
+ * term/i386/vga_common.c (map_char): Removed.
+ (grub_console_putchar): Likewise.
+ (grub_console_getcharwidth): Likewise.
+ * term/ieee1275/ofconsole.c: Simplify using terminfo.
+ (colors): Reordered to match terminfo.
+ (grub_ofconsole_normal_color): Removed.
+ (grub_ofconsole_writeesc): Likewise.
+ (grub_ofconsole_highlight_color): Likewise.
+ (grub_ofconsole_getcharwidth): Likewise.
+ (grub_ofconsole_setcolorstate): Likewise.
+ (grub_ofconsole_setcolor): Likewise.
+ (grub_ofconsole_getcolor): Likewise.
+ (grub_ofconsole_readkey): Renamed to ...
+ (readkey): ... this. Remove escape sequence handling. Return -1 on no
+ key.
+ (grub_ofconsole_checkkey): Removed.
+ (grub_ofconsole_getkey): Likewise.
+ (grub_ofconsole_getxy): Likewise.
+ (grub_ofconsole_gotoxy): Likewise.
+ (grub_ofconsole_cls): Likewise.
+ (grub_ofconsole_refresh): Likewise.
+ (grub_ofconsole_terminfo_input): New struct.
+ (grub_ofconsole_terminfo_output): Likewise.
+ (grub_ofconsole_term_input): Use terminfo.
+ (grub_ofconsole_term_output): Likewise.
+ (grub_console_init): Split into ...
+ (grub_console_init_early): ...this and ...
+ (grub_console_init_lately): ...this. Use terminfo.
+ (grub_ofconsole_putchar): Renamed to ...
+ (put): ... this. Remove mapping.
+ (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
+ * term/serial.c: Simplify using terminfo.
+ (xpos): Removed.
+ (ypos): Likewise.
+ (keep_track): Likewise.
+ (registered): Likewise.
+ (input_buf): Likewise.
+ (npending): Likewise.
+ (serial_translate_key_sequence): Likewise.
+ (fill_input_buf): Likewise.
+ (grub_serial_checkkey): Likewise.
+ (grub_serial_getkey): Likewise.
+ (grub_serial_getxy): Likewise.
+ (grub_serial_gotoxy): Likewise.
+ (grub_serial_putchar): Likewise.
+ (grub_serial_cls): Likewise.
+ (grub_serial_setcolorstate): Likewise.
+ (grub_serial_setcursor): Likewise.
+ (serial_hw_init): Use serial_hw_fetch.
+ (grub_serial_terminfo_input): New variable.
+ (grub_serial_terminfo_output): Likewise.
+ (grub_serial_term_input): Use terminfo.
+ (grub_serial_term_output): Likewise.
+ * term/terminfo.c (putstr): Use put.
+ (grub_terminfo_all_free): New function
+ (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
+ (grub_terminfo_output_register): New function.
+ (grub_terminfo_output_unregister): Likewise.
+ (grub_terminfo_getxy): Likewise.
+ (grub_terminfo_readkey): Likewise.
+ (grub_terminfo_checkkey): Likewise.
+ (grub_terminfo_getkey): Likewise.
+ (grub_terminfo_input_init): Likewise.
+ (print_terminfo): Likewise.
+ (grub_cmd_terminfo): Handle encoding.
+ (grub_terminfo_gotoxy): Track position.
+ (grub_terminfo_cls): Likewise.
+ (grub_terminfo_putchar): Likewise.
+ (grub_terminfo_setcolorstate): Handle colors
+ (grub_terminfo_cursor_on): This ...
+ (grub_terminfo_cursor_off): ... and this merged into ...
+ (grub_terminfo_setcursor): ... this.
+ * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
+ * unicode/ArabicShaping.txt: New file (imported from Unicode).
+ * unicode/BidiMirroring.txt: Likewise.
+ * unicode/UnicodeData.txt: Likewise.
+ * unicode/COPYING: Likewise.
+ * util/grub-editenv.c (grub_putchar): Removed.
+ (grub_xputs_real): New function.
+ (grub_xputs): New variable.
+ * util/grub-fstest.c (grub_putchar): Removed.
+ (grub_xputs_real): New function.
+ (grub_xputs): New variable.
+ * util/grub-mkdevicemap.c (grub_putchar): Removed.
+ (grub_xputs_real): New function.
+ (grub_xputs): New variable.
+ * util/grub-probe.c (grub_putchar): Removed.
+ (grub_xputs_real): New function.
+ (grub_xputs): New variable.
+ * util/grub-script-check.c (grub_putchar): Removed.
+ (grub_xputs_real): New function.
+ (grub_xputs): New variable.
+ * util/i386/pc/grub-setup.c (grub_putchar): Removed.
+ (grub_xputs_real): New function.
+ (grub_xputs): New variable.
+ * util/import_unicode.py: New file.
+ * util/grub-mkfont.c (ft_errmsgs): New array.
+ (grub_glyph_info): Make bitmap a pointer.
+ (file_formats): New type WIDTH_SPEC.
+ (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
+ (options): Add width-spec.
+ (help): Likewise.
+ (add_char): Renamed to ...
+ (add_glyph): ... this.
+ (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
+ (glyph_replace): New type.
+ (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
+ (add_char): New function.
+ (add_subst): Likewise.
+ (process_cursive): Likewise.
+ (add_font): Handle GSUB.
+ (write_font_width_spec): New function.
+ (main): Sort glyphs.
+ * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
+ * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
+ * kern/term.c (grub_cls): Moved from here...
+ * normal/term.c (grub_cls): ... here.
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
+ suitable for using within the format argument of printf when
+ converting grub_size_t.
+ * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
+ "x" to convert grub_size_t arguments.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
+ too long captions.
+ (list_get_minimal_size): Take selection box into account.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
+ NULL font.
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
+ devices when iterating over /dev/disk/by-id; they will be handled
+ later if appropriate, which they aren't always (e.g. LVM).
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/misc.h (grub_reboot): Declare as noreturn.
+ * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
+ fails.
+ (grub_halt): Likewise.
+ * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
+ reset-all fails.
+ (grub_halt): Don't return, even if all of shut-down, power-off, and
+ poweroff fail.
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
+ arguments, not three.
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig_lib.in (uses_abstraction): New function.
+ * util/grub.d/10_linux.in: Use it to check for LVM, so that
+ LVM-on-RAID is handled correctly.
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Changes from GRUB Legacy): New section.
+ (Future): Fix typo.
+
+2010-07-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
+ grub.d/README accidentally ends up executable for one reason or
+ another. Ignore it.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
+ (gpt_partition_map_iterate): Support non-512B sectors.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/efi/init.c (grub_efi_init): Disable watchdog.
+ Tested by: Seth Goldberg.
+
+2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
+ Properly align mbi.
+ Reported by: Seth Goldberg.
+
+2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in: Avoid module duplication.
+
+2010-07-01 Sean Finney <seanius@seanius.net>
+
+ * util/grub.d/10_linux.in: Don't use UUID for LVM root.
+
+2010-07-01 Sean Finney <seanius@seanius.net>
+
+ * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
+
+2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/lvm.c (grub_lvm_checkvalue): New function.
+ (grub_lvm_check_flag): Likewise.
+
+2010-07-01 Robert Millan <rmh@gnu.org>
+
+ * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
+ Support 'p' as partition separator on kernel of FreeBSD (used
+ with GPT labels).
+ (grub_util_biosdisk_get_grub_dev): Likewise.
+
+2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Yeeloong firmware port.
+
+ * boot/mips/yeeloong/fwstart.S: New file.
+ * bus/cs5536.c (gpiodump): New const.
+ (set_io_space): New function.
+ (set_iod): Likewise.
+ (set_p2d): Likewise.
+ (grub_cs5536_init_geode): Likewise.
+ * commands/mips/yeeloong/lsspd.c: New file.
+ * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
+ (serial_mod_SOURCES): New variable.
+ (serial_mod_CFLAGS): Likewise.
+ (serial_mod_LDFLAGS): Likewise.
+ * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
+ term/terminfo.c and term/tparm.c.
+ (pkglib_IMAGES): Add fwstart.img.
+ (fwstart_img_SOURCES): New variable.
+ (fwstart_img_CFLAGS): Likewise.
+ (fwstart_img_ASFLAGS): Likewise.
+ (fwstart_img_LDFLAGS): Likewise.
+ (fwstart_img_FORMAT): Likewise.
+ (pkglib_MODULES): Add lsspd.mod.
+ (lsspd_mod_SOURCES): New variable.
+ (lsspd_mod_CFLAGS): Likewise.
+ (lsspd_mod_LDFLAGS): Likewise.
+ (pkglib_MODULES): Add halt.mod.
+ (halt_mod_SOURCES): New variable.
+ (halt_mod_CFLAGS): Likewise.
+ (halt_mod_LDFLAGS): Likewise.
+ * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
+ (serial_mod_SOURCES): Removed.
+ (serial_mod_CFLAGS): Likewise.
+ (serial_mod_LDFLAGS): Likewise.
+ * disk/ata.c (check_device): New function.
+ (grub_ata_device_initialize): Use check_device.
+ (grub_ata_iterate): Recheck devices.
+ (grub_ata_open): Likewise.
+ (grub_atapi_iterate): Likewise.
+ (grub_atapi_open): Likewise.
+ * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
+ (GRUB_ATA_CH1_PORT1): Likewise.
+ (GRUB_ATA_CH0_PORT2): Likewise.
+ (GRUB_ATA_CH1_PORT2): Likewise.
+ * include/grub/mips/loongson.h: New file.
+ * include/grub/mips/yeeloong/ec.h: Likewise.
+ * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
+ (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
+ (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
+ * include/grub/misc.h (grub_halt): Declare as noreturn.
+ * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
+ (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
+ (UART_ENABLE_FIFO_TRIGGER1): New definition.
+ (UART_ENABLE_DTRRTS): Likewise.
+ (UART_ENABLE_MODEM): Removed.
+ (UART_ENABLE_OUT2): New const.
+ * include/grub/term.h (grub_term_register_input_active): New function.
+ (grub_term_register_output_active): Likewise.
+ * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
+ argument.
+ * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
+ (init_pci): New function.
+ (grub_machine_init): Execute platform init when firmware. Init serial.
+ (grub_halt): Implement.
+ (grub_exit): Likewise.
+ (grub_reboot): Likewise.
+ * term/serial.c (serial_hw_init): Update macros.
+ [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
+ * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
+ (image_targets): New target mipsel-yeeloong-flash.
+ (generate_image): Support IMAGE_YEELOONG_FLASH.
+ * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
+ (grub_video_sm712_setup): Init card.
+ (grub_video_sm712_set_palette): Removed.
+ * video/sm712_init.c: New file.
+
+2010-06-30 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in (install-local): Temporarily prepend $(builddir) to
+ PATH when running help2man and then run it on the unadorned
+ executable names, rather than passing $(builddir)/* paths to
+ help2man. This avoids the build directory ending up in generated
+ manual pages.
+
+2010-06-29 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
+ to avoid accidents when debugging with 'sh -x'.
+ * util/grub-mkrescue.in: Likewise.
+ * util/grub.d/00_header.in: Likewise.
+ * util/grub.d/10_hurd.in: Likewise.
+ * util/grub.d/10_kfreebsd.in: Likewise.
+ * util/grub.d/10_linux.in: Likewise.
+ * util/grub.d/10_netbsd.in: Likewise.
+ * util/grub.d/10_windows.in: Likewise.
+ * util/grub.d/20_linux_xen.in: Likewise.
+ * util/grub.d/30_os-prober.in: Likewise.
+ * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
+
+2010-06-29 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
+ last character in the buffer.
+ Reported by: Vladimir Serbinenko.
+
+2010-06-29 Robert Millan <rmh@gnu.org>
+
+ * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
+ (Command-line and menu entry commands): Document `badram' command.
+
+2010-06-28 Robert Millan <rmh@gnu.org>
+
+ * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
+ * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
+ command using ${GRUB_BADRAM} as parameter.
+
+2010-06-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Device map): New section.
+ (Themes): New section (stub).
+ * Makefile.in (docs/grub.info): The info documentation now builds
+ without errors. Make sure it stays that way.
+
+2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use normal parser for menu entries.
+ Reported by: Thomas Frauendorfer
+
+ * include/grub/parser.h (grub_parser_execute): Don't export.
+ * normal/menu.c (grub_menu_execute_entry_real): New function.
+ (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
+
+2010-06-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Embedded configuration): New section (replacing
+ old "Preset Menu" stub).
+ (Images): New section.
+ (configfile): Note that any menu entries defined in `file' are shown
+ immediately.
+
+2010-06-28 Josh Triplett <josh@joshtriplett.org>
+
+ * mmap/i386/pc/mmap_helper.S: Set CF on return.
+
+2010-06-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in: Add --debug-image= option.
+
+2010-06-28 Colin Watson <cjwatson@ubuntu.com>
+
+ Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
+ possible on Linux.
+
+ * util/deviceiter.c (check_device): Rename to ...
+ (check_device_readable_unique): ... this. Update all callers.
+ Maintain and check a list of which devices (by canonicalized name)
+ have already been seen.
+ (clear_seen_devices): New function.
+ (compare_file_names) [__linux__]: New function.
+ (grub_util_iterate_devices): Clear the list of seen devices on exit
+ and (just in case) on entry.
+ (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
+ devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
+ seen-devices list, superseded by general code in check_device.
+
+2010-06-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/cat.c (options): New variable.
+ (grub_cmd_cat): Parse options. If the --dos option is given, print
+ DOS-style "\r\n" line endings as simple newlines (Debian bug
+ #586358).
+ (GRUB_MOD_INIT): Use extcmd.
+ (GRUB_MOD_FINI): Likewise.
+ * docs/grub.texi (cat): Document --dos.
+
+2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ XEN with Linux grub-mkconfig support.
+
+ * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
+ * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
+ GRUB_CMDLINE_XEN_DEFAULT.
+ * util/grub.d/20_linux_xen.in: New file.
+
+2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Initialise VGA video on qemu ourselves.
+
+ * boot/i386/qemu/boot.S: Don't call 0xc000.
+ * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
+ (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
+ (kernel_img_HEADERS): Add pci.h.
+ * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
+ * configure.ac: Force unifont on qemu and yeeloong.
+ * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
+ (grub_vga_palette_write): Use correct register.
+ * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
+ Call grub_qemu_init_cirrus.
+ * kern/i386/qemu/init.c: New file.
+ * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
+
+ * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
+
+2010-06-26 Pavel Roskin <proski@gnu.org>
+
+ * util/grub.d/10_linux.in: Add support for initrd images on Fedora
+ 13.
+
+2010-06-26 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Simple configuration): Explain that
+ GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
+ set to `true' to disable their respective recovery entries, not
+ merely set.
+
+2010-06-26 Colin Watson <cjwatson@ubuntu.com>
+
+ Make the `source' command slightly faster.
+
+ * normal/main.c (grub_normal_execute): Don't re-read list files when
+ nested.
+
+2010-06-23 Colin Watson <cjwatson@ubuntu.com>
+
+ * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
+ field position and mask size to red fields from mode_info, not
+ green.
+ * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
+ Remove redundant tag->common.framebuffer_type assignment.
+ Reported by: Seth Goldberg.
+
+2010-06-23 Colin Watson <cjwatson@ubuntu.com>
+
+ Sync up other versions of the Linux loader with Robert Millan's
+ change of 2010-01-09, "Make loader output a bit more user-friendly".
+
+ * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
+ grub_dprintf().
+ (grub_cmd_linux): Likewise.
+ (grub_cmd_initrd): Likewise.
+ * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
+ * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
+
+2010-06-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
+ larger than MEMORY_MAP_SIZE.
+
+2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix parallel build.
+
+ * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
+ dependency.
+ * script/parser.y: #include grub_script.tab.h header.
+
+2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Support >3GiB and <16MiB RAM in i386-qemu.
+
+ * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
+ (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
+ (grub_lower_mem): Removed.
+ (grub_upper_mem): Likewise.
+ (mem_size): Made static.
+ (above_4g): New variable.
+ (grub_machine_mmap_init): Detect small mem_size and above_4g.
+ (grub_machine_mmap_iterate): Order in ascending order and add above_4g
+ support.
+
+2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Cirrus 5446 and Bochs video cards support.
+
+ * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
+ video_bochs.mod
+ (video_cirrus_mod_SOURCES): New variable.
+ (video_cirrus_mod_CFLAGS): Likewise.
+ (video_cirrus_mod_LDFLAGS): Likewise.
+ (video_bochs_mod_SOURCES): Likewise.
+ (video_bochs_mod_CFLAGS): Likewise.
+ (video_bochs_mod_LDFLAGS): Likewise.
+ * include/grub/vga.h: New file.
+ * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
+ (grub_video_fb_set_page_t): New type.
+ (grub_video_fb_setup): New prototype.
+ (grub_video_fb_swap_buffers): Likewise.
+ (grub_video_fb_get_info_and_fini): Likewise.
+ * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
+ (CRTC_DATA_PORT): Likewise.
+ (CRTC_CURSOR): Likewise.
+ (CRTC_CURSOR_ADDR_HIGH): Likewise.
+ (CRTC_CURSOR_ADDR_LOW): Likewise.
+ (CRTC_CURSOR_DISABLE): Likewise.
+ (update_cursor): Use grub_vga_cr_write.
+ (grub_vga_text_setcursor): Likewise.
+ * video/bochs.c: New file.
+ * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
+ (palette): Likewise.
+ (palette_size): Likewise.
+ (framebuffer): New variable.
+ (grub_video_fb_init): Use 'framebuffer'.
+ (grub_video_fb_fini): Likewise.
+ (grub_video_fb_get_info): Likewise.
+ (grub_video_fb_get_palette): Likewise.
+ (grub_video_fb_set_palette): Likewise.
+ (grub_video_fb_set_viewport): Likewise.
+ (grub_video_fb_get_viewport): Likewise.
+ (grub_video_fb_map_color): Likewise.
+ (grub_video_fb_map_rgb): Likewise.
+ (grub_video_fb_map_rgba): Likewise.
+ (grub_video_fb_unmap_color): Likewise.
+ (grub_video_fb_unmap_color_int): Likewise.
+ (grub_video_fb_fill_rect): Likewise.
+ (grub_video_fb_blit_bitmap): Likewise.
+ (grub_video_fb_blit_render_target): Likewise.
+ (grub_video_fb_scroll): Likewise.
+ (grub_video_fb_create_render_target): Likewise.
+ (grub_video_fb_doublebuf_blit_init): Likewise.
+ (grub_video_fb_set_active_render_target): Handle doublebuffering.
+ (doublebuf_pageflipping_update_screen): New function.
+ (doublebuf_pageflipping_init): Likewise.
+ (grub_video_fb_setup): Likewise.
+ (grub_video_fb_swap_buffers): Likewise.
+ (grub_video_fb_get_info_and_fini): Likewise.
+ * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
+ All users updated.
+ (doublebuf_pageflipping_commit): Restructured into ...
+ (doublebuf_pageflipping_set_page): ... this.
+ (doublebuf_pageflipping_update_screen): Removed.
+ (doublebuf_pageflipping_init): Likewise.
+ (double_buffering_init): Likewise.
+ (grub_video_vbe_setup): Use grub_video_fb_setup.
+ (grub_video_vbe_swap_buffers): Removed.
+ (grub_video_vbe_set_active_render_target): Likewise.
+ (grub_video_vbe_get_active_render_target): Likewise.
+ (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
+ (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
+ grub_video_fb_set_active_render_target and
+ grub_video_fb_get_active_render_target.
+ * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
+ (SEQUENCER_DATA_PORT): Likewise.
+ (MAP_MASK_REGISTER): Likewise.
+ (CRTC_ADDR_PORT): Likewise.
+ (CRTC_DATA_PORT): Likewise.
+ (START_ADDR_HIGH_REGISTER): Likewise.
+ (START_ADDR_LOW_REGISTER): Likewise.
+ (GRAPHICS_ADDR_PORT): Likewise.
+ (GRAPHICS_DATA_PORT): Likewise.
+ (READ_MAP_REGISTER): Likewise.
+ (INPUT_STATUS1_REGISTER): Likewise.
+ (INPUT_STATUS1_VERTR_BIT): Likewise.
+ (get_map_mask): Use grub_vga_sr_read.
+ (set_map_mask): Use grub_vga_sr_write.
+ (set_read_map): Use grub_vga_gr_write.
+ (set_start_address): Use grub_vga_cr_write.
+ * video/sm712.c (framebuffer): Remove leftover fields.
+
+2010-06-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
+ setting GRUB_VIDEO_BACKEND. Make it available as a user override
+ instead. Replace the gfxterm backend check with a check that
+ ${GRUB_PREFIX}/video.lst is non-empty.
+ * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
+ again.
+ (load_video): New generated function. Call it before loading
+ gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
+ * util/grub.d/10_linux.in (linux_entry): Call load_video.
+ * util/grub.d/30_os-prober.in (osx_entry): Likewise.
+ * docs/grub.texi (Simple configuration): Document
+ GRUB_VIDEO_BACKEND.
+
+2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use video functions in linux and xnu loaders.
+
+ * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
+ * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
+ * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
+ * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
+ loader/i386/pc/linux.c.
+ (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
+ (find_line_len): Removed.
+ (find_framebuf): Likewise.
+ (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
+ * loader/i386/efi/xnu.c: Removed.
+ * loader/i386/pc/xnu.c: Moved from here...
+ * loader/i386/xnu.c: ...here.
+
+ Enable priorities in video drivers.
+
+ * include/grub/video.h (grub_video_adapter_prio_t): New type.
+ (grub_video_adapter): New field prio.
+ (grub_video_register): Respect prio when inserting.
+ * video/efi_gop.c (grub_video_gop_adapter): Add prio.
+ * video/efi_uga.c (grub_video_uga_adapter): Likewise.
+ * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
+ * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
+ * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
+ * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
+ * video/sm712.c (grub_video_sm712_adapter): Likewise.
+
+ Fix SDL driver ID.
+
+ * include/grub/video.h (grub_video_driver_id_t): New value
+ GRUB_VIDEO_DRIVER_SDL.
+ * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
+
+2010-06-17 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
+ argument to printf.
+ * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
+
+2010-06-17 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/i386/pc/grub-setup.c (usage): Fix syntax error.
+ * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
+
+2010-06-17 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
+ directly, and recommend grub-install instead.
+ * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
+
+2010-06-17 Colin Watson <cjwatson@ubuntu.com>
+
+ Fix i386-pc prefix handling with nested partitions (Debian bug
+ #585068). Note that the case where the core image is booted using
+ multiboot and relocated from its original location still requires
+ more work.
+
+ * kern/i386/pc/init.c (make_install_device): If the prefix starts
+ with "(,", fill the boot drive in between those two characters, but
+ expect that a full partition specification including partition map
+ names will follow.
+ * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
+ specified, write a prefix without the drive name but including a
+ full partition specification.
+
+2010-06-16 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig.in: Ignore non-option arguments, for
+ compatibility with older versions (before 2010-06-12) which did the
+ same. In particular, this makes it easier to ship an update-grub
+ wrapper which is compatible with that used with GRUB Legacy (Debian
+ bug #586056).
+
+2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
+ for manual page generation.
+
+2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * po/POTFILES: Remove leftover commands/handler.c.
+
+2010-06-14 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig.in: Remove vestige of old argument parsing that
+ left this script non-functional.
+
+2010-06-14 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/man/grub-emu.h2m: New file.
+
+2010-06-13 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Commands): Document reduced command set in rescue
+ mode.
+ (cpuid): New section.
+
+2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
+ new partition naming style.
+ * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
+
+2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Add "-o grub.iso" like cmdline options support.
+
+ * util/grub-install.in: Improve cmdline option parsing.
+ * util/grub-mkconfig.in: Likewise.
+ * util/grub-mkrescue.in: Likewise.
+ * util/grub-reboot.in: Likewise.
+ * util/grub-set-default.in: Likewise.
+ * util/i386/efi/grub-install.in: Likewise.
+ * util/ieee1275/grub-install.in: Likewise.
+ * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
+
+2010-06-12 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Ignore 41_custom.
+
+2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
+
+ * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
+
+2010-06-12 Colin Watson <cjwatson@ubuntu.com>
+
+ Avoid false positives in fs.lst, partmap.lst, and video.lst due to
+ prototype declarations.
+
+ * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
+ generating fs, partmap, and video lists.
+ * include/grub/fs.h (grub_fs_register): Omit prototype if
+ GRUB_LST_GENERATOR is defined.
+ * include/grub/partition.h (grub_partition_map_register): Likewise.
+ * include/grub/video.h (grub_video_register): Likewise.
+
+2010-06-12 Javier Martín <lordhabbit@gmail.com>
+
+ * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
+
+2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
+
+ * util/grub-mkrescue.in: Support --xorriso argument.
+
+2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
+ Suggested by: Thomas Schmitt.
+
+2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
+ Suggested by: Thomas Schmitt.
+
+2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
+
+ custom.cfg support.
+
+ * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
+ * util/grub.d/41_custom.in: New file.
+
+2010-06-12 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrescue.in (make_image): Remove sh module, which has
+ been merged back into normal.
+
+2010-06-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
+ (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
+
+2010-06-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
+ when generating manual pages.
+ * docs/man/grub-bin2h.h2m: New file.
+ * docs/man/grub-editenv.h2m: New file.
+ * docs/man/grub-fstest.h2m: New file.
+ * docs/man/grub-install.h2m: New file.
+ * docs/man/grub-macho2img.h2m: New file.
+ * docs/man/grub-mkconfig.h2m: New file.
+ * docs/man/grub-mkdevicemap.h2m: New file.
+ * docs/man/grub-mkfont.h2m: New file.
+ * docs/man/grub-mkimage.h2m: New file.
+ * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
+ * docs/man/grub-mkrelpath.h2m: New file.
+ * docs/man/grub-mkrescue.h2m: New file.
+ * docs/man/grub-ofpathname.h2m: New file.
+ * docs/man/grub-pe2elf.h2m: New file.
+ * docs/man/grub-probe.h2m: New file.
+ * docs/man/grub-reboot.h2m: New file.
+ * docs/man/grub-script-check.h2m: New file.
+ * docs/man/grub-set-default.h2m: New file.
+ * docs/man/grub-setup.h2m: New file.
+
+2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use FOR_* macros instead of *_iterate whenever possible.
+
+ * commands/handler.c: Removed.
+ * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
+ * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
+ * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
+ * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
+ (grub_probe_SOURCES): Remove kern/parser.c.
+ (util/grub-script-check.c_DEPENDENCIES): Removed.
+ (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
+ and grub_script_check_init.c.
+ (grub_script_check_init.lst): Removed.
+ (grub_script_check_init.h): Likewise.
+ (grub_script_check_init.c): Likewise.
+ (pkglib_MODULES): Remove handler.mod and sh.mod.
+ (handler_mod_SOURCES): Removed.
+ (handler_mod_CFLAGS): Likewise.
+ (handler_mod_LDFLAGS): Likewise.
+ (normal_mod_SOURCES): Remove normal/handler.c.
+ Add script/main.c, script/script.c, script/execute.c,
+ script/function.c, script/lexer.c, grub_script.tab.c
+ and grub_script.yy.c.
+ * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
+ * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
+ * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
+ (grub_setup_SOURCES): Remove kern/parser.c.
+ * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
+ * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
+ * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
+ * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
+ * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
+ (grub_setup_SOURCES): Remove kern/parser.c.
+ * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
+ * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
+ * include/grub/command.h (grub_command_iterate): Removed.
+ (FOR_COMMANDS): New macro.
+ * include/grub/dl.h (grub_dl): New member next.
+ (grub_dl_iterate): Removed.
+ (grub_dl_head): New variable declaration.
+ (FOR_DL_MODULES): New macro.
+ * include/grub/fs.h: Include list.h.
+ (grub_fs): Make next first element.
+ (grub_fs_list): New variable declaration.
+ (grub_fs_register): Make inline.
+ (grub_fs_unregister): Likewise.
+ (grub_fs_iterate): Removed.
+ (FOR_FILESYSTEMS): New macro.
+ * include/grub/handler.h: Removed.
+ * include/grub/list.h (grub_list_hook_t): Removed.
+ (grub_list_test_t): Likewise.
+ (grub_list_pop): Likewise.
+ (grub_list_iterate): Likewise.
+ (grub_list_insert): Likewise.
+ (FOR_LIST_ELEMENTS): New macro.
+ * include/grub/parser.h (grub_parser_class): Removed.
+ (grub_parser_register): Likewise.
+ (grub_parser_unregister): Likewise.
+ (grub_parser_get_current): Likewise.
+ (grub_parser_set_current): Likewise.
+ (grub_register_rescue_parser): Likewise.
+ (grub_rescue_parse_line): New function.
+ * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
+ * include/grub/script_sh.h (grub_script_function_list): New variable
+ declaration.
+ (FOR_SCRIPT_FUNCTIONS): New macro.
+ (grub_script_function_iterate): Removed.
+ (grub_normal_parse_line): New prototype.
+ * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
+ (FOR_DISABLED_TERM_INPUTS): Likewise.
+ (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
+ (FOR_DISABLED_TERM_OUTPUTS): Likewise.
+ * include/grub/video.h (grub_video_adapter): Move 'next' to first
+ element.
+ (grub_video_register): Inline.
+ (grub_video_unregister): Likewise.
+ (grub_video_adapter_list): New variable declaration.
+ (grub_video_iterate): Removed.
+ (FOR_VIDEO_ADAPTERS): New macro.
+ * kern/dl.c (grub_dl_list): Removed. All users updated.
+ (grub_dl_iterate): Removed.
+ * kern/fs.c (grub_fs_list): Make global.
+ (grub_fs_register): Removed.
+ (grub_fs_unregister): Likewise.
+ (grub_fs_iterate): Likewise.
+ * kern/handler.c: Removed.
+ * kern/list.c (grub_list_pop): Removed.
+ (grub_list_iterate): Likewise.
+ (grub_list_insert): Likewise.
+ (grub_named_list_find): Use FOR_LIST_ELEMENTS.
+ (grub_prio_list_insert): Don't use grub_list_insert.
+ * kern/main.c (grub_register_rescue_parser): Don't call
+ grub_register_rescue_parser.
+ * kern/parser.c (grub_parser_class): Removed.
+ (grub_parser_execute): Use grub_rescue_parse_line.
+ * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
+ (grub_rescue_parser): Removed.
+ (grub_register_rescue_parser): Likewise.
+ * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
+ * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
+ (grub_auth_check_authentication): Likewise.
+ * normal/completion.c (iterate_command): Removed.
+ (grub_normal_do_completion): Use FOR_COMMANDS.
+ * normal/handler.c: Removed.
+ * normal/main.c (read_config_file): Remove parser changing.
+ (grub_normal_execute): Don't call read_handler_list.
+ (grub_normal_read_line_real): Statically allocate prompt.
+ (grub_cmdline_run): Use grub_normal_parse_line.
+ (GRUB_MOD_FINI): Don't call free_handler_list.
+ * normal/menu_entry.c (run): Likewise.
+ * script/function.c (grub_script_function_list): Make global.
+ (grub_script_function_iterate): Removed.
+ * script/main.c (grub_normal_parse_line): Make global.
+ (grub_sh_parser): Removed.
+ (GRUB_MOD_INIT): Likewise.
+ (GRUB_MOD_FINI): Likewise.
+ * tests/lib/functional_test.c (grub_functional_test): Use
+ FOR_LIST_ELEMENTS.
+ * tests/lib/test.c (free_failures): Don't use grub_list_pop.
+ (grub_test_run): Use FOR_LIST_ELEMENTS.
+ * tests/lib/unit_test.c (main): Likewise.
+ * util/deviceiter.c (grub_util_iterate_devices): Don't use
+ grub_list_pop.
+ * util/grub-fstest.c (grub_term_input_class): Removed.
+ (grub_term_output_class): Likewise.
+ * util/grub-probe.c: Likewise.
+ * util/i386/pc/grub-setup.c: Likewise.
+ * util/sparc64/ieee1275/grub-setup.c: Likewise.
+ * util/grub-script-check.c (main): Don't call grub_init_all and
+ grub_fini_all.
+ * video/video.c (grub_video_adapter_list): Make global.
+ (grub_video_register): Removed.
+ (grub_video_unregister): Likewise.
+ (grub_video_iterate): Likewise.
+
+2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
+ reported by Henrique Ferreiro.
+
+2010-06-09 Robert Millan <rmh@gnu.org>
+
+ * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
+ ones, when both are available.
+
+2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ Make --version uniform and avoid hard-coded program name.
+
+ * util/grub-mkimage.c (main): Use `program_name' instead of
+ hard-coded string.
+ * util/i386/pc/grub-setup.c (main): Likewise.
+ * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
+ * util/grub-install.in: Save the basename of $0 in $self, and use the
+ latter in informational messages. Use the same format for --version
+ as the binary programs.
+ * util/grub-mkconfig.in: Likewise.
+ * util/grub-mkrescue.in: Likewise.
+ * util/grub-reboot.in: Likewise.
+ * util/grub-set-default.in: Likewise.
+ * util/i386/efi/grub-install.in: Likewise.
+ * util/ieee1275/grub-install.in: Likewise.
+ * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
+
+2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
+ embedding area. Use <= instead of == when checking for non-emptiness.
+
+2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * configure.ac: Add `.' to the directories searched for unifont.
+
+2010-06-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
+ grub_script.yy.h.
+
+2010-06-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (History): Expand to cover GRUB 2.
+ (Serial terminal): Refer to `terminal_input' and `terminal_output'
+ commands, not `terminal'.
+ (serial): Likewise.
+ (terminal_input): New section.
+ (terminal_output): New section.
+ (uppermem): New section (stub).
+ (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
+
+2010-06-08 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Security): Menu entries are unrestricted by
+ default, not restricted to superusers as I had previously thought.
+ Reword to account for this.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/emu/misc.c (device_mapper_null_log): New function.
+ (grub_device_mapper_supported): New function.
+ * include/grub/emu/misc.h (grub_device_mapper_supported): Add
+ prototype.
+ * kern/emu/hostdisk.c (find_partition_start): Check whether
+ device-mapper is supported before trying to use it.
+ * util/deviceiter.c (grub_util_iterate_devices): Likewise.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
+ (File name syntax): Likewise.
+ (help): --all is no longer supported in GRUB 2. Be more precise
+ about pattern matching.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * normal/completion.c (grub_normal_do_completion): When completing
+ arguments to "set" and the current word contains an equals sign,
+ skip to after the equals sign before starting completion.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Network): New section.
+ (Device syntax): The network device is called `(pxe)' in GRUB 2, not
+ `(nd)' as in GRUB Legacy.
+ (pxe_unload): New section.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Troubleshooting): `echo' is not usually available
+ in the rescue shell, so recommend using `set' instead. Thanks,
+ Jordan Uggla.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
+ (password): New section.
+ (password_pbkdf2): New section.
+ (search): New section.
+ (Security): New section.
+ (Troubleshooting): New section, currently very incomplete.
+ (Invoking grub-mkpasswd-pbkdf2): New section.
+ (Internals): New section, currently very incomplete.
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/00_header.in: Add some more quoting (of
+ "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
+ work again.
+ Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
+
+2010-06-07 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
+ to `count', fixing variable shadowing that broke the -c option.
+
+2010-06-05 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
+ in case they contain spaces.
+
+2010-06-04 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
+ "part_" to partmap module names, in line with grub-install.
+ Reported by: Jindřich Makovička (Debian bug #584426).
+
+2010-06-04 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkimage.c: Make target-related error messages slightly
+ more helpful; -O talks about "format". Explicitly point to the use
+ of -O if no target is specified.
+ Reported by: Didier Raboud (Debian bug #584415).
+
+2010-06-03 Colin Watson <cjwatson@ubuntu.com>
+
+ * INSTALL: Document several build requirements for optional features
+ (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
+
+2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
+ [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
+ (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
+ Thanks to Jordan Uggla for spotting this.
+
+2010-06-02 Aleš Nesrsta <starous@volny.cz>
+
+ Finally make USB usable.
+
+ * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
+ (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
+ (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
+ (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
+ (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
+ (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
+ (GRUB_OHCI_FSMPS): Likewise.
+ (GRUB_OHCI_PERIODIC_START): Likewise.
+ (GRUB_OHCI_FRAME_INTERVAL): Likewise.
+ (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
+ (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
+ (GRUB_OHCI_SET_PORT_RESET): Likewise.
+ (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
+ * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
+ (grub_ohci_transaction): Likewise.
+ (grub_ohci_transfer): Improve condition detection algorithms.
+ Handle toggle property. Program the transactions correctly.
+ Improve error handling. Various important fixups.
+ (grub_ohci_portstatus): Put register writes in right order.
+ * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
+ (grub_uhci_transfer): Don't show "failed" message on success.
+ * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
+ array.
+ (grub_usb_device_initialize): Read first 8 bytes of descriptor to
+ determine its size.
+ * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
+ before initialization is completed. Use IN direction for empty
+ transfers. Use last_trans and compute toggle.
+ * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
+ (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
+ (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
+ (GRUB_USB_FEATURE_TEST_MODE): Likewise.
+ * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
+ (grub_usb_device): Increase toggle to 256.
+ (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
+ GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
+ GRUB_USBMS_SUBCLASS_SFF8070.
+ * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
+ (grub_scsi_inquiry): New member page and alloc_length.
+ (grub_scsi_request_sense): New structure.
+ (grub_scsi_request_sense_data): Likewise.
+ (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
+ control.
+ * disk/scsi.c (grub_scsi_request_sense): New function.
+ (grub_scsi_test_unit_ready): Likewise.
+ (grub_scsi_inquiry): Fill new fields.
+ (grub_scsi_read_capacity): Likewise.
+ (grub_scsi_read10): Add request sense at the end.
+ (grub_scsi_read12): Likewise.
+ (grub_scsi_write10): Likewise.
+ (grub_scsi_write12): Likewise.
+ (grub_scsi_open): Add Test Unit Ready.
+ * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
+ Support additional subclasses. Con't clear halt yet. Activate the
+ proper config. Calculate LUNs correctly.
+ (grub_usbms_transfer): Various important fixups.
+
+2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
+ * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
+ (grub_ohci_fini_hw): New function.
+ (grub_ohci_restore_hw): Likewise.
+ (GRUB_MOD_INIT(ohci)): Register preboot hook.
+ (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
+ * term/usb_keyboard.c: Remove include of grub/machine/console.h.
+
+2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Dedicated DMA allocations.
+
+ * bus/pci.c (grub_memalign_dma32): New function
+ (grub_dma_free): Likewise.
+ (grub_dma_get_virt): Likewise.
+ (grub_dma_get_phys): Likewise.
+ * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
+ (grub_ohci_pci_iter): Use dma32_alloc.
+ (grub_ohci_transfer): Likewise.
+ * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
+ (grub_usb_bulk_readwrite): Likewise.
+ * include/grub/pci.h: Add declarations.
+
+2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
+
+ CS5536 support.
+
+ * bus/cs5536.c: New file.
+ * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
+ * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
+ (cs5536_mod_SOURCES): New variable.
+ (cs5536_mod_CFLAGS): Likewise.
+ (cs5536_mod_LDFLAGS): Likewise.
+ * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
+ machine/pci.h.
+ (kernel_img_SOURCES): Add bus/cs5536.c.
+ (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
+ usb_keyboard.mod.
+ (usb_mod_SOURCES): New variable.
+ (usb_mod_CFLAGS): New variable.
+ (usb_mod_LDFLAGS): New variable.
+ (usbtest_mod_SOURCES): New variable.
+ (usbtest_mod_CFLAGS): New variable.
+ (usbtest_mod_LDFLAGS): New variable.
+ (ohci_mod_SOURCES): New variable.
+ (ohci_mod_CFLAGS): New variable.
+ (ohci_mod_LDFLAGS): New variable.
+ (usbms_mod_SOURCES): New variable.
+ (usbms_mod_CFLAGS): New variable.
+ (usbms_mod_LDFLAGS): New variable.
+ (usb_keyboard_mod_SOURCES): New variable.
+ (usb_keyboard_mod_CFLAGS): New variable.
+ (usb_keyboard_mod_LDFLAGS): New variable.
+ * include/grub/smbus.h: New file.
+ * include/grub/cs5536.h: New file.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/00_header.in: Add safety check to make sure that
+ ${locale_dir} exists before trying to probe it.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
+ per the GNU Coding Standards; this is now too obscure to be worth
+ documenting.
+ (QNX): Likewise.
+ (chainloader): Remove cross-reference to `SCO UnixWare'.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Chain-loading): New section.
+ (DOS/Windows): New section, borrowed from GRUB Legacy with details
+ adjusted for GRUB 2.
+ (SCO UnixWare): Likewise.
+ (QNX): Likewise.
+ (chainloader): Add reference to `Block list syntax'.
+ (drivemap): New section.
+ (parttool): New section.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
+ the grub shell'.
+ (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
+ (Installing GRUB using grub-install): Remove reference to the grub
+ shell; mention `grub-mkimage' and `grub-setup' instead.
+ (Invoking grub-install): Likewise.
+ (Interface): Add reference to `Menu entry editor'.
+ (serial): Remove `--device' option.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (Configuration): New section, documenting
+ configuration file generation using grub-mkconfig. I've left a slot
+ for documenting the full shell scripting format but have not yet
+ started on writing that up.
+ (Invoking grub-mkconfig): New section.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (direntry): Remove grub-terminfo reference.
+ (GNU GRUB manual): Likewise.
+ (General commands): Update description of `terminfo' for GRUB 2.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
+ (GRUB_MOD_INIT): Fix capitalisation.
+ * docs/grub.texi (Command-line and menu entry commands): Document
+ gettext and gptsync commands.
+
+2010-06-02 Colin Watson <cjwatson@ubuntu.com>
+
+ * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
+ kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
+
+2010-06-01 Colin Watson <cjwatson@ubuntu.com>
+
+ Add btrfs probing support, currently only in the single-device case.
+
+ * kern/emu/getroot.c (find_root_device_from_mountinfo): New
+ function.
+ (grub_guess_root_device): Call find_root_device_from_mountinfo
+ before looking in /dev.
+
+2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
+ GRUB_DISK_SIZE_UNKNOWN.
+ * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
+
+2010-05-31 Jiro SEKIBA <jir@unicus.jp>
+
+ * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
+ * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
+ corrupted or not synced properly.
+
+2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
+ Reported by: Seth Goldberg.
+
+2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
+ addition of dest.
+ Reported by: Seth Goldberg.
+
+2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
+ Reported by: Seth Goldberg.
+
+2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
+ 64-bit address as signed on MIPS.
+
+2010-05-28 Colin Watson <cjwatson@ubuntu.com>
+
+ * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
+ to the empty string.
+
+2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix grub-emu issues on NetBSD, with gcc 4.1.3.
+
+ * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
+ * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
+ * kern/misc.c (__enable_execute_stack): Disable on
+ GRUB_MACHINE_EMU.
+
+2010-05-28 Colin Watson <cjwatson@ubuntu.com>
+
+ Make grub-probe work with symbolic links under /dev/mapper as well
+ as with real block devices. The Linux world seems to be (at best)
+ in transition here, and GRUB shouldn't get caught in the middle.
+
+ * kern/emu/getroot.c (find_root_device): Follow symbolic links under
+ /dev/mapper.
+
+2010-05-27 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-script-check.c (main): Ensure defined behaviour on empty
+ input files (in which case exit zero).
+
+2010-05-27 Colin Watson <cjwatson@ubuntu.com>
+
+ * kern/emu/misc.c (canonicalize_file_name): realpath can still
+ return NULL for various reasons even if it has a maximum-length
+ buffer: for example, there might be a symlink loop, or the path
+ might exceed PATH_MAX. If this happens, return NULL.
+
+2010-05-27 Robert Millan <rmh@gnu.org>
+
+ * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
+ partmap module to handle cross-partmap setups.
+ Reported by Orestes Mas. Gràcies!
+
+2010-05-27 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrescue.in: Initialise override_dir rather than
+ assuming that it's unset or empty in the environment.
+
+2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
+ variable index into p_index to suppress a warning with -Wshadow.
+
+2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
+
+ * INSTALL: Added flex >= 2.5.35 requirement.
+
+2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
+
+2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ cmostest support.
+
+ * commands/i386/cmostest.c: New file.
+ * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
+ (cmostest_mod_SOURCES): New variable.
+ (cmostest_mod_CFLAGS): Likewise.
+ (cmostest_mod_LDFLAGS): Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * docs/grub.texi (Vendor power-on keys): New section.
+ * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
+ GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
+ and GRUB_BUTTON_CMOS_ADDRESS.
+ * util/grub.d/00_header.in: Handle powering-on by separate button.
+
+2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
+ Removed drawing_scrollbar argument. All users updated
+ Fixes #29792.
+ Reported by Jo Shields
+
+2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
+ buffer since gfxterm handles double repaint.
+
+2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
+ * term/gfxterm.c (real_scroll): Likewise.
+
+2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
+ before calling BIOS.
+
+2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/i18n.h: Always enable grub_gettext.
+
+2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
+ partition naming style.
+
+2010-05-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkconfig.in: Fix handling of -o so that it works when
+ not the first option.
+
+2010-05-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
+
+2010-05-20 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/misc.c: Move inclusion of <limits.h> to ...
+ * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
+
+2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
+ Fix merge error in NetBSD code.
+ (find_partition_start) [__NetBSD__]: Likewise.
+
+2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Fix grub-mkrescue usage unit testing.
+
+ * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
+
+2010-05-18 Christian Franke <franke@computer.org>
+
+ * util/grub.d/10_windows.in: Use path names instead of
+ drive letters to prevent warning from Cygwin 1.7.
+ Add drivemap command to menuentry if needed.
+
+2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
+
+ * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
+ gnumach and gnumach.gz.
+
+2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/i18n.h (gettext): Inline instead of using #define.
+ (grub_gettext): Likewise.
+ (_): Likewise.
+
+2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
+ -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
+ * util/grub-mkimage.c (image_targets): Add i386-multiboot.
+ (main): Add a slash after pkglibdirroot.
+
+2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-install.in: Add missing "in" keyword.
+
+2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in: Remove -O i386-pc duplication.
+ Reported by: Seth Goldberg.
+
+2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
+
+2010-05-18 Colin Watson <cjwatson@ubuntu.com>
+
+ * configure.ac: Check for Linux device-mapper support.
+
+ * util/hostdisk.c (device_is_mapped): New function.
+ (find_partition_start): New function, partly broken out from
+ linux_find_partition and grub_util_biosdisk_get_grub_dev but with
+ device-mapper support added.
+ (linux_find_partition): Use find_partition_start.
+ (convert_system_partition_to_system_disk): Add `st' argument.
+ Support Linux /dev/mapper/* devices if device-mapper support is
+ available; only DM-RAID devices are understood at present.
+ (find_system_device): Add `st' argument. Pass it to
+ convert_system_partition_to_system_disk.
+ (grub_util_biosdisk_get_grub_dev): Pass stat result to
+ find_system_device and convert_system_partition_to_system_disk. Use
+ find_partition_start.
+
+ * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
+ kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
+ * util/deviceiter.c [__linux__]: Define MINOR.
+ (grub_util_iterate_devices): Add support for DM-RAID disk devices.
+ * util/mkdevicemap.c (grub_putchar): New function.
+ (grub_getkey): New function.
+ (grub_refresh): New function.
+ (main): Set debug=all if -v -v is used.
+
+2010-05-18 Colin Watson <cjwatson@ubuntu.com>
+
+ Fix build with non-GNU libcs.
+
+ * util/misc.c (canonicalize_file_name): Move to ...
+ * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
+ grub_make_system_path_relative_to_its_root.
+
+2010-05-18 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrescue.in: Sync up with grub-install in terms of how
+ we handle finding grub-mkimage. Default to finding grub-mkimage in
+ ${bindir} with program_transform_name applied, and provide a
+ --grub-mkimage option to override this.
+
+2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove grub-mkisofs.
+
+ * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
+ (grub_mkisofs_SOURCES): Removed.
+ (grub_mkisofs_CFLAGS): Removed.
+ * util/mkisofs/defaults.h: Removed.
+ * util/mkisofs/eltorito.c: Likewise.
+ * util/mkisofs/exclude.h: Likewise.
+ * util/mkisofs/hash.c: Likewise.
+ * util/mkisofs/include/: Likewise.
+ * util/mkisofs/include/fctldefs.h: Likewise.
+ * util/mkisofs/include/mconfig.h: Likewise.
+ * util/mkisofs/include/prototyp.h: Likewise.
+ * util/mkisofs/include/statdefs.h: Likewise.
+ * util/mkisofs/iso9660.h: Likewise.
+ * util/mkisofs/joliet.c: Likewise.
+ * util/mkisofs/match.c: Likewise.
+ * util/mkisofs/match.h: Likewise.
+ * util/mkisofs/mkisofs.c: Likewise.
+ * util/mkisofs/mkisofs.h: Likewise.
+ * util/mkisofs/msdos_partition.h: Likewise.
+ * util/mkisofs/multi.c: Likewise.
+ * util/mkisofs/name.c: Likewise.
+ * util/mkisofs/rock.c: Likewise.
+ * util/mkisofs/tree.c: Likewise.
+ * util/mkisofs/write.c: Likewise.
+
+2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Unify grub-mkimage accross platforms.
+
+ * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
+ * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
+ (grub_mkelfimage_SOURCES): Removed.
+ (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
+ (util/grub-mkimage.c_DEPENDENCIES): .. this.
+ (bin_UTILITIES): Add grub-mkimage.
+ (grub_mkimage_SOURCES): New variable.
+ (kernel_img_HEADERS): Remove machine/kernel.h.
+ * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
+ (pkglib_PROGRAMS): Add kernel.img.
+ (kernel_img_HEADERS): Add machine/kernel.h.
+ (kernel_img_FORMAT): Removed.
+ (bin_UTILITIES): Remove grub-mkimage.
+ (grub_mkimage_SOURCES): Removed.
+ (grub_mkimage_CFLAGS): Likewise.
+ (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
+ * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
+ (pkglib_PROGRAMS): Add kernel.img.
+ (bin_UTILITIES): Remove grub-mkimage.
+ (grub_mkimage_SOURCES): Removed.
+ (grub_mkimage_CFLAGS): Likewise.
+ (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
+ * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
+ (pkglib_PROGRAMS): Add kernel.img.
+ * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
+ (pkglib_PROGRAMS): Add kernel.img.
+ * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
+ (grub_mkimage_SOURCES): Removed.
+ (grub_mkimage_CFLAGS): Likewise.
+ (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
+ * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
+ (pkglib_PROGRAMS): Add kernel.img.
+ (bin_UTILITIES): Remove grub-mkimage.
+ (grub_mkimage_SOURCES): Removed.
+ (grub_mkimage_CFLAGS): Likewise.
+ (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
+ * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
+ (grub_mkimage_SOURCES): Removed.
+ (grub_mkimage_CFLAGS): Likewise.
+ (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
+ * configure.ac (machine_CFLAGS): Add "-DMACHINE".
+ * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
+ (grub_pe32_optional_header): ... this.
+ (grub_pe64_optional_header): ... and this. All users updated.
+ (GRUB_PE32_PE32_MAGIC): Split into ..
+ (GRUB_PE32_PE32_MAGIC): .. this.
+ (GRUB_PE32_PE64_MAGIC): .. and this.
+ (GRUB_PE32_SIGNATURE_SIZE): New definition.
+ * include/grub/elf.h (PT_GNU_STACK): New definition.
+ * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
+ * include/grub/i386/efi/kernel.h: Likewise.
+ * include/grub/i386/kernel.h: Likewise.
+ * include/grub/i386/pc/kernel.h: Likewise.
+ * include/grub/i386/qemu/boot.h: Likewise.
+ * include/grub/mips/kernel.h: Likewise.
+ * include/grub/mips/qemu-mips/kernel.h: Likewise.
+ * include/grub/powerpc/ieee1275/kernel.h: Likewise.
+ * include/grub/powerpc/kernel.h: Likewise.
+ * include/grub/sparc64/ieee1275/boot.h: Likewise.
+ * include/grub/sparc64/ieee1275/kernel.h: Likewise.
+ * include/grub/sparc64/kernel.h: Likewise.
+ * include/grub/x86_64/efi/kernel.h: Likewise.
+ * include/grub/x86_64/kernel.h: Likewise.
+ * include/grub/offsets.h: New file.
+ * include/grub/kernel.h (grub_module_info): Split into ...
+ (grub_module_info32): ... this.
+ (grub_module_info64): ... and this.
+ * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
+ * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
+ (grub_boot_blocklist): Moved from here ...
+ * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
+ * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
+ * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
+ * include/grub/types.h (grub_target_to_host16): Removed.
+ (grub_target_to_host32): Likewise.
+ (grub_target_to_host64): Likewise.
+ (grub_host_to_target16): Likewise.
+ (grub_host_to_target32): Likewise.
+ (grub_host_to_target64): Likewise.
+ (grub_host_to_target_addr): Likewise.
+
+ Support grub-mkrescue for efi, coreboot and qemu.
+
+ * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
+ * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
+ * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
+ * util/grub-mkrawimage.c: Moved from here ...
+ * util/grub-mkimage.c: ... here. All users updated.
+ (ALIGN_ADDR): Use image_target.
+ (TARGET_NO_FIELD): New const.
+ (image_target_desc): New type.
+ (image_targets): New array.
+ (grub_target_to_host64): Use image_target.
+ (grub_target_to_host32): Likewise.
+ (grub_target_to_host16): Likewise.
+ (grub_host_to_target64): Likewise.
+ (grub_host_to_target32): Likewise.
+ (grub_host_to_target16): Likewise.
+ (grub_host_to_target_addr): Likewise.
+ (generate_image): Handle multiimage.
+ (main): Require -O parameter. All users updated.
+ * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
+ util/efi/grub-mkimage.c
+ * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
+ New option --rom-directory.
+ Use xorriso.
+ * util/i386/efi/grub-mkimage.c: Removed.
+ * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
+ (grub_target_to_host32): Likewise.
+ (grub_target_to_host64): Likewise.
+ (grub_host_to_target16): Likewise.
+ (grub_host_to_target32): Likewise.
+ (grub_host_to_target64): Likewise.
+ * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
+ (grub_target_to_host32): Likewise.
+ (grub_target_to_host64): Likewise.
+ (grub_host_to_target16): Likewise.
+ (grub_host_to_target32): Likewise.
+ (grub_host_to_target64): Likewise.
+
+2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
+
+ Source tree is reorganized for emu build.
+
+ * include/grub/util/console.h: Move from here...
+ * include/grub/emu/console.h: ...to here.
+ * include/grub/util/getroot.h: Move from here...
+ * include/grub/emu/getroot.h: ...to here.
+ * include/grub/util/hostdisk.h: Move from here...
+ * include/grub/emu/hostdisk.h: ...to here.
+ * util/console.c: Move from here...
+ * kern/emu/console.c: ...to here.
+ * util/getroot.c: Move from here...
+ * kern/emu/getroot.c: ...to here.
+ * util/grub-emu.c: Move from here...
+ * kern/emu/main.c: ...to here.
+ * util/hostdisk.c: Move from here...
+ * kern/emu/hostdisk.c: ...to here.
+ * util/hostfs.c: Move from here...
+ * kern/emu/hostfs.c: ...to here.
+ * util/mm.c: Move from here...
+ * kern/emu/mm.c: ...to here.
+ * util/pci.c: Move from here...
+ * bus/emu/pci.c: ...to here.
+ * util/sdl.c: Move from here...
+ * video/emu/sdl.c: ...to here.
+ * util/time.c: Move from here...
+ * kern/emu/time.c: ...to here.
+ * util/usb.c: Move from here...
+ * bus/usb/emu/usb.c: ...to here.
+
+ * include/grub/emu/misc.h: New header for grub-emu functions.
+ * kern/emu/misc.c: grub-emu functions separated from util/misc.c
+
+ * conf/any-emu.rmk: Rule updates for above renames.
+ * conf/common.rmk: Likewise.
+ * conf/i386-pc.rmk: Likewise.
+ * conf/i386-qemu.rmk: Likewise.
+ * conf/mips.rmk: Likewise.
+ * conf/sparc64-ieee1275.rmk: Likewise.
+ * conf/x86-efi.rmk: Likewise.
+
+ * disk/lvm.h: #include updates for above renames.
+ * util/grub-mkrelpath.c: Likewise.
+ * util/grub-probe.c: Likewise.
+ * util/i386/pc/grub-setup.c: Likewise.
+ * util/sparc64/ieee1275/grub-setup.c: Likewise.
+ * kern/emu/console.c: Likewise.
+ * kern/emu/getroot.c: Likewise.
+ * kern/emu/hostdisk.c: Likewise.
+ * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
+
+ * include/grub/dl.h: Remove grub_dl_{ref,unref}.
+ * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
+ * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
+ * util/misc.c: Remove grub-emu functions.
+
+2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix gfxmenu crash.
+ Reported by: Thorsten Grützmacher.
+
+ * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
+ timeout hook.
+ (circprog_set_property): Register and unregister timeout hook.
+ * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
+ (label_destroy): Free template. and unregister hook.
+ (label_set_state): New function.
+ (label_set_property): Handle templates and hooks.
+ * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
+ timeout hook.
+ (progress_bar_set_property): Register and unregister timeout hook.
+ * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
+ * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
+ * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
+ (update_timeout_visit): Removed.
+ (update_timeouts): New function.
+ (redraw_timeouts): Likewise.
+ (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
+ (grub_gfxmenu_clear_timeout): Likewise.
+ * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
+ (grub_gfxmenu_timeout_notify): Likewise.
+ (grub_gfxmenu_timeout_notifications): New external variable.
+ (grub_gfxmenu_timeout_register): New function.
+ (grub_gfxmenu_timeout_unregister): Likewise.
+
+2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Transform (broken) vga terminal into (working) vga video driver.
+
+ * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
+ video/i386/pc/vga.c.
+ * include/grub/video.h (grub_video_driver_id):
+ Add GRUB_VIDEO_DRIVER_VGA.
+ * term/i386/pc/vga.c: Renamed to ...
+ * video/i386/pc/vga.c: ...this
+ (DEBUG_VGA): Removed.
+ (CHAR_WIDTH): Likewise.
+ (CHAR_HEIGHT): Likewise.
+ (TEXT_WIDTH): Likewise.
+ (TEXT_HEIGHT): Likewise.
+ (DEFAULT_FG_COLOR): Likewise.
+ (DEFAULT_BG_COLOR): Likewise.
+ (colored_char): Likewise.
+ (xpos): Likewise.
+ (ypos): Likewise.
+ (cursor_state): Likewise.
+ (fg_color): Likewise.
+ (bg_color): Likewise.
+ (text_buf): Likewise.
+ (page): Likewise.
+ (font): Likewise.
+ (framebuffer): New variable.
+ (set_read_map): Disabled.
+ (setup): New variable.
+ (is_target): Likewise.
+ (grub_vga_mod_init): Likewise.
+ (grub_vga_mod_fini): Likewise.
+ (check_vga_mem): Likewise.
+ (write_char): Likewise.
+ (write_cursor): Likewise.
+ (scroll_up): Likewise.
+ (grub_vga_putchar): Likewise.
+ (grub_vga_getcharwidth): Likewise.
+ (grub_vga_getwh): Likewise.
+ (grub_vga_getxy): Likewise.
+ (grub_vga_gotoxy): Likewise.
+ (grub_vga_cls): Likewise.
+ (grub_vga_setcolorstate): Likewise.
+ (grub_vga_setcursor): Likewise.
+ (grub_video_vga_init): New function.
+ (grub_video_vga_setup): Likewise.
+ (grub_video_vga_fini): Likewise.
+ (update_target): Likewise.
+ (grub_video_vga_blit_bitmap): Likewise.
+ (grub_video_vga_blit_render_target): Likewise.
+ (grub_video_vga_set_active_render_target): Likewise.
+ (grub_video_vga_get_active_render_target): Likewise.
+ (grub_video_vga_swap_buffers): Likewise.
+ (grub_video_vga_set_palette): Likewise.
+ (grub_video_vga_get_info_and_fini): Likewise.
+ (grub_vga_term): Removed.
+ (grub_video_vga_adapter): New variable.
+ (GRUB_MOD_INIT): Register a video driver instead of terminal.
+ (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
+
+2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * video/readers/jpeg.c: Indented.
+
+2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Various jpeg cleanups.
+
+ * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
+ (grub_jpeg_decode_quan_table): Use sizeof.
+ (grub_jpeg_decode_du): Use ARRAY_SIZE.
+
+2010-05-05 Peter Hurley <No e-mail available> (tiny change)
+
+ * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
+ tables. Ignore non-last ac bit.
+ (grub_jpeg_decode_quan_table): Likewise.
+
+2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
+ GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
+ * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
+ GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
+ * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
+ 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
+
+2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
+ error.
+
+2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
+
2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
* commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES