++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.
+
+2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
+ into dprintf.
+
+2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Use full 64-bit division.
+
+ * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
+ (grub_divmod64): ... this.
+ * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
+ version.
+
+2011-05-18 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-mkrescue.in: Use portable `.' rather than non-portable
+ `source'.
+
+2011-05-18 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
+ to avoid accidents when debugging with 'sh -x'.
+ * grub-core/gensyminfo.sh.in: Likewise.
+ * tests/example_scripted_test.in: Likewise.
+ * tests/grub_cmd_regexp.in: Likewise.
+ * tests/grub_script_blanklines.in: Likewise.
+ * tests/grub_script_dollar.in: Likewise.
+ * tests/grub_script_expansion.in: Likewise.
+ * tests/grub_script_final_semicolon.in: Likewise.
+ * tests/partmap_test.in: Likewise.
+ * tests/util/grub-shell-tester.in: Likewise.
+ * tests/util/grub-shell.in: Likewise.
+
+2011-05-18 Colin Watson <cjwatson@ubuntu.com>
+
+ Move gfxmenu color handling to video, so that gfxterm can use it
+ too.
+
+ * grub-core/gfxmenu/named_colors.c: Move to ...
+ * grub-core/video/colors.c: ... here. Rename
+ grub_gui_get_named_color to grub_video_get_named_color.
+ * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
+ * grub-core/video/colors.c (my_isxdigit): ... here.
+ * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
+ Move to ...
+ * grub-core/video/colors.c (parse_hex_color_component): ... here.
+ * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
+ to ...
+ * grub-core/video/colors.c (grub_video_parse_color): ... here.
+
+ * include/grub/gui.h (grub_gui_color_t): Move to ...
+ * include/grub/video.h (grub_video_rgba_color_t): ... here.
+ * include/grub/gui.h (grub_gui_color_rgb): Move to ...
+ * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
+ * include/grub/gui.h (grub_gui_map_color): Move to ...
+ * include/grub/video.h (grub_video_map_rgba_color): ... here.
+ * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
+ to ...
+ * include/grub/video.h (grub_video_get_named_color): ... here.
+ * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
+ * include/grub/video.h (grub_video_parse_color): ... here.
+
+ * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
+ video/colors.c.
+ (gfxmenu): Remove gfxmenu/named_colors.c.
+ (video) [videomodules]: Add video/colors.c.
+
+ Add a background_color command.
+
+ * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
+ function.
+ (GRUB_MOD_INIT): Register background_color command.
+ (GRUB_MOD_FINI): Unregister background_color command.
+ (redraw_screen_rect): Allow blend/replace of text layer to be
+ controlled independently from whether there is a background bitmap.
+ (grub_gfxterm_background_image_cmd): Change blend_text_bg when
+ changing bitmap.
+
+2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Patch BPB in ntldr and chainloader --bpb.
+
+ * grub-core/fs/fat.c: Include grub/fat.h.
+ (grub_fat_bpb): Moved to ...
+ * include/grub/fat.h (grub_fat_bpb): ... here. New file.
+ * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
+ grub/ntfs.h.
+ * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
+ Moved from here...
+ * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
+ here.
+ * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
+ New function.
+ (grub_chainloader_cmd): Patch BPB if --bpb is given.
+ (GRUB_MOD_INIT): Show --bpb.
+ * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
+ * grub-core/normal/main.c (features): New variable.
+ (GRUB_MOD_INIT): Set feature_* variables.
+ * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
+ proto.
+ * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
+
+2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
+ for cleanness.
+
2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
FreeDOS direct loading support.