]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Preferred resolution detection for VBE.
authorColin Watson <cjwatson@ubuntu.com>
Thu, 21 Jul 2011 18:46:44 +0000 (19:46 +0100)
committerColin Watson <cjwatson@ubuntu.com>
Thu, 21 Jul 2011 18:46:44 +0000 (19:46 +0100)
* grub-core/video/video.c (grub_video_edid_checksum): New function.
(grub_video_edid_preferred_mode): Likewise.  Try EDID followed by
the Flat Panel extension, in line with the X.org VESA driver.
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
New function.
(grub_vbe_bios_get_ddc_capabilities): Likewise.
(grub_vbe_bios_read_edid): Likewise.
(grub_vbe_get_preferred_mode): Likewise.
(grub_video_vbe_setup): When the mode is "auto", try to get the
preferred mode from VBE, and use the largest mode that is no larger
than the preferred mode (some BIOSes expose a preferred mode that is
not in their mode list!).  If this fails, fall back to 640x480 as a
safe conservative choice.
(grub_video_vbe_get_edid): New function.
(grub_video_vbe_adapter): Add get_edid.
* include/grub/video.h (struct grub_vbe_edid_info): New structure.
(struct grub_video_adapter): Add get_edid.
(grub_video_edid_checksum): Add prototype.
(grub_video_edid_preferred_mode): Likewise.
* include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
structure.

* grub-core/commands/videoinfo.c (print_edid): New function.
(grub_cmd_videoinfo): Print EDID if available.

* util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto".  This
is more appropriate on a wider range of platforms than 640x480.
* docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
documentation.

1  2 
ChangeLog
docs/grub.texi
grub-core/commands/videoinfo.c
grub-core/video/i386/pc/vbe.c
util/grub.d/00_header.in

diff --cc ChangeLog
index 0b386157c1dd3f9b3307d5222456d8bd83c56c3d,3980ef7b4baa151966d1b2f88ef495fcb179e4fe..e4ca1a6c3eef597b6ddb52f6f391da2855465798
+++ b/ChangeLog
++2011-07-21  Colin Watson  <cjwatson@ubuntu.com>
++
++      Preferred resolution detection for VBE.
++
++      * grub-core/video/video.c (grub_video_edid_checksum): New function.
++      (grub_video_edid_preferred_mode): Likewise.  Try EDID followed by
++      the Flat Panel extension, in line with the X.org VESA driver.
++      * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
++      New function.
++      (grub_vbe_bios_get_ddc_capabilities): Likewise.
++      (grub_vbe_bios_read_edid): Likewise.
++      (grub_vbe_get_preferred_mode): Likewise.
++      (grub_video_vbe_setup): When the mode is "auto", try to get the
++      preferred mode from VBE, and use the largest mode that is no larger
++      than the preferred mode (some BIOSes expose a preferred mode that is
++      not in their mode list!).  If this fails, fall back to 640x480 as a
++      safe conservative choice.
++      (grub_video_vbe_get_edid): New function.
++      (grub_video_vbe_adapter): Add get_edid.
++      * include/grub/video.h (struct grub_vbe_edid_info): New structure.
++      (struct grub_video_adapter): Add get_edid.
++      (grub_video_edid_checksum): Add prototype.
++      (grub_video_edid_preferred_mode): Likewise.
++      * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
++      structure.
++
++      * grub-core/commands/videoinfo.c (print_edid): New function.
++      (grub_cmd_videoinfo): Print EDID if available.
++
++      * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto".  This
++      is more appropriate on a wider range of platforms than 640x480.
++      * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
++      documentation.
++
 +2011-07-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
 +
 +2011-07-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * po/POTFILES.in: Regenerate.
 +
 +2011-07-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
 +      incorrect memory usage.
 +
 +2011-07-10  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-install.in: Source grub-mkconfig_lib.
 +
 +2011-07-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Remove getroot.c from core on emu platform.
 +
 +      * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
 +      kern/emu/raid.c.
 +      * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
 +      useless.
 +      * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
 +      * util/getroot.c (get_win32_path): ... here.
 +      * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
 +      * util/getroot.c (fini_libzfs): ... here.
 +      * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
 +      * util/getroot.c (grub_get_libzfs_handle): ... here.
 +      * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
 +      Moved from here...
 +      * util/getroot.c (grub_find_zpool_from_dir): ... here.
 +      * grub-core/kern/emu/misc.c
 +      (grub_make_system_path_relative_to_its_root): Moved from here...
 +      * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
 +      * grub-core/kern/emu/getroot.c: Moved from here ...
 +      * util/getroot.c: ... here. All users updated.
 +      * grub-core/kern/emu/raid.c: Moved from here ...
 +      * util/raid.c: ... here. All users updated.
 +
 +2011-07-08  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * po/POTFILES.in: Regenerate.
 +
 +2011-07-07  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Fix compilation on GNU/Linux.
 +
 +      * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
 +      Disable geli.
 +      (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
 +      (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
 +      * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
 +
 +2011-07-07  Vladimir Serbinenko  <phcoder@gmail.com>
 +2011-07-07  Michael Gorven  <michael@gorven.za.net>
 +2011-07-07  Clemens Fruhwirth <clemens@endorphin.org>
 +
 +      LUKS and GELI support.
 +
 +      * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
 +      grub-core/disk/luks.c, grub-core/disk/geli.c,
 +      grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
 +      grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
 +      grub-core/lib/arg.c.
 +      (libgrubmods.a): Remove gcrypts cflags and cppflags.
 +      Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
 +      grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
 +      grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
 +      (grub-bin2h): Add libgcry.a.
 +      (grub-mkimage): Likewise.
 +      (grub-mkrelpath): Likewise.
 +      (grub-script-check): Likewise.
 +      (grub-editenv): Likewise.
 +      (grub-mkpasswd-pbkdf2): Likewise.
 +      (grub-pe2elf): Likewise.
 +      (grub-fstest): Likewise.
 +      (grub-mkfont): Likewise.
 +      (grub-mkdevicemap): Likewise.
 +      (grub-probe): Likewise.
 +      (grub-ofpath): Likewise.
 +      (grub-mklayout): Likewise.
 +      (example_unit_test): Likewise.
 +      (grub-menulst2cfg): Likewise.
 +      * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
 +      * grub-core/Makefile.core.def (cryptodisk): New module.
 +      (luks): Likewise.
 +      (geli): Likewise.
 +      * grub-core/disk/AFSplitter.c: New file.
 +      * grub-core/disk/cryptodisk.c: Likewise.
 +      * grub-core/disk/geli.c: Likewise.
 +      * grub-core/disk/luks.c: Likewise.
 +      * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
 +      grub_util_is_lvm.
 +      (grub_util_get_dm_abstraction): New function.
 +      (grub_util_follow_gpart_up): Likewise.
 +      (grub_util_get_geom_abstraction): Likewise.
 +      (grub_util_get_dev_abstraction): Use new functions.
 +      (grub_util_pull_device): Pull GELI and LUKS.
 +      (grub_util_get_grub_dev): Handle LUKS and GELI.
 +      * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
 +      (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
 +      (follow_geom_up): Removed.
 +      (grub_util_fd_seek): New function.
 +      (open_device): Use grub_util_fd_seek.
 +      (nread): Rename to ..
 +      (grub_util_fd_read): ... this. All users updated.
 +      * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
 +      (grub_crypto_cbc_decrypt): Likewise.
 +      (grub_crypto_hmac_write): Likewise.
 +      (grub_crypto_hmac_buffer): Likewise.
 +      (grub_password_get): Extend to util.
 +      * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
 +      New member modname.
 +      (gcry_md_spec) [GRUB_UTIL]: Likewise.
 +      * include/grub/cryptodisk.h: New file.
 +      * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
 +      * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
 +      LUKS and GELI.
 +      (grub_util_follow_gpart_up): New proto.
 +      * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
 +      (grub_util_fd_read): Likewise.
 +      (grub_cryptodisk_cheat_mount): Likewise.
 +      (grub_util_cryptodisk_print_uuid): Likewise.
 +      (grub_util_get_fd_sectors): Likewise.
 +      * util/grub-fstest.c (mount_crypt): New var.
 +      (fstest): Mount crypto if requested.
 +      (options): New option -C.
 +      (argp_parser): Parse -C.
 +      (main): Init and fini gcry.
 +      * util/grub-install.in: Support cryptodisk install.
 +      * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
 +      * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
 +      cryptodisk.
 +      (prepare_grub_to_access_device): Likewise.
 +      * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
 +      * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
 +      (probe_cryptodisk_uuid): New function.
 +      (probe_abstraction): Likewise.
 +      (probe): Use new functions.
 +      * util/import_gcry.py: Create Makefile.utilgcry.def.
 +      Add modname member.
 +
 +2011-07-07  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Lazy device scanning.
 +
 +      * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
 +      (grub-setup): Remove util/raid.c.
 +      * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
 +      * grub-core/disk/lvm.c (scan_depth): New variable.
 +      (grub_lvm_iterate): Rescan if necessary.
 +      (find_lv): New function based on grub_lvm_open.
 +      (grub_lvm_open): Use find_lv. Rescan on error.
 +      (is_node_readable): New function.
 +      (is_lv_readable): Likewise.
 +      (grub_lvm_scan_device): Skip already found disks.
 +      (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
 +      Stop if searched device is found and readable.
 +      * grub-core/disk/raid.c (inscnt): New variable.
 +      (scan_depth): Likewise.
 +      (scan_devices): New function based on grub_raid_register. Abort if
 +      looked for device is found.
 +      (grub_raid_iterate): Rescan if needed.
 +      (find_array): NEw function based on -grub_raid_open.
 +      (grub_raid_open): Use find_array and rescan.
 +      (insert_array): Set became_readable_at.
 +      * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
 +      * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
 +      New function.
 +      (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
 +      (grub_util_pull_device): New function.
 +      (grub_util_get_grub_dev): Call grub_util_pull_device.
 +      * util/raid.c: Moved to ..
 +      * grub-core/kern/emu/raid.c: ... here.
 +      (grub_util_raid_getmembers): New parameter "bootable".
 +      All users updated. Support 1.x.
 +      * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
 +      All users updated.
 +      * include/grub/disk.h (grub_disk_pull_t): New enum.
 +      (grub_disk_dev): Change iterate prototype.
 +      All users updated.
 +      * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
 +      New proto.
 +      * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
 +      * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
 +      * include/grub/raid.h (grub_raid_array): New member became_readable_at.
 +      * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
 +      All users updated.
 +      * include/grub/util/raid.h: Removed.
 +
 +2011-07-06  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * po/POTFILES.in: Regenerate.
 +
 +2011-07-06  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Unify sparc init with other ieee1275.
 +
 +      * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
 +      instead of kern/sparc64/ieee1275/init.c.
 +      * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
 +      [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
 +      * grub-core/kern/ieee1275/init.c [__sparc__]: Include
 +      grub/machine/kernel.h.
 +      (grub_ieee1275_original_stack) [__sparc__]: New variable.
 +      (grub_claim_heap) [__sparc__]: Use sparc version.
 +      (grub_machine_init): Moved args parsing to
 +      (grub_parse_cmdline): ...this.
 +      * grub-core/kern/sparc64/ieee1275/init.c: Removed.
 +      * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
 +      New definition.
 +      (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
 +
 +      Move BOOTP to separate file.
 +
 +      * grub-core/Makefile.core.def (net): Add net/bootp.c.
 +      * grub-core/net/net.c: Move all BOOTP functions to
 +      * grub-core/net/bootp.c: ... here.
 +
 +      Use frame interface on PXE.
 +
 +      * grub-core/Makefile.core.def (pxecmd): Removed.
 +      (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
 +      * grub-core/commands/i386/pc/pxecmd.c: Removed.
 +      * grub-core/i386/pc/pxe.c: Moved from here ...
 +      * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
 +      * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
 +      * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
 +
 +      EFI network support.
 +
 +      * grub-core/Makefile.core.def (efinet): New module.
 +      * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
 +      here...
 +      * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
 +      All users updated.
 +      * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
 +      (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
 +      * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
 +      * grub-core/net/drivers/efi/efinet.c: New file.
 +      * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
 +      (grub_efi_net_config): New extern var.
 +
 +      Various cleanups and bugfixes.
 +
 +      * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
 +      error.
 +      (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
 +      disk declared as partition.
 +      * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
 +      leak on failure.
 +      * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
 +      * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
 +      (grub_debug_zalloc): Likewise.
 +      (grub_debug_realloc): Likewise.
 +      (grub_debug_memalign): Likewise.
 +      * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
 +      Check that target is IPv4.
 +      * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
 +      local-mac-address as fallback.
 +      * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
 +      memory leak.
 +      * grub-core/net/ip.c (ipchksum): Rename to ...
 +      (grub_net_ip_chksum): ... this. All users updated.
 +      (grub_net_recv_ip_packets): Special handling for DHCP.
 +      * util/grub-mkimage.c (generate_image): Zero-out aout header.
 +
 +      Unify prefix handling
 +
 +      * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
 +      (grub_machine_get_bootlocation): ... this.
 +      * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
 +      (grub_machine_get_bootlocation): ... this.
 +      (grub_prefix): New variable.
 +      (prefix): Removed.
 +      (root_dev): New variable.
 +      (dir): Likewise.
 +      (main): Use new variables.
 +      * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
 +      Revamped into ...
 +      (grub_machine_get_bootlocation): ... this.
 +      * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
 +      * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
 +      (grub_machine_get_bootlocation): ... this.
 +      (grub_machine_set_prefix): Removed.
 +      * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
 +      * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
 +      Revamped into ...
 +      (grub_machine_get_bootlocation): ... this.
 +      * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
 +      (grub_set_prefix_and_root): ... this. All users updated.
 +      * grub-core/kern/mips/init.c (grub_machine_set_prefix):
 +      Revamped into ...
 +      (grub_machine_get_bootlocation): ... this.
 +      * include/grub/kernel.h (grub_machine_set_prefix): Removed.
 +      (grub_machine_get_bootlocation): New proto.
 +      * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
 +
 +      Less intrusive and more reliable seek on network implementation.
 +
 +      * grub-core/kern/file.c (grub_file_net_seek): Removed.
 +      (grub_file_seek): Don't call grub_file_net_seek.
 +      * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
 +      (grub_net_fs_read_real): .. this.
 +      (grub_net_seek_real): Use net->offset.
 +      (grub_net_fs_read): Seek if necessary.
 +
 +      Unify IEEE1275 netwotk config with the other platforms.
 +
 +      * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
 +      New variable.
 +      (grub_machine_get_bootlocation): Support network.
 +      * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
 +      Support type and device parsing.
 +      (grub_ieee1275_get_device_type): New function.
 +      * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
 +      into ...
 +      (grub_ieee1275_net_config_real): ... this.
 +      (grub_ofnet_probecards): Removed.
 +      * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
 +      * include/grub/ieee1275/ofnet.h: Removed.
 +      * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
 +      extern var.
 +      (grub_ieee1275_get_device_type): New function.
 +
 +      Unify network device closing across platforms and make more robust.
 +
 +      * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
 +      grub_grubnet_fini.
 +      * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
 +      already.
 +      * grub-core/net/net.c (grub_net_network_level_interface_register):
 +      Update num_ifaces.
 +      (grub_net_card_unregister): Close all interfaces.
 +      (receive_packets): Don't poll if no iterfaces are registered.
 +      Open if necessary.
 +      (grub_net_fini_hw): New function.
 +      (grub_net_restore_hw): Likewise.
 +      (fini_hnd): New variable.
 +      (GRUB_MOD_INIT): Register preboot hook.
 +      (GRUB_MOD_FINI): Run and unregister preboot hook.
 +
 +      Poll network cards when idle.
 +
 +      * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
 +      (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
 +      * grub-core/net/net.c (receive_packets): Save last poll time.
 +      (grub_net_poll_cards_idle_real): New function.
 +      (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
 +      (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
 +      * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
 +
 +      Rename ofnet interfaces.
 +
 +      * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
 +      (grub_ofnet_findcards): Use ofnet_%s names.
 +
 +      * util/grub-mknetdir.in: Support for EFI and IEEE1275.
 +
 +      Cleanup socket opening.
 +
 +      * grub-core/net/net.c (grub_net_fs_open): Rewritten.
 +      (grub_net_fs_close): Likewise.
 +      (grub_net_fs_read_real): Use eof member.
 +      * include/grub/net/udp.h (+grub_net_udp_open): New proto.
 +      (+grub_net_udp_close): New inline function.
 +
 +      * include/grub/net/tftp.h: Moved to the top of ...
 +      * grub-core/net/tftp.c: ... here.
 +      * include/grub/net/ip.h: Moved mostly to the top of ...
 +      * grub-core/net/ip.c: ... here.
 +      * include/grub/net/ethernet.h: Moved mostly to the top of ...
 +      * grub-core/net/ethernet.c: ... here.
 +
 +      * grub-core/kern/device.c (grub_device_close): Free device->net->server.
 +
 +      * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
 +      FS name.
 +
 +      * include/grub/net/ip.h (ipv4_ini): Removed.
 +      (ipv4_fini): Likewise.
 +
 +      * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
 +      (grub_net_send_ip_packets): Likewise.
 +
 +2011-07-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
 +      grub_read_cmos prototype.
 +
 +2011-07-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      VGA text support in qemu-mips
 +
 +      * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
 +      term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
 +      * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
 +      text.
 +      * grub-core/kern/i386/qemu/init.c: Renamed to ...
 +      * grub-core/kern/vga_init.c: ... this.
 +      * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
 +      (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
 +      * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
 +      Adjust.
 +      * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
 +      GRUB_MACHINE_PCI_IO_BASE.
 +
 +2011-07-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      MIPS qemu flash support.
 +
 +      * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
 +      magic.
 +      * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
 +      (grub_machine_init): Probe memory if its size isn't known.
 +      * util/grub-mkimage.c (image_targets): Add flash targets.
 +      (generate_image): Handle flash targets.
 +
 +2011-07-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      MIPS qemu at_keyboard support.
 +
 +      * gentpl.py (videoinkernel): Add qemu-mips.
 +      * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
 +      * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
 +      * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
 +      modules.
 +      * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
 +      [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
 +      * grub-core/term/serial.c (grub_serial_register)
 +      [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
 +
 +2011-07-05  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      CMOS support on sparc.
 +
 +      * gentpl.py (cmos): Add powerpc and sparc.
 +      * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
 +      powerpc and sparc.
 +      * grub-core/lib/cmos_datetime.c (grub_get_datetime)
 +      [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
 +      (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
 +      grub_set_datetime_cmos.
 +      * grub-core/lib/ieee1275/cmos.c: New file.
 +      * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
 +      (find_rtc): Set no_ieee1275_rtc on error.
 +      (grub_get_datetime): Call grub_get_datetime_cmos on error.
 +      (grub_set_datetime): Call grub_set_datetime_cmos on error.
 +      * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
 +      fail. Move value to argument. All users updated
 +      (grub_cmos_write): Likewise.
 +      (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
 +      (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
 +      * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
 +      grub_get_datetime_cmos and grub_set_datetime_cmos.
 +
 +2011-07-02  GrĂ©goire Sutre  <gregoire.sutre@gmail.com>
 +
 +      * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
 +      sourcing grub-mkconfig_lib.
 +      * util/update-grub_lib.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.
 +
 +2011-06-28  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
 +      default_bg_color rather than black.
 +      (grub_gfxterm_fullscreen): Likewise.
 +      (grub_gfxterm_background_color_cmd): Save new background color in
 +      default_bg_color.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/Makefile.core.def (chain): Fix coreboot filename.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
 +      mismerge.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Chainloading on coreboot support.
 +
 +      * grub-core/Makefile.core.def (chain): Add coreboot.
 +      * grub-core/loader/i386/coreboot/chainloader.c: New file.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
 +      if it happens.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Implement time command.
 +
 +      * grub-core/Makefile.core.def (time): New module.
 +      * grub-core/commands/time.c: New file.
 +      * grub-core/script/parser.y: Remove "time" keyword.
 +      * grub-core/script/yylex.l: Likewise.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
 +      when handling leftovers.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
 +      so that help2man doesn't fail.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
 +      type in pointers on sparc64.
 +      (get_card_packet): Likewise.
 +
 +2011-06-27  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/commands/videoinfo.c (hook): Indicate current video mode
 +      with `*'.
 +      (grub_cmd_videoinfo): Fetch current video mode.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
 +      because of underlying system restrictions.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
 +      necessary.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Coreboot video support.
 +
 +      * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
 +      (vbe): Likewise.
 +      * grub-core/kern/i386/coreboot/startup.S: Include int.S.
 +      * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
 +      here ...
 +      * grub-core/kern/i386/int.S: ... here.
 +      * grub-core/video/i386/pc/vbe.c: Updated includes.
 +      * grub-core/video/i386/pc/vga.c: Likewise.
 +      * include/grub/i386/coreboot/memory.h
 +      (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
 +      (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
 +      (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
 +      * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
 +      Disable interrupts.
 +      * include/grub/i386/pc/vga.h: Removed. All users updated.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
 +      definitions for dprintf.
 +      * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
 +
 +2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
 +      prototype.
 +      (get_card_packet): Likewise.
 +
 +2011-06-26  Yves Blusseau  <blusseau@zetam.org>
 +
 +      Display the path of the file when file is not found
 +
 +      * grub-core/fs/fat.c: Display the filename when file is not found.
 +      * grub-core/fs/fshelp.c: Likewise.
 +      * grub-core/fs/hfs.c: Likewise.
 +      * grub-core/fs/jfs.c: Likewise.
 +      * grub-core/fs/minix.c: Likewise.
 +      * grub-core/fs/ufs.c: Likewise.
 +      * grub-core/fs/btrfs.c: Likewise.
 +      * grub-core/commands/i386/pc/play.c: Likewise.
 +
 +2011-06-26  Szymon Janc <szymon@janc.net.pl>
 +
 +      * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
 +      pointer checks before calling grub_free().
 +      * grub-core/commands/wildcard.c (match_devices): Likewise.
 +      * grub-core/commands/wildcard.c (match_files): Likewise.
 +      * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
 +      * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
 +      * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
 +      * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
 +      * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
 +      * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
 +      * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
 +      * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
 +      * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
 +
 +2011-06-25  Patrick <p55@mailinator.com>
 +
 +      * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
 +
 +2011-06-25  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
 +      (grub_pxe_send): Likewise.
 +      (GRUB_MOD_INIT): Fix types.
 +
 +2011-06-24  Szymon Janc <szymon@janc.net.pl>
 +
 +      * grub-core/io/xzio.c: Fix code style issues
 +
 +2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>
 +2011-06-24  Manoel Rebelo Abranches <mrabran@gmail.com>
 +
 +      Network infrastructure.
 +      The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
 +
 +      * include/grub/net/arp.h: New file.
 +      * include/grub/net/device.h: Likewise.
 +      * include/grub/net/ethernet.h: Likewise.
 +      * include/grub/net/ip.h: Likewise.
 +      * include/grub/net/netbuff.h: Likewise.
 +      * include/grub/net/tftp.h: Likewise.
 +      * include/grub/net/udp.h: Likewise.
 +      * include/grub/ieee1275/ofnet.h: Likewise.
 +      * include/grub/emu/export.h: Likewise.
 +      * include/grub/net.h: Likewise.
 +      * grub-core/net/arp.c: Likewise.
 +      * grub-core/net/ethernet.c: Likewise.
 +      * grub-core/net/ip.c: Likewise.
 +      * grub-core/net/udp.c: Likewise.
 +      * grub-core/net/tftp.c: Likewise.
 +      * grub-core/net/netbuff.c: Likewise.
 +      * grub-core/net/net.c: Likewise.
 +      * grub-core/net/drivers/emu/emunet.c: Likewise.
 +      * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
 +      * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
 +      export.h.
 +      * grub-core/Makefile.core.def (net): New module.
 +      (tftp): Likewise.
 +      (ofnet): Likewise.
 +      (emunet): Likewise.
 +      * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
 +      network protocols.
 +      * grub-core/kern/device.c (grub_net_open) : New variable.
 +      (grub_device_open): Handle network device.
 +      (grub_device_close): Likewise.
 +      * grub-core/kern/file.c (grub_file_net_seek) : New variable.
 +      (grub_grubnet_fini): Likewise.
 +      (grub_file_seek): Seek in network device.
 +      * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
 +      * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
 +      network root.
 +      (grub_machine_fini): Call grub_grubnet_fini.
 +      * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
 +      network.
 +      (grub_ieee1275_get_aliasdevname): New function.
 +      * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
 +      Add unofficial Solaris network info.
 +      (grub_multiboot_make_mbi): Likewise.
 +      * grub-core/fs/i386/pc/pxe.c: Moved from here ...
 +      * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
 +      * include/grub/device.h (grub_fs): Removed.
 +      * include/grub/err.h (grub_err_t): Add network-related values.
 +      * include/grub/i386/pc/pxe.h: Removed bootp parts.
 +      * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
 +      (grub_ieee1275_get_aliasdevname): New proto.
 +      * include/grub/net.h: Rewritten.
 +
 +2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
 +      names.
 +
 +2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
 +      (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
 +      it truncates the output.
 +      Reported by: Ximin Luo.
 +
 +2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
 +
 +2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
 +      partmap before abstraction.
 +
 +2011-06-24  Alexander Kurtz <kurtz.alex@googlemail.com>
 +
 +      * util/grub-mkconfig_lib.in: Add missing quotes.
 +
 +2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
 +      old method if mountinfo would return /dev/root and /dev/root doesn't
 +      exist.
 +
 +2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      ZFS zlib support
 +
 +      * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
 +      (decomp_table): Add zlib entries.
 +      (zio_read): USe 8 bits for compression function rather than 3.
 +      * include/grub/zfs/zio.h (zio_compress): Add zlib values.
 +
 +2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/ahci.c: Add missing license statements.
 +      * grub-core/fs/romfs.c: Likewise.
 +      * grub-core/lib/ia64/setjmp.S: Likewise.
 +      * grub-core/loader/i386/pc/freedos.c: Likewise.
 +      * grub-core/loader/ia64/efi/linux.c: Likewise.
 +      * grub-core/video/colors.c: Likewise.
 +      * include/grub/dl.h (GRUB_MOD_DEP): New macro.
 +
 +2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      AHCI support.
 +
 +      * grub-core/Makefile.core.def (ata_pthru): Removed.
 +      (ahci): New module.
 +      (pata): Likewise.
 +      * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
 +      on unload.
 +      * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
 +      readwrite.
 +      (grub_hdparm_do_check_powermode_cmd): Likewise.
 +      (grub_hdparm_do_smart_cmd): Likewise.
 +      (grub_hdparm_set_val_cmd): Likewise.
 +      (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
 +      * grub-core/disk/ahci.c: New file.
 +      * grub-core/disk/ata.c: Factor out the low-level part into ...
 +      * grub-core/disk/pata.c: ... here.
 +      * grub-core/disk/ata_pthru.c: Contents moved to ...
 +      * grub-core/disk/pata.c: ... here.
 +      * grub-core/disk/scsi.c (grub_scsi_names): New array.
 +      (grub_scsi_iterate): Use grub_scsi_names.
 +      (grub_scsi_open): Likewise.
 +      * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
 +      * include/grub/ata.h (grub_ata_commands): Add DMA commands.
 +      (grub_ata_regs_t): New struct.
 +      (grub_disk_ata_pass_through_parms): Likewise.
 +      (grub_ata_device): Renamed to ...
 +      (grub_ata): ... this.
 +      (grub_ata_dev): New struct.
 +      Removed all low-level inline functions.
 +      * include/grub/scsi.h: Add PATA and AHCI subsystems.
 +      (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
 +      iterate hooks and open. All users updated.
 +      * util/grub-install.in: Handle AHCI disk module.
 +
 +2011-06-23  Szymon Janc <szymon@janc.net.pl>
 +
 +      Add support for DRI and RSTn markers in JPEG files.
 +
 +      * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
 +      (JPEG_MARKER_RST0): Likewise.
 +      (JPEG_MARKER_RST1): Likewise.
 +      (JPEG_MARKER_RST2): Likewise.
 +      (JPEG_MARKER_RST3): Likewise.
 +      (JPEG_MARKER_RST4): Likewise.
 +      (JPEG_MARKER_RST5): Likewise.
 +      (JPEG_MARKER_RST6): Likewise.
 +      (JPEG_MARKER_RST7): Likewise.
 +      (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
 +      (grub_jpeg_decode_dri): New function.
 +      (grub_jpeg_decode_sos): Move image data related part into
 +      grub_jpeg_decode_data function.
 +      (grub_jpeg_decode_data): New function.
 +      (grub_jpeg_reset): New function.
 +      (grub_jpeg_decode_jpeg): Handle new markers.
 +
 +2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/ieee1275/ofpath.c (check_sas): Close fd.
 +      (main): Free of_path.
 +      Reported by: David Volgyes <dvolgyes>.
 +
 +2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
 +      Reported by: David Volgyes <dvolgyes>.
 +
 +2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
 +      file after stat.
 +      Reported by: David Volgyes <dvolgyes>.
 +
 +2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
 +
 +      Reported by: David Volgyes <dvolgyes>.
 +
 +2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
 +      Prevent memory leak.
 +
 +2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
 +      (main): Close file.
 +      Reported by: David Volgyes <dvolgyes>.
 +
 +2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
 +      to continue if allocation is failed.
 +
 +      Reported by: David Volgyes <dvolgyes>.
 +
 +2011-06-23  David Volgyes <dvolgyes>
 +
 +      * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
 +      dereference.
 +
 +2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Fix spurious warning.
 +
 +      * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
 +      (acorn_partition_map_find): Use .bin member.
 +
 +2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
 +      /dev/root as a valid device.
 +
 +2011-06-23  Jim Meyering  <meyering@redhat.com>
 +
 +      Avoid NULL deref in grub_device_open.
 +
 +      * grub-core/kern/device.c (grub_device_open): Don't dereference
 +      a NULL pointer upon failed grub_env_get.
 +
 +2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Support non-512B sectors and agglomerate reads.
 +
 +      * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
 +      * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
 +      (disk_io_guid): Removed.
 +      (make_devices): Locate solely by BlockIO.
 +      (grub_efidisk_open): Fill log_sector_size and total_sectors.
 +      (grub_efidisk_read): Use read_blocks.
 +      (grub_efidisk_write): Use write_blocks.
 +      * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
 +      log_sector_size.
 +      (get_safe_sectors): Handle non-512B sectors.
 +      (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
 +      sectors.
 +      (grub_biosdisk_write): Handle non-512B sectors.
 +      * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
 +      (grub_scsi_read): Remove special non-512B block handling (now handled
 +      one level up).
 +      * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
 +      and do sanity checks.
 +      (grub_disk_adjust_range): Handle non-512B sectors.
 +      (transform_sector): New function.
 +      (grub_disk_read_small): Likewise.
 +      (grub_disk_read): Rewritten.
 +      (grub_disk_write): Handle non-512B sectors.
 +      * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
 +      log_sector_size.
 +      (open_device): Use log_sector_size.
 +      (grub_util_biosdisk_read): Likewise.
 +      (grub_util_biosdisk_write): Likewise.
 +      * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
 +      non-512B sectors.
 +      (pc_partition_map_embed): Likewise.
 +      * include/grub/disk.h (grub_disk): New field log_sector_size.
 +      (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
 +      (GRUB_DISK_CACHE_BITS): Increased to 6.
 +      * util/grub-fstest.c (fstest): New command testload.
 +      (argp_parser): Likewise.
 +
 +2011-06-16  Robert Millan  <rmh@gnu.org>
 +
 +      Detect `ataraid' devices on GNU/kFreeBSD.  Fix for ATA devices using
 +      `ata' driver on kernel of FreeBSD 9.
 +
 +      * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
 +      (get_ataraid_disk_name): New functions.
 +      [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
 +      (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
 +      get_ataraid_disk_name() and get_ada_disk_name().
 +
 +2011-06-13  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
 +      input format.
 +
 +2011-05-29  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * docs/grub.texi (Obtaining and Building GRUB): Substitute
 +      `ftp.gnu.org' for `alpha.gnu.org'.
 +
 +2011-05-27  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
 +      partitions under /dev/disk/by-id/.
 +
 +2011-05-27  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
 +      after ten consecutive open failures.  Scanning all the way up to
 +      10000 is excessive and can cause serious performance problems in
 +      some configurations.
 +      Fixes Ubuntu bug #787461.
 +
 +2011-05-21  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
 +      opening new one.
 +
 +2011-05-21  Colin Watson  <cjwatson@ubuntu.com>
 +2011-05-21  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Don't stat devices unless we have to.
 +
 +      * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
 +      dir == /dev/mapper.
 +      (grub_guess_root_device): Use already known os_dev if possible.
 +      * grub-core/kern/emu/hostdisk.c
 +      (convert_system_partition_to_system_disk): Scan only in /dev/mapper
 +      if device is known to be a dm one.
 +
 +2011-05-20  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
 +      GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
 +      Reported by: Pawel Tecza.
 +
 +2011-05-19  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
 +      (lsefisystab): Likewise.
 +      (lssal): Likewise.
 +      (lsefimmap): Likewise.
 +      (hdparm): Enable on qemu-mips.
 +      (setjmp): Add ia64 nodist.
 +      (serial): Simplify tags.
 +
 +2011-05-18  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * Makefile.util.def (grub-ofpathname): Install manual page.
 +
 +2011-05-18  Colin Watson  <cjwatson@ubuntu.com>
 +
 +      * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
 +
  2011-05-18  Colin Watson  <cjwatson@ubuntu.com>
  
        * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
diff --cc docs/grub.texi
Simple merge
index 91a87fecccbd691fd08b623f011054cd4453c47f,a5423dbecdcb64c40f7cb1c4d2f0eafc2f8ceb0f..7ff172fd7e1cbc7b5cae185dd40410098b16d5f7
@@@ -129,7 -146,7 +153,8 @@@ grub_cmd_videoinfo (grub_command_t cmd 
  
    FOR_VIDEO_ADAPTERS (adapter)
    {
 +    struct grub_video_mode_info info;
+     struct grub_video_edid_info edid_info;
  
      grub_printf ("Adapter '%s':\n", adapter->name);
  
  
      adapter->iterate (hook);
  
+     if (adapter->get_edid && adapter->get_edid (&edid_info) == GRUB_ERR_NONE)
+       print_edid (&edid_info);
+     else
+       grub_errno = GRUB_ERR_NONE;
 +    current_mode = NULL;
 +
      if (adapter->id != id)
        {
        if (adapter->fini ())
Simple merge
Simple merge