++2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
++2011-05-15 Feiran Zheng <famcool@gmail.com>
++
++ * Makefile.util.def (libgrubmods.a): Add minix3.
++ * grub-core/Makefile.core.def (minix3): New module.
++ * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
++ (GRUB_MINIX_BSIZE): Removed.
++ (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
++ (grub_minix_ino_t): New type.
++ (grub_minix_le_to_cpu_ino): New macro.
++ (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
++ (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
++ (grub_minix_data): New field block_size.
++ (grub_minix_read_file): Handle 64-bit correctly.
++ * grub-core/fs/minix3.c: New file.
++
+2011-05-15 Tristan Gingold <gingold@free.fr>
+2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
+2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ IA64 support.
+
+ * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
+ * configure.ac: Add ia64-efi target.
+ Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
+ __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
+ * gentpl.py: Add ia64_efi platform.
+ Rename x86_efi to efi and Add ia64-efi. All users updated.
+ * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
+ * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
+ Remove kern/generic/rtc_get_time_ms.c on EFI.
+ Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
+ kern/ia64/dl_helper.c on ia64-efi.
+ Add kern/emu/cache.c on emu.
+ (linux): Use on loader/ia64/efi/linux.c on ia64.
+ * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
+ whether symbol is a function.
+ * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
+ (grub_symbol): New field 'isfunc'.
+ (grub_dl_resolve_symbol): Return whole symbol rather than just address.
+ (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
+ (grub_dl_load_segments): Place all sections into the same region.
+ [__ia64__]: Create trampolines and got.
+ [GRUB_MACHINE_EMU]: Call mprotect.
+ (grub_dl_resolve_symbols): Resolve symbol type as well.
+ [__ia64__]: Create function descriptors.
+ * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
+ (grub_rtc_get_time_ms): ... this. Expressions simplified.
+ (grub_get_rtc): New function.
+ * grub-core/kern/emu/cache.c [__ia64__]: New file.
+ * grub-core/kern/emu/cache.S: Renamed to ...
+ * grub-core/kern/emu/cache_s.S: ... this.
+ [__ia64__]: Add a nop.
+ * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
+ [__ia64__]: New function.
+ * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
+ * grub-core/kern/ia64/dl.c: New file.
+ * grub-core/kern/ia64/dl_helper.c: Likewise.
+ * grub-core/kern/ia64/efi/init.c: New file.
+ * grub-core/kern/ia64/efi/startup.S: Likewise.
+ * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
+ * grub-core/lib/ia64/longjmp.S: New file (from glibc).
+ * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
+ * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
+ * grub-core/loader/ia64/efi/linux.c: New file.
+ * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
+ (GRUB_MOD_DEP): Likewise.
+ (grub_dl) [__ia64__]: New fields got and tramp.
+ (grub_dl): New field 'base'.
+ (grub_dl_register_symbol): New argument isfunc. All users updated.
+ (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
+ (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
+ (GRUB_IA64_DL_GOT_ALIGN): Likewise.
+ (grub_ia64_dl_get_tramp_got_size): New proto.
+ (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
+ (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
+ (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
+ * include/grub/efi/api.h: Skip call wrappers on ia64.
+ * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
+ * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
+ * include/grub/elf.h (ELF_ST_INFO): New definition.
+ * include/grub/ia64/efi/kernel.h: New file.
+ * include/grub/ia64/efi/memory.h: Likewise.
+ * include/grub/ia64/efi/time.h: Likewise.
+ * include/grub/ia64/kernel.h: Likewise.
+ * include/grub/ia64/setjmp.h: Likewise (from glibc).
+ * include/grub/ia64/time.h: New file.
+ * include/grub/ia64/types.h: Likewise.
+ * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
+ __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
+ New protos.
+ * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
+ (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
+ * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
+ * util/grub-mkimage.c (image_target_desc): New field pe_target.
+ All users updated.
+ (EFI64_HEADER_SIZE): New definition. All users updated.
+ (image_targets): Add ia64-efi.
+ * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
+ jumpers_addr. All users updated.
+ Create function descriptors.
+ (count_funcs): New function.
+ (unaligned_uint32): New struct.
+ (MASK20): New definition.
+ (MASK19): Likewise.
+ (MASKF21): Likewise.
+ (add_value_to_slot_20b): New function.
+ (add_value_to_slot_21_real): Likewise.
+ (add_value_to_slot_21): Likewise.
+ (ia64_kernel_trampoline): New struct.
+ (nopm): New variable.
+ (jump): Likewise.
+ (make_trampoline): New function.
+ (relocate_addresses): Handle ia64.
+ (make_reloc_section): Likewise.
+ (load_image): Likewise.
+
+2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
+ warning. Move variables before code while on it.
+
+2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fuloong support.
+
+ * configure.ac: Rename yeeloong platform to loongson. All users updated.
+ * grub-core/Makefile.core.def (fwstart_fuloong): New image.
+ * grub-core/boot/mips/loongson/fuloong.S: New file.
+ * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
+ Explicitly init CS5536.
+ [FULOONG]: Don't use serial until CS5536 is available.
+ Set GPIO based on dumps.
+ (serial_hw_init) [FULOONG]: Handle CS5536 parts.
+ [FULOONG]: Handle GPIO and memory controller differences.
+ Parse machine type in $a2.
+ * grub-core/boot/mips/startup_raw.S: Determine and save the
+ architecture.
+ * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
+ (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
+ init on architecture type.
+ * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
+ SIS315E. Don't init at_keyboard on fuloong.
+ (grub_halt): Support Fuloong.
+ * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
+ * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
+ (loongson_machtypes): New array.
+ (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
+ type.
+ * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
+ config. All users updated. Handle CS5536 serial.
+ * grub-core/term/serial.c (grub_serial_register): Conditionalise
+ default port on machine type. Register serial as inactive.
+ * grub-core/video/sis315pro.c: New file.
+ * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
+ definition.
+ (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
+ (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
+ (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
+ (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
+ (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
+ * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
+ to ...
+ (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
+ * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
+ definition.
+ (GRUB_ARCH_MACHINE_FULOONG): Likewise.
+ (grub_arch_machine): New extern var.
+ * include/grub/mips/loongson/serial.h
+ (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
+ (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
+ (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
+ (GRUB_MACHINE_SERIAL_PORT0): ... this.
+ (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
+ (GRUB_MACHINE_SERIAL_PORT1): Likewise.
+ (GRUB_MACHINE_SERIAL_PORT2): Likewise.
+ (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
+ * include/grub/term.h (grub_term_register_input_inactive): New inline
+ function.
+ (grub_term_register_output_inactive): Likewise.
+ * include/grub/video.h (grub_video_driver_id): New value
+ GRUB_VIDEO_DRIVER_SIS315PRO.
+ * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
+ New field "names". All users updated.
+ New field value IMAGE_FULOONG_FLASH.
+ (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
+
+2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
+
+ * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
+ and add some clarification.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
+ platforms if kernel is compressed.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
+ unused modules since currently referrence counter isn't reliable and
+ there isn't much memory to recover there anyway.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
+ rather than resetting it to allow modules to reference themselves
+ in init.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
+ counter on dependencies since grub_dl_unref already handles this.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
+ on error if not already done.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix few potential memory misusage.
+
+ * grub-core/font/font.c (load_font_index): Don't free char_index to
+ avoid double free.
+ (grub_font_load): Zero-fill font at alloc for safety.
+ Close file on error.
+ (free_font): Free bmp_idx.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * docs/grub.texi (Installation): Fix several outdated claims.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Handle module_license on windows.
+
+ * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
+ sections shifted.
+ (insert_string): Make argument const char * instead of char *.
+ (write_section_data): Handle long section names.
+ Handle module_license.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
+ handle class-free menuentries.
+ (grub_normal_add_menu_entry): Add a check to be sure.
+
+2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
+ PgUp and PgDown.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Bump version to 1.99.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Give ATA device a bit more time on first try in order to allow disks
+ to spin up.
+
+ * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
+ if dev->present is 1. Reset dev->present on failure.
+ (grub_ata_device_initialize): Set dev->present to 1.
+ * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
+ (grub_ata_device): New member 'present'.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkimage.c (generate_image): Update hash.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Flush caches on DMA memory.
+
+ * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
+ * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
+ (grub_dma_free): Likewise.
+ * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
+ to avoid asm treating ld and sd as macros.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/boot/mips/startup_raw.S: Flush cache after loading
+ decompressor.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
+ grub_decompress_core since later would fail if grub_decompress_core
+ is too far.
+
+2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
+ R_MIPS_JALR since it's used by newer compiler.
+
+2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub.d/10_linux.in: Correctly handle the Linux in root.
+
+2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
+ file_path to 0 for surety.
+ (grub_chainloader_boot): Set exit_data to NULL.
+ Unset the loader once done.
+ (grub_cmd_chainloader): Fix confusing error message if file is empty.
+
+2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
+ unknown key into a dprintf.
+
+2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
+ on first non-existant partition.
+
+2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
+ openning fails.
+ Reported by: Mark Korenberg.
+
+2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
+ overflow.
+
+2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkimage.c (main): Explicitely flush and sync the output
+ before closing to ensure that it will be readable by grub-setup.
+
+2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
+ (devpath_1): Use MAKE_PIWG_PATH.
+ (devpath_2): Likewise.
+ (devpath_3): Likewise.
+ (devpath_4): Likewise.
+ (devpath_5): Likewise.
+ (devpath_6): Likewise.
+
+ The appleldr.mod was checked that to be binary identical to previous
+ version.
+
+2011-05-05 Zach <mikezackles>
+
+ Support 2010 Macbooks.
+
+ * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
+ (devs): Add devpath_6.
+
+2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
+ /dev/random. /dev/urandom is good enough for our purposes (salting).
+
+2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
+
+2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
+ hexadecimal.
+
+2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
+ and not 0 on failure.
+
+2011-05-03 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
+ GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
+ disk; otherwise grub_fs_probe will not fall back to the next
+ filesystem.
+ (grub_pxefs_open): Likewise, for consistency.
+ Reported and tested by: Ezekiel Grave.
+
+2011-05-03 Colin Watson <cjwatson@ubuntu.com>
+
+ * tests/partmap_test.in: Don't hardcode path to parted.
+ Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
+
+2011-05-01 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
+ of `ls' to find out which devices are available.
+
+2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
+ than source address for efi mmap buffer.
+
+2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
+ wrong action on non-detecting the magic.
+
+2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
+ already supplied by another part of the module (fixes compilation on
+ FreeBSD).
+
+2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
+ match the one used by mdadm.
+
+2011-04-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * po/README: Add instructions for creating po/LINGUAS.
+
+2011-04-21 Colin Watson <cjwatson@ubuntu.com>
+
+ Add "SEE ALSO" sections to most man pages. Fixes Debian bug
+ #551428.
+
+ * docs/man/grub-editenv.h2m (SEE ALSO): New section.
+ * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-install.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
+ * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
+
+2011-04-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/kern/emu/getroot.c
+ (grub_find_root_device_from_mountinfo): Remove non-virtual-device
+ test that was incorrectly reintroduced in r3214.
+ Reported by: Ian Dall. Fixes Savannah bug #33133.
+
+2011-04-21 Colin Watson <cjwatson@ubuntu.com>
+
+ Fix stack pointer handling in 16-bit relocator.
+
+ * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
+ grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
+ Fixes Ubuntu bug #683904.
+
+2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Bump version to 1.99~rc2.
+
+2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
+ * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
+ * grub-core/lib/x86_64/setjmp.S: Likewise.
+ * grub-core/lib/mips/setjmp.S: Likewise.
+ * grub-core/lib/powerpc/setjmp.S: Likewise.
+ * grub-core/lib/sparc64/setjmp.S: Likewise.
+
+2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
+ * grub-core/lib/efi/datetime.c: Likewise.
+
+2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
+ New function.
+ (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
+ * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
+ * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
+
+2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
+ bitmap.
+ (grub_gfxterm_term_init): Likewise.
+
+2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Take into account the decorations the computing menu entry width.
+
+ * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
+ (grub_gfxmenu_create_box): Register get_border_width.
+ * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
+ if available.
+ * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
+ get_border_width.
+
+2011-04-18 Endres Puschner <code@e7p.de>
+
+ * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
+ Don't skip first class.
+
+2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
+ chunks.
+ * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
+
+2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Complete 64-bit division support.
+
+ * grub-core/kern/misc.c (grub_divmod64): Rename to ...
+ (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
+ * include/grub/misc.h (grub_divmod64): Rename to ...
+ (grub_divmod64_full): ... this.
+ (grub_divmod64): New inline function.
+
+2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkimage.c (generate_image): Add forgotten comma.
+
+2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
+ performing the necessary test.
+
+2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
+ (kfreebsd.elf): Likewise.
+ (pc-chainloader.elf): Likewise.
+ (ntldr.elf): Likewise.
+
+2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Identify RAID by its UUID rather than (guessed) name.
+
+ * grub-core/disk/raid.c (ascii2hex): New function.
+ (grub_raid_open): Accept mduuid/%s specification.
+ * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
+ (get_mdadm_uuid): ... this.
+ (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
+
+2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
+ to negative size.
+
+2011-04-13 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
+ btrfs subvolume.
+ * util/grub.d/20_linux_xen.in: Likewise.
+
+2011-04-13 Colin Watson <cjwatson@ubuntu.com>
+
+ Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
+ move-mounts appearing out of order. Fixes Ubuntu bug #738345.
+
+ * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
+ Build a list of relevant visible mounts using the mnt_id and
+ parent_mnt_id fields, and then scan that list at the end.
+
+2011-04-12 Colin Watson <cjwatson@ubuntu.com>
+
+ * docs/grub.texi (normal): New section.
+ (normal_exit): New section.
+ (Embedded configuration): Add reference to normal.
+ (GRUB only offers a rescue shell): Likewise.
+ * docs/grub-dev.texi (Error Handling): Fix typo.
+
+2011-04-12 Colin Watson <cjwatson@ubuntu.com>
+
+ * NEWS: Drop obsolete entry about probe-only btrfs support.
+
+2011-04-12 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/import_gcry.py: Fix typo.
+
+2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * NEWS: Add btrfs support.
+
+2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
+2011-04-11 Colin Watson <cjwatson@ubuntu.com>
+
+ BtrFS support. Written by me (Vladimir) with important bugfixes and
+ even more important testing by Colin.
+
+ * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
+ * grub-core/Makefile.core.def (btrfs): Add crc.c.
+ * grub-core/fs/btrfs.c: Stub replaced with real implementation.
+ * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
+ mem_input_off and mem_input. All users updated to accept in-RAM input.
+ (gzio_seek): New function.
+ (test_zlib_header): Likewise.
+ (grub_gzio_read): Likewise.
+ (grub_zlib_decompress): Likewise.
+ * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
+ Accept partial and non-virtual mounts.
+ (grub_guess_root_device): Do rescanning after device_from_mountinfo to
+ avoid receiving /dev/dm-X as device.
+ * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
+ Handle bind and partial mounts.
+ * grub-core/lib/crc.c: New file.
+ * include/grub/deflate.h: Likewise.
+ * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
+ proto.
+ * include/grub/lib/crc.h: New file.
+
+2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Implement automatic module license checking according to new GNU
+ guidelines.
+
+ * grub-core/kern/dl.c (grub_dl_check_license): New function.
+ (grub_dl_load_core): Use grub_dl_check_license.
+ * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
+ (GRUB_MOD_LICENSE): Likewise.
+ (GRUB_MOD_DUAL_LICENSE): Likewise.
+ All modules updated.
+
+2011-04-11 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
+ reserved_first_sector to 1. btrfs reserves plenty of space for boot
+ loaders.
+ Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
+
2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
* util/grub-fstest.c (cmd_cmp): Check that sizes match.