]> git.proxmox.com Git - grub2.git/blobdiff - ChangeLog
bump version to 2.06-13+pmx2
[grub2.git] / ChangeLog
index 7d5a651eddcc5e5bbcdf43dd52ee50badcc610b1..434754f594e7f19a4872e36cf67308311b7d269d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-06-08  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       Avoid division by zero in serial.
+       Release 2.06
 
-       * grub-core/term/serial.c (grub_cmd_serial): Ensure speed is not 0.
-       * grub-core/term/ns8250.c (serial_get_divisor): Exit if speed is 0.
+2021-06-08  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       SECURITY: Add SECURITY file
+       The SECURITY file describes the GRUB project security policy.
 
-       * grub-core/video/readers/jpeg.c: Avoid sivision by zero.
+       It is based on https://github.com/wireapp/wire/blob/master/SECURITY.md
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-06-08  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * grub-core/disk/diskfilter.c: Validate volumes to avoid division
-       by zero.
+       MAINTAINERS: Add MAINTAINERS file
+       The MAINTAINERS file provides basic information about the GRUB project
+       and its maintainers.
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-06-01  Dimitri John Ledkov  <xnox@ubuntu.com>
 
-       * include/grub/term.h: Avoid returining 0-sized terminal
-       as it may lead to division by zero.
+       grub-install: Add backup and restore
+       Refactor clean_grub_dir() to create a backup of all the files, instead
+       of just irrevocably removing them as the first action. If available,
+       register atexit() handler to restore the backup if errors occur before
+       point of no return, or remove the backup if everything was successful.
+       If atexit() is not available, the backup remains on disk for manual
+       recovery.
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Some platforms defined a point of no return, i.e. after modules & core
+       images were updated. Failures from any commands after that stage are
+       ignored, and backup is cleaned up. For example, on EFI platforms update
+       is not reverted when efibootmgr fails.
 
-       * grub-core/fs/zfs.c: Avoid divisions by zero.
+       Extra care is taken to ensure atexit() handler is only invoked by the
+       parent process and not any children forks. Some older GRUB codebases
+       can invoke parent atexit() hooks from forks, which can mess up the
+       backup.
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       This allows safer upgrades of MBR & modules, such that
+       modules/images/fonts/translations are consistent with MBR in case of
+       errors. For example accidental grub-install /dev/non-existent-disk
+       currently clobbers and upgrades modules in /boot/grub, despite not
+       actually updating any MBR.
 
-       * grub-core/fs/btrfs.c: Avoid divisions by zero.
+       This patch only handles backup and restore of files copied to /boot/grub.
+       This patch does not perform backup (or restoration) of MBR itself or
+       blocklists. Thus when installing i386-pc platform, corruption may still
+       occur with MBR and blocklists which will not be attempted to be
+       automatically recovered.
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Also add modinfo.sh and *.efi to the cleanup/backup/restore code path,
+       to ensure it is also cleaned, backed up and restored.
 
-       * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Check that hash len is not 0.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-06-01  Dimitri John Ledkov  <xnox@ubuntu.com>
 
-       * grub-core/osdep/linux/blocklist.c (grub_install_get_blocklist): Check
-       blocksize validity.
+       osdep/unix/exec: Avoid atexit() handlers when child execvp() fails
+       The functions grub_util_exec_pipe() and grub_util_exec_pipe_stderr()
+       currently call execvp(). If the call fails for any reason, the child
+       currently calls exit(127). This in turn executes the parents
+       atexit() handlers from the forked child, and then the same handlers
+       are called again from parent. This is usually not desired, and can
+       lead to deadlocks, and undesired behavior. So, change the exit() calls
+       to _exit() calls to avoid calling atexit() handlers from child.
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: e75cf4a58 (unix exec: avoid atexit handlers when child exits)
 
-       * grub-core/disk/i386/pc/biosdisk.c: Check disk size sanity.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-06-01  Jan (janneke) Nieuwenhuizen  <janneke@gnu.org>
 
-       * grub-core/disk/ieee1275/nand.c (grub_nand_open): Check block size
-       validity.
+       lib/i386/relocator64: Build fixes for i386
+       This fixes cross-compiling to x86 (e.g., the Hurd) from x86-linux of
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+           grub-core/lib/i386/relocator64.S
 
-       * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Do not
-       divide by zero.
+       This file has six sections that only build with a 64-bit assembler,
+       yet only the first two sections had support for a 32-bit assembler.
+       This patch completes this for the remaining sections.
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       To reproduce, update the GRUB source description in your local Guix
+       archive and run
 
-       * grub-core/fs/hfs.c (grub_hfs_mount): Additional filesystem
-       sanity checks.
+          ./pre-inst-env guix build --system=i686-linux --target=i586-pc-gnu grub
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       or install an x86 cross-build environment on x86-linux (32-bit!) and
+       configure to cross build and make, e.g., do something like
 
-       * grub-core/fs/minix.c: Additional filesystem
-       sanity checks.
+           ./configure \
+              CC_FOR_BUILD=gcc \
+              --build=i686-unknown-linux-gnu \
+              --host=i586-pc-gnu
+           make
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Additionally, remove a line with redundant spaces.
 
-       * grub-core/fs/ext2.c (grub_ext2_mount): Additional
-       checks for superblock validity.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-06-01  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * grub-core/fs/ufs.c (grub_ufs_mount): Check
-       that sblock.ino_per_group is not 0.
+       fs/xfs: Add needsrepair incompat feature support
+       The XFS now has an incompat feature flag to indicate that a filesystem
+       needs to be repaired. The Linux kernel refuses to mount the filesystem
+       that has it set and only the xfs_repair tool is able to clear that flag.
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       The GRUB doesn't have the concept of mounting filesystems and just
+       attempts to read the files. But it does some sanity checking before
+       attempting to read from the filesystem. Among the things which are tested,
+       is if the super block only has set of incompatible features flags that
+       are supported by GRUB. If it contains any flags that are not listed as
+       supported, reading the XFS filesystem fails.
 
-       Reject NILFS2 superblocks with over 1GiB blocks.
+       Since the GRUB doesn't attempt to detect if the filesystem is inconsistent
+       nor replays the journal, the filesystem access is a best effort. For this
+       reason, ignore if the filesystem needs to be repaired and just print a debug
+       message. That way, if reading or booting fails later, the user is able to
+       figure out that the failures can be related to broken XFS filesystem.
 
-       * grub-core/fs/nilfs2.c (grub_nilfs2_valid_sb): Check that
-       block size is <= 1GiB.
+       Suggested-by: Eric Sandeen <esandeen@redhat.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-06-01  Carlos Maiolino  <cmaiolino@redhat.com>
 
-       * grub-core/disk/ata.c (grub_ata_setaddress): Check that geometry
-       is sane when using CHS addressing.
+       fs/xfs: Add bigtime incompat feature support
+       The XFS filesystem supports a bigtime feature to overcome y2038 problem.
+       This patch makes the GRUB able to support the XFS filesystems with this
+       feature enabled.
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       The XFS counter for the bigtime enabled timestamps starts at 0, which
+       translates to GRUB_INT32_MIN (Dec 31 20:45:52 UTC 1901) in the legacy
+       timestamps. The conversion to Unix timestamps is made before passing the
+       value to other GRUB functions.
 
-       * grub-core/disk/AFSplitter.c (AF_merge): Check that mdlen is not 0.
+       For this to work properly, GRUB requires an access to flags2 field in the
+       XFS ondisk inode. So, the grub_xfs_inode structure has been updated to
+       cover full ondisk inode.
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/commands/i386/pc/play.c (grub_cmd_play): Avoid
-       division by zero.
+2021-06-01  Carlos Maiolino  <cmaiolino@redhat.com>
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       fs: Use 64-bit type for filesystem timestamp
+       Some filesystems nowadays use 64-bit types for timestamps. So, update
+       grub_dirhook_info struct to use an grub_int64_t type to store mtime.
+       This also updates the grub_unixtime2datetime() function to receive
+       a 64-bit timestamp argument and do 64-bit-safe divisions.
 
-       * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_maxpacket): Avoid
-       potentially returning 0.
+       All the remaining conversion from 32-bit to 64-bit should be safe, as
+       32-bit to 64-bit attributions will be implicitly casted. The most
+       critical part in the 32-bit to 64-bit conversion is in the function
+       grub_unixtime2datetime() where it needs to deal with the 64-bit type.
+       So, for that, the grub_divmod64() helper has been used.
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       These changes enables the GRUB to support dates beyond y2038.
 
-       * grub-core/fs/minix.c (grub_minix_read_file): Avoid reading past
-       the end of file.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-05-28  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * grub-core/fs/fshelp.c (grub_fshelp_read_file): Don't attempt to read
-       past the end of file.
+       types: Define PRI{x,d}GRUB_INT{32,64}_T format specifiers
+       There are already PRI*_T constants defined for unsigned integers but not
+       for signed integers. Add format specifiers for the latter.
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Suggested-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/script/lexer.c (grub_script_lexer_yywrap): Update len
-       synchronously with line.
+2021-05-28  Tianjia Zhang  <tianjia.zhang@linux.alibaba.com>
 
-2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       kern/efi/sb: Remove duplicate efi_shim_lock_guid variable
+       The efi_shim_lock_guid local variable and shim_lock_guid global variable
+       have the same GUID value. Only the latter is retained.
 
-       Replace explicit sizeof divisions by ARRAY_SIZE.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2015-01-19  Kris Moore <kris@pcbsd.org>
+2021-05-10  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * grub-core/disk/geli.c: Support GELI v6 and v7.
+       util/mkimage: Fix wrong PE32+ section sizes for some arches
+       The commit f60ba9e5945 (util/mkimage: Refactor section setup to use a helper)
+       added a helper function to setup PE sections. But it also changed how the
+       raw data offsets were calculated since all the section sizes are aligned.
+       However, for some platforms, i.e ia64-efi and arm64-efi, the kernel image
+       size is not aligned using the section alignment. This leads to the situation
+       in which the mods section offset in its PE section header does not match its
+       real placement in the PE file. So, finally the GRUB is not able to locate
+       and load built-in modules.
 
-2014-12-09  Andrei Borzenkov  <arvidjaar@gmail.com>
+       The problem surfaces on ia64-efi and arm64-efi because both platforms
+       require additional relocation data which is added behind .bss section.
+       So, we have to add some padding behind this extra data to make the
+       beginning of mods section properly aligned in the PE file. Fix it by
+       aligning the kernel_size to the section alignment. That makes the sizes
+       and offsets in the PE section headers to match relevant sections in the
+       PE32+ binary file.
 
-       * grub-core/term/serial.c (grub_cmd_serial): Fix --rtscts
-       option processing.
+       Reported-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
+       Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-12-07  David Kozub  <zub.272@gmail.com>
+2021-05-10  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * grub-core/kern/arm/misc.S: fix unaligned 64bit local variable
-       in __aeabi_uidivmod
-       Fixes Savannah bug #43632.
+       term/terminfo: Fix the terminfo command help and documentation
+       Additionally, fix the terminfo spelling mistake in
+       the GRUB development documentation.
 
-2014-12-07  Peter Nelson <peterdn>
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
 
-       * grub-core/fs/ext2.c (grub_ext2_read_block): Support large sparse
-       chunks.
+2021-05-10  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2014-12-07  Andrei Borzenkov  <arvidjaar@gmail.com>
+       i18n: Align N_() formatting with the rest of GRUB code
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
 
-       * util/grub-mkconfig_lib.in (version_test_gt): Remove redundant
-       non-portable '-n' echo option.
-       * util/grub.d/10_kfreebsd.in: Change how list is built to avoid
-       non-portable 'echo -n.
-       * util/grub.d/10_linux.in: Likewise (closes 43668).
-       * util/grub.d/20_linux_xen.in: Likewise.
-       * util/grub.d/30_os-prober.in: Print spaces directly to avoid
-       non-portable 'echo -n'.
+2021-05-10  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2014-12-07  Curtis Larsen <larsen@dixie.edu>
+       i18n: Format large integers before the translation message - take 2
+       This is an additional fix which has been missing from the commit 837fe48de
+       (i18n: Format large integers before the translation message).
 
-       * grub-core/net/tcp.c (grub_net_recv_tcp_packet): Fix double
-       free when multiple empty segments were received (closes 42765).
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
 
-2014-12-05  Andrei Borzenkov  <arvidjaar@gmail.com>
+2021-04-13  Miguel Ángel Arruga Vivas  <rosen644835@gmail.com>
 
-       * tests/util/grub-shell.in: Support --files also for netboot.
-       * tests/file_filter_test.in: New file with file filters tests.
-       * Makefile.util.def: Add file_filter_test.
-       * conf/Makefile.extra-dist: ... and here.
-       * tests/file_filter/file.gz: Test file for file_filter_test.
-       * tests/file_filter/file.gz.sig: Likewise.
-       * tests/file_filter/file.lzop: Likewise.
-       * tests/file_filter/file.lzop.sig: Likewise.
-       * tests/file_filter/file.xz: Likewise.
-       * tests/file_filter/file.xz.sig: Likewise.
-       * tests/file_filter/keys: Likewise.
-       * tests/file_filter/keys.pub: Likewise.
-       * tests/file_filter/test.cfg: Likewise.
-       * grub-core/commands/verify.c: Fix memory corruption doing
-       signature check for network files (closes 43601).
+       i18n: Format large integers before the translation message
+       The GNU gettext only supports the ISO C99 macros for integral
+       types. If there is a need to use unsupported formatting macros,
+       e.g. PRIuGRUB_UINT64_T, according to [1] the number to a string
+       conversion should be separated from the code printing message
+       requiring the internationalization. So, the function grub_snprintf()
+       is used to print the numeric values to an intermediate buffer and
+       the internationalized message contains a string format directive.
 
-2014-12-01  Andrei Borzenkov  <arvidjaar@gmail.com>
+       [1] https://www.gnu.org/software/gettext/manual/html_node/Preparing-Strings.html#No-string-concatenation
 
-       * grub-core/loader/i386/xen_fileXX.c (grub_xen_get_infoXX): Fix
-       memory leak (CID 73645, 73782).
-       * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix memory leak
-       (CID 73635).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-11-30  Andrei Borzenkov  <arvidjaar@gmail.com>
+2021-04-12  Daniel Axtens  <dja@axtens.net>
 
-       * grub-core/lib/syslinux_parse.c (free_menu): Do not free
-       inline array (CID 73610).
+       video/fb/fbfill: Use unsigned integers for width/height
+       Since commit 7ce3259f67ac (video/fb/fbfill: Fix potential integer
+       overflow), clang builds of grub-emu have failed with messages like:
 
-2014-11-28  Andrei Borzenkov  <arvidjaar@gmail.com>
+         /usr/bin/ld: libgrubmods.a(libgrubmods_a-fbfill.o): in function `grub_video_fbfill_direct24':
+         fbfill.c:(.text+0x28e): undefined reference to `__muloti4'
 
-       * grub-core/io/lzopio.c (test_header): Fix double free (CID 73665)
-       * grub-core/disk/geli.c (configure_ciphers): Fix memory leaks
-       (Coverity CID 73813, 73710)
-       * grub-core/disk/luks.c (configure_ciphers): Fix memory leaks
-       and use after free (Coverity CID 73813, 73710, 73730)
-       * grub-core/disk/luks.c (luks_recover_key): Fix memory leak (Coverity
-       CID 73854)
-       * util/grub-install-common.c (grub_install_get_target): Check return
-       value of grub_util_fd_read (Coverity CID 73819).
-       * util/grub-mkstandalone.c (add_tar_file): Fix out of bound access
-       to hd.magic (Coverity CID 73587, 73888, bug 43690).
+       This appears to be due to a weird quirk in how clang compiles
 
-2014-11-20  Andrei Borzenkov  <arvidjaar@gmail.com>
+         grub_mul(dst->mode_info->bytes_per_pixel, width, &rowskip)
 
-       * tests/util/grub-fs-tester.in: Consistently print output
-       of grub ls if test fails.
+       which is grub_mul(unsigned int, int, &grub_size_t).
 
-2014-11-07  Leif Lindholm <leif.lindholm@linaro.org>
+       It looks like clang somewhere promotes everything to 128-bit maths
+       before ultimately reducing down to 64 bit for grub_size_t. I think
+       this is because width is signed, and indeed converting width to an
+       unsigned int makes the problem go away.
 
-       * grub-core/kern/efi/init.c: check value of *path before
-       dereferencing.
+       This conversion also makes more sense generally:
+         - the caller of all the fbfill_directN functions is
+           grub_video_fb_fill_dispatch() and it takes width and height as
+           unsigned ints already,
+         - it doesn't make sense to fill a negative width or height.
 
-2014-11-03  Michael Chang  <mchang@suse.com>
+       Convert the width and height arguments and associated loop counters
+       to unsigned ints.
 
-       * grub-core/net/icmp6.c (grub_net_recv_icmp6_packet): Fix size
-       of neighbor solicitation packet in grub_netbuff_pull.
+       Fixes: 7ce3259f67ac (video/fb/fbfill: Fix potential integer overflow)
 
-2014-10-14  Andrei Borzenkov  <arvidjaar@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/loader/arm/linux.c: Use full initializer for initrd_ctx to
-       avoid fatal warnings with older gcc (probably before 4.7).
-       * grub-core/loader/arm64/linux.c: Likewise.
-       * grub-core/loader/i386/linux.c: Likewise.
-       * grub-core/loader/i386/pc/linux.c: Likewise.
-       * grub-core/loader/ia64/efi/linux.c: Likewise.
-       * grub-core/loader/mips/linux.c: Likewise.
-       * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
-       * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
+2021-04-12  Glenn Washburn  <development@efficientek.com>
 
-2014-09-25  Colin Watson  <cjwatson@ubuntu.com>
+       docs: Conform badmem and cutmem description indentations with other commands
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Fix in-tree --platform=none
+       docs: Add note to cryptomount that UUIDs should be specified without dashes
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Only remove include/grub/cpu and
-       include/grub/machine in the --platform=none case, not all of
-       include/grub.
+2021-04-12  Aru Sahni  <aru@arusahni.net>
 
-2014-09-23  Colin Watson  <cjwatson@ubuntu.com>
+       templates: Fix user-facing typo with an incorrect use of "it's"
+       Since the possessive form of "it" is being used, the apostrophe must be omitted.
 
-       Add a new "none" platform that only builds utilities
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Add "none" platform.  Default to it for unsupported
-       CPUs rather than stopping with a fatal error.  Don't downgrade
-       x86_64-none to i386.  Define COND_real_platform Automake conditional
-       if the platform is anything other than "none".  Don't do any include
-       directory linking for "none".
-       * Makefile.am: Skip building grub-core and all bootcheck targets if
-       !COND_real_platform.
-       * include/grub/time.h: Don't include <grub/cpu/time.h> if GRUB_UTIL
-       is defined.
+2021-04-12  Colin Watson  <cjwatson@debian.org>
 
-2014-09-22  Andrei Borzenkov <arvidjaar@gmail.com>
+       buffer: Sync up out-of-range error message
+       The messages associated with other similar GRUB_ERR_OUT_OF_RANGE errors
+       were lacking the trailing full stop. Syncing up the strings saves a small
+       amount of precious core image space on i386-pc.
 
-       Use grub_cpu_to_XXX_compile_time for constants.
+         DOWN: obj/i386-pc/grub-core/kernel.img (31740 > 31708) - change: -32
+         DOWN: i386-pc core image (biosdisk ext2 part_msdos) (27453 > 27452) - change: -1
+         DOWN: i386-pc core image (biosdisk ext2 part_msdos diskfilter mdraid09) (32367 > 32359) - change: -8
 
-2014-09-21  Valentin Dornauer  <valentin@unimplemented.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       The AML parser implements only a small subset of possible AML
-       opcodes. On the Fujitsu Lifebook E744 this and another bug in
-       the parser (incorrect handling of TermArg data types) would lead
-       to the laptop not turning off (_S5 not found).
+2021-04-12  Glenn Washburn  <development@efficientek.com>
 
-       * grub-core/commands/acpihalt.c: Support OpAlias in the AML parser;
-       in skip_ext_op(), handle some Type2Opcodes more correctly (TermArgs
-       aren't always simply strings!); Add function to skip TermArgs
-       * include/grub/acpi.h: Add new opcodes
+       usb/usbhub: Use GRUB_USB_MAX_CONF macro instead of literal in hub for maximum configs
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-09-21  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-04-12  Daniel Drake  <drake@endlessm.com>
 
-       * grub-core/normal/main.c: Don't drop to rescue console in
-       case of password-protected prompt and no menu entries.
+       fs/minix: Avoid mistakenly probing ext2 filesystems
+       The ext2 (and ext3, ext4) filesystems write the number of free inodes to
+       location 0x410.
 
-2014-09-21  Vladimir Serbinenko  <phcoder@gmail.com>
+       On a MINIX filesystem, that same location is used for the MINIX superblock
+       magic number.
 
-       * grub-core/commands/keylayouts.c: Ignore unknown keys.
+       If the number of free inodes on an ext2 filesystem is equal to any
+       of the four MINIX superblock magic values plus any multiple of 65536,
+       GRUB's MINIX filesystem code will probe it as a MINIX filesystem.
 
-2014-09-21  Vladimir Serbinenko  <phcoder@gmail.com>
+       In the case of an OS using ext2 as the root filesystem, since there will
+       ordinarily be some amount of file creation and deletion on every bootup,
+       it effectively means that this situation has a 1:16384 chance of being hit
+       on every reboot.
 
-       * grub-core/gmodule.pl.in: Accept newer binutils which output
-       empty column rather than 0x0.
+       This will cause GRUB's filesystem probing code to mistakenly identify an
+       ext2 filesystem as MINIX. This can be seen by e.g. "search --label"
+       incorrectly indicating that no such ext2 partition with matching label
+       exists, whereas in fact it does.
 
-2014-09-21  Michael Chang  <mchang@suse.com>
+       After spotting the rough cause of the issue I was facing here, I borrowed
+       much of the diagnosis/explanation from meierfra who found and investigated
+       the same issue in util-linux in 2010:
 
-       * grub-core/osdep/unix/config.c: Remove extraneous comma.
+         https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/518582
 
-2014-09-21  Peter Jones  <pjones@redhat.com>
+       This was fixed in util-linux by having the MINIX code check for the
+       ext2 magic. Do the same here.
 
-       * grub-core/loader/arm/linux.c: Initialized initrd_ctx so
-       we don't free a random pointer from the stack.
-       * grub-core/loader/arm64/linux.c: Likewise.
-       * grub-core/loader/i386/linux.c: Likewise.
-       * grub-core/loader/i386/pc/linux.c: Likewise.
-       * grub-core/loader/ia64/efi/linux.c: Likewise.
-       * grub-core/loader/mips/linux.c: Likewise.
-       * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
-       * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
+       Reviewed-by: Derek Foreman <derek@endlessos.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-09-15  Khem Raj  <raj.khem@gmail.com>
+2021-03-12  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * grub-core/kern/emu/hostfs.c: use _DEFAULT_SOURCE in addition to
-       _BSD_SOURCE to avoid warnings under glibc 2.20+.
+       Release 2.06~rc1
 
-2014-09-08  Michael Chang  <mchang@suse.com>
+2021-03-11  Ard Biesheuvel  <ard.biesheuvel@arm.com>
 
-       * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Fix extent size
-       check; comparing &data->extent against addresses in the region it
-       points to is unpredictable.
+       arm/linux: Fix ARM Linux header layout
+       The hdr_offset member of the ARM Linux image header appears at
+       offset 0x3c, matching the PE/COFF spec's placement of the COFF
+       header offset in the MS-DOS header. We're currently off by four,
+       so fix that.
 
-2014-09-07  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Support grub-emu on x32 (ILP32 but with x86-64 instruction set)
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-       * configure.ac: Remove -m64 from checks for -mcmodel=large and
-       -mno-red-zone.  These are always either unnecessary (x86_64-emu) or
-       already in TARGET_CFLAGS at this point, and they produce incorrect
-       results when building for x32.
-       * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
-       pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
-       * include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
-       GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.
+       style: Format string macro should have a space between quotes
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-09-07  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-       * configure.ac: Remove several unnecessary semicolons.
+       grub/err: Do compile-time format string checking on grub_error()
+       This should help prevent format string errors and thus improve the quality
+       of error reporting.
 
-2014-08-25  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
-       Initialise pend to pacify GCC.
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-2014-08-14  Andrey Borzenkov <arvidjaar@gmail.com>
+       fs/zfs/zfs: Use format code "%llu" for 64-bit uint bp->blk_prop in grub_error()
+       This is a temporary, less-intrusive change to get the build to success with
+       compiler format string checking turned on. There is a better fix which
+       addresses this issue, but it needs more testing. Use this change so that
+       format string checking on grub_error() can be turned on until the better
+       change is fully tested.
 
-       * util/grub-mkconfig.in: Fix typo (gettext_print instead of
-       gettext_printf).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-08-13  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-       * grub-core/term/at_keyboard.c: Retry probing keyboard if
-       scancode setup failed.
+       fs/hfsplus: Use format code PRIuGRUB_UINT64_T for 64-bit typed fileblock in grub_error()
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-08-10  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-       * grub-core/kern/disk_common.c: Clump disk size to 1EiB.
+       dl/elf: Use format code PRIxGRUB_UINT64_T for 64-bit arg in grub_error()
+       The macro ELF_R_TYPE does not change the underlying type. Here its argument
+       is a 64-bit Elf64_Xword. Make sure the format code matches.
 
-2014-08-10  Vladimir Serbinenko  <phcoder@gmail.com>
+       For the RISC-V architecture, rel->r_info could be either Elf32_Xword or
+       Elf64_Xword depending on if 32 or 64-bit RISC-V is being built. So cast
+       to 64-bit value regardless.
 
-       * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Add
-       safety to avoid triggerring VirtualBox bug.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-08-10  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-       * grub-core/fs/cbfs.c: Don't probe disks of unknow size.
+       disk/ata: Use format code PRIxGRUB_UINT64_T for 64-bit uint argument in grub_error()
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Fixes hang on virtualbox.
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-2014-07-08  Colin Watson  <cjwatson@ubuntu.com>
+       loader/i386/pc/linux: Use PRI* macros to get correct format string code across architectures
+       Also remove casting of format string args so that the architecture dependent
+       type is preserved.
 
-       * util/grub.d/10_hurd.in: Make kernel list progression not fail on
-       kernels whose paths contain regex metacharacters.
-       * util/grub.d/10_kfreebsd.in: Likewise.
-       * util/grub.d/10_linux.in: Likewise.
-       * util/grub.d/20_linux_xen.in: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Reported by: Heimo Stranner.
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-2014-06-26  Colin Watson  <cjwatson@ubuntu.com>
+       kern/efi/mm: Format string error in grub_error()
+       The second format string argument, GRUB_EFI_MAX_USABLE_ADDRESS, is a macro
+       to a number literal. However, depending on what the target architecture, the
+       type can be 32 or 64 bits. Cast to a 64-bit integer. Also, change the
+       format string literals "%llx" to use PRIxGRUB_UINT64_T.
 
-       * docs/grub-dev.texi (Finding your way around): The build system no
-       longer uses AutoGen directly.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-06-21  Роман Пехов <roman_pekhov>
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-       * grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
+       commands/pgp: Format code for grub_error() is incorrect
+       The format code is for a 32-bit int, but the argument, keyid, is declared as
+       a 64 bit int. The comment above says keyid is 32-bit. I'm not sure if the
+       comment or declaration is wrong, so force the display of a 64-bit int for now.
 
-2014-06-21  Glenn Washburn <development@efficientek.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-install.c: Fix handling of --disk-module.
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-2014-06-21  Stephane Rochoy <sheda>
+       grub_error: Use format code PRIuGRUB_SIZE for variables of type grub_size_t
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
-       EFI system table.
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-2014-06-21  Stephane Rochoy <sheda>
+       disk/dmraid_nvidia: Format string error in grub_error()
+       The grub_error() has a format string expecting two arguments, but only one
+       provided. According to the comments in the struct grub_nv_super definition,
+       the version field looks like a version number where major.minor is encoded
+       as each a byte in the two-byte short.
 
-       * grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
-       EFI system table physical address.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-06-21  Trevor Woerner <trevor.woerner@linaro.org>
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-       * util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.
+       video/bochs: grub_error() format string add missing format code
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-06-21  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-       * grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
+       parttool/msdospart: grub_error() missing format string argument
+       Its obvious from the error message that the variable named "type" was
+       accidentally omitted.
 
-2014-06-21  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
-       check.
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-2014-04-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       misc: Format string for grub_error() should be a literal
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.
+2021-03-10  Philip Müller  <philm@manjaro.org>
 
-       Reported by: Yves Blusseau <blusseau@zetam.org>.
+       templates: Properly disable the os-prober by default
+       This patch does the following:
+        - really disables os-prober by default in the util/grub-mkconfig.in
+          by setting GRUB_DISABLE_OS_PROBER to true,
+        - fixes the logic in the util/grub.d/30_os-prober.in,
+        - updates the grub_warn() lines.
 
-2014-04-20  Piotr Krysiuk  <piotras@gmail.com>
+       Reason for the code shuffling in the util/grub-mkconfig.in:
 
-       * grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
-       GDT in conventional memory.
+         The default was GRUB_DISABLE_OS_PROBER=false if you don't set
+         GRUB_DISABLE_OS_PROBER at all. To prevent os-prober from starting we
+         have to set it by default to true and shuffle GRUB_DISABLE_OS_PROBER to
+         code section, which is executed by the script. However we still give an
+         option to the user to overwrite it with false, if he wants to execute
+         os-prober after all.
 
-2014-04-10  Colin Watson  <cjwatson@ubuntu.com>
+       Fixes: e3464147 (templates: Disable the os-prober by default)
 
-       * util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
-       UUID.  Other parts of grub-mkconfig tolerate these, they were
-       previously allowed here up to commit
-       55e706c918922def17f5012c23cfe88c4c645208, and they can arise in
-       practice when the system has active LVM snapshots.
-       Fixes Ubuntu bug #1287436.
+       Reported-by: Didier Spaier <didier@slint.fr>
+       Reported-by: Lennart Sorensen <lsorense@csclub.uwaterloo.ca>
+       Reported-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-04-10  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-10  Michael Chang  <mchang@suse.com>
 
-       * grub-core/disk/lvm.c (grub_lvm_detect): Search for
-       "logical_volumes" block a little more accurately.
+       kern/efi/sb: Add chainloaded image as shim's verifiable object
+       While attempting to dual boot Microsoft Windows with UEFI chainloader,
+       it failed with below error when UEFI Secure Boot was enabled:
 
-2014-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
+         error ../../grub-core/kern/verifiers.c:119:verification requested but
+         nobody cares: /EFI/Microsoft/Boot/bootmgfw.efi.
 
-       * grub-core/lib/syslinux_parse.c: Fix timeout quoting.
+       It is a regression, as previously it worked without any problem.
 
-2014-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       It turns out chainloading PE image has been locked down by commit
+       578c95298 (kern: Add lockdown support). However, we should consider it
+       as verifiable object by shim to allow booting in UEFI Secure Boot mode.
+       The chainloaded PE image could also have trusted signature created by
+       vendor with their pubkey cert in db. For that matters it's usage should
+       not be locked down under UEFI Secure Boot, and instead shim should be
+       allowed to validate a PE binary signature before running it.
 
-       * include/grub/libgcc.h: Remove ctzsi2 and ctzdi2. They're no longer
-       pulled from libgcc.
+       Fixes: 578c95298 (kern: Add lockdown support)
 
-2014-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Replace few instances of memcmp/memcpy in the code that should be
-       grub_memcmp/grub_memcpy.
+2021-03-10  Glenn Washburn  <development@efficientek.com>
 
-2014-04-03  Vladimir Serbinenko  <phcoder@gmail.com>
+       disk/pata: Suppress error message "no device connected"
+       This error message comes from the grub_print_error() in
+       grub_pata_device_initialize(), which does not pass on the error, and is
+       raised in check_device(). The function check_device() needs to return this
+       as an error because check_device() is also used in grub_pata_open(), which
+       does pass on this error to indicate that the device can not be used.
 
-       * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe
-       device names.
+       This is actually not an error when displayed by grub_pata_device_initialize()
+       because it just indicates that there are no pata devices seen. This may be
+       confusing to end users who do not have pata devices yet are loading the
+       pata module (perhaps implicitly via nativedisk). This also causes unnecessary
+       output which may need to be accounted for in functional testing.
 
-2014-03-31  Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
+       Instead print to the debug log when check_device() raises this "error" and
+       pop the error from the error stack. If there is another error on the stack
+       then print the error stack as those should be real errors.
 
-       btrfs: fix get_root key comparison failures due to endianness
+       Acked-by: Paul Menzel <pmenzel@molgen.mpg.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/fs/btrfs.c (get_root): Convert
-       GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.
+2021-03-10  Yi Zhao  <yi.zhao@windriver.com>
 
-2014-03-31  Colin Watson  <cjwatson@ubuntu.com>
+       fs/ext2: Fix a file not found error when a symlink filesize is equal to 60
+       We encountered a file not found error when the symlink filesize is
+       equal to 60:
 
-       Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.
+         $ ls -l initrd
+         lrwxrwxrwx 1 root root 60 Jan  6 16:37 initrd -> secure-core-image-initramfs-5.10.2-yoctodev-standard.cpio.gz
 
-       Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
-       no longer to be forgiving of trailing spaces on grub-probe output
-       lines, which among other things means that util/grub.d/10_linux.in
-       no longer detects LVM.  To fix this, make grub-probe's output
-       delimiting more consistent.  As a bonus, this improves the coverage
-       of the -0 option.
+       When booting, we got the following error in the GRUB:
 
-       Fixes Debian bug #735935.
+         error: file `/initrd' not found
 
-       * grub-core/disk/cryptodisk.c
-       (grub_util_cryptodisk_get_abstraction): Add a user-data argument.
-       * grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
-       Likewise.
-       * include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
-       Update prototype.
-       * include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
-       * util/grub-install.c (push_partmap_module, push_cryptodisk_module,
-       probe_mods): Adjust for extra user-data arguments.
-       * util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
-       probe_abstraction): Use configured delimiter.  Update callers.
+       The root cause is that the size of diro->inode.symlink is equal to 60
+       and a symlink name has to be terminated with NUL there. So, if the
+       symlink filesize is exactly 60 then it is also stored in a separate
+       block rather than in the inode itself.
 
-2014-03-31  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-probe,c (options): Make -0 work again (broken by
-       conversion to argp).
-       (main): Simplify logic.
+2021-03-02  Tianjia Zhang  <tianjia.zhang@linux.alibaba.com>
 
-2014-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
+       loader/i386/linux: Do not use grub_le_to_cpu32() for relocatable variable
+       The relocatable variable is defined as grub_uint8_t. Relevant
+       member in setup_header structure is also defined as one byte
+       in Linux boot protocol. By semantic definition it is a bool type.
+       It is not appropriate to treat it as a four bytes. This patch
+       fixes the issue.
 
-       * grub-core/lib/relocator.c: Fix the case when end of leftover is used.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-03-26  Fu Wei <fu.wei@linaro.org>
+2021-03-02  Tianjia Zhang  <tianjia.zhang@linux.alibaba.com>
 
-       * grub-core/loader/arm64/linux.c: Remove redundant "0x".
+       loader/i386/linux: Remove redundant code from in grub_cmd_linux()
+       The preferred_address has been assigned to GRUB_LINUX_BZIMAGE_ADDR
+       during initialization in grub_cmd_linux(). The assignment here
+       is redundant and should be removed.
 
-2014-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
-       * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.
+2021-03-02  Heinrich Schuchardt  <xypron.glpk@gmx.de>
 
-       Suggested by: Markus Müller.
+       efi: The device-tree must be in EfiACPIReclaimMemory
+       According to the Embedded Base Boot Requirements (EBBR) specification the
+       device-tree passed to Linux as a configuration table must reside in
+       EfiACPIReclaimMemory.
 
-2014-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
-       if E820 failed to return any regions.
+2021-03-02  Heinrich Schuchardt  <xypron.glpk@gmx.de>
 
-2014-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
+       commands/efi/lsefisystab: Add short text for EFI_RT_PROPERTIES_TABLE_GUID
+       UEFI specification 2.8 errata B introduced the EFI_RT_PROPERTIES_TABLE
+       describing the services available at runtime.
 
-       * grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
-       tables for low memory calculations.
+       The lsefisystab command is used to display installed EFI configuration
+       tables. Currently it only shows the GUID but not a short text for the
+       new table.
 
-2014-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
+       Provide a short text for the EFI_RT_PROPERTIES_TABLE_GUID.
 
-       * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
-       location to 640K.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Petr Vorel  <pvorel@suse.cz>
 
-       * grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
-       region.
+       docs/luks2: Mention key derivation function support
+       To give users hint why Argon2, the default in cryptsetup for LUKS2, does
+       not work.
 
-2014-02-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Acked-by: Paul Menzel <pmenzel@molgen.mpg.de>
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
-       exclusively.
+2021-03-02  Derek Foreman  <derek@endlessos.org>
 
-2014-02-04  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
+       commands/file: Fix array/enum desync
+       The commit f1957dc8a (RISC-V: Add to build system) added two entries to
+       the options array, but only 1 entry to the enum. This resulted in
+       everything after the insertion point being off by one.
 
-       Add bootpath parser for open firmware.
+       This broke at least the "file --is-hibernated-hiberfil" command.
 
-       It enables net boot even when there is no bootp/dhcp server.
+       Bring the two back in sync by splitting the IS_RISCV_EFI enum entry into
+       two, as is done for other architectures.
 
-       * grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath
-       and call it at grub_ieee1275_net_config_real.
-       * grub-core/kern/ieee1275/init.c: Add bootpath to
-       grub_ieee1275_net_config.
-       * include/grub/ieee1275/ieee1275.h: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
+2021-03-02  Marco A Benatto  <mbenatto@redhat.com>
 
-2014-02-04  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
+       kern/mm: Fix grub_debug_calloc() compilation error
+       Fix compilation error due to missing parameter to
+       grub_printf() when MM_DEBUG is defined.
 
-       Add grub_env_set_net_property function.
+       Fixes: 64e26162e (calloc: Make sure we always have an overflow-checking calloc() available)
 
-       * grub-core/net/bootp.c: Remove set_env_limn_ro.
-       * grub-core/net/net.c: Add grub_env_set_net_property.
-       * include/grub/net.h: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Alex Burmashev  <alexander.burmashev@oracle.com>
 
-       * util/grub-mkrescue.c: Build fix for argp.h with older gcc.
+       templates: Disable the os-prober by default
+       The os-prober is enabled by default what may lead to potentially
+       dangerous use cases and borderline opening attack vectors. This
+       patch disables the os-prober, adds warning messages and updates
+       GRUB_DISABLE_OS_PROBER configuration option documentation. This
+       way we make it clear that the os-prober usage is not recommended.
 
-2014-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
+       Simplistic nature of this change allows downstream vendors, who
+       really want os-prober to be enabled out of the box in their
+       relevant products, easily revert to it's old behavior.
 
-       * util/grub-mkfont.c: Build fix for argp.h with older gcc.
+       Reported-by: NyankoSec (<nyanko@10x.moe>, https://twitter.com/NyankoSec),
+                    working with SSD Secure Disclosure
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Thomas Frauendorfer | Miray Software  <tf@miray.de>
 
-       * grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
-       7 seconds to recover if last poweroff was bad.
+       gfxmenu/gui: Check printf() format in the gui_progress_bar and gui_label
+       The gui_progress_bar and gui_label components can display the timeout
+       value. The format string can be set through a theme file. This patch
+       adds a validation step to the format string.
 
-2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
+       If a user loads a theme file into the GRUB without this patch then
+       a GUI label with the following settings
 
-       * grub-core/disk/ahci.c: Properly handle transactions with no
-       transferred data.
+         + label {
+         ...
+         id = "__timeout__"
+         text = "%s"
+         }
 
-2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
+       will interpret the current timeout value as string pointer and print the
+       memory at that position on the screen. It is not desired behavior.
 
-       * grub-core/disk/ahci.c: Add safety cleanups.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Thomas Frauendorfer | Miray Software  <tf@miray.de>
 
-       * grub-core/disk/ahci.c: Allocate and clean space for all possible 32
-       slots to avoid pointing to uninited area.
+       kern/misc: Add function to check printf() format against expected format
+       The grub_printf_fmt_check() function parses the arguments of an untrusted
+       printf() format and an expected printf() format and then compares the
+       arguments counts and arguments types. The arguments count in the untrusted
+       format string must be less or equal to the arguments count in the expected
+       format string and both arguments types must match.
 
-2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
+       To do this the parse_printf_arg_fmt() helper function is extended in the
+       following way:
 
-       * grub-core/disk/ahci.c: Do not enable I/O decoding and keep
-       enabling busmaster for the end.
+         1. Add a return value to report errors to the grub_printf_fmt_check().
 
-2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
+         2. Add the fmt_check argument to enable stricter format verification:
+            - the function expects that arguments definitions are always
+              terminated by a supported conversion specifier.
+            - positional parameters, "$", are not allowed, as they cannot be
+              validated correctly with the current implementation. For example
+              "%s%1$d" would assign the first args entry twice while leaving the
+              second one unchanged.
+            - Return an error if preallocated space in args is too small and
+              allocation fails for the needed size. The grub_printf_fmt_check()
+              should verify all arguments. So, if validation is not possible for
+              any reason it should return an error.
+            This also adds a case entry to handle "%%", which is the escape
+            sequence to print "%" character.
 
-       * util/grub-mkfont.c: Downgrade warnings about unhandled features
-       to debug.
+         3. Add the max_args argument to check for the maximum allowed arguments
+            count in a printf() string. This should be set to the arguments count
+            of the expected format. Then the parse_printf_arg_fmt() function will
+            return an error if the arguments count is exceeded.
 
-2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
+       The two additional arguments allow us to use parse_printf_arg_fmt() in
+       printf() and grub_printf_fmt_check() calls.
 
-       * grub-core/term/at_keyboard.c: Tolerate missing keyboard.
+       When parse_printf_arg_fmt() is used by grub_printf_fmt_check() the
+       function parse user provided untrusted format string too. So, in
+       that case it is better to be too strict than too lenient.
 
-2014-01-29  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * .gitignore: add missing files and .exe variants.
+2021-03-02  Thomas Frauendorfer | Miray Software  <tf@miray.de>
 
-2014-01-26  Mike Gilbert <floppym@gentoo.org>
+       kern/misc: Add STRING type for internal printf() format handling
+       Set printf() argument type for "%s" to new type STRING. This is in
+       preparation for a follow up patch to compare a printf() format string
+       against an expected printf() format string.
 
-       grub-install: support for partitioned partx loop devices.
+       For "%s" the corresponding printf() argument is dereferenced as pointer
+       while all other argument types are defined as integer value. However,
+       when validating a printf() format it is necessary to differentiate "%s"
+       from "%p" and other integers. So, let's do that.
 
-       * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
-       /dev/loopX as being the parent of /dev/loopXpY.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-01-26  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Thomas Frauendorfer | Miray Software  <tf@miray.de>
 
-       * grub-core/term/serial.c (grub_serial_register): Fix invalid free.
-       Ensure that pointers are inited to NULL and that pointers are not
-       accessed after free.
+       kern/misc: Split parse_printf_args() into format parsing and va_list handling
+       This patch is preparing for a follow up patch which will use
+       the format parsing part to compare the arguments in a printf()
+       format from an external source against a printf() format with
+       expected arguments.
 
-2014-01-25  Andrey Borzenkov <arvidjaar@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/crypto.h: Replace __attribute__ ((format (printf)) with
-       __attribute__ ((format (__printf__)) to fix compilation under MinGW-w64.
-       * include/grub/emu/misc.h: ... and here.
-       * include/grub/err.h: ... and here.
-       * util/import_gcry.py: ... and here (in files g10lib.h).
+2021-03-02  Dimitri John Ledkov  <xnox@ubuntu.com>
 
-2014-01-25  Andrey Borzenkov <arvidjaar@gmail.com>
+       shim_lock: Only skip loading shim_lock verifier with explicit consent
+       Commit 32ddc42c (efi: Only register shim_lock verifier if shim_lock
+       protocol is found and SB enabled) reintroduced CVE-2020-15705 which
+       previously only existed in the out-of-tree linuxefi patches and was
+       fixed as part of the BootHole patch series.
 
-       * util/grub-mkimage.c: Make prefix argument mandatory.
+       Under Secure Boot enforce loading shim_lock verifier. Allow skipping
+       shim_lock verifier if SecureBoot/MokSBState EFI variables indicate
+       skipping validations, or if GRUB image is built with --disable-shim-lock.
 
-2014-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: 132ddc42c (efi: Only register shim_lock verifier if shim_lock
+              protocol is found and SB enabled)
+       Fixes: CVE-2020-15705
+       Fixes: CVE-2021-3418
 
-       Fix several translatable strings.
+       Reported-by: Dimitri John Ledkov <xnox@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Suggested by: D. Prévot.
+2021-03-02  Dimitri John Ledkov  <xnox@ubuntu.com>
 
-2014-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       grub-install-common: Add --sbat option
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-install.c: List available targets.
+2021-03-02  Peter Jones  <pjones@redhat.com>
 
-2014-01-23  Colin Watson  <cjwatson@ubuntu.com>
+       util/mkimage: Add an option to import SBAT metadata into a .sbat section
+       Add a --sbat option to the grub-mkimage tool which allows us to import
+       an SBAT metadata formatted as a CSV file into a .sbat section of the
+       EFI binary.
 
-       * util/grub-install.c (write_to_disk): Add an info message.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-01-21  Andrey Borzenkov <arvidjaar@gmail.com>
+2021-03-02  Peter Jones  <pjones@redhat.com>
 
-       * Makefile.am: Allow adding extra files to generated Windows ZIP
-       archive by setting GRUB_WINDOWS_EXTRA_DIST.
+       util/mkimage: Refactor section setup to use a helper
+       Add a init_pe_section() helper function to setup PE sections. This makes
+       the code simpler and easier to read.
 
-2014-01-21  Andrey Borzenkov <arvidjaar@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Look for DejaVuSans also in /usr/share/fonts/truetype.
-       Show detected font path in summary.
+2021-03-02  Peter Jones  <pjones@redhat.com>
 
-2014-01-21  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
+       util/mkimage: Improve data_size value calculation
+       According to "Microsoft Portable Executable and Common Object File Format
+       Specification", the Optional Header SizeOfInitializedData field contains:
 
-       * grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
-       interval gradually.
-       * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
-       * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
-       * grub-core/net/tftp.c (tftp_open): Likewise.
-       * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
+         Size of the initialized data section, or the sum of all such sections if
+         there are multiple data sections.
 
-2014-01-21  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
+       Make this explicit by adding the GRUB kernel data size to the sum of all
+       the modules sizes. The ALIGN_UP() is not required by the PE spec but do
+       it to avoid alignment issues.
 
-       * grub-core/net/net.c (receive_packets): Change stop condition to avoid
-       infinite loops.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       In net/net.c there is a while (1) that only exits if there is a stop
-       condition and more then 10 packages or if there is no package received.
+2021-03-02  Peter Jones  <pjones@redhat.com>
 
-       If GRUB is idle and enter in this loop, the only condition to leave is
-       if it doesn't have incoming packages. In a network with heavy traffic
-       this never happens.
+       util/mkimage: Reorder PE optional header fields set-up
+       This makes the PE32 and PE32+ header fields set-up easier to follow by
+       setting them closer to the initialization of their related sections.
 
-2014-01-19  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
-       EPERM when modifying kern.geom.debugflags.  It is only a problem for
-       such things as installing GRUB to the MBR, in which case there'll be
-       an error later anyway, not for opening files during tests.
+2021-03-02  Peter Jones  <pjones@redhat.com>
 
-2014-01-18  Andrey Borzenkov <arvidjaar@gmail.com>
+       util/mkimage: Unify more of the PE32 and PE32+ header set-up
+       There's quite a bit of code duplication in the code that sets the optional
+       header for PE32 and PE32+. The two are very similar with the exception of
+       a few fields that have type grub_uint64_t instead of grub_uint32_t.
 
-       * grub-core/Makefile.am: Build grub_emu_init.[ch] from MODULE_FILES
-       instead of MOD_FILES.
-       * grub-core/genemuinit.sh: Simplify stripping of suffix so it works
-       both with and without .exe.
-       * grub-core/genemuinitheader.sh: Same.
+       Factor out the common code and add a PE_OHDR() macro that simplifies the
+       set-up and make the code more readable.
 
-2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-install.c: Fix a typo.
+2021-03-02  Peter Jones  <pjones@redhat.com>
 
-2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       util/mkimage: Always use grub_host_to_target32() to initialize PE stack and heap stuff
+       This change does not impact final result of initialization itself.
+       However, it eases PE code unification in subsequent patches.
 
-       * grub-core/normal/main.c (read_config_file): Buffer config file.
-       Reduces boot time.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-01-18  Andrey Borzenkov <arvidjaar@gmail.com>
+2021-03-02  Peter Jones  <pjones@redhat.com>
 
-       * acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
-       symbolic link to directory. It fails in Msys shell on Windows 2003.
+       util/mkimage: Use grub_host_to_target32() instead of grub_cpu_to_le32()
+       The latter doesn't take into account the target image endianness. There is
+       a grub_cpu_to_le32_compile_time() but no compile time variant for function
+       grub_host_to_target32(). So, let's keep using the other one for this case.
 
-2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * Makefile.am (default_payload.elf): Add modules
-       multiboot cbmemc linux16 gzio echo help.
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-2014-01-18  Mike Gilbert <floppym@gentoo.org>
+       util/mkimage: Remove unused code to add BSS section
+       The code is compiled out so there is no reason to keep it.
 
-       * Makefile.util.def: Link grub-ofpathname with zfs libs.
+       Additionally, don't set bss_size field since we do not add a BSS section.
 
-2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/commands/macbless.c: Rename FILE and DIR to avoid
-       conflicts.
+2021-03-02  Chris Coulson  <chris.coulson@canonical.com>
 
-       Reported by: Andrey Borzenkov.
+       kern/efi: Add initial stack protector implementation
+       It works only on UEFI platforms but can be quite easily extended to
+       others architectures and platforms if needed.
 
-2014-01-18  Andrey Borzenkov <arvidjaar@gmail.com>
+       Reviewed-by: Marco A Benatto <mbenatto@redhat.com>
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
 
-       * include/grub/misc.h: Move macros for compiler features to ...
-       * include/grub/compiler.h: ... new file.
-       * include/grub/list.h: Include <grub/compiler.h> instead of <grub/misc.h>.
-       * grub-core/commands/fileXX.c: Include <grub/misc.h>.
-       * grub-core/efiemu/prepare.c: Include <grub/misc.h>.
-       * grub-core/loader/i386/xen_file.c: Include <grub/misc.h>.
-       * grub-core/loader/i386/xen_fileXX.c: Include <grub/misc.h>.
-       * grub-core/video/capture.c: Include <grub/misc.h>.
-       * include/grub/command.h: Include <grub/misc.h>.
-       * include/grub/dl.h: Include <grub/misc.h>.
-       * include/grub/procfs.h: Include <grub/misc.h>.
+2021-03-02  Chris Coulson  <chris.coulson@canonical.com>
 
-2014-01-18  Andrey Borzenkov <arvidjaar@gmail.com>
+       kern/parser: Fix a stack buffer overflow
+       grub_parser_split_cmdline() expands variable names present in the supplied
+       command line in to their corresponding variable contents and uses a 1 kiB
+       stack buffer for temporary storage without sufficient bounds checking. If
+       the function is called with a command line that references a variable with
+       a sufficiently large payload, it is possible to overflow the stack
+       buffer via tab completion, corrupt the stack frame and potentially
+       control execution.
 
-       * configure.ac: Add support for BUILD_EXEEXT and use it ...
-       * Makefile.am: ... here.
-       * Makefile.util.def: ... and here.
-       * grub-core/Makefile.am: ... and here.
+       Fixes: CVE-2020-27749
 
-2014-01-18  Andrey Borzenkov <arvidjaar@gmail.com>
+       Reported-by: Chris Coulson <chris.coulson@canonical.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/osdep/hostfile_windows.h: Use _W64 instead of
-       FILE_OFFSET_BITS to differentiate between native MinGW and Mingw W64.
+2021-03-02  Chris Coulson  <chris.coulson@canonical.com>
 
-2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       kern/buffer: Add variable sized heap buffer
+       Add a new variable sized heap buffer type (grub_buffer_t) with simple
+       operations for appending data, accessing the data and maintaining
+       a read cursor.
 
-       * grub-core/term/terminfo.c: Recognize keys F1-F12.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-01-18  Andrey Borzenkov <arvidjaar@gmail.com>
+2021-03-02  Chris Coulson  <chris.coulson@canonical.com>
 
-       * configure.ac: Add support for BUILD_LDFLAGS.
-       * Makefile.am: Use BUILD_LDFLAGS for build time programs here ...
-       * grub-core/Makefile.am: ... and here.
-       * INSTALL: Mention BUILD_LDFLAGS.
+       kern/parser: Refactor grub_parser_split_cmdline() cleanup
+       Introduce a common function epilogue used for cleaning up on all
+       return paths, which will simplify additional error handling to be
+       introduced in a subsequent commit.
 
-2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mount.c: Extend GCC warning workaround to grub-mount.
+2021-03-02  Chris Coulson  <chris.coulson@canonical.com>
 
-2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       kern/parser: Introduce terminate_arg() helper
+       process_char() and grub_parser_split_cmdline() use similar code for
+       terminating the most recent argument. Add a helper function for this.
 
-       * grub-core/kern/efi/efi.c: Ensure that the result starts with /
-       and has no //.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Chris Coulson  <chris.coulson@canonical.com>
 
-       * NEWS: Add few missing entries.
+       kern/parser: Introduce process_char() helper
+       grub_parser_split_cmdline() iterates over each command line character.
+       In order to add error checking and to simplify the subsequent error
+       handling, split the character processing in to a separate function.
 
-2014-01-17  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub.d/00_header.in (make_timeout): Use && rather than test
-       -a.
-       * util/grub.d/10_windows.in: Likewise.
-       * util/grub.d/10_netbsd.in (netbsd_load_fs_module): Use || rather
-       than test -o.
-       * util/grub.d/30_os-prober.in: Use && rather than test -a, and ||
-       rather than test -o.
+2021-03-02  Chris Coulson  <chris.coulson@canonical.com>
 
-2014-01-17  Colin Watson  <cjwatson@ubuntu.com>
+       kern/parser: Fix a memory leak
+       The getline() function supplied to grub_parser_split_cmdline() returns
+       a newly allocated buffer and can be called multiple times, but the
+       returned buffer is never freed.
 
-       * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
-       redundant preprocessor conditional.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-01-08  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * Makefile.util.def (grub-macbless): Change mansection to 8.
+       fs/btrfs: Squash some uninitialized reads
+       We need to check errors before calling into a function that uses the result.
 
-2014-01-07  Leif Lindholm <leif.lindholm@linaro.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/loader/arm64/linux.c: correctly set device path end length.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2014-01-07  Andrey Borzenkov <arvidjaar@gmail.com>
+       fs/btrfs: Validate the number of stripes/parities in RAID5/6
+       This prevents a divide by zero if nstripes == nparities, and
+       also prevents propagation of invalid values if nstripes ends up
+       less than nparities.
 
-       * util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
-       arm64 to comply with EFI specification. Also use grubaa64.efi for
-       consistency.
-       * util/grub-mkrescue.c: Change to use bootaa64.efi too.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2014-01-07  Andrey Borzenkov <arvidjaar@gmail.com>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * include/grub/osdep/hostfile_windows.h: Do not redefine fseeko/ftello
-       on MinGW-64 when compiling for 32 bits.
+       disk/lvm: Do not allow a LV to be it's own segment's node's LV
+       This prevents infinite recursion in the diskfilter verification code.
 
-2013-12-30  Andrey Borzenkov <arvidjaar@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/Makefile.core.def: strip .eh_frame section for arm64-efi.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2013-12-30  Vladimir Serbinenko  <phcoder@gmail.com>
+       disk/lvm: Sanitize rlocn->offset to prevent wild read
+       rlocn->offset is read directly from disk and added to the metadatabuf
+       pointer to create a pointer to a block of metadata. It's a 64-bit
+       quantity so as long as you don't overflow you can set subsequent
+       pointers to point anywhere in memory.
 
-       * NEWS: Add few missing entries. Correct existing ones.
+       Require that rlocn->offset fits within the metadata buffer size.
 
-2013-12-28  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Don't abort() on unavailable coreboot tables if not running on coreboot.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2013-12-28  Andrey Borzenkov <arvidjaar@gmail.com>
+       disk/lvm: Do not overread metadata
+       We could reach the end of valid metadata and not realize, leading to
+       some buffer overreads. Check if we have reached the end and bail.
 
-       * grub-core/kern/emu/misc.c: Remove unused error.h; fixes compilation
-       on mingw.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2013-12-28  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * NEWS: The cmosclean command in fact dates back to 1.99.  Remove
-       mention of it from 2.02.
+       disk/lvm: Do not crash if an expected string is not found
+       Clean up a bunch of cases where we could have strstr() fail and lead to
+       us dereferencing NULL.
 
-2013-12-27  Vladimir Serbinenko  <phcoder@gmail.com>
+       We'll still leak memory in some cases (loops don't clean up allocations
+       from earlier iterations if a later iteration fails) but at least we're
+       not crashing.
 
-       * grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       As these functions are used on pre-ARMv6 CPUs as well we don't want
-       to make assembler assume that architecture is higher than default one.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2013-12-27  Colin Watson  <cjwatson@ubuntu.com>
+       disk/lvm: Bail on missing PV list
+       There's an if block for the presence of "physical_volumes {", but if
+       that block is absent, then p remains NULL and a NULL-deref will result
+       when looking for logical volumes.
 
-       * NEWS: First draft of 2.02 entry.
+       It doesn't seem like LVM makes sense without physical volumes, so error
+       out rather than crashing.
 
-2013-12-27  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * INSTALL (Cross-compiling the GRUB): Fix some spelling mistakes.
-       * docs/grub.texi (Getting the source code): Likewise.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2013-12-25  Andrey Borzenkov <arvidjaar@gmail.com>
+       disk/lvm: Don't blast past the end of the circular metadata buffer
+       This catches at least some OOB reads, and it's possible I suppose that
+       if 2 * mda_size is less than GRUB_LVM_MDA_HEADER_SIZE it might catch some
+       OOB writes too (although that hasn't showed up as a crash in fuzzing yet).
 
-       * grub-core/osdep/windows/platform.c (get_platform): Fix EFI
-       detection.
+       It's a bit ugly and I'd appreciate better suggestions.
 
-2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Set version to 2.02~beta2.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       disk/lvm: Don't go beyond the end of the data we read from disk
+       We unconditionally trusted offset_xl from the LVM label header, even if
+       it told us that the PV header/disk locations were way off past the end
+       of the data we read from disk.
 
-       * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
+       Require that the offset be sane, fixing an OOB read and crash.
 
-2013-12-24  Andrey Borzenkov <arvidjaar@gmail.com>
+       Fixes: CID 314367, CID 314371
 
-       * util/grub-probe.c: Improve help message and simplify list handling.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       Fix buffer overflow in grub_efi_print_device_path.
+       io/gzio: Zero gzio->tl/td in init_dynamic_block() if huft_build() fails
+       If huft_build() fails, gzio->tl or gzio->td could contain pointers that
+       are no longer valid. Zero them out.
 
-2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       This prevents a double free when grub_gzio_close() comes through and
+       attempts to free them again.
 
-       Show SATA device path.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       Revert grub-file usage in grub-mkconfig.
+       io/gzio: Catch missing values in huft_build() and bail
+       In huft_build(), "v" is a table of values in order of bit length.
+       The code later (when setting up table entries in "r") assumes that all
+       elements of this array corresponding to a code are initialized and less
+       than N_MAX. However, it doesn't enforce this.
 
-2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       With sufficiently manipulated inputs (e.g. from fuzzing), there can be
+       elements of "v" that are not filled. Therefore a lookup into "e" or "d"
+       will use an uninitialized value. This can lead to an invalid/OOB read on
+       those values, often leading to a crash.
 
-       Make newly-created files other than grub.cfg world-readable.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2013-12-24  Andrey Borzenkov <arvidjaar@gmail.com>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * util/grub.d/00_header.in: Improve compatibility with old config.
+       io/gzio: Add init_dynamic_block() clean up if unpacking codes fails
+       init_dynamic_block() didn't clean up gzio->tl and td in some error
+       paths. This left td pointing to part of tl. Then in grub_gzio_close(),
+       when tl was freed the storage for td would also be freed. The code then
+       attempts to free td explicitly, performing a UAF and then a double free.
 
-2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       Explicitly clean up tl and td in the error paths.
 
-       Make rijndael.c respect aliasing rules.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       io/gzio: Bail if gzio->tl/td is NULL
+       This is an ugly fix that doesn't address why gzio->tl comes to be NULL.
+       However, it seems to be sufficient to patch up a bunch of NULL derefs.
 
-       Make grub_util_device_is_mapped_stat available in grub-emu core.
+       It would be good to revisit this in future and see if we can have
+       a cleaner solution that addresses some of the causes of the unexpected
+       NULL pointers.
 
-2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Add -Qn to TARGET_CFLAGS if it's supported.
-       Fixes compilation on cygwin.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       Reported by: Andrey Borzenkov.
-       Suggested by: Andrey Borzenkov.
+       fs/nilfs2: Properly bail on errors in grub_nilfs2_btree_node_lookup()
+       We just introduced an error return in grub_nilfs2_btree_node_lookup().
+       Make sure the callers catch it.
 
-2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       At the same time, make sure that grub_nilfs2_btree_node_lookup() always
+       inits the index pointer passed to it.
 
-       Save TARGET_CC version in modinfo.sh.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Suggested by: Andrey Borzenkov.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       fs/nilfs2: Don't search children if provided number is too large
+       NILFS2 reads the number of children a node has from the node. Unfortunately,
+       that's not trustworthy. Check if it's beyond what the filesystem permits and
+       reject it if so.
 
-       Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
-       follow the same algorithm to avoid method mismatch. Don't assume
-       DMRAID- UUID to mean full disk but instead check that mapping is linear.
+       This blocks some OOB reads. I'm not sure how controllable the read is and what
+       could be done with invalidly read data later on.
 
-2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Declare GRUB_EFI_VENDOR_APPLE_GUID.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       fs/nilfs2: Reject too-large keys
+       NILFS2 has up to 7 keys, per the data structure. Do not permit array
+       indices in excess of that.
 
-       Dump type and vendor specific data when printing device path.
+       This catches some OOB reads. I don't know how controllable the invalidly
+       read data is or if that could be used later in the program.
 
-2013-12-23  Colin Watson  <cjwatson@debian.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Update some documentation to refer to Git rather than Bazaar.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
-       than Bazaar.
-       * po/README: Likewise.  Fix spelling mistake.
+       fs/jfs: Catch infinite recursion
+       It's possible with a fuzzed filesystem for JFS to keep getblk()-ing
+       the same data over and over again, leading to stack exhaustion.
 
-2013-12-23  Colin Watson  <cjwatson@ubuntu.com>
+       Check if we'd be calling the function with exactly the same data as
+       was passed in, and if so abort.
 
-       Don't distribute config.h.
+       I'm not sure what the performance impact of this is and am open to
+       better ideas.
 
-       * Makefile.am (platform_HEADERS): Move to ...
-       (nodist_platform_HEADERS): ... here.  Fixes gettext_strings_test
-       failure when building from a distributed tarball.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2013-12-23  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * configure.ac: Fix spelling.
-       * grub-core/commands/parttool.c: Fix grammar.
-       * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
-       Embedding Partition".
+       fs/jfs: Limit the extents that getblk() can consider
+       getblk() implicitly trusts that treehead->count is an accurate count of
+       the number of extents. However, that value is read from disk and is not
+       trustworthy, leading to OOB reads and crashes. I am not sure to what
+       extent the data read from OOB can influence subsequent program execution.
 
-2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       Require callers to pass in the maximum number of extents for which
+       they have storage.
 
-       ARM64 support for grub-mkrescue.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       Install modinfo.sh to keep build information around.
+       fs/jfs: Do not move to leaf level if name length is negative
+       Fuzzing JFS revealed crashes where a negative number would be passed
+       to le_to_cpu16_copy(). There it would be cast to a large positive number
+       and the copy would read and write off the end of the respective buffers.
 
-2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       Catch this at the top as well as the bottom of the loop.
 
-       * grub-core/modinfo.sh.in: Add build config information.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       ARM64 grub-file and grub-mkconfig support.
+       fs/sfs: Fix over-read of root object name
+       There's a read of the name of the root object that assumes that the name
+       is nul-terminated within the root block. This isn't guaranteed - it seems
+       SFS would require you to read multiple blocks to get a full name in general,
+       but maybe that doesn't apply to the root object.
 
-2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       Either way, figure out how much space is left in the root block and don't
+       over-read it. This fixes some OOB reads.
 
-       Remove leftover options defines.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
+       fs/hfs: Disable under lockdown
+       HFS has issues such as infinite mutual recursion that are simply too
+       complex to fix for such a legacy format. So simply do not permit
+       it to be loaded under lockdown.
 
-2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * grub-core/loader/arm64/linux.c: Add missing bracket.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       fs/hfsplus: Don't use uninitialized data on corrupt filesystems
+       Valgrind identified the following use of uninitialized data:
 
-       Add arm64-efi recognition to grub-file.
+         ==2782220== Conditional jump or move depends on uninitialised value(s)
+         ==2782220==    at 0x42B364: grub_hfsplus_btree_search (hfsplus.c:566)
+         ==2782220==    by 0x42B21D: grub_hfsplus_read_block (hfsplus.c:185)
+         ==2782220==    by 0x42A693: grub_fshelp_read_file (fshelp.c:386)
+         ==2782220==    by 0x42C598: grub_hfsplus_read_file (hfsplus.c:219)
+         ==2782220==    by 0x42C598: grub_hfsplus_mount (hfsplus.c:330)
+         ==2782220==    by 0x42B8C5: grub_hfsplus_dir (hfsplus.c:958)
+         ==2782220==    by 0x4C1AE6: grub_fs_probe (fs.c:73)
+         ==2782220==    by 0x407C94: grub_ls_list_files (ls.c:186)
+         ==2782220==    by 0x407C94: grub_cmd_ls (ls.c:284)
+         ==2782220==    by 0x4D7130: grub_extcmd_dispatcher (extcmd.c:55)
+         ==2782220==    by 0x4045A6: execute_command (grub-fstest.c:59)
+         ==2782220==    by 0x4045A6: fstest (grub-fstest.c:433)
+         ==2782220==    by 0x4045A6: main (grub-fstest.c:772)
+         ==2782220==  Uninitialised value was created by a heap allocation
+         ==2782220==    at 0x483C7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
+         ==2782220==    by 0x4C0305: grub_malloc (mm.c:42)
+         ==2782220==    by 0x42C21D: grub_hfsplus_mount (hfsplus.c:239)
+         ==2782220==    by 0x42B8C5: grub_hfsplus_dir (hfsplus.c:958)
+         ==2782220==    by 0x4C1AE6: grub_fs_probe (fs.c:73)
+         ==2782220==    by 0x407C94: grub_ls_list_files (ls.c:186)
+         ==2782220==    by 0x407C94: grub_cmd_ls (ls.c:284)
+         ==2782220==    by 0x4D7130: grub_extcmd_dispatcher (extcmd.c:55)
+         ==2782220==    by 0x4045A6: execute_command (grub-fstest.c:59)
+         ==2782220==    by 0x4045A6: fstest (grub-fstest.c:433)
+         ==2782220==    by 0x4045A6: main (grub-fstest.c:772)
 
-2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       This happens when the process of reading the catalog file goes sufficiently
+       wrong that there's an attempt to read the extent overflow file, which has
+       not yet been loaded. Keep track of when the extent overflow file is
+       fully loaded and refuse to use it before then.
 
-       Fix ia64-efi recognition in grub-file.
+       The load valgrind doesn't like is btree->nodesize, and that's then used
+       to allocate a data structure. It looks like there are subsequently a lot
+       of reads based on that pointer so OOB reads are likely, and indeed crashes
+       (albeit difficult-to-replicate ones) have been observed in fuzzing.
 
-2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Recognize raspberry pi kernel in grub-file.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       fs/hfsplus: Don't fetch a key beyond the end of the node
+       Otherwise you get a wild pointer, leading to a bunch of invalid reads.
+       Check it falls inside the given node.
 
-       Enable cache on ARM U-Boot port.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Without it the port is reidiculously slow.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       fs/fshelp: Catch impermissibly large block sizes in read helper
+       A fuzzed HFS+ filesystem had log2blocksize = 22. This gave
+       log2blocksize + GRUB_DISK_SECTOR_BITS = 31. 1 << 31 = 0x80000000,
+       which is -1 as an int. This caused some wacky behavior later on in
+       the function, leading to out-of-bounds writes on the destination buffer.
 
-       Fix ARM cache maintainance.
+       Catch log2blocksize + GRUB_DISK_SECTOR_BITS >= 31. We could be stricter,
+       but this is the minimum that will prevent integer size weirdness.
 
-       More code was converted from ASM to C for easier handling.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2013-12-22  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
-       algorithm on v5.
+       term/gfxterm: Don't set up a font with glyphs that are too big
+       Catch the case where we have a font so big that it causes the number of
+       rows or columns to be 0. Currently we continue and allocate a
+       virtual_screen.text_buffer of size 0. We then try to use that for glpyhs
+       and things go badly.
 
-       Suggested by: Leif Lindholm.
+       On the emu platform, malloc() may give us a valid pointer, in which case
+       we'll access heap memory which we shouldn't. Alternatively, it may give us
+       NULL, in which case we'll crash. For other platforms, if I understand
+       grub_memalign() correctly, we will receive a valid but small allocation
+       that we will very likely later overrun.
 
-2013-12-22  Andrey Borzenkov <arvidjaar@gmail.com>
+       Prevent the creation of a virtual screen that isn't at least 40 cols
+       by 12 rows. This is arbitrary, but it seems that if your width or height
+       is half a standard 80x24 terminal, you're probably going to struggle to
+       read anything anyway.
 
-       * util/grub-mkconfig.in: Fix Xen platform conditions.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2013-12-22  Andrey Borzenkov <arvidjaar@gmail.com>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * util/grub-mkrescue.c: Split single help message string in several
-       strings used in previous shell version.
+       video/readers/jpeg: Don't decode data before start of stream
+       When a start of stream marker is encountered, we call grub_jpeg_decode_sos()
+       which allocates space for a bitmap.
 
-2013-12-22  Leif Lindholm <leif.lindholm@linaro.org>
+       When a restart marker is encountered, we call grub_jpeg_decode_data() which
+       then fills in that bitmap.
 
-       Add arm64 Linux loader.
+       If we get a restart marker before the start of stream marker, we will
+       attempt to write to a bitmap_ptr that hasn't been allocated. Catch this
+       and bail out. This fixes an attempt to write to NULL.
 
-2013-12-22  Leif Lindholm <leif.lindholm@linaro.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2013-12-22  Vladimir Serbinenko  <phcoder@gmail.com>
+       video/readers/jpeg: Catch OOB reads/writes in grub_jpeg_decode_du()
+       The key line is:
 
-       Add module loading and parsing boot time checkpoints.
+         du[jpeg_zigzag_order[pos]] = val * (int) data->quan_table[qt][pos];
 
-2013-12-22  Vladimir Serbinenko  <phcoder@gmail.com>
+       jpeg_zigzag_order is grub_uint8_t[64].
 
-       * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
-       platforms.
-
-2013-12-22  Lars Wendler <polynomial-c@gentoo.org>
-
-       * util/grub-mkconfig.in: Skip non-executable files.
-
-2013-12-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Workaround buggy timer in raspberry pie by using our own timer
-       implementation.
-
-2013-12-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
-       Increase to 16 MiB to allow loading the whole memdisk.
-
-2013-12-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix ARM Linux Loader on non-FDT platforms.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Choose link format based on host_os on emu.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/unix/getroot.c: Non-unix build fix.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/main.c: Build fix for emu.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Build fixes for argp.h with older gcc.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
-       in strings.
-
-       Suggested by: David Prévot.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Enable -Wformat=2 if it's supported.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
-       -Wmissing-declarations if supported.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
-       u32 as both HFS and HFS+ have 32-bit inodes.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h (grub_strtol): Fix overflow.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
-       as return type in both conditionals.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
-       to use uint8_t for color.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/misc.c (grub_util_get_image_size): Check for overflow.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
-       for size.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
-       for pointer difference.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/import_gcry.py: Skip sample keys.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Remove duplicate warning arguments.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add missing static qualifiers.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add missing includes.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Inline printf templates when possible to enable format checking.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/crypto.h: Don't discard const attribute.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
-       was intended.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/crypto.c: Don't discard const attribute.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/disk.c: Fix potential overflow.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/arg.c: Don't discard const attribute.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/dl.c: Don't discard const attribute.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/disk.c: Fix potential overflow.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common: Don't include non-existing directory
-       grub-core/lib/libgcrypt-grub/include.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Clarify several translatable messages.
-
-2013-12-21  David Prévot  <david@tilapin.org>
-
-       Correct some translatable strings.
-
-2013-12-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkrescue.c: Rephrase mkrescue description.
-
-2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
-2013-12-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       Clarify several translatable messages.
-
-2013-12-20  Colin Watson  <cjwatson@ubuntu.com>
-
-       Be more verbose about some configure failures.
-
-2013-12-20  Colin Watson  <cjwatson@ubuntu.com>
-
-       Fix various build problems on GNU/Hurd.
-
-       * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
-       !defined (__GNU__).
-       (xgetcwd): Likewise.
-       * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
-       [__GNU__]: Add prototype.
-       * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
-       long int using %ld rather than %d.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.c: Inform user about install platform.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Set version to 2.02~beta1.
-
-2013-12-18  Allen Pais <allen.pais@oracle.com>
-2013-12-18  Bob Picco <bob.picco@oracle.com>
-
-       * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make grub_zlib_decompress handle incomplete chunks.
-
-       Fixes squash4.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
-       on i386-multiboot.
-
-2013-12-18  Aleš Nesrsta  <starous@volny.cz>
-
-       * grub-core/disk/usbms.c: Retry on unknown errors.
-       Reuse the same tag on retries.
-
-2013-12-18  Aleš Nesrsta  <starous@volny.cz>
-
-       * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
-
-       Avoid confusing them with already completed transfers.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove xen VFB.
-
-       Due to XEN bug it prevents Linux boot. Remove it at least, until
-       workaround is found.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/exclude.pot: Add 2 missing excludes.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add missing license section in macbless.mod and macho.mod.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Allow compilation without thumb-interwork as long as no thumb is
-       involved or only thumb2 is used.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * INSTALL: Update comment as to why sparc64 clang isn't usable.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add __attribute__ ((sysv_abi)) only if it's really needed.
-
-       Some compilers don't support it.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove -Wold-style-definition.
-
-       Not very useful and interaction of it with regexp depends on GCC
-       version.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make grub_util_get_windows_path_real static.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/fileXX.c: Silence cast-align.
-       * grub-core/loader/i386/xen_fileXX.c: Likewise.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
-       rather than LL suffix.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/arm/linux.c: Use common initrd functions.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Decrease number of strings to translate.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Mark strings for translation and add remaining ones to exclude list.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-file.c (main): Fix sizeof usage.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Silence spurious warning.
-
-2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove check_nt_hiberfil as it's been superseeded by file command.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/osdetect.cfg: Add isolinux config to detected OSes.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement syslinux parser.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support cpuid --pae.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use AT keyboard on Yeeloong 3A.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add Yeeloong 3A reboot and halt.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add Radeon Yeeloong 3A support.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add bonito 3A support.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/machoXX.c: Fix compilation on non-i386.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/macho.c: Fix compilation on non-i386.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add missing format_arg attribute to check that printf with translated
-       messages has proper arguments.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use grub_xasprintf to format translated error messages containing
-       64-bit quantity.
-
-2013-12-17  Jon McCune  <jonmccune@google.com>
-
-       Fix double-free introduced by commit 33d02a42d64cf06cada1c389
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Unify message for unsupported relocation.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Mark miscompile error for translation.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use %I64 and not %ll when using OS printf if compiling for windows.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Update Mac code to match new register_efi prototype.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement better integration with Mac firmware.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/multiboot_mbi2.c: Implement special value for
-       load_addr.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Include serial module in default_payload.elf.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add explicit thumb interwork bx in asm files.
-
-       Shouldn't matter for armv >= 5 but let's be safe.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement Truecrypt ISO loader.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/arg.c: Ensure at least a single space between commands.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement grub_file tool and use it to implement generating of config
-       in separate root.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Change to v1 xen grants.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
-
-       GRUB relied on %ebx being preserved across hypercall which isn't true.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
-
-       GRUB relied on %rdi being preserved across hypercall which isn't true.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement XEN VFB support.
-
-2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove grub_bios_interrupt on coreboot.
-
-       It's not used currently and cannot be used safely currently.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Update exclude.pot and mark few strings for translation.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
-
-       Reported by: Jon McCune
-
-2013-12-16  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
-       Add verbose information which firmware directories were tried.
-
-2013-12-16  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
-       function to optionally redirect all three standard descriptors.
-       Redefine grub_util_exec, grub_util_exec_redirect and
-       grub_util_exec_redirect_null to use it.
-       * include/grub/emu/exec.h: Define it.
-       * include/grub/osdep/exec_unix.h: Delete, it is unused.
-       * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
-       Use grub_util_exec_redirect_all to redirect error to NULL.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/sleep_test.c: Silence spurious warning.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
-       linker trying to "fixup" the code.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/x86_64/xen/startup.S: Align stack.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add support for converting PE+ to Elf64.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove practice of assigning random const pointers to device id.
-
-       This is not required as cache code already checks driver id as well.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
-       with mingw.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efi/api.h: Don't use call wrappers when compiled with
-       mingw or cygwin as API already matches.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
-       not on long.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle X86_64_PC64 relocation.
-
-       Those are generated by some cygwin compilers.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Determine the need for mingw-related stubs at compile time rather than
-       using not very significant $target_os.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/genmod.sh.in: Strip before converting to ELF as strip
-       may not work with ELF.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use unix functions for temporary files and special files on cygwin.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Define functions explicitly rather than using --defsym in tests
-       whenever possible. Respect locality in remaining cases.
-
-2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
-
-2013-12-15  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
-       unlikely errors when getting EFI variables and make exhaustive search
-       for all BootNNNN variables to find matching one.
-
-2013-12-15  Ian Campbell  <ijc@hellion.org.uk>
-
-       * grub-core/kern/uboot/init.c: Fix units of uboot timer.
-
-2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       New functional test for sleep function.
-
-       This test allows to check sleep without qemu. Keep qemu version as
-       well as functional test won't notice if all clocks are going too fast
-       or too slow.
-
-2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add explicit sysv_abi on amd64 asm routines.
-
-2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/efi/lsefisystab.c: Use %lld to show
-       num_table_entries.
-
-2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/test.h: Use gnu_printf rather than printf on GRUB
-       functions.
-
-2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
-       appropriate.
-
-2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
-
-2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
-       appropriate.
-
-2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
-
-       In case of quick removal of loopback and adding another one it may
-       get same ID, confusing the cache system.
-
-2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
-       appropriate.
-
-2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
-       than converting to long.
-
-2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
-
-2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
-       than almost useless pointer.
-
-2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add gcc_struct to all packed structures when compiling with mingw.
-
-       Just "packed" doesn't always pack the way we expect.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-pe2elf.c: Fix handling of .bss.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement windows flavour of EFI install routines.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Change grub_install_register_efi interface to pass GRUB device.
-
-       This allows grub_install_register_efi to request partition info
-       directly.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Workaround cygwin bug when using \\?\Volume{GUID} syntax.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Do not use TCHAR string functions as they are not available on cygwin.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Workaround windows bug when querying EFI system partition parameters.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
-       by using bitfields.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make i386-* other than i386-pc compileable under cygwin.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix definition of grub_efi_hard_drive_device_path. Take care that
-       existing code would work even if by some reason bogus definition is
-       used by EFI implementations.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
-       invocation.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/config.c: Remove trailing newline from distributor in simple
-       parsing.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efi/api.h: Rename protocol and interface to avoid
-       conflict.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * .gitignore: add .exe variants. add missing files. remove few outdated
-       entries.
-
-2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/exec.c: Use unix version on cygwin.
-
-2013-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement multiboot2 EFI BS specification.
-
-2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/charset.c: Fix premature line wrap and crash.
-       Crash happened only in some cases like a string starting at the
-       half of the screen of same length.
-
-2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efiemu/efiemu.h: Sync configuration table declaration
-       with EFI counterpart.
-
-2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Propagate the EFI commits to x86-efi specific parts.
-
-2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/efi/lssal.c: Fix terminating condition.
-
-2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Introduce grub_efi_packed_guid and use it where alignment is not
-       guaranteed.
-
-2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efi/api.h (grub_efi_device_path): Define length as
-       unaligned u16 rather than u8[2].
-
-2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
-       for relocation range.
-
-2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
-       non-function pcrel21b relocation. It happens with .text.unlikely
-       section.
-
-2013-12-10  Leif Lindholm <leif.lindholm@linaro.org>
-
-       * make MAX_USABLE_ADDRESS platform-specific
-       * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
-
-2013-12-10  Leif Lindholm <leif.lindholm@linaro.org>
-
-       * grub-core/lib/fdt.c: change memcpy => grub_memcpy
-
-2013-12-09  Jon McCune <jonmccune@google.com>
-
-       * Add --no-rs-codes flag to optionally disable reed-solomon codes
-       in grub-install and grub-bios-setup for x86 BIOS targets.
-
-2013-12-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add missing compile and link options for sparc64-emu.
-
-2013-12-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement sparc64 trampolines (needed for sparc64-emu).
-
-2013-12-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
-       range of R_SPARC_HI22.
-       Implement R_SPARC_LM22.
-
-2013-12-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
-       Do not explicitly check for symbol table as it's already checked in
-       platform-independent layer.
-
-2013-12-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
-       on ia64 as __clear_cache is a dummy on ia64.
-
-2013-12-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
-       Do not explicitly check for symbol table as it's already checked in
-       platform-independent layer.
-
-2013-12-09  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkconfig.in: Add missing newline to output.
-
-2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
-       * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
-
-2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
-       compilation with GCC <= 4.2.
-       * grub-core/kern/emu/argp_common.c: Likewise.
-
-2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
-       right platform rather than leaking to sparc64-emu.
-
-2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
-       But ensure that the variables in question are indeed unsigned.
-
-2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
-
-2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove grub_memalign on emu.
-
-2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
-       truncate incomplete lines but instead flushes them.
-
-2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
-       and implement windows variant.
-
-2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix mips-emu compilation.
-
-2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Check for freetype library usability.
-
-2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make arm-emu work.
-
-2013-12-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
-
-2013-12-07  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi (Environment): Update color_normal and color_highlight
-       defaults (light-gray instead of white).
-
-2013-12-07  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/normal/main.c (INIT): Set default color to light-gray
-       to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
-       and apparently BIOS defaults.
-
-2013-12-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Transform -C option to grub-mkstandalone to --core-compress available
-       in all grub-install flavours.
-
-2013-12-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Merge GRUBFS and GRUB_FS variables.
-
-2013-12-07  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       Revert commit 69ca97c820, it caused failures when using OS device name
-       in grub-install. Instead just strip off parenthesis in grub-install
-       if (hdX) was passed.
-
-2013-12-07  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/grub-install.c (push_partmap_module): Add helper to convert
-       partmap names to module names and use it in probe_mods(). Fixes
-       failure to find partmap modules in diskfilter case.
-
-2013-12-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Make unifont mandatory on coreboot.
-
-2013-12-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Skip unifont 6.3 pcf and bdf.
-
-2013-12-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.am: Remove partial font files if generation failed.
-
-2013-12-07  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
-       strings.
-       * include/grub/util/misc.h: Define it ...
-       * util/grub-install.c (device_map_check_duplicates): ... and use it.
-
-2013-12-07  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
-       ${grub_probe}.
-
-2013-12-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't add -mlong-calls when compiling with clang.
-
-2013-12-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Fix a typo.
-
-2013-12-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Revamp relocation handling.
-
-       Move more code to common dl.c. Add missing veneers for arm and arm64.
-       Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
-
-2013-12-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
-
-2013-12-05  Mike Gilbert  <floppym@gentoo.org>
-
-       * INSTALL: Raise minimum python version to 2.6.
-       * gentpl.py: Use python3-style print function.
-
-2013-12-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.c: Mention Boot* variable.
-
-2013-12-05  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/osdep/linux/hostdisk.c
-       (grub_util_find_partition_start_os): Initialise start to avoid
-       spurious compiler warning.
-
-2013-12-05  Colin Watson  <cjwatson@ubuntu.com>
-
-       On Linux, read partition start offsets from sysfs if possible, to
-       cope with block device drivers that don't implement HDIO_GETGEO.
-       Fixes Ubuntu bug #1237519.
-
-       * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
-       function.
-       (sysfs_partition_start): Likewise.
-       (grub_util_find_partition_start_os): Try sysfs_partition_start
-       before HDIO_GETGEO.
-
-2013-12-05  Leif Lindholm  <leif.lindholm@linaro.org>
-
-       * grub-core/kern/fdt.c: Update struct size when adding node.
-
-2013-12-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle unaligned .bss on sparc64.
-
-       Current code improperly assumes that both __bss_start and _end are
-       aligned to 8-bytes. Eliminating this assumption and explicitly align
-       modules.
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
-       so it doesn't land in the middle of loaded image.
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Move all warning options that may be absent in
-       gcc >= 3.1 to optional.
-
-       Note: while this allows to compile with older GCC, official requirements
-       remain the same and no support for older GCC.
-
-2013-12-04  Colin Watson  <cjwatson@ubuntu.com>
-
-       Copying the themes directory in grub-shell isn't
-       parallel-test-friendly and breaks on the second test when the source
-       directory is read-only (as in "make distcheck").  Instead, add a
-       hidden --themes-directory option to grub-mkrescue et al, and use it
-       in grub-shell.
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
-       as it's no longer necessarry.
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Allow compilation with older GCC for ARM.
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
-       * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
-       ppc.
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/main.c: Ignore missing prototype for main.
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Pass font config to config.h and not by TARGET_CFLAGS as adding
-       arguments doesn't work if TARGET_CFLAGS is specified on command
-       line.
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add -Wvla if compiler supports it.
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
-       Remove variable length arrays.
-       * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/types.h: Declare all byteswaps as inline functions
-       except compile-time ones.
-
-       Solves variable shadowing in constructions like
-       cpu_to_le (le_to_cpu(x) + 1).
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/efi/efi.c: Remove variable length arrays.
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
-       minutes.
-
-2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
-       * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
-
-2013-12-03  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/Makefile.core.def (setjmp): Distribute
-       lib/arm64/setjmp.S.
-
-2013-12-03  Colin Watson  <cjwatson@ubuntu.com>
-
-       Add a new timeout_style environment variable and a corresponding
-       GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig.  This
-       controls hidden-timeout handling more simply than the previous
-       arrangements, and pressing any hotkeys associated with menu entries
-       during the hidden timeout will now boot the corresponding menu entry
-       immediately.
-
-       GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
-       generates a warning, and if it shows the menu it will do so as if
-       the second timeout were not present.  Other combinations are
-       translated into reasonable equivalents.
-
-       Based loosely on work by Franz Hsieh.  Fixes Ubuntu bug #1178618.
-
-2013-12-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/config.c: Add missing pointer adjustment.
-       Reported by: qwertial
-
-2013-11-30  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
-       directly, not via `cpu' link, to fix libgrub.pp generation.
-
-2013-11-30  Leif Lindholm <leif.lindholm@linaro.org>
-
-       New port arm64-efi.
-
-2013-11-30  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi (sleep): Document exit codes.
-
-2013-11-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Ensure that -mno-unaligned-access or some equivalent option is used.
-
-2013-11-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
-       -march=armv3.
-
-2013-11-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
-
-2013-11-29  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
-       builds, since we don't have an EPS version of font_char_metrics.png.
-       Add leading dot to image extension per the Texinfo documentation.
-
-2013-11-29  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
-       <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
-       * util/grub-gen-widthspec.c: Likewise.
-       * util/grub-mkfont.c: Likewise.
-
-2013-11-29  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
-       * util/setup.c (SETUP): ... here. Fixes regression: grub-install
-       failed to install on (hdX).
-       * util/grub-setup.c (get_device_name): Remove, not needed after
-       above change.
-
-2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
-
-2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-fstest.c: Remove variable length arrays.
-
-2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/linux/ofpath.c: Check return value of read.
-
-2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
-       computing crc32 rather than handling with md fundtions directly.
-
-2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
-       checking fwstart.img rather than md fundtions directly.
-
-2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.c (main): Check that fread succeeded.
-
-2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common: Remove -mexplicit-relocs and
-       -DUSE_ASCII_FALLBACK on yeeloong.
-
-       -DUSE_ASCII_FALLBACK is already added by font snippets.
-       -mexplicit-relocs isn't needed is compiler/assemblera are
-       configured properly.
-       If they're not we shouldn't attempt to fix it by ourselves.
-       Binary compare between before and after shows no difference.
-
-2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def: Remove libgnulib.a and use its
-       sources in dependencies directly.
-
-       This was the only instance of "library" in core config. A bug was
-       reported that -fno-stack-protector wasn't passed to it. Instead of
-       figuring out why it failed just remove this construction used
-       needlessly.
-
-2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/unix/password.c (grub_password_get): Check that
-       fgets succeeded.
-
-2013-11-27  Francesco Lavra  <francescolavra.fl@gmail.com>
-
-       * docs/grub.texi (ls): Fix command description in case of a device name
-       passed as argument.
-
-2013-11-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Eliminate variable length arrays in grub_vsnprintf_real.
-
-       A bit tricky because this function has to continue to work without
-       heap for short strings. Fixing prealloc to 32 arguments is reasonable
-       but make all stack references use 32-bit offset rather than 8-bit one.
-       So split va_args preparsing to separate function and put the prealloc
-       into the caller.
-
-2013-11-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
-       Fixes build for windows.
-
-2013-11-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * gentpl.py: Don't generate platform-dependent conditionals for
-       platform-independent targets.
-
-2013-11-27  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
-       references to mdadm from otherwise generic code.
-       (grub_util_exec_pipe): Likewise.
-       (grub_util_exec_pipe_stderr): Likewise.
-       * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
-       This function calls vgs, not mdadm; adjust variable names
-       accordingly.
-
-2013-11-27  Colin Watson  <cjwatson@ubuntu.com>
-
-       Generate Makefile.*.am directly from gentpl.py, eliminating the use
-       of Autogen.  The Autogen definitions files remain intact as they
-       offer a useful abstraction.
-
-2013-11-27  Colin Watson  <cjwatson@ubuntu.com>
-
-       Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
-       into no-ops, and use it in programs that copy files but do not need
-       to take special care to sync writes (grub-mknetdir, grub-rescue,
-       grub-mkstandalone).
-
-2013-11-26  Colin Watson  <cjwatson@ubuntu.com>
-
-       * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
-       than hardcoding /usr/local/bin/xorriso.
-
-2013-11-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add PCI command activation to all PCI drivers as required for coreboot
-       and maybe some other firmwares.
-
-2013-11-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.am: Reduce gratuituous differences between Apple
-       and non-Apple variants of efiemu compile.
-
-2013-11-25  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       *  configure.ac: Add explicit check for linking format of
-       efiemu64; save it as EFIEMU64_LINK_FORMAT.
-       * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
-       hardcoding linking format.
-
-2013-11-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mknetdir.c: Look for platform directories under pkglibdir
-       and not pkgdatadir.
-
-2013-11-25  Colin Watson  <cjwatson@ubuntu.com>
-2013-11-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add a --locale-directory option to grub-install and related tools.
-
-       * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
-       --locale-directory option.
-       (enum grub_install_options): Add
-       GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
-       * util/grub-install-common.c (grub_install_help_filter): Handle
-       GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
-       (grub_install_parse): Likewise.
-       (get_localedir): New function to check for a user-provided option
-       before trying grub_util_get_localedir.
-       (copy_locales): Use get_localedir rather than
-       grub_util_get_localedir.  Handle differing locale directory layouts.
-       (grub_install_copy_files): Likewise.
-
-2013-11-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
-       Don't rely on PATH_MAX.
-
-2013-11-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/genmoddep.awk: Use more portable && rather than and.
-
-2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
-       an object after data. While it doesn't seem right solution, it
-       works well enough and OSX isn't main compilation platform.
-
-2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
-       While it doesn't seem right solution, it works well enough and
-       OSX isn't main compilation platform.
-
-2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add -static to LDFLAGS when using apple linker to
-       prevent it from pulling in dynamic linker.
-
-2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Apple assembly doesn't handle symbol arithmetic well. So define an
-       offset symbol in boot.S and use it.
-
-2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Apple assembly doesn't handle symbol arithmetic well. So instead
-       of getting addres of kernel_sector + 4 define kernel_sector_high.
-       It also makes code more readable.
-
-2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       With Apple assembly in .macro environvemnt you have to use $$ instead
-       of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
-       to $$x on Apple and to $x on everything else.
-
-2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
-       OBJCONV.
-
-2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
-       and non-Apple. This instruction is shorter and faster,
-       so no reason not to use it on both.
-
-2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
-       .text when compiling for Apple.
-
-2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/arc/console.c: Add missing cast to silence warning.
-
-2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
-       %dx restore the probe worked on non-existant drive. Reorganize the
-       code a little bit to free 2 bytes necessary for push/pop.
-
-2013-11-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
-       Add missing cast to silence warning.
-
-2013-11-23  Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
-
-       * util/grub-install.c (update_nvram): Support --no-nvram flag
-       for EFI targets.
-
-2013-11-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
-
-2013-11-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/garbage-gen.c: Add missing include of sys/time.h.
-
-2013-11-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't add -mflush-func if it's not supported by compiler.
-
-2013-11-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move common BIOS/coreboot memory map declarations to
-       include/grub/i386/memory_raw.h and eliminate duplicate declarations.
-
-2013-11-22  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * INSTALL: Document why older clang versions aren't appropriate.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * INSTALL: Document about clang for mips.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
-       clang.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add *-xen to the list of grub-install-common platforms.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
-       3 last commits.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/xen/init.c: Do not map more pages than we can address.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
-       with -mcmodel=large.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
-       range-checking for 32-bit quantities.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Compile with -fPIC when compiling with clang on
-       mips.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
-       when compiling with clang.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       clang emits calls to abort () under some unknown conditions.
-       Export abort () when compiling with clang.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub-dev.texi: Document stack and heap sizes.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/i386/pc/memory.h: Decrease
-       GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
-       GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
-       The binary doesn't change (checked). It's more to better reflect actual
-       usage.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
-       at compile time that enough of scratch size is available.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
-       Previously we misaligned stack by 8 in startup.S and compensated
-       for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
-       right behaviour is to align stack in startup.S and keep it aligned
-       in callwrap.S. startup.S part was committed few commits before. This
-       takes care of callwrap.S.
-       Reported by: Gary Lin.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
-       .data and .bss. May happen if compiler and assembly use different
-       alignment.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       On MIPS handle got16 relocations to local symbols in an ABI-compliant
-       way.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add support for a new magic symbol _gp_disp on mips to handle PIC
-       binaries.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use $t9 for indirect calls from asm to C as PIC ABI requires.
-
-2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
-       when rest of GRUB is compiled for hisher stepping. Instead use
-       .set mips3/.set mips1 around cache and sync opcodes.
-
-2013-11-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
-       do essentially the same thing, do it in similar way.
-
-2013-11-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkrescue.c (main): If a source directory is not
-       specified, read platform-specific files from subdirectories of
-       pkglibdir, not pkgdatadir.
-
-2013-11-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/normal/progress.c: Remove unused file.
-
-2013-11-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
-       array.
-
-2013-11-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkconfig.in: Say explicit "grub configuration" rather
-       than grub.cfg.
-
-2013-11-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * coreboot.cfg: Add missing file.
-
-2013-11-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.am: Allow STRIP to be empty when creating windowszip.
-
-2013-11-19  Axel Kellermann <axel.kellermann@gmx.de>
-
-       * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
-       selectively skipping systems.
-
-2013-11-19  Colin Watson  <cjwatson@ubuntu.com>
-
-       * Makefile.util.def (grub-mkimage): Add
-       grub-core/osdep/aros/config.c to extra_dist.
-       * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
-       docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
-       grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
-       grub-core/gnulib-no-gets.diff.
-
-2013-11-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add automated filesystem checking based on scripts I've used now for
-       quite some time locally. Most of the test require root so they are
-       skipped when run without necessarry privelegies.
-
-2013-11-19  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-install.c (main): Adjust info messages to match
-       installed paths of grub-bios-setup and grub-sparc64-setup.
-
-2013-11-19  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-install-common.c (copy_locales): Consistently use
-       grub_util_get_localedir () rather than LOCALEDIR.
-       (grub_install_copy_files): Likewise.
-
-2013-11-19  Josh Triplett  <josh@joshtriplett.org>
-
-       * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
-       16-byte boundary, as required by the x86-64 ABI, before calling
-       grub_main.  In some cases, GCC emits code that assumes this
-       alignment, which crashes if not aligned.  The EFI firmware is also
-       entitled to assume that stack alignment without checking.
-
-2013-11-18  Josh Triplett  <josh@joshtriplett.org>
-
-       * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
-       4k page boundaries as expected by firmware rather than 1k
-       boundaries.
-       (grub_mmap_malign_and_register): Likewise.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/grub_func_test.in: Decrease RAM size to 512M. With less
-       fragmentation 512M is enough.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
-       pointer to 32K. This is the size of cache element which is the most
-       common allocation >1K. This way the pointer is always around blocks
-       of 32K and so we keep performance while decreasing fragmentation.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
-       current memory when allocating large chunks. This significantly
-       decreases memory fragmentation.
-
-2013-11-18  Colin Watson  <cjwatson@ubuntu.com>
-
-       * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
-       but for symmetry).
-       * tests/lzocompress_test.in: Skip if lzop is not installed.
-       * tests/xzcompress_test.in: Skip if xz is not installed.
-
-2013-11-18  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkrescue.c (main): Fix typo.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
-       clock frequency to 200 MHz,
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/util/grub-shell.in: Increase console size to 1024x1024.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.am (default_payload.elf): Add pata to loaded modules.
-       Load config file from (cbfsdisk)/etc/grub.cfg.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install-common.c (grub_install_copy_files): Fix module
-       destination directory.
-
-2013-11-18  Colin Watson  <cjwatson@ubuntu.com>
-
-       * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
-       files have not been built.
-
-2013-11-18  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
-       Handle errors from mkstemp.
-       (grub_util_make_temporary_dir): Handle errors from mkdtemp.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
-       on primary master on pseries.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
-       already loaded. This saves memory needed for tests,
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
-       work again.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
-       work again.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
-       master since with some combinations of qemu and firmware only primary
-       IDE channel is available.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
-       low-memory platforms where we don't have enough memory for them.
-       * grub-core/tests/videotest_checksum.c: Likewise.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
-       already loaded. This saves memory needed for tests,
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix handling of install lists.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       On i386-ieee1275 we run in paged mode. So we need to explicitly map
-       the devices before accessing them.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
-       as file argument.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
-       (grub_file_close): Free file->name.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/verify.c (free_pk): Plug memory leak.
-       (grub_load_public_key): Likewise.
-       (grub_verify_signature_real): Likewise.
-       (grub_cmd_verify_signature): Likewise.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
-       memory leak.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
-       (grub_longjmp): Restore r31.
-       * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
-       modules to be in line with make_image_abs.
-
-2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
-
-       setjmp.S uses 12 entries but buffer is declared with only 11 entries.
-
-2013-11-17  Ian Campbell  <ijc@hellion.org.uk>
-
-        * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
-
-2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/grub_func_test.in: Increase memory reservation as on EFI we need
-       to leave some memory to firmware.
-
-2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
-       of loading gfxterm as gfxterm is embed in kernel on some platforms.
-       * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
-       Load gfxmenu.
-
-2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
-       now needs full arguments.
-
-2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.c (main): Add trailing \n in
-       .disk_label.contentDetails to be in line with previous shell script.
-
-2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
-
-2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install-common.c (grub_install_parse): Recognize
-       --compress=none like shell script did.
-
-2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h: Replace check for __sparc64__ with one for
-       __sparc__ as __sparc64__ isn't actually defined.
-
-2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
-       counterpart of fixing the naming of escc ports.
-
-2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install-common.c (platforms): Fix the order of entries and
-       remove useless field val.
-
-2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.c: Add new option --no-bootsector to skip
-       installing of bootsector. Accept --grub-setup=/bin/true as
-       backwards-compatible synonym.
-
-2013-11-16  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/grub-install.c (device_map_check_duplicates): Fix incorrect
-       order of qsort arguments (number of elements vs. element size).
-
-2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
-       the function of these files exceeds what can be sanely handled in shell
-       in posix-comaptible way. Also writing it in C extends the functionality
-       to non-UNIX-like OS and minimal environments.
-
-2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
-       compiling to thumb2.
-       * grub-core/kern/arm/cache_armv7.S: Likewise.
-       * grub-core/lib/arm/setjmp.S: Likewise.
-
-2013-11-16  Leif Lindholm <leif.lindholm@linaro.org>
-
-       * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
-       in grub_uboot_syscall
-
-2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Decrease stack usage in lexer.
-
-       We have only 92K of stack and using over 4K per frame is wasteful
-
-       * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
-       as macros so that compiler would remove useless structure on stack.
-       Better solution would be to fix flex not to put this structure on
-       the stack but flex is external program.
-
-2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Decrease stack usage in signature verification.
-
-       We have only 92K of stack and using over 4K per frame is wasteful
-
-       * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
-       rather than stack.
-       (grub_verify_signature_real): Likewise.
-
-2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Decrease stack usage in mdraid 0.9x.
-
-       We have only 92K of stack and using over 4K per frame is wasteful
-
-       * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
-       rather than stack.
-
-2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Decrease stack usage in BtrFS.
-
-       We have only 92K of stack and using over 4K per frame is wasteful
-
-       * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
-       rather than stack.
-
-2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Decrease stack usage in JFS.
-
-       We have only 92K of stack and using over 4K per frame is wasteful
-
-       * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
-       stack. Note: this function is recursive.
-       (grub_jfs_read_inode): Read only part we care about.
-
-2013-11-16  Leif Lindholm <leif.lindholm@linaro.org>
-
-       * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
-       handling
-
-2013-11-16  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * configure.ac: Restore -nostdlib for libgcc symbols tests.
-
-2013-11-16  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi (Environment): Document cmdpath.
-
-2013-11-16  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
-       Remove "unused" attribute from arguments, they are used.
-
-2013-11-15  Colin Watson  <cjwatson@debian.org>
-
-       * .gitignore: Only ignore grub-mk* at the top level.
-
-2013-11-15  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-reboot.in (usage): Fix a typo.
-
-2013-11-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Replace libgcc version of ctz with our own.
-
-       On upcoming arm64 port libgcc ctz* are not usable in standalone
-       environment. Since we need ctz* for this case and implementation is
-       in C we may as well use it on all concerned platforms.
-
-2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Probe for linking format rather than guessing it based
-       on target_os.
-
-2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
-       "1" prior to handoff.
-
-       Reported by: M A Young.
-
-2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
-       \0 to all files.
-
-       Reported by: M A Young.
-
-2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
-       compilation on NetBSD.
-
-2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * acinclude.m4: Don't add -P on initial nm test.
-
-       Note: even though this patch postdates Andrey's it bears 14 Nov as
-       date due to timezone difference.
-
-2013-11-15  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/Makefile.core.def (signature_test): Add missing
-       tests/signatures.h.
-
-2013-11-14  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-install_header: Set localedir here, since this file is
-       where it's used.
-       * util/grub-install.in: Remove setting of localedir.
-       * util/grub-mkrescue.in: Likewise.
-
-2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
-
-2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Move nm checks to the end.
-       Call grub_PROG_NM_WORKS.
-       * acinclude.m4: New check grub_PROG_NM_WORKS.
-       Use $TARGET_CFLAGS -c when compiling test binary.
-
-2013-11-14  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
-       unused variables.
-
-2013-11-14  Matthew Garrett  <mjg@redhat.com>
-
-       * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
-       cmdpath to firmware directory.
-
-2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
-       at the start of second iteration.
-
-2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
-
-2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.am (default_payload.elf): New target for easier coreboot
-       build.
-
-2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/cache_armv6.S: Remove special handling for
-       clang (not necessarry with -no-integrated-as).
-       * include/grub/symbol.h [__arm__]: Likewise.
-
-2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Use -no-integrated-as on arm with clang.
-       * INSTALL: Mention ARM compilation with clang.
-
-2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
-       -mthumb-interwork.
-
-2013-11-14  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
-       code for indirect block handling.
-
-       Saves 185 bytes on compressed image.
-
-2013-11-13  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
-
-       Fix make clean.
-
-       * Makefile.am: Remove build-grub-* in make clean.
-
-2013-11-13  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
-
-       New files to gitignore.
-
-       * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
-       build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
-
-2013-11-13  Leif Lindholm <leif.lindholm@linaro.org>
-
-       * grub-core/kern/arm/misc.S: Make thumb2-compatible.
-
-2013-11-13  Leif Lindholm <leif.lindholm@linaro.org>
-
-       * .gitignore: fix rules for .dep* and add *.a post git migration
-
-2013-11-13  Colin Watson  <cjwatson@ubuntu.com>
-
-       * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
-       to match INSTALL.
-
-2013-11-13  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/kern/misc.c: Don't redirect divisions in the
-       GRUB_UTIL case.
-       * include/grub/misc.h: Likewise.
-
-2013-11-13  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
-       systems that require checking the return value of write.
-
-2013-11-13  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-install.in (efi_quiet): Fix inverted logic: make
-       efibootmgr quiet when --debug is not used, rather than when it is.
-
-2013-11-13  Colin Watson  <cjwatson@ubuntu.com>
-
-       * gentpl.py (define_macro_for_platform_dependencies): Remove
-       first (and thus unused) of two definitions for this function.
-       (platform_dependencies): Likewise.
-
-2013-11-13  Colin Watson  <cjwatson@ubuntu.com>
-
-       * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
-       functions, we only need to check this for the target, not the host.
-       * configure.ac (grub_apple_cc): Likewise.
-
-2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
-       * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
-       asm to stay in arm even if surrounding is thumb.
-
-2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
-       helper functions are needed for thumb.
-
-2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
-       level / 3 division explicitly unsigned. Saves few bytes.
-
-2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
-
-2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
-       division.
-
-2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
-       grub_uboot_boot_data to asm part.
-
-2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
-       literal load.
-       (grub_uboot_syscall): Save/restore r9 and align stack.
-
-2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
-
-2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
-       occurencies with END.
-
-2013-11-13  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-editenv.c (help_filter, argp): Document how to delete
-       the whole environment block.
-       Reported by Dan Jacobson.  Fixes Debian bug #726265.
-
-2013-11-13  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Internationalisation, Supported kernels): Fix
-       sectioning.
-
-2013-11-13  Josh Triplett <josh@joshtriplett.org>
-
-       * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
-       increment/decrement.
-
-2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
-       compiling with clang.
-
-2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
-       ".".
-
-2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Redirect all divisions to grub_divmod64.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add missing includes of loader.h.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Allow disabling themes.
-
-2013-11-12  Lukas Schwaighofer <lukas@schwaighofer.name>
-
-       * util/grub.d/20_linux_xen.in: Don't decompress initrd.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
-       until it becomes operational.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (legacy_password_test): Disable
-       on platforms where no legacycfg is compiled.
-       * grub-core/tests/lib/functional_test.c: Tolerate failure to
-       load legacy_password_test.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/bsd.c: Remove variable length arrays.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/efiemu/prepare.c: Remove variable length arrays.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
-       strict-aliasing warning.
-       (fsync): Silence cast warning.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/verify.c: Remove variable length arrays.
-       Load gcry_dsa/gcry_rsa automatically.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/signature_test.c: New test.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
-       API.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/legacy_password_test.c (vectors): Make static.
-       * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/proc.c: Allow \0 in proc files.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/xnu_uuid_test.c: Fix assert message.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ext2.c: Remove variable length arrays.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
-       length arrays.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/AFSplitter.c: Remove variable length arrays.
-       * grub-core/disk/cryptodisk.c: Likewise.
-       * grub-core/disk/geli.c: Likewise.
-       * grub-core/disk/luks.c: Likewise.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/legacy_password_test.c: New test.
-       * grub-core/commands/legacycfg.c: Remove variable length arrays.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/pbkdf2.c: Remove variable length arrays.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/pbkdf2_test.c: New test.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/io/lzopio.c: Remove variable length arrays.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/crypto.h: Add maximums on hash size and cipher block
-       size.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/xnu_uuid_test.c: New test.
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
-       covers it).
-
-2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/hashsum.c: Remove variable length arrays.
-
-2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
-       condition.
-       * tests/grub_func_test.in: Increase memory allocation.
-
-2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
-       && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
-       sys/mount.h.
-
-2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
-       (grub_util_get_fd_size_os): ...this.
-       (grub_hostdisk_flush_initial_buffer): New empty function.
-
-2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gensyminfo.sh.in: Handle the case of portable output
-       without --defined-only.
-
-2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
-       rip-relative addressing in prologue.
-
-2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
-       * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
-
-2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
-       Add missing semicolon.
-
-2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
-
-2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Check for lzma.h for enabling liblzma and allow
-       manual disabling.
-
-2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add missing includes of loader.h.
-
-2013-11-11  Fam Zheng <famcool@gmail.com>
-
-       * util/grub.d/30_os-prober.in: Add minix entry.
-
-2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
-       right buffer for temporary load.
-
-2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
-
-2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
-       payload.
-
-2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
-       not Types.h.
-       * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
-       environment.
-       (LzmaDec_InitDicAndState): Make static.
-
-2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
-
-2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
-
-       Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
-
-2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub-dev.texi: Replace bzr references with git ones.
-
-2013-11-10  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi (Simple configuration): Remove reference to
-       grub-reboot from saved default entry description - grub-default
-       does not use it anymore.
-
-2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Make efiemu test cflags match the cflags efiemu is
-       compiled with.
-
-2013-11-10  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
-
-2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix grub_machine_fini bitrot.
-
-       Reported by: Glenn Washburn.
-
-2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
-
-2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
-       -DELF.
-       * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
-       instead of ELF*.
-
-2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
-       Add -march=core2 when testing compile of efiemu64.
-
-       Thanks Andrey Borzenkov for spotting this.
-
-2013-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
-       XEN PV environment and load kernels.
-
-2013-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
-       * grub-core/loader/multiboot_mbi2.c: Likewise.
-
-2013-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
-       handling.
-
-2013-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
-
-       Tested by: Denis 'GNUtoo' Carikli.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
-       Use to get rounded angle rather than truncated.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/serial.c: Add option for enabling/disabling
-       RTS/CTS flow control.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
-       divisions.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
-       Use grub_fatal rather than divide by zero.
-       * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
-       truncate.
-       (grub_fixed_fsf_divide): Likewise.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
-       division by-zero and senseless negative divisions.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
-       division by-zero and senseless negative divisions.
-       (circprog_set_property): Don't accept negative num_ticks.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
-       division by-zero and senseless negative divisions.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Use elf_*_fbsd on kfreebsd.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/div_test.c: New test.
-
-2013-11-08  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
-       * grub-core/gfxmenu/gui_canvas.c: Likewise.
-       * grub-core/gfxmenu/view.c: Likewise.
-       * grub-core/video/fb/video_fb.c: Introduce new functions:
-       grub_video_set_area_status, grub_video_get_area_status,
-       grub_video_set_region, grub_video_get_region.
-       * grub-core/video/bochs.c: Likewise.
-       * grub-core/video/capture.c: Likewise.
-       * grub-core/video/video.c: Likewise.
-       * grub-core/video/cirrus.c: Likewise.
-       * grub-core/video/efi_gop.c: Likewise.
-       * grub-core/video/efi_uga.c: Likewise.
-       * grub-core/video/emu/sdl.c: Likewise.
-       * grub-core/video/radeon_fuloong2e.c: Likewise.
-       * grub-core/video/sis315pro.c: Likewise.
-       * grub-core/video/sm712.c: Likewise.
-       * grub-core/video/i386/pc/vbe.c: Likewise.
-       * grub-core/video/i386/pc/vga.c: Likewise.
-       * grub-core/video/ieee1275.c: Likewise.
-       * grub-core/video/i386/coreboot/cbfb.c: Likewise.
-       * include/grub/video.h: Likewise.
-       * include/grub/video_fb.h: Likewise.
-       * include/grub/fbfill.h: Updated render_target structure.
-       grub_video_rect_t viewport, region, area
-       int area_offset_x, area_offset_y, area_enabled
-       * include/grub/gui.h: New helper function
-       grub_video_bounds_inside_region.
-       * docs/grub-dev.texi: Added information about new functions.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
-       for alignment.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
-       missing attribute.
-       * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
-       simple division on arm and ia64.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
-       link with libgcc.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
-       prefix symbol, not @.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * INSTALL: Add note about older gcc and clang.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/util/grub-shell.in: Boot as hdd on ppc by default.
-
-2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
-       NULL pointer dereference.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.am: Do not include libgcc.h when compiling with
-       clang.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
-       warnings.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/net.c (grub_net_route_unregister): Remove unused
-       function.
-       * grub-core/loader/i386/xnu.c (hextoval): Likewise.
-       * grub-core/disk/geli.c (ascii2hex): Likewise.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Run linker tests without -Werror.
-       Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
-       Change all occurences of -static-libgcc resp -lgcc to
-       TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Allow compiling with clang (not really supported though).
-
-       * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
-       unconditionally.
-       * configure.ac: Add -no-integrated-as when using clangfor asm files.
-       Add -mrtd -mregparm=3 on i386 when not using clang.
-       * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
-       bindings.
-       * grub-core/lib/reed_solomon.c: Likewise.
-       * include/grub/i386/gdb.h: Likewise.
-       * include/grub/i386/pc/int.h: Likewise.
-       * include/grub/i386/pc/pxe.h: Likewise.
-       * include/grub/ieee1275/ieee1275.h: Likewise.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Import libgcrypt 1.5.3.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Don't add -Wcast-align on x86.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add -freg-struct-return on all platforms that
-       support it.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * acinclude.m4: Use -Werror on parameter tests.
-       * configure.ac: Likewise.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Check that -malign-loops works rather than assuming that
-       either -falign-loops or -malign-loops work.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Remove -fnested-functions. We don't need it anymore.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Prevent cflags leaking to subsequent tests by always
-       resetting cflags to target_cflags in target tests.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
-       function.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/cmdline.c (grub_cmdline_get):
-       Remove nested functions.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/test_sha512sum.in: Make it work on emu.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
-       functions.
-       (grub_bidi_line_logical_to_visual): Likewise.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove vestiges of -Wunsafe-loop-optimisations.
-
-       * conf/Makefile.common (CFLAGS_GNULIB): Remove
-       -Wno-unsafe-loop-optimisations.
-       * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
-       pragma.
-       * grub-core/io/gzio.c: Likewise.
-       * grub-core/script/parser.y: Likewise.
-       * grub-core/script/yylex.l: Likewise.
-       * util/grub-mkfont.c: Likewise.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkfont.c (process_cursive): Remove nested function.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
-       (grub_boot_time): Likewise.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/symbol.h (FUNCTION): Use @function rather than
-       "function".
-       (VARIABLE): Likewise.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
-       (parse_dhcp_vendor): Likewise.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gettext/gettext.c (main_context), (secondary_context):
-       Define after defining type and not before.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
-       type.
-       (grub_gcm_decrypt): Likewise.
-       (algo_decrypt): Likewise.
-       (grub_zfs_decrypt_real): Transform error type.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/geli.c (geli_rekey): Fix error return type.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
-       (grub_usbms_cbi_reset): Likewise.
-       (grub_usbms_bo_reset): Likewise.
-       (grub_usbms_reset): Likewise.
-       (grub_usbms_attach): Likewise.
-       (grub_usbms_transfer_cbi): Likewise.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
-       "checksum = checksum;".
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
-       entry_type.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
-       BIOS disk check.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
-       type.
-       (grub_ehci_fini_hw): Likewise.
-       * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
-       return grub_usb_err_t for cosistency. All users updated.
-
-2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
-       assigning to itself.
-
-2013-11-05  Gustavo Luiz Duarte  <gustavold@linux.vnet.ibm.com>
-2013-11-05  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
-
-       Issue separate DNS queries for ipv4 and ipv6
-
-       Adding multiple questions on a single DNS query is not supportted by
-       most DNS servers. This patch issues two separate DNS queries
-       sequentially for ipv4 and then for ipv6.
-
-       Fixes: https://savannah.gnu.org/bugs/?39710
-
-       * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
-       * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
-       * (grub_net_dns_lookup): Now using separated dns packages.
-       * (grub_cmd_nslookup): Add error condition.
-       * (grub_cmd_list_dns): Print DNS option.
-       * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
-       --prefer-ipv4, and --prefer-ipv6.
-       * include/grub/net.h (grub_dns_option_t): New enum.
-       * (grub_net_network_level_address): option added.
-
-2013-11-05  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/video/fb/video_fb.c: Merge two blit functions
-       into one.
-
-2013-11-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/terminfo.c: Add sequences for home and end.
-
-2013-11-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
-       graphics console.
-
-2013-11-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/i386/pc/vga.c: Fix double bufferring and
-       add mode 0x12.
-
-2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
-       e-mail by Per Öberg.
-
-2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
-       name.
-
-2013-11-04  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       *  configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
-       emu platforms.
-       * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
-
-2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi: Document usage of menuentry id.
-
-2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
-
-2013-11-04  Peter Lustig <peter.lustig.7db@gmail.com>
-
-       * grub-core/commands/i386/nthibr.c: New command.
-
-2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
-
-2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
-       coordinate.
-
-2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support GRUB_DISABLE_SUBMENU config.
-
-       Inspired by patch from Prarit Bhargava.
-
-2013-11-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi: Mention RSA support.
-
-2013-11-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/verify.c: Add RSA support.
-
-2013-11-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
-       * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
-       device is known to be ATAPI.
-
-2013-11-03  Mike Frysinger <vapier>
-
-       * configure.ac: Don't add target-prefix.
-
-2013-11-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
-       variables.
-
-2013-11-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
-       if language is English.
-
-2013-11-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
-
-2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Don't add -m32/-m64 on emu.
-
-2013-11-02  neil
-
-       * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
-       broken linux headers.
-
-2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
-
-2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
-       Reed-Solomon recovery if more than half of redundancy info is 0.
-
-2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mount.c: Handle symlinks to directories.
-
-2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
-       find_file recursively for symlink.
-
-2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/util/grub-shell.in: Copy themes.
-
-2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
-
-2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Use 0x8000 for address instead of 8000.
-
-2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
-       signature.
-
-2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
-       variable.
-
-2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
-
-2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
-       file_progress_read_hook.
-       * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
-
-2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
-       and double.
-
-2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
-
-2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Rewrite blocklist functions in order to get progress when
-       reading large extents and decrease amount of blocklist hook calls.
-
-2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
-       of SI suffixes.
-
-2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support --base-clock for serial command to handle weird cards with
-       non-standard base clock.
-
-2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
-       strncpy.
-       * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
-       * grub-core/kern/misc.c (grub_strncpy): Move from here ...
-       * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
-       * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
-       + strcpy rather than strncpy.
-
-2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
-       (check_pool_label): Likewise. Fixes overflow.
-       (nvlist_find_value): Fix comparison.
-
-2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h (grub_strcat): Removed. All users changed to
-       more appropriate functions.
-
-2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
-       realloc.
-
-2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.in: Do not use UUID search on EFI.
-
-2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
-       on core size.
-
-2013-10-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
-
-2013-10-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
-       (initialize_tables): reset tl and td to NULL after freeing.
-
-2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/multiboot_mbi2.c: Implement network tag.
-
-2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
-       of supported tags.
-
-2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
-
-2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/multiboot.c: Add support for multiboot kernels
-       quirks.
-
-2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
-       a page in protected space.
-
-2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
-       allocate space for zero-sized modules.
-
-2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
-
-2013-10-28  Francesco Lavra  <francescolavra.fl@gmail.com>
-
-       * grub-core/lib/fdt.c: Fix miscellaneous bugs.
-
-2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
-       safeguards. Fixes a crash with i386/pc/console.c.
-
-2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
-       and grub_hostfs_init.
-
-2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
-       windows method on other platforms without good stat as well.
-
-2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
-
-2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make / in btrfs refer to real root, not the default volume.
-       Modify mkrelpath to work even if device is mounted with subvolid option.
-
-2013-10-28  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * Makefile.util.def: Add grub-core/kern/disk_common.c to library
-       extra_dist.
-       * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
-       extra_dist.
-
-2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
-       fails.
-
-2013-10-27  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       * docs/autoiso.cfg: New file.
-
-2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
-       COND_GRUB_PE2ELF conditions.
-
-2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
-       "vnd", "rd" and "fd" disks.
-
-2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move grub_disk_write out of kernel into disk.mod.
-
-2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
-       handling.
-
-2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_abort): Make static
-
-2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
-       transform invalid unicode codepoints.
-
-2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
-       \0 checking.
-
-2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
-
-2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Consolidate cpuid code.
-
-2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move cpuid code to cpuid.h and TSC code to tsc.c.
-
-2013-10-26  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * util/grub.d/00_header.in: Don't use LANG if it's not set.
-
-2013-10-26  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * util/grub-mkconfig.in: Replace $0 with $self.
-       * util/grub-reboot.in: Likewise.
-       * util/grub-set-default.in: Likewise.
-
-2013-10-26  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       * docs/osdetect.cfg: New file.
-
-2013-10-26  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       * tests/util/grub-shell.in: Add new --debug option.
-
-2013-10-26  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       * tests/test_unset.in: New test.
-
-2013-10-26  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       * tests/test_sha512sum.in: New test.
-
-2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/iso9660.c: Replace strncat with memcpy.
-       * include/grub/misc.h: Remove strncat.
-       * grub-core/lib/posix_wrap/string.h: Likewise.
-
-2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
-       Try to handle more than 0xFFFF packets.
-       Reported by: Bernhard Übelacker <bernhardu>.
-       He also spotted few overflows in first version of this patch.
-
-2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/date_unit_test.c: New test.
-
-2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
-       of first three years after start of validity of unixtime.
-
-2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
-       division as the one making more sense.
-       (update_screen): Likewise.
-       (complete): Likewise.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make char and string width grub_size_t rather than grub_ssize_t.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/cmdline.c (grub_history_get): Make argument into
-       unsigned.
-       (grub_history_replace): Likewise.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
-       appropriate.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
-       appropriate.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
-       Use unsigned divisions rather than signed variants.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/readers/png.c (grub_png_convert_image): Use
-       unsigned arithmetics.
-       Add missing break.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
-       rather than signed one.
-       (recovery): Likewise.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/dns.c (hash): Use unsigned arithmetic.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
-       than signed.
-
-2013-10-25  Jon McCune <jonmccune@google.com>
-
-       * docs/grub.texi: Cleanup security documentation around signatures.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
-       than int.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
-       * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
-       functions when compiling for kernel.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
-       unsigned long long when using %llu.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
-       terminal after updating progress.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
-       argument. We don't disable Gate A20 in this code.
-
-2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
-       Conceptually based on change in branch "vbe-on-coreboot".
-
-2013-10-24  Robert Millan  <rmh@gnu.org>
-
-       * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
-       numeric constants with their symbolic equivalent.
-       Taken from branch "vbe-on-coreboot".
-
-2013-10-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi: Fix ordering and use pxref rather than xref.
-
-2013-10-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
-       divmod64 for offset division.
-
-2013-10-22  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
-
-       Rename .bzrignore to .gitignore. Add "*.o" rule.
-
-       * .bzrignore: Renamed to...
-       * .gitignore: ...this.
-
-2013-10-22  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
-
-       Add new progress module that displays the load progress of files.
-
-       * grub-core/lib/progress.c: New file.
-       * grub-core/Makefile.core.def (progress): New module.
-       * grub-core/kern/file.c (grub_file_open): File name added.
-       * (grub_file_read): Progress hook added.
-       * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
-       * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
-       * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
-       * include/grub/file.h (struct grub_file): Add progress module members.
-       * include/grub/term.h (struct grub_term_output): Likewise.
-       * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
-       Terminal velocity added.
-       * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
-       * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
-       * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
-       * grub-core/term/gfxterm.c (grub_video_term): Likewise.
-       * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
-       * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
-       * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
-       * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
-       * grub-core/term/morse.c (grub_audio_term_output): Likewise.
-       * grub-core/term/serial.c (grub_serial_term_output): Likewise.
-       * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
-       * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
-
-2013-10-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Verify signatures of signatures unless --skip-sig is specified.
-
-2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
-       \0 checking.
-
-       Saves 70 bytes on compressed image.
-
-2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
-       check.
-
-       Saves 10 bytes on compressed image.
-
-2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_isprint): Move to ...
-       * include/grub/misc.h (grub_isprint): ... here. Make inline.
-
-       Saves 20 bytes on compressed image due to remving exporting.
-
-2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
-
-       Saves 5 bytes on compressed image.
-
-2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
-       function get_utf8.
-
-       Saves 379 bytes on compressed image.
-
-2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
-
-2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
-
-       Saves 40 bytes on compressed image.
-
-2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
-       mask rather than 64-bit type.
-
-       Saves 20 bytes on compressed image.
-
-2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
-       * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
-
-       Saves 273 bytes on compressed image.
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
-       variable length arrays.
-
-       Saves 50 bytes on compressed image.
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/bsd.c: Remove variable length arrays.
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ufs.c: Remove variable length arrays.
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs.c: Remove variable length arrays.
-       Reduces zfs.mod by 160 bytes (208 compressed).
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/arp.c: Remove variable length arrays.
-       * grub-core/net/bootp.c: Likewise.
-       * grub-core/net/dns.c: Likewise.
-       * grub-core/net/icmp6.c: Likewise.
-       * grub-core/net/net.c: Likewise.
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c: Remove variable length arrays.
-       Increases ntfs.mod by 64 bytes (but decreases by 3 when
-       compressed).
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfs.c: Remove variable length arrays.
-       Reduces hfs.mod by 8 bytes (52 compressed).
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/udf.c: Remove variable length arrays.
-       Increases udf.mod by 128 bytes (but decreases by 13 when
-       compressed).
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/iso9660.c: Remove variable length arrays.
-       Increases iso9660.mod by 200 bytes (but decreases by 79 when
-       compressed).
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/nilfs2.c: Remove variable length arrays.
-       Increases nilfs2.mod by 24 bytes (but decreases by 115 when
-       compressed).
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/xfs.c: Remove variable length arrays.
-       Reduces xfs.mod by 40 bytes (43 compressed).
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fshelp.c: Remove variable length arrays.
-       Reduces fshelp.mod by 116 bytes (23 compressed).
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/completion.c: Remove variable length arrays.
-       * grub-core/normal/menu_entry.c: Likewise.
-
-       Reduces normal.mod by 496 bytes.
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
-       by 356 bytes (158 compressed).
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
-       by 364 bytes (169 compressed).
-
-2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
-       bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
-       * include/grub/types.h (grub_unaligned_uint64_t): New type.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Lift 255x255 erminal sie restriction to 65535x65535. Also change from
-       bitmasks to small structures of size chosen to fit in registers.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common: Use -freg-struct-return on i386. This
-       decreases code size and improves performance.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
-       "(null)" string.
-       Simplify expressions to save around 256 bytes in kernel.img.
-       * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
-       Use GRUB_UTIL_FD_O_* rather than O_*.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add haiku-specific functions.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move stat () and device mode checking into OS-dependent files as
-       long as performance doesn't suffer.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Split make_system_path_relative_to_its_root into separate file
-       relpath.c from getroot.c as it's common between unix and haiku
-       but otherwise haiku doesn't use any functions from unix getroot.c.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
-       New function.
-       (grub_util_is_special_file): Likewise.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/unix/getroot.c: Move exec functions to ...
-       * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
-       grub_size_t. This fixes the case when size_t mismatches grub_size_t.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
-       (load_image): Likewise.
-
-2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-render-label.c: Move backend part to ...
-       * util/render-label.c: ... here.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
-       yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
-       CD-ROM in case when it's declared as having subpartitions.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't add -lm on haiku.
-
-       * configure.ac: Define BUILD_LIBM to -lm on most platforms
-       and empty on haiku.
-       * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
-       -lm.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Use -melf_*_haiku as target on haiku.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.util.def: Add util/setup.c to extra_dist.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
-       unknown types through.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
-       (grub_util_check_char_device): Likewise.
-       * include/grub/emu/getroot.h: Likewise.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
-       memset rather than inline static function.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
-       not doing embedded decompressor.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ldm.c: Rename variables and arguments to prevent
-       shadowing.
-       * grub-core/kern/disk.c: Likewise.
-       * grub-core/kern/misc.c: Likewise.
-       * include/grub/parser.h: Likewise.
-       * include/grub/script_sh.h: Likewise.
-       * include/grub/zfs/zfs.h: Likewise.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
-       defined before trying to use it.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
-       warning.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
-       Use __unused__ rather than __used__ on gcc < 3.2.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
-       gcc < 4.0.
-       * include/grub/*/setjmp.h: USe RETURNS_TWICE.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
-       * include/grub/emu/misc.h: Likewise.
-
-2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
-       cur_color.
-
-2013-10-18  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/tests/checksums.h: Regenerated due to progress bar
-       get_minimal_size changes.
-
-2013-10-17  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       Added `tr' command support.
-
-       * grub-core/commands/tr.c: New file.
-       * grub-core/Makefile.core.def: Build rules for new module.
-
-       * tests/grub_cmd_tr.in: New test.
-       * Makefile.util.def: Build rules for new test.
-
-2013-10-17  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
-
-2013-10-17  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
-       * docs/gurb.texi: Likewise.
-
-2013-10-17  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
-       Pixmap highlighted section with east and west slices was displayed
-       incorrectly due to negative width of the central slice.
-
-2013-10-17  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * docs/grub.texi: Graphical options information update.
-       Removed outdated. Updated current. Inserted missed.
-
-2013-10-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi: Mention few new platform-specific commands.
-
-2013-10-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
-       currently used so this doesn't really have any effect.
-       Reported by:    Douglas Ray <dougray>
-
-2013-10-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
-       compilation but prevents gcc from displaying messages in non-Latin
-       alphabets.
-       * conf/Makefile.common: Likewise.
-
-2013-10-16  Hiroyuki YAMAMORI
-
-       Handle Japanese special keys.
-       Reported by: Hiroyuki YAMAMORI.
-       Codes supplied by: Hiroyuki YAMAMORI.
-
-2013-10-16  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
-
-2013-10-16  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
-       * docs/grub.texi: Likewise.
-
-2013-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
-       value in case of incomplete read.
-       (grub_util_fd_write): Likewise.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-editenv.c (create_envblk_file): More from here ...
-       * util/editenv.c (grub_util_create_envblk_file): ... to here.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
-       canonicalize file name before doing the rest.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/osdep/hostfile_windows.h: Add missing ftello for
-       mingw32.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Define grub_util_is_directory/regular/special_file and
-       use OS-dependent versions rather than to rely on stat().
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c: Move backend part to ...
-       * util/mkimage.c: ... here.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Allow compilation with mingw64 albeit with warnings due to lack of
-       %llx/%llu.
-
-       * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
-       * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
-       * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
-       * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
-       on mingw64.
-       * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove leftover references to some of the system headers.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
-       read.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
-       of strerror.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Split out blocklist retrieving from setup.c to
-       grub-core/osdep/blocklist.c and add windows implementation since
-       generic version doesn't work on NTFS on Windows due to aggressive
-       unflushable cache.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
-       files.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
-       Cut tailing newline. Remove arbitrary limitation. Always use
-       grub_util_tchar_to_utf8.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
-       * tests/printf_unit_test.c (printf_test): Add %% tests.
-       Reported by: Paulo Flabiano Smorigo.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
-       implement fsync.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Check for nvlist_lookup_string in nvpair since we
-       use nvlist_lookup_string and don't use nvlist_print.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add wrappers around rename, unlink, mkdir, opendir, readdir and
-       closedir to handle filename charset translation.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/emu/hostdisk.h: Move file operations to
-       * include/grub/emu/hostfile.h: ... here.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
-       unicode path.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move cpu time retrieval to separate grub_util_get_cpu_time_ms
-       and remove export.h.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/error.c: Removed.
-       * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
-       explicitly as it's already in libgnu.a.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
-       config-util.h include.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Split emunet into platform-dependent and GRUB-binding parts. Keep
-       platform-dependent part in kernel for easy access to OS functions.
-
-2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
-       open/read/write.
-
-2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/windows/emuconsole.c: New file.
-
-2013-10-14  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * conf/Makefile.extra-dist: Add osdep/*/init.c
-
-2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
-
-2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-probe.c (probe): Separate different drives in hint-str
-       by spaces and not newlines.
-       * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
-
-2013-10-14  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
-       Handle CD-ROMs.
-
-2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Pass-through unknown E820 types. It required reorganisation of mmap
-       module.
-
-2013-10-14  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * Makefile.util.def: Add osdep/init.c to grub-mount files.
-
-2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
-       fseeko.
-
-2013-10-14  qwertial  <qwertial>
-
-       * grub-core/gdb_grub.in: Fix overflow and wrong field.
-
-2013-10-14  Jon McCune <jonmccune@google.com>
-
-       * docs/grub.texi: Document new signatures possibility.
-
-2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
-
-2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
-       missing prototype.
-       (grub_util_tchar_to_utf8): Likewise.
-
-2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def: Add osdep/init.c on emu.
-       * grub-core/kern/emu/main.c: Add missing include.
-       * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
-       Don't call grub_util_init_nls.
-       * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
-       Likewise.
-
-2013-10-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
-       stat.
-
-2013-10-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
-
-2013-10-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
-
-2013-10-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add a wrapper for fopen. On unix-like systems just pass-through. On
-       windows use unicode version.
-
-2013-10-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move set_program_name and init_nls to host_init. On windows
-       fix in this fuction console and argument charset as well.
-
-2013-10-12  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
-       GRUB_ENABLE_CRYPTODISK.
-
-       * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
-       GRUB_ENABLE_CRYPTODISK.
-       * util/grub-mkconfig_lib.in: Likewise.
-
-2013-10-12  Christian Cier-Zniewski <c.cier@gmx.de>
-
-       * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
-
-2013-10-12  Melki Christian  <Christian.melki@saabgroup.com>
-
-       * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
-       error when enabling debug.
-
-2013-10-12  Ilya Bakulin <Ilya_Bakulin@genua.de>
-
-       * configure.ac: Use -melf_*_obsd on openbsd.
-
-2013-10-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
-
-2013-10-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h: Use gnu_printf rather than printf as format
-       template since our functions are independent of libc.
-
-2013-10-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (setup): Move copying of partition table as
-       futher up as possible to avoid possible overwrite by floppy routines.
-
-2013-10-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
-
-2013-10-10  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
-       * docs/grub.texi: Likewise.
-
-2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
-       it's mostly unused. Move vestiges to the callers.
-
-2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
-       version of salt and hash. Use grub_snprintf rather than snprintf.
-
-2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi: Fix problem with braces.
-
-2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.extra-dist: Fix extra-dist list.
-       * grub-core/Makefile.core.def: Likewise.
-
-2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi: Document disk names used on Windows and AROS.
-
-2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
-       with AROS devs.
-       * grub-core/osdep/aros/hostdisk.c: Likewise.
-
-2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Avoid including hostfile.h when not necessarry as it pulls
-       in OS-specific headers which may redefine generic names
-       like "far".
-
-2013-10-09  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
-       scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
-       scrollbar_bottom_pad
-       * docs/grub.texi: Likewise.
-
-2013-10-09  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
-
-2013-10-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
-
-2013-10-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
-       Removed.
-       * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
-       Made static.
-
-2013-10-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
-       leftover.
-
-2013-10-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move OS-specific driver configuration to grub_util_fd_open. This
-       moves OS-dependent parts from kern/emu/hostdisk.c to
-       grub-core/osdep/*/hostdisk.c.
-
-2013-10-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (generate_image): Use size_t instead of
-       grub_size_t.
-       * util/grub-mkimagexx.c (locate_sections): Likewise.
-       (load_image): Likewise.
-
-2013-10-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
-       size_t.
-       (grub_util_write_image): Likewise.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
-       get random when no RNG is available.
-       * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/util/lvm.h: Removed.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
-       * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/osdep/windows/sleep.c: Add missing config.h.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/drivers/emu/emunet.c: Move to ..
-       * grub-core/osdep/linux/emunet.c: ..here.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/ieee1275/ofpath.c: Move to ...
-       * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
-       * grub-core/osdep/basic/ofpath.c: ..here.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move password-querying (util-version) routines to grub-core/osdep.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move sleep routines to grub-core/osdep.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move OS-dependent files to grub-core/osdep and document it.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
-       * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/misc.c: Remove leftover inclusion of malloc.h.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/setjmp.h: Remove leftover GRUBOF.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/raid.c: Fold into ...
-       * util/getroot_linux.c: ... here. Make all functions static.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
-       macros to GRUB ones.
-
-2013-10-08  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
-       occasional bug. If there are too many boot entries or too low
-       scrollbar height then we need to use another formula to calculate
-       the position and size of the scrollbar thumb.
-
-2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
-
-2013-10-08  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
-       * docs/grub.texi: Likewise.
-
-2013-10-08  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
-       viewport.
-
-2013-10-08  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
-       minimal width calculations.
-
-2013-10-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi: Update note on colors on emu console.
-
-2013-10-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
-       for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
-       it's FS and not GRUB limitation.
-
-2013-10-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
-
-2013-10-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
-
-2013-10-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>
-
-       * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
-       kernels by version order.
-
-2013-10-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
-
-2013-10-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add AROS hostdisk and getroot routines.
-
-2013-10-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make cryptodisk and diskfilter probe data retrievable programmatically
-       and not just printable.
-
-2013-10-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Split random retrieving code into separate files.
-
-2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
-       R_ARM_V4BX.
-
-2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/video_checksum.c: Increase robustness to out of memory
-       condition.
-       * grub-core/tests/fake_input.c: Likewise.
-       * grub-core/tests/cmdline_cat_test.c: Likewise.
-
-2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/capture.c: Do not do finalization when .fini
-       is called as there is explicit capture_end.
-
-2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
-       changing windows to avoid crash.
-
-2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
-
-2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/exclude.pot: Add several strings to exclude.
-
-2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
-
-2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * autogen.sh: Add ./util/grub-gen-widthspec.c and
-       ./util/grub-gen-asciih.c to exclude list.
-
-2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
-       and don't mark error strings for translation.
-
-2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
-       properly in case of missing block size.
-
-2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/arm/setjmp.S: Add missing license section.
-
-2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/swiss.sed: Add replacement for key names and for term computer.
-
-2013-10-02  Vladimir Testov <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/theme_loader.c: New global options for the
-       theme background image handling. desktop-image-scale-method,
-       desktop-image-h-align, desktop-image-v-align.
-       * grub-core/gfxmenu/view.c: Likewise.
-       * include/gfxmenu_view.h: Likewise.
-       * include/bitmap_scale.h: Proportional scale functions introduced.
-       * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
-       put in a separate functions. GRUB_ERR_BUG is set for grub_error in
-       cases of unexpected input variables for scale functions.
-       * docs/grub.texi: Updated documentation for new options.
-
-2013-10-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
-
-2013-10-01  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/tests/checksums.h: Corrected due to changes in
-       bilinear interpolation function.
-
-2013-10-01  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
-       to eliminate artefacts in bilinear interpolation.
-
-2013-09-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/readers/tga.c: Support paletted tga.
-
-2013-09-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
-       incorrect cbcr setting when in color mode.
-
-2013-09-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/readers/png.c: Support paletted images and clean up
-       greyscale support.
-
-2013-09-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
-       usage of wrong table which resulted in mishandling of 4-byte
-       sequences.
-
-2013-09-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/terminfo.c: Add Home and End key sequences.
-
-2013-09-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/readers/png.c (grub_png_decode_image_header):
-       Fix formula for computing total number of bytes.
-
-2013-09-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/readers/tga.c: Reorganize to separate RLE and
-       image processing, fix big-endian and support grayscale.
-
-2013-09-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
-       Correctly will with maximum transparency when using index color.
-
-2013-09-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/readers/png.c: Support grayscale
-
-2013-09-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/readers/jpeg.c: Support grayscale.
-
-2013-09-26  Jon McCune <jonmccune@google.com>
-
-       * grub-core/commands/loadenv.c: Support skipping signature check
-       and variable names filtering.
-
-2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
-       * grub-core/kern/emu/hostfs.c: Likewise.
-       * util/getroot_unix.c: Likewise.
-
-2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
-       Migrate all explicit defines to this new one.
-
-2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
-       grub_util_fd_strerror when using grub_util_fd_*.
-       (grub_util_fd_open_device): Likewise.
-       (grub_util_biosdisk_read): Likewise.
-       (grub_util_biosdisk_write): Likewise.
-       * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
-       (grub_util_fd_strerror): Likewise.
-       (grub_util_fd_sync): Likewise.
-       (grub_util_fd_close): Likewise.
-       * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
-       (grub_util_fd_close): Likewise.
-       (grub_util_fd_strerror): Likewise.
-       * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
-       function proto rather than macro.
-       (grub_util_fd_sync): Likewise.
-       (grub_util_fd_open): Likewise.
-       (grub_util_fd_strerror): New proto.
-
-2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
-       platforms on which it doesn't work.
-
-2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
-       stat immediately to where it's used.
-
-2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_util_check_block_device): Move to ...
-       * util/getroot_unix.c (grub_util_check_block_device): ... here.
-       * util/getroot.c (grub_util_check_char_device): Move to ...
-       * util/getroot_unix.c (grub_util_check_char_device): ... here.
-
-2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
-       disk closing logic.
-
-2013-09-24  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
-
-2013-09-24  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi (File name syntax): Document ZFS filenames
-       (/volume@snapshot/...).
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
-       Always return full path. Fixes a problem with mkrelpath.
-
-2013-09-23  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
-
-       * util/grub-install.in: Add GPT PReP support.
-       * util/grub-probe.c (probe): Support GPT partition type.
-       (main): Support -t gpt_parttype.
-
-2013-09-23  Aleš Nesrsta  <starous@volny.cz>
-
-       * grub-core/bus/usb/ehci.c: SMI disabled in all cases
-
-2013-09-23  Massimo Maggi <me@massimo-maggi.eu>
-
-       * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
-
-2013-09-23  Tim Hardeck  <thardeck>
-
-       * util/grub.d/10_hurd.in: Filter out character for the class.
-       * util/grub.d/10_kfreebsd.in: Likewise.
-       * util/grub.d/10_linux.in: Likewise.
-       * util/grub.d/20_linux_xen.in: Likewise.
-
-2013-09-23  Melki Christian  <Christian.melki@saabgroup.com>
-
-       * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
-       "changed".
-
-2013-09-23  Josh Triplett <josh@joshtriplett.org>
-
-       * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
-       boot partition.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
-       doesn't use posix_wrap. Keep literal -fno-builtin however.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-2013-09-23  neil
-
-       * configure.ac: Do not enable -Wmissing-noreturn as its
-       usefulness is limited and creates problems on some OS notably with
-       code generated by bison.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-2013-09-23  neil
-
-       * configure.ac: Do not explicitly enable -Waddress as it's not
-       supported by all gcc and when it is, it's already enabled by -Wall.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
-       desactivated use of EDID at all.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-2013-09-23  neil
-
-       * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
-       video if no text is available.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-2013-09-23  neil
-
-       * configure.ac: Substitute TARGET_RANLIB.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-2013-09-23  neil
-
-       * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
-
-       Based on patches from AROS.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-2013-09-23  neil
-
-       * grub-core/Makefile.am: Override STRIP and RANLIB.
-       * configure.ac: compute TARGET_RANLIB.
-       * INSTALL: Document TARGET_RANLIB
-
-       Based on patches from AROS.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
-       that floppies are unpartitioned.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
-       Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
-       less nice but more portable.
-       * grub-core/lib/posix_wrap/wchar.h: Likewise.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
-       for cheat_fd.
-       * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
-       functions.
-       (grub_cryptodisk_cheat_insert): Likewise.
-       (grub_cryptodisk_close): Likewise.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/emu/misc.h: Remove leftover cygwin definitions.
-       Use windows path for DEFAULT_DIRECTORY.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
-       difference was likely just gcc version, not anything mingw-related.
-
-2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use Winapi on both cygwin and mingw32 to share more code between both.
-
-2013-09-22  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/grub-install.in: Add --grub-editenv option.
-       * util/grub-install_header (grub_compress_file): Explicitly check for
-       plain file to avoid cp error.
-
-2013-09-22  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi (Device syntax): Document new LVM UUID based device
-       names; fix LVM driver name (lvm, not lv).
-       * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
-       names.
-
-2013-09-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
-       files rather than one file with loads of #if's.
-       * util/getroot.c: Likewise.
-
-2013-09-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
-
-2013-09-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
-       GNU/Hurd to the list of checked PRNG.
-
-2013-09-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: On FreeBSD use -melf_*_fbsd format.
-
-2013-09-21  Ales Nesrsta <starous@volny.cz>
-
-       * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
-
-2013-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
-       * grub-core/disk/lvm.c: Add LVM UUIDs.
-       * util/getroot.c: Use LVM UUIDs whenever possible.
-
-2013-09-19  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi (Networking commands): Add documentation for
-       network related commands.
-
-2013-09-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_util_open_dm): Check major rather than the name
-       to determine if device is handled by devmapper.
-       (convert_system_partition_to_system_disk): Likewise.
-       (get_dm_uuid): Don't check explicitly if device is mapped, it's
-       already done in grub_util_open_dm.
-
-2013-09-19  Leif Lindholm  <leif.lindholm@linaro.org>
-
-       * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
-       Clean up stack manipulation (sync_caches_armv*)
-
-2013-09-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/lvm.c: Remove since unused. Remove remaining references.
-
-2013-09-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle the case of partitioned LVM properly.
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
-       Stop on meeting LVM, mpath or DMRAID.
-       (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
-       (read_device_map): Likewise.
-       * util/getroot.c (convert_system_partition_to_system_disk): Assume that
-       device is full disk rather than erroring out on LVM and similar cases.
-
-2013-09-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
-
-2013-09-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
-       4K before the end.
-       Reported by: Leif Lindholm
-
-2013-09-18  Pawel Wojtalczyk <eyak@wp.pl>
-2013-09-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
-       codes.
-
-2013-09-18  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
-       Remove no-longer-true __attribute__ ((unused)) on disk parameter.
-
-2013-09-18  Douglas Ray <dougray@cpan.org>
-
-       * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
-       as secure.
-
-2013-09-18  Aleš Nesrsta  <starous@volny.cz>
-
-       * docs/grub.texi: Fix broken link.
-
-2013-09-18  Melki Christian  <Christian.melki@saabgroup.com>
-
-       * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
-       to break endless loop.
-
-2013-08-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-fstest.c: Fix several printf formats.
-       * util/grub-mkimage.c: Likewise.
-       * util/grub-mkimagexx.c: Likewise.
-       * util/grub-script-check.c: Likewise.
-
-2013-08-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
-       error.
-
-2013-08-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
-
-2013-08-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
-       removed in current versions cygwin_conv_*.
-
-2013-08-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Disable efiemu runtime on cygwin.
-
-2013-08-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
-       util/grub-gen-widthspec.c and util/grub-pe2elf.c.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
-       error message.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
-       windows variant.
-       * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
-       data.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
-       when on x86 and not cygwin.
-       * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
-       -Wl,-melf_x86_64.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Set CPP to build one when checkoing for freetype for
-       build.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
-       [!GRUB_BUILD]: Remove has_argument.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
-       Replace with a dummy.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Don't change host_os from mingw to cygwin.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Change target_os from windows to cygwin.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle grub-pe2elf and grub-mkfont for cases when build != host.
-
-       * Makefile.am (build-grub-mkfont): Don't include gnulib.
-       (build-grub-gen-asciih): Likewise.
-       (build-grub-gen-widthspec): Likewise.
-       * Makefile.util.def (grub-pe2elf): Remove.
-       * config.h.in [GRUB_BUILD]: Use build rather than host constants.
-       * configure.ac: Separate tests for build.
-       Move ./build-grub-pe2elf to grub-core.
-       Fix typo.
-       * grub-core/Makefile.am (build-grub-pe2elf): New target.
-       * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
-       defined.
-       * include/grub/types.h [GRUB_BUILD]: Use build rather than host
-       constants.
-       * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
-       * util/grub-pe2elf.c: Simplify not to rely on getopt.
-       * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
-       mingw32 as well based on grub_util_get_disk_size.
-       * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
-       grub_util_get_fd_size.
-       (sync): Removed.
-       (fsync): Moved to ...
-       * grub-core/kern/emu/misc.c (fsync): ... here.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/mm.h (grub_extend_alloc): Remove.
-       * grub-core/loader/i386/pc/plan9.c: Use own version of
-       grub_extend_alloc with appropriate types.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c: Include sys/wait.h only when we need waitpid.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix dependencies on cygwin.
-
-       * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
-       dependencies when used and defined.
-       * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
-       * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
-       implementation available to cause compile-time rather than runtime
-       error.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-fstest.c: Don't check for symlinks on windows.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * INSTALL: Mention unavailability of man pages when cross-compiling.
-
-2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
-       and gcry_log_bug.
-       * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
-
-2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * INSTALL: Document cross-compilation.
-       * acinclude.m4: Determine whether nm support -P and --defined-only.
-       * configure.ac: Add TARGET_ to all variables pertaining to target
-       that don't have it yet.
-       * gentpl.py: Likewise.
-       * grub-core/Makefile.am: Likewise.
-       * grub-core/genmod.sh.in: Likewise.
-       * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
-       as well.
-
-2013-08-21  Ilya Bakulin <Ilya_Bakulin@genua.de>
-
-       * configure.ac: Remove -Wempty-body. It's not essential and needs
-       recent gcc.
-
-2013-08-21  Ilya Bakulin <Ilya_Bakulin@genua.de>
-
-       * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
-       * util/getroot.c: Likewise.
-
-2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ahci.c: Add needed explicit cast.
-       * grub-core/lib/backtrace.c: Likewise.
-       * grub-core/net/ip.c: Likewise.
-       * grub-core/net/tcp.c: Likewise.
-       * grub-core/net/udp.c: Likewise.
-
-2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/wchar.h: Fix typo.
-
-2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/import_gcry.py: Add final newline in visibility.h.
-
-2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common: Fix typo.
-
-2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
-
-2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.am (widthspec.h): Fix typo.
-       * util/grub-gen-widthspec.c: Likewise.
-
-2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move ascii.h and widthspec.h generation to a separate build-time-only
-       tool.
-
-2013-08-16  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
-       Always fill bootdisk info and improve check for NetBSD disklabel.
-
-2013-08-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.extra-dist: Add util/bin2h.c.
-       Reported by: floppym.
-
-2013-08-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Make unifont mandatory for powerpc-ieee1275.
-
-2013-08-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Disable unifont and starfield if no freetype was found.
-
-2013-08-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
-       on NetBSD and OpenBSD.
-
-2013-08-15  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
-
-2013-08-15  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c: The number of color mappings is
-       reduced. Inheritant options are processed during the theme loading.
-
-2013-08-15  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
-
-2013-08-14 Avik Sil <aviksil@in.ibm.com>
-
-       * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
-
-2013-08-14 Avik Sil <aviksil@in.ibm.com>
-
-       * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
-       using qemu.
-
-2013-08-14  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
-
-       * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
-       remove-potcdate.sed.
-
-2013-08-14  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       *  grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
-       unused attribute from pull argument.
-
-2013-08-14  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       *  util/getroot.c (grub_util_is_imsm): Fix descriptor and
-       memory leak.
-
-2013-08-14  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       *  util/getroot.c (pull_lvm_by_command): add --separator option
-       to vgs call to disable padding of output to 10 characters.
-
-2013-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
-       here ...
-       * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
-       here.
-
-2013-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
-       length.
-
-2013-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix handling of build-time grub-bin2h and grub-mkfont when doing
-       full Canadian cross. Tested with build=x86_64, host=arm,
-       target=ppc-ieee1275.
-
-2013-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Error if no $BUILD_CC could be found.
-       Reported by: DevHC.
-
-2013-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/coreboot/init.c: Fix compilation on
-       i386-multiboot.
-
-2013-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
-       * grub-core/kern/mips/qemu_mips/init.c: Likewise.
-
-2013-08-13  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
-       grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
-       falling back to the partition device, otherwise a later call to this
-       function may fail spuriously.
-       Reported by Axel Beckert.  Fixes Debian bug #708614.
-
-2013-08-12  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * autogen.sh: Replace find -not by the POSIX-compliant find !.
-
-2013-08-12  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       Prevent shadowing of stdlib's devname(3) on BSD.
-
-       * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
-       and devlast to diskname and disklast, respectively.
-
-2013-08-11  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
-
-2013-08-08  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * docs/grub.texi: Introduce terminal window position options:
-       terminal-left: terminal window's left position
-       terminal-top: terminal window's top position
-       terminal-width: terminal window's width
-       terminal-height: terminal window's height
-       terminal-border: terminal window's border width
-       * grub-core/gfxmenu/theme-loader.c: Likewise.
-       * include/grub/gfxmenu_view.h: Likewise.
-       * po/exlude.pot: Likewise.
-       * grub-core/gfxmenu/view.c: Likewise.
-       Also updated minimal window size.
-       Also terminal_sanity_check function has been introduced.
-       * grub-core/tests/checksums.h: Update (terminal window height
-       is adjusted now for low resolution screen)
-
-2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/checksums.h: Update (1-pixel difference in marker
-       position).
-
-2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/exclude.pot: Add few recent exceptions.
-
-2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/grub_func_test.in: Add unicode.pf2.
-
-2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
-       standard rather than noral color, in line with other terminals.
-
-2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
-       analysis.
-
-2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/arm/linux.c: Change printf to dprintf.
-
-2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
-       inappropriate printf.
-
-2013-07-25  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * .bzrignore: Remove grub-core/lib/dtc-grub,
-       grub-core/Makefile.libfdt.def
-       * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
-
-2013-07-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/video.h (grub_video_register): Keep double-linked as
-       well as single-linked invariants.
-       Reported by: qwertial.
-
-2013-07-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/nativedisk.c (get_uuid): Handle
-       GRUB_DISK_DEVICE_UBOOTDISK_ID.
-
-2013-07-25  Vladimir Testov <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
-       maximum of NW, N, NE heights instead of N's height and maximum of
-       NW, W, SW widths instead of W's width. (So the box will be always
-       correctly drawn)
-
-2013-07-20  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
-       Fix misuse of variable count.
-
-2013-07-18  Leif Lindholm  <leif.lindholm@arm.com>
-2013-07-18  Francesco Lavra  <francescolavra.fl@gmail.com>
-2013-07-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       New ports to arm-uboot and arm-efi.
-       Mostly by Leif Lindholm with some additions from
-       Francesco Lavra and cleanup by Vladimir Serbinenko.
-
-2013-07-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
-       and not before.
-       Reported by: Leon Drugi.
-
-2013-07-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
-       Reported by: Paulo Flabiano Smorigo.
-
-2013-07-14  Vladimir Testov <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
-
-2013-07-14  Vladimir Testov <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c: Fix height calculation.
-
-2013-07-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c: Stylistic fixes.
-
-2013-07-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
-
-2013-07-14  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/net/bootp.c: Export net_* variables.
-       * grub-core/net/net.c: Likewise.
-
-2013-07-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
-
-2013-07-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
-
-2013-07-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
-
-2013-07-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
-
-2013-07-14  Massimo Maggi <me@massimo-maggi.eu>
-
-       * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
-       <= 0.
-
-2013-07-14  Massimo Maggi <me@massimo-maggi.eu>
-
-       * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
-       functions.
-
-2013-07-14  Massimo Maggi <me@massimo-maggi.eu>
-
-       * grub-core/fs/zfs/zfs_lz4.c: New file.
-       * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
-
-2013-07-14  Massimo Maggi <me@massimo-maggi.eu>
-
-       * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
-
-2013-07-14  Massimo Maggi <me@massimo-maggi.eu>
-
-       * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
-       (check_pool_label): Likewise.
-       * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
-
-2013-07-14  Massimo Maggi <me@massimo-maggi.eu>
-
-       * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
-
-2013-07-13  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi (Commands): Document postition parameters
-       for menuentry command.
-
-2013-07-13  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/grub-mknetdir.in: Remove stray line from help output.
-
-2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove early sm712 init as there is no reason for it (the "watchdog"
-       effect was due to wrong GPIO map).
-
-2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/pcidump.c: Remove static variables.
-
-2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/sleep.c: Refresh screen before sleeping.
-
-2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Move delimiter after the infos.
-
-2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/usbhub.c: Fix recheck logic.
-
-2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
-       not filling whole 8x16 space.
-
-2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
-
-2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Indicate which liblzma is used if any.
-
-2013-06-21  Paul Wise  <pabs3@bonedaddy.net>
-2013-06-21  Craig Sanders <savannah@taz.net.au>
-
-       * util/grub-reboot.in: Document submenu usage.
-
-2013-06-25  Colin Watson  <cjwatson@ubuntu.com>
-
-       * .bzrignore: Update with a number of new test-related files.
-
-2013-06-25  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-script-check.c: Fail on scripts containing no
-       commands, to guard against corrupted grub-mkconfig setups that
-       produce no useful output.
-       * tests/grub_script_no_commands.in: New test.
-       * Makefile.util.def (grub_script_no_commands): Add.
-       Reported by Hans Putter.  Fixes Debian bug #713886.
-
-2013-06-16  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/disk/diskfilter.c: Forgot to remove comment
-       from previous commit.
-
-2013-06-16  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
-       grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
-
-2013-06-16  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
-
-2013-06-16  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/disk/diskfilter.c (scan_devices): Iteratively
-       rescan diskfilter devices until nothing new is found.
-
-2013-06-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix casts when compiling coreboot-specific code for 64-bit EFI.
-
-2013-06-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't try to detect cbfs on *-emu.
-
-2013-06-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/gfxterm.c: USe right background color when scrolling.
-
-2013-06-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add support for processed coreboot payload chainloading.
-
-2013-06-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Enable coreboot information commands even when not loaded as
-       coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
-
-2013-06-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support for cbfs. Also factor out the part which is common
-       for all archives to a separate module. This splits tar from cpio
-       as they are very different but keeps cpio, cpio_be, odc and newc
-       together since they're very similar.
-
-2013-06-15  David Michael  <fedora.dm0@gmail.com>
-
-       * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
-       (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
-
-2013-06-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/grub_script_eval.in: Really add the eval test.
-
-2013-06-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move flavour-specific parts out of common cpio.c file and
-       rename remaining to cpio_common.c
-
-2013-06-07  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
-       off new function grub_script_execute_new_scope. Change callers to use
-       either of them as appropriate.
-       * grub-core/commands/eval.c: New command eval.
-       * docs/grub.texi (Commands): Document it.
-
-2013-06-07  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
-       to fetch values when listing.
-
-2013-06-07  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       Fix make dist on non-pc.
-
-2013-06-07  Francesco Lavra  <francescolavra.fl@gmail.com>
-
-       * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
-       without a device name.
-
-2013-06-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove enable_executable_check as it's not needed anymore.
-       Reported by: dougray.
-
-2013-06-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
-       ambigouos RAID before discovering RAIDs on top of it.
-       Reported by: bodom.
-
-2013-06-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix typo (failback vs fallback).
-
-2013-05-31  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/grub.d/30_os-prober.in: Add support for probing EFI
-       System Partition (as of os-prober 1.58).
-
-2013-05-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add yet another path to unifont. For parabola.
-
-2013-05-30  Josh Triplett  <josh@joshtriplett.org>
-
-       * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
-       handling to copy the killed characters to the kill buffer as
-       UCS4 stored as grub_uint32_t rather than as 8-bit characters
-       stored as char.  Eliminates UCS4 truncation and corruption
-       observed when killing characters with Ctrl-u and yanking them
-       back with Ctrl-y.
-
-2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Detach optional parts of gfxterm and integrate in with coreboot init.
-
-2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move blit and fill dispatcher to appropriate files to decrease export
-       and relocation overhead.
-
-2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/font/font.c, include/grub/font.h: Inline simple font
-       functions.
-
-2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.am: Fix compilation problem with some
-       automake versions.
-
-2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add Ubuntu path to unifont and report unifont path used.
-
-2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.am, conf/Makefile.common: Fix compilation problem with some
-       automake versions.
-
-2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
-       SSDT.
-
-2013-05-15  Radosław Szymczyszyn  <lavrin@gmail.com>
-
-       * grub-core/partmap/dfly.c: New partition map.
-
-2013-05-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
-       checking.
-       Reported by: Francesco Lavra.
-
-2013-05-14  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
-       dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
-       false conditions.
-       * conf/Makefile.common: define dist_grubconf_DATA
-
-2013-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Progressively skip menu elements on small terminals rather
-       than crashing.
-
-2013-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
-       to avoid losing last column.
-
-2013-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/exclude.pot: Add missing string "%C".
-
-2013-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
-       after the test.
-
-2013-05-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Gettextize "Not found" message.
-
-2013-05-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix distfiles list.
-       Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
-
-2013-05-11  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
-
-       * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
-       present.
-       * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
-
-2013-05-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
-
-2013-05-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
-       attribute since structure is not necessarily aligned.
-
-2013-05-11  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi (Device syntax): Clarify description of network
-       drives.
-
-2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
-       for vasprintf presence.
-
-2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Handle efibootmgr presence check.
-       Reported by: Leif Lindholm.
-
-2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/testspeed.c: Reuse formatting string to decrease
-       new strings to translate.
-
-2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
-       yet another string (pun intended) to translate.
-
-2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/POTFILES-shell.in: Autogenerate it.
-
-2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
-
-2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
-       misnomer.
-
-2013-05-08  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi (Network): Add description of net_default_interface,
-       net_default_ip and net_default_mac. Rewrite variables description
-       to emphasize that they are per-interface.
-
-2013-05-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       New test: cmdline and cat.
-
-2013-05-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/cat.c: Show UTF-8 characters.
-
-2013-05-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common: Poison float and double on non-emu.
-
-2013-05-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Don't disable extended registers on emu.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Don't use extended registers on x86_64.
-       Reported by: Peter Jones.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/efi/console.c: Fix compile error.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Compressed HFS+ support.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
-       pixel".
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Menu color test.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/setjmp_test.c: New test.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       New variables 'net_default_*' to determine MAC/IP of default interface.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/gettext_strings_test.in: A test to check for strings not
-       marked for translation.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * autogen.sh: Exclude unused libgcrypt files from translation.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Simplify few strings.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Mark few forgotten strings for translation.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/linux.c: Use grub_dprintf for debug statements
-       rather than printf.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
-       rather than printf.
-       * grub-core/video/readers/tga.c: Likewise.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/priority_queue_unit_test.cc: New test.
-
-2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/font/font.c: Use grub_dprintf for debug statements rather
-       than printf.
-
-2013-05-06  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       Reimplement grub-reboot to not depend on saved_entry. Use next_entry
-       variable for one time boot menu entry.
-
-2013-05-05  Bean  <bean123ch@gmail.com>
-
-       * grub-core/commands/testspeed.c: New command testspeed.
-
-2013-05-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Factor-out human-size printing.
-
-2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Agglomerate more mallocs to speed-up gfxterm.
-
-2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Speed-up gfxterm by slightly agglomerating mallocs.
-
-2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       More video checks.
-
-2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Speed-up gfxterm by saving intermediate results in index+alpha
-       format.
-
-2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/lib/functional_test.c: Don't stop on first failed
-       test.
-
-2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
-       line of timeout as it may contain the rest of long line.
-
-2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/main.c: Fix freed memory dereference.
-
-2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix several memory leaks.
-
-2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
-
-2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gettext/gettext.c: Try $lang.gmo as well.
-
-2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix test -a and -o precedence.
-       Reported by: adrian15.
-
-2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
-
-2013-05-03  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
-       and add it as source to functional_test module.
-
-2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
-
-2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       New series of tests for gfxterm and gfxmenu.
-
-2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
-       the theme path relative to $prefix/themes.
-
-2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
-       Fix order bug.
-       (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
-
-2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
-       descriptor.
-
-2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
-       grub_gfxmenu_timeout_notifications.
-       (grub_gfxmenu_view_destroy): Likewise.
-
-2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
-
-2013-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Several fixes to ieee1275 and big-endian video.
-
-2013-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add missing exports on mips.
-
-2013-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
-       if no unifont is found.
-       Restore original keyboard.
-
-2013-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
-       GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
-
-2013-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       First automated video test (running videotest and comparing results)
-
-2013-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
-       instead of 2 to have full RGB/CMY test pattern.
-
-2013-04-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add few more tests.
-
-2013-04-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/arc/arc.h: Account for missing "other" peripheral on
-       ARCS. All users updated.
-
-2013-04-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
-
-2013-04-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/amiga.c: Fix size of checksummed block.
-
-2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Use -mcmodel=large on x86_64-emu as well.
-       Reported by: qwertial.
-
-2013-04-29  Vladimir Testov <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
-       with syntax "XXX deg"/"XXX °".
-
-2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make PCI init in i386-qemu port more robust.
-
-2013-04-29  Vladimir Testov <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
-       cached view is reused.
-       * grub-core/gfxmenu/view.c: Call the refresh procedure for all
-       open boot menus.
-
-2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Unify more code in grub-install_header.
-
-2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add few new tests.
-
-2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Enforce disabling of firmware disk drivers when native drivers kick in.
-
-2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/nativedisk.c: Customize the list of modules on
-       platform. Don't try to search for disks already using native drivers.
-
-2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
-       platforms.
-
-2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
-       handling of variables containing backslash.
-
-2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
-       dereference.
-       Reported by: qwertial.
-
-2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mips/arc/init.c: Fix prefix detection.
-
-2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
-       dereference.
-       Reported by: qwertial.
-
-2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi: Add a comment about usefullness of nativedisk.
-
-2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
-
-2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       New command `nativedisk'.
-
-2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
-       * grub-core/loader/i386/bsd.c: Likewise.
-
-2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
-
-2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
-       grub_get_unaligned16 rather than shifts.
-
-2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/file.c: Use const char * rather than casting to
-       non-const.
-
-2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/probe.c: Add missing grub_device_close.
-
-2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * INSTALL: Document linguas.sh.
-
-2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove POTFILES.in and regenerate it in autogen.sh.
-
-2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move --directory/--override-directorry to grub-install_header and unify.
-
-2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/morse.c: Macroify dih and dah.
-
-2013-04-27  Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
-
-       * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
-
-2013-04-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/ns8250.c: Systematically probe ports by writing
-       to SR before using them.
-
-2013-04-27  Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
-
-       * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
-       disks.
-       (check_sas): Get sas_adress info.
-
-2013-04-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
-       ports.
-
-2013-04-27  Leon Drugi <eyak>
-
-       * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
-       BSS clearing.
-
-2013-04-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Core compression test.
-
-2013-04-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement grub_machine_get_bootlocation for ARC.
-
-2013-04-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Improve AHCI detection and command issuing.
-
-2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix pseries test.
-
-2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make 'make check' work on emu.
-
-2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Replace libcurses with our own vt100 handling for the ease of testing
-       and decreasing prerequisites.
-
-2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
-
-2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
-       compile when not needed.
-
-2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/pseries_test.in: New test.
-
-2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add test to check that different boot mediums work.
-
-2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
-       ofw limited ISO support.
-
-2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Fix loongson conditional.
-
-2013-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Enable mipsel-arc.
-
-2013-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add serial on ARC platform.
-
-2013-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
-       commit.
-
-2013-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/partmap_test.in: Add missing double semicolon.
-
-2013-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.in: Fix loongson filename.
-
-2013-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.in: Move all files that don't have a location
-       set in stone under /boot/grub. Use ISO hard links rather than copies
-       to save some space.
-
-2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
-       bogus SLOF values.
-
-2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make check work on mips-arc.
-
-2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.in: Alias sashARCS as sash.
-
-2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
-       it's serial.
-
-2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Fix target fo qemu_mips.
-       Fix extension on EFI.
-
-2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu_text.c (print_entry): Put an asterisk
-       in front of chosen entry to mark it even if highlighting is lost.
-
-2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
-       gfxpayload=keep if cbfb is active.
-
-2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
-
-2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add missing video ids to coreboot and ieee1275 video.
-
-2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.in: Add mips-arc support.
-
-2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
-
-2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move mips-arc link address. Previous link address was chosen
-       in belief that RAM on SGI platforms grows down while in fact it
-       grows up from an unusual base.
-
-2013-04-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
-       Fix a type which prevented CD-ROM and floppy boot.
-
-2013-04-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support coreboot framebuffer.
-
-       * grub-core/video/i386/coreboot/cbfb.c: New file.
-
-2013-04-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
-       detecting too small regions.
-
-2013-04-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
-
-2013-04-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
-       Remove dprintf.
-       * grub-core/lib/relocator.c (malloc_in_range): Likewise.
-
-2013-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
-       of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
-       * grub-core/loader/powerpc/ieee1275/linux.c
-       (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
-
-2013-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
-       Look for /boot-rom as well as /rom/boot-rom.
-
-2013-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
-       handling when creating text_layer failed.
-       * grub-core/video/video.c (grub_video_create_render_target):
-       Set result to 0 on error.
-       (grub_video_delete_render_target): Do not dereference NULL.
-
-2013-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
-       GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
-       * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
-       (grub_linux_load64): Mask out 2 high bits.
-
-2013-04-19  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
-       more place.
-
-2013-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add support for pseries and other bootinfo machines to grub-mkrescue.
-
-       Tested by: Paulo Flabiano Smorigo.
-
-2013-04-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.in: Add GPT for EFI boot.
-
-2013-04-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
-       It improves performance in qemu.
-
-2013-04-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * build-aux/snippet: Add missing gnulib files.
-
-2013-04-16  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
-
-2013-04-16  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
-
-2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
-2013-04-15  Peter Jones <pjones@redhat.com>
-
-       * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
-       sectors.
-       Based on patch by Peter Jones.
-
-2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix DMRAID partition handling.
-
-2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/grub_cmd_date.in: Skip on sparc64.
-
-2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/grub_script_expansion.in: Use fixed-string grep to skip over
-       firmware error messages.
-
-2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
-       source and destination differ.
-
-2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
-       detection.
-
-2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
-       match config-util.h to avoid warnings and increase compatibility.
-
-2013-04-14  Szymon Janc <szymon@janc.net.pl>
-2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add option to compress files on install/image creation.
-
-2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub-dev.texi: Rearrange menu to match the section order.
-       Reported by: Bryan Hundven.
-
-2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
-
-2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move GRUB out of system area when using xorriso 1.2.9 or later.
-
-2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/grub_cmd_date.in: Add missing exit 1.
-
-2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/partmap_test.in: Skip on sparc64.
-
-2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support grub-shell on sparc64.
-
-2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support mkrescue on sparc64.
-
-2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Allow IEEE1275 ports on path even if it wasn't detected automatically.
-       Needed on OpenBIOS due to incomplete device tree.
-
-2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
-       would be otherwise excluded.
-
-2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
-       Inline name defines used only once.
-
-2013-04-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix memory leaks in ofnet.
-       Reported by: Francesco Lavra.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/man/grub-glue-efi.h2m: Add missing file.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Better support Apple Intel Macs on CD.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Replace stpcpy with grub_stpcpy in tools.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle Japanese special keys.
-       Reported by: Hiroyuki YAMAMORI.
-       Codes supplied by: Hiroyuki YAMAMORI.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c: Document memdisk implying --prefix.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
-       much we can do about it anyway.
-
-2013-04-12  Aleš Nesrsta  <starous@volny.cz>
-
-       Fix handling of split transfers.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/http.c: Fix bad free.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
-       than buffer size.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Disable partmap check on i386-ieee1275 due to openfirmware issues.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/util/grub-shell.in: Fix it on powerpc.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Turn off QEMU ACPI-way since new releases don't have shutdown port
-       anymore.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi: Update coreboot status info.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/grub_cmd_date.in: New test for datetime.
-
-2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/partmap_test.in: Fix missing qemudisk setting.
-
-2013-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support i386-ieee1275 grub-mkrescue and make check on it.
-
-2013-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
-       feature for it.
-
-2013-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
-       GRUB_CMDLINE_XEN_DEFAULT.
-       Reported by:    Marc Warne (GigaTux) <gigatux>
-
-2013-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Import new gnulib.
-
-2013-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use ACPI shutdown intests as traditional port was removed.
-
-2013-04-11  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/grub.d/30_os-prober.in: Add onstr to entries for visual
-       distinction.
-
-2013-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
-       Fix few warining messages and leaks while on it.
-
-2013-04-09  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
-       links under grub-core/lib/libgcrypt-grub/mpi.
-
-2013-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix ia64-efi image generation on big-endian machines. Deduplicate
-       some code while on it.
-       Reported by: Leif Lindholm.
-
-2013-04-08  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
-       as extra_dist.
-
-2013-04-08  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
-
-2013-04-08  Bryan Hundven <bryanhundven@gmail.com>
-
-       * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
-       texinfo-5.1.
-
-2013-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/term.c: Few more fixes for menu entry editor
-       rendering.
-       Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
-
-2013-04-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/term.c: Few more fixes for menu entry editor
-       rendering.
-       Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
-
-2013-04-06  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * conf/Makefile.extra-dist (EXTRA_DIST): Add
-       grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
-
-2013-04-06  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
-       instead of hardcoding grub.mo.
-
-2013-04-05  Fedora Ninjas <grub2-owner@fedoraproject.org>
-
-       * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
-
-2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
-       grub-core/disk/geli.c.
-
-2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkfont.c: Prefer enum to #define.
-
-2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
-
-2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
-
-2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
-
-2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
-
-2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/bsdlabel.h: Use enums.
-
-2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move GRUB_CHAR_BIT to types.h.
-
-2013-04-04  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi: Document more user commands.
-
-2013-04-04  Andrey Borzenkov  <arvidjaar@gmail.com>
-
-       * docs/grub.texi: Document menuentry --id option.
-
-2013-04-04  Francesco Lavra  <francescolavra.fl@gmail.com>
-
-       * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
-
-2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Unify file copying setup across different install scripts. Add
-       options for performing partial install.
-
-2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
-2013-04-04  Peter Jones <pjones@redhat.com>
-
-       * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
-
-2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use TSC as a possible time source on i386-ieee1275.
-
-2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
-       Init err.
-
-2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (setup): Handle some corner cases.
-
-2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
-
-2013-04-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/verify.c: Save verified file to avoid it being
-       tampered with after verification was done.
-
-2013-04-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
-       reported width by one to compensate for curesor algorithm problem.
-
-2013-04-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix screen corruption in menu entry editor and simplify the code
-       flow while on it.
-
-2013-04-03  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/grub-mount.c (fuse_init): Return error if fuse_main
-       failed.
-
-2013-04-03  Francesco Lavra  <francescolavra.fl@gmail.com>
-
-       * include/grub/elf.h: Add missing ARM relocation codes and fix
-         existing ones.
-
-2013-04-03  Vladimir Testov <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
-
-2013-04-03  Vladimir Testov <vladimir.testov@rosalab.ru>
-2013-04-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
-       into account when calculating radius.
-
-2013-04-03  Vladimir Testov <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/view.c: Fix off-by-one error.
-
-2013-04-03  Vladimir Testov <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
-
-2013-04-01  Radosław Szymczyszyn <lavrin@gmail.com>
-
-       * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
-       missing closing bracket.
-
-2013-04-01  Radosław Szymczyszyn <lavrin@gmail.com>
-
-       * INSTALL: Mention xorriso requirement.
-
-2013-03-31  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/commands/verify.c: Fix hash algorithms values for
-       the first three hashes - they start with 1, not with 0.
-
-2013-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
-       Try terminating EFI services several times due to quirks in some
-       implementations.
-
-2013-03-26  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
-         skipping Event, Device, Processor, PowerRes, ThermalZone, and
-         BankField extended opcodes.
-         (get_sleep_type): Add minimal scope handling (just enough to
-         handle setting the scope to the root path).
-         (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
-       * include/grub/acpi.h: Add enumeration values for Event, Device,
-         Processor, PowerRes, ThermalZone, and BankField extended opcodes.
-
-2013-03-26  Vladimir Testov <vladimir.testov@rosalab.ru>
-
-       * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
-       memory leak.
-
-2013-03-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ahci.c: Give more time for AHCI request.
-
-2013-03-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
-       command.
-
-2013-03-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Replace the region at 0 from coreboot tables to available in BSD
-       memory map.
-
-2013-03-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
-       non-BIOS platforms.
-
-2013-03-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
-       platforms.
-
-2013-03-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
-       handling of multi-device filesystems.
-
-2013-03-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
-       platforms.
-
-2013-03-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add new 'proc' filesystem framework and put luks_script into it.
-
-2013-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/at_keyboard.c: Increase robustness on coreboot
-       and qemu.
-
-2013-03-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
-
-2013-03-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add ability to generate newc additions on runtime.
-
-2013-03-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
-       description.
-
-2013-03-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/POTFILES.in: Regenerate.
-
-2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/verify.c (hashes): Add several hashes
-       from the spec.
-
-2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Slight improve in USB-related boot-time checkpoints.
-
-2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/boottime.c: Fix copyright header.
-
-2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       New commands cbmemc, lscoreboot, coreboot_boottime to inspect
-       coreboot tables content. Support for cbmemc.
-
-2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix a conflict between ports structures with 2 controllers of
-       same kind.
-
-2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/boottime.h: Add missing file.
-
-2013-03-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Initialize USB ports in parallel to speed-up boot.
-
-2013-03-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix USB devices not being detected when requested
-       due to delayed attach.
-
-2013-03-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement boot time analysis framework.
-
-2013-03-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove get_endpoint_descriptor and change all functions needing
-       descriptor to just receive it as argument rather than endpoint
-       address.
-
-2013-03-19  Aleš Nesrsta  <starous@volny.cz>
-
-       Better estimate the maximum USB transfer size.
-
-2013-03-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Resend a packet if we got the wrong buffer in status.
-
-2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
-       multiplication rather than division.
-
-2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
-       than divisions.
-
-2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
-       operations to have intended shifts and not divisions.
-
-2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
-       intended shifts rather than division.
-
-2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
-       computation for some years before epoch. Avode confusing division
-       while on it.
-
-2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/i386/pc/vbe.c
-       (grub_video_vbe_print_adapter_specific_info): Replace division by
-       shifts.
-
-2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Adjust types in gdb module to have intended unsigned shifts rather than
-       signed divisions.
-
-2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
-       maximum size is 4G - 1 on hfs
-
-2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Avoid costly 64-bit division in grub_get_time_ms on most platforms.
-
-2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
-       function.
-
-2013-03-07  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
-       causing gcc error with gcc 4.7.1.
-
-2013-03-07  Nickolai Zeldovich <nickolai@csail.mit.edu>
-
-       * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
-       dereference null pointer. While the code is technically correct, gcc
-       may eliminate a null check if pointer is already dereferenced.
-
-2013-03-07  Nickolai Zeldovich <nickolai@csail.mit.edu>
-
-       * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
-       OOM check.
-       * grub-core/normal/term.c (read_terminal_list): Likewise.
-
-2013-03-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Lift up core size limits on some platforms. Fix potential memory
-       corruption with big core on small memory systems. Document remaining
-       limits.
-
-2013-03-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
-       gotoxy to 0,0.
-
-2013-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove all trampoline support. Add -Wtrampolines when
-       present. Remove symbols used for trampolines to make
-       link fail if trampolines are present.
-
-2013-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
-       append out of its parent.
-
-2013-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/regexp.c (set_matches): Move setvar out of its
-       parent.
-
-2013-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/env.c, include/grub/env.h: Change iterator through
-       all vars to a macro. All users updated.
-
-2013-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ieee1275/nand.c: Fix compilation on
-       i386-ieee1275.
-
-2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
-
-2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
-
-2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move to more hookless approach in IEEE1275 devices handling.
-
-2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/term.c (grub_term_normal_color),
-       (grub_term_highlight_color): Add back lost defaults.
-
-2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make elfload not use hooks. Opt for flags and iterators instead.
-
-2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
-       * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
-
-2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/execute.c (gettext_append): Remove nested functions.
-
-2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
-       hook pass-through parameter. All users updated and unnested.
-
-2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
-       out of its parent.
-
-2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfs.c: Remove nested functions.
-
-2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
-       the context through.
-       (grub_hfsplus_iterate_dir): Move nested function out of its parent.
-
-2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-editenv.c (list_variables): Move print_var out of its
-       parent.
-
-2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
-       function.
-
-2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gentrigtables.c: Make tables const.
-
-2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove nested functions from videoinfo iterators.
-
-2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
-       for 64-bit platforms.
-
-2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
-       a FOR_CHILDREN macro.
-
-2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
-       platform from firmware path.
-
-2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Enable linux16 on non-BIOS systems for i.a. memtest.
-
-       * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
-       correctly.
-       * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
-
-2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
-       Fix end of table condition.
-
-2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
-       out of its parent.
-
-2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/jfs.c: Remove nested functions.
-
-2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/minix.c: Remove nested functions.
-
-2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/iso9660.c: Remove nested functions.
-
-2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
-       of parent function.
-
-2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-fstest.c: Remove nested functions.
-
-2013-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/machoXX.c: Remove nested functions.
-
-2013-02-27  Colin Watson  <cjwatson@ubuntu.com>
-
-       Remove nested functions from disk and file read hooks.
-
-       * include/grub/disk.h (grub_disk_read_hook_t): New type.
-       (struct grub_disk): Add read_hook_data member.
-       * include/grub/file.h (struct grub_file): Likewise.
-       * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
-       argument.
-
-       Update all callers.
-
-2012-02-27  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
-       Fix off by one error in enumerating extended partitions.
-
-2013-02-26  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
-       memory leak if device name is not found.
-
-2013-02-25  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/normal/menu_entry.c (update_screen): remove
-       unused variable `off' which caused scroll down arrow to be always shown.
-
-2013-02-25  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * grub-core/normal/menu_entry.c (insert_string): fix off by one
-       access to unallocated memory.
-
-2013-02-25  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * Makefile.util.def: Add partmap/msdos.c to common library.
-       * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
-       * grub-core/disk/ldm.c: Check for existence of
-       GRUB_PC_PARTITION_TYPE_LDM.
-
-2013-02-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
-       sizes and display sector size.
-
-2013-02-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement new command cmosdump.
-
-2013-02-19  Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
-
-       Support Openfirmware disks with non-512B sectors.
-
-       * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
-       size of the disk.
-       * (grub_ofdisk_get_block_size): New function.
-       * (grub_ofdisk_prepare): Use the correct block size.
-       * (grub_ofdisk_read): Likewise.
-       * (grub_ofdisk_write): Likewise.
-       * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
-       New proto.
-
-2013-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
-
-2013-02-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
-       on first error.
-
-2013-02-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
-       freeing it.
-
-2013-02-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement USBDebug (full USB stack variant).
-
-2013-02-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
-       unless they have unexpected values.
-
-2013-02-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
-       grub_print_error.
-
-2013-02-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
-       zero-out of port structure.
-
-2013-01-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
-       of extended attributes.
-
-2013-01-27  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/grub-install.in: change misleading comment about
-       device.map creation
-
-2013-01-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
-       when menu highlight color isn't set.
-
-2013-01-27  C. Masloch  <pushbx@38.de>
-
-       Improve FreeDOS direct loading support compatibility.
-
-       * include/grub/i386/relocator.h (grub_relocator16_state):
-       New member ebp.
-       * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
-       variable.
-       (grub_relocator16_boot): Handle %ebp.
-       * grub-core/lib/i386/relocator16.S: Likewise.
-       * grub-core/loader/i386/pc/freedos.c:
-       Load BPB to pass kernel which partition to load from.
-       Check that kernel file is not too large.
-       Set register dl to BIOS unit number as well.
-
-2013-01-22  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-reboot.in (usage): Document the need for
-       GRUB_DEFAULT=saved.
-       * util/grub-set-default.in (usage): Likewise.
-       Reported by: Brian Candler.  Fixes Ubuntu bug #1102925.
-
-2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
-       than defining WORDS_BIGENDIAN manually.
-
-2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
-       invariants.
-
-2013-01-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
-       nested.
-       (blit_comb: add_device_width): Likewise.
-
-2013-01-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       Remove nested functions from USB iterators.
-
-       * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
-       (grub_usb_controller_iterate_hook_t): Likewise.
-       (grub_usb_iterate): Add hook_data argument.
-       (grub_usb_controller_iterate): Likewise.
-       (struct grub_usb_controller_dev.iterate): Likewise.
-
-       Update all implementations and callers.
-
-2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
-       margin when not needed.
-
-2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make color variables global instead of it being per-terminal.
-
-2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
-       asterisk.
-
-2013-01-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       Fix powerpc and sparc64 build failures caused by un-nesting memory
-       map iterators.
-
-2013-01-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
-       parameter declarations.
-
-2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/lsmmap.c: Fix unused variable on emu.
-
-2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Improve spkmomdem reliability by adding a separator between bytes.
-
-2013-01-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
-       an Acer registration utility with several sightings in the wild.
-       Reported by: Rickard Westman.  Fixes Ubuntu bug #987022.
-
-2013-01-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       Remove nested functions from filesystem directory iterators.
-
-       * include/grub/fs.h (grub_fs_dir_hook_t): New type.
-       (struct grub_fs.dir): Add hook_data argument.
-
-       Update all implementations and callers.
-
-2013-01-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Multi-boot manual config): Fix typo for
-       "recommended".
-
-2013-01-20  Leif Lindholm  <leif.lindholm@arm.com>
-
-       * util/grub-mkimage.c (main): Postpone freeing arguments.output
-       until after its use in generate_image.
-
-2013-01-20  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
-       initrd size to addr_min, since the initrd will be allocated after
-       this address.
-
-2013-01-20  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * conf/Makefile.common: Fix autogen rules to pass definition
-       files on stdin; Makefile.util.am needs Makefile.utilgcry.def
-
-2013-01-20  Leif Lindholm  <leif.lindholm@arm.com>
-
-       * include/grub/elf.h: Update ARM definitions based on binutils.
-
-2013-01-20  Aleš Nesrsta  <starous@volny.cz>
-
-       Split long USB transfers into short ones.
-
-2013-01-20  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
-       is interrupted by ESC.
-
-2013-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-script-check.c (main): Uniform the error message.
-
-2013-01-20  Colin Watson  <cjwatson@ubuntu.com>
-
-       Remove nested functions from ELF iterators.
-
-2013-01-20  Colin Watson  <cjwatson@ubuntu.com>
-
-       Remove nested functions from device iterators.
-
-       * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
-       (grub_arc_iterate_devs): Add hook_data argument.
-       * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
-       (struct grub_ata_dev.iterate): Add hook_data argument.
-       * include/grub/device.h (grub_device_iterate_hook_t): New type.
-       (grub_device_iterate): Add hook_data argument.
-       * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
-       (struct grub_disk_dev.iterate): Add hook_data argument.
-       (grub_disk_dev_iterate): Likewise.
-       * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
-       Likewise.
-       * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
-       Likewise.
-       * include/grub/partition.h (grub_partition_iterate_hook_t): New
-       type.
-       (struct grub_partition_map.iterate): Add hook_data argument.
-       (grub_partition_iterate): Likewise.
-       * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
-       (struct grub_scsi_dev.iterate): Add hook_data argument.
-
-       Update all callers.
-
-2013-01-20  Colin Watson  <cjwatson@ubuntu.com>
-
-       Fix typos for "developer" and "development".
-
-2013-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add license header to spkmodem-recv.c.
-
-2013-01-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Rewrite spkmodem to use PIT for timing. Double the speed.
-
-2013-01-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add new command pcidump.
-
-2013-01-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       New terminal outputs using serial: morse and spkmodem.
-
-2013-01-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Improve bidi handling in entry editor.
-
-2013-01-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
-       argument to prevent name collision.
-
-2013-01-15  Colin Watson  <cjwatson@ubuntu.com>
-
-       Remove nested functions from script reading and parsing.
-
-       * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
-       getline_data argument, passed to getline.
-       * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
-       getline_data argument, passed to grub_parser_split_cmdline.
-       * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
-       lexerstate->getline_data to lexerstate->getline.
-       (grub_script_lexer_init): Add getline_data argument, saved in
-       lexerstate->getline_data.
-       * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
-       argument, passed to grub_script_parse.
-       * grub-core/script/script.c (grub_script_parse): Add getline_data
-       argument, passed to grub_script_lexer_init.
-       * include/grub/parser.h (grub_parser_split_cmdline): Update
-       prototype.  Update all callers to pass appropriate getline data.
-       (struct grub_parser.parse_line): Likewise.
-       (grub_rescue_parse_line): Likewise.
-       * include/grub/reader.h (grub_reader_getline_t): Add void *
-       argument.
-       * include/grub/script_sh.h (struct grub_lexer_param): Add
-       getline_data member.
-       (grub_script_parse): Update prototype.  Update all callers to pass
-       appropriate getline data.
-       (grub_script_lexer_init): Likewise.
-       (grub_normal_parse_line): Likewise.
-
-       * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
-       data argument.
-       * grub-core/kern/parser.c (grub_parser_execute: getline): Make
-       static instead of nested.  Rename to ...
-       (grub_parser_execute_getline): ... this.
-       * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
-       data argument.
-       * grub-core/normal/main.c (read_config_file: getline): Make static
-       instead of nested.  Rename to ...
-       (read_config_file_getline): ... this.
-       (grub_normal_read_line): Add unused data argument.
-       * grub-core/script/execute.c (grub_script_execute_sourcecode:
-       getline): Make static instead of nested.  Rename to ...
-       (grub_script_execute_sourcecode_getline): ... this.
-       * util/grub-script-check.c (main: get_config_line): Make static
-       instead of nested.
-
-2013-01-15  Colin Watson  <cjwatson@ubuntu.com>
-
-       Remove nested functions from memory map iterators.
-
-       * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
-       argument, passed to hook.
-       * grub-core/kern/i386/coreboot/mmap.c
-       (grub_linuxbios_table_iterate): Likewise.
-       (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
-       instead of nested.
-       (grub_machine_mmap_iterate): Add hook_data argument.
-       * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
-       Add hook_data argument, passed to hook.
-       * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
-       Likewise.
-       * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
-       Likewise.
-       * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
-       Likewise.
-       * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
-       Likewise.
-       * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
-       Likewise.
-       * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
-       Likewise.
-       * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
-       (grub_machine_mmap_iterate): Likewise.
-       * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
-       * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
-       prototype.
-       * include/grub/memory.h (grub_memory_hook_t): Add data argument.
-       Remove NESTED_FUNC_ATTR from here and from all users.
-       (grub_mmap_iterate): Update prototype.
-       (grub_efi_mmap_iterate): Update prototype.  Update all callers to
-       pass appropriate hook data.
-       (grub_machine_mmap_iterate): Likewise.
-
-       * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
-       static instead of nested.
-       * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
-       Rename to ...
-       (lsmmap_hook): ... this.
-       * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
-       Likewise.
-       (grub_efiemu_mmap_fill: fill_hook): Likewise.
-       * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
-       heap_init): Likewise.
-       * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
-       Rename to ...
-       (mmap_iterate_hook): ... this.
-       * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
-       Likewise.
-       * grub-core/lib/ieee1275/relocator.c
-       (grub_relocator_firmware_get_max_events: count): Likewise.
-       (grub_relocator_firmware_fill_events: fill): Likewise.  Rename
-       to ...
-       (grub_relocator_firmware_fill_events_iter): ... this.
-       * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
-       hook): Likewise.  Rename to ...
-       (grub_relocator_alloc_chunk_align_iter): ... this.
-       * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
-       Rename to ...
-       (generate_e820_mmap_iter): ... this.
-       * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
-       Rename to ...
-       (count_hook): ... this.
-       (grub_linux_boot: hook): Likewise.  Rename to ...
-       (grub_linux_boot_mmap_find): ... this.
-       (grub_linux_boot: hook_fill): Likewise.  Rename to ...
-       (grub_linux_boot_mmap_fill): ... this.
-       * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
-       hook): Likewise.  Rename to ...
-       (grub_fill_multiboot_mmap_iter): ... this.
-       * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
-       hook): Likewise.  Rename to ...
-       (count_hook): ... this.
-       * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
-       hook): Likewise.  Rename to ...
-       (grub_fill_multiboot_mmap_iter): ... this.
-       * grub-core/loader/powerpc/ieee1275/linux.c
-       (grub_linux_claimmap_iterate: alloc_mem): Likewise.
-       * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
-       Likewise.  Rename to ...
-       (alloc_phys_choose): ... this.
-       (determine_phys_base: get_physbase): Likewise.
-       * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
-       find_hook): Likewise.
-       * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
-       (malloc_hook: count_hook): Likewise.
-       * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
-       Likewise.  Rename to ...
-       (lower_hook): ... this.
-       (grub_mmap_get_upper: hook): Likewise.  Rename to ...
-       (upper_hook): ... this.
-       (grub_mmap_get_post64: hook): Likewise.  Rename to ...
-       (post64_hook): ... this.
-       * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
-       Likewise.  Rename to ...
-       (lower_hook): ... this.
-       (grub_mmap_get_upper: hook): Likewise.  Rename to ...
-       (upper_hook): ... this.
-       * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
-       (grub_mmap_iterate: fill_hook): Likewise.
-       (fill_mask): Pass addr and mask within a single struct.
-       (grub_cmd_badram: hook): Make static instead of nested.  Rename
-       to ...
-       (badram_iter): ... this.
-       (grub_cmd_cutmem: hook): Likewise.  Rename to ...
-       (cutmem_iter): ... this.
-
-2013-01-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
-       delimit path in strings using quotes.
-       * util/getroot.c (grub_guess_root_devices): Likewise.
-       (grub_make_system_path_relative_to_its_root): Likewise.
-       * util/grub-probe.c (probe): Likewise.
-       * util/ieee1275/ofpath.c (find_obppath): Likewise.
-       (xrealpath): Likewise.
-
-2013-01-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix compilation with older compilers.
-
-       * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
-       * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
-       declarations.
-       * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
-       * grub-core/lib/posix_wrap/sys/types.h: Add common types.
-       * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
-       identifier with b.
-       * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
-       * include/grub/crypto.h: Add type defines.
-       * util/import_gcrypth.sed: Remove duplicate type defines.
-
-2013-01-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       New command list_trusted.
-
-       * grub-core/commands/verify.c (grub_cmd_list): New function.
-
-2013-01-13  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkimage.c (generate_image): Fix "size of public key"
-       info message.
-
-2013-01-13  Colin Watson  <cjwatson@ubuntu.com>
-
-       Remove nested functions from PCI iterators.
-
-       * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
-       passed to hook.  Update all callers to pass appropriate hook data.
-       * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
-       * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
-       Remove NESTED_FUNC_ATTR from here and from all users.
-       (grub_pci_iterate): Update prototype.
-       * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
-       instead of nested.  Rename to ...
-       (grub_cs5536_find_iter): ... this.
-       * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
-       * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
-       Likewise.
-       * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
-       Likewise.
-       * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
-       Likewise.
-       * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
-       Likewise.
-       * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
-       * grub-core/video/radeon_fuloong2e.c
-       (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
-       * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
-       find_card): Likewise.
-       * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
-       Likewise.
-
-2013-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/verify.c: Mark messages for translating.
-
-2013-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
-       fatal.
-
-2013-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
-       fatal.
-
-2013-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * autogen.sh: Do not try to delete nonexistant files.
-       * util/import_gcrypth.sed: Add some missing header removals.
-
-2013-01-12  Colin Watson  <cjwatson@ubuntu.com>
-
-       Clean up dangling references to grub-setup.
-       Fixes Ubuntu bug #1082045.
-
-       * docs/grub.texi (Images): Refer generally to grub-install rather
-       than directly to grub-setup.
-       (Installing GRUB using grub-install): Remove direct reference to
-       grub-setup.
-       (Device map) Likewise.
-       (Invoking grub-install): Likewise.
-       * docs/man/grub-install.h2m (SEE ALSO): Likewise.
-       * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
-       * util/grub-install.in (usage): Likewise.
-
-       * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
-       Apply to grub-bios-setup and grub-sparc64-setup rather than to
-       grub-setup.
-       * configure.ac: Remove grub_setup output variable.
-
-       * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
-       to grub-bios-setup.
-       * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
-       grub-setup to grub-sparc64-setup.
-
-2013-01-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Import gcrypt public-key cryptography and implement signature checking.
-
-2013-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c: Ue more appropriate types.
-       * grub-core/fs/ntfscomp.c: Likewise.
-       * include/grub/ntfs.h: Likewise.
-
-2013-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support Apple FAT binaries on non-Apple platforms.
-
-       * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
-       * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
-       Likewise.
-       * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
-       Apple FAT binaries.
-
-2013-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
-       sector devices.
-
-2013-01-07  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
-       explicitly zeroing elements.
-       * grub-core/io/gzio.c (grub_gzio_open): Likewise.
-       * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
-       of elements in a structure already allocated using grub_zalloc.
-       * grub-core/io/xzio.c (grub_xzio_open): Likewise.
-
-2013-01-07  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (grub_cpu): New subsection.
-       (grub_platform): Likewise.
-
-2013-01-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
-
-2013-01-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
-       divisions.
-
-2013-01-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
-       * grub-core/fs/ntfscomp.c: Likewise.
-       * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
-       (grub_ntfs_comp): Likewise.
-
-2013-01-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
-       Rename to ...
-       (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
-       of groups_per_block. All users updated.
-
-2013-01-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
-       grub_error properly.
-       * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
-       * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
-
-2013-01-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
-       always in /boot/zfs.
-       Reported by: Yuta Satoh.
-
-2013-01-03  Yuta Satoh  <nigoro>
-
-       * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
-       ${grub_probe}
-
-2013-01-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Extend -Wno-trampolines to host.
-
-2013-01-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
-       entry->len = 0.
-
-2013-01-03  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Invoking grub-mkrelpath): New section.
-       (Invoking grub-script-check): Likewise.
-
-2013-01-03  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Invoking grub-mount): New section.
-       Reported by: Filipus Klutiero.  Fixes Debian bug #666427.
-
-2013-01-02  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
-       test failures, so that a failing unit test correctly causes 'make
-       check' to fail.
-
-2013-01-02  Colin Watson  <cjwatson@ubuntu.com>
-
-       Fix failing printf test.
-
-       * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
-       '$' in the correct order when collecting type information.
-
-2013-01-02  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (configfile): Explain environment variable
-       handling.
-       (source): New section.
-       Reported by: Arbiel Perlacremaz.  Fixes Savannah bug #35564.
-
-2012-12-31  Colin Watson  <cjwatson@ubuntu.com>
-
-       Remove several trivially-unnecessary uses of nested functions.
-
-       * grub-core/commands/i386/pc/sendkey.c
-       (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
-       instead of nested.
-       * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
-       Rename to ...
-       (legacy_file_getline): ... this.
-       * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
-       Likewise.
-       * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
-       * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise.  Rename
-       to ...
-       (probe_dummy_iter): ... this.
-       * grub-core/kern/i386/coreboot/mmap.c
-       (grub_linuxbios_table_iterate: check_signature): Likewise.
-       * grub-core/kern/parser.c (grub_parser_split_cmdline:
-       check_varstate): Likewise.  Mark inline.
-       * grub-core/lib/arg.c (find_short: fnd_short): Likewise.  Pass
-       an additional parameter.
-       (find_long: fnd_long): Likewise.  Pass two additional parameters.
-       * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
-       * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
-       * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
-       Likewise.  Rename to ...
-       (grub_cmos_find_port_iter): ... this.
-       * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
-       Rename to ...
-       (find_rtc_iter): ... this.
-
-       * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
-       function directly into the function body, since it is only called
-       once.
-
-2012-12-30  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
-       __attribute__ ((unused)).
-       * grub-core/video/bochs.c (find_card): Likewise.
-       * grub-core/video/cirrus.c (find_card): Likewise.
-       * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
-       * grub-core/video/sis315pro.c (find_card): Likewise.
-       * grub-core/video/sm712.c (find_card): Likewise.
-
-2012-12-28  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
-       Fixes Savannah bug #37821.
-
-2012-12-28  Colin Watson  <cjwatson@ubuntu.com>
-
-       Apply program name transformations at build-time rather than at
-       run-time.  Fixes Debian bug #696465.
-
-       * acinclude.m4 (grub_TRANSFORM): New macro.
-       * configure.ac: Create output variables with transformed names for
-       most programs.
-       * util/bash-completion.d/grub-completion.bash.in: Use
-       pre-transformed variables for program names.
-       * util/grub-install.in: Likewise.
-       * util/grub-kbdcomp.in: Likewise.
-       * util/grub-mkconfig.in: Likewise.
-       * util/grub-mkconfig_lib.in: Likewise.
-       * util/grub-mknetdir.in: Likewise.
-       * util/grub-mkrescue.in: Likewise.
-       * util/grub-mkstandalone.in: Likewise.
-       * util/grub-reboot.in: Likewise.
-       * util/grub-set-default.in: Likewise.
-       * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
-       * tests/util/grub-shell-tester.in: Remove unused assignment.
-       * tests/util/grub-shell.in: Likewise.
-       * util/grub.d/00_header.in: Likewise.
-
-2012-12-28  Colin Watson  <cjwatson@ubuntu.com>
-
-       Backport gnulib fixes for C11.  Fixes Savannah bug #37738.
-
-       * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
-       HAVE_RAW_DECL_GETS.
-       * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
-
-2012-12-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
-       Reported by: Eriks Latosheks <foresterlv>.
-
-2012-12-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Network): Update instructions on generating netboot
-       image.
-
-2012-12-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
-       around device name if necessarry.
-
-2012-12-10  Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
-
-       * util/grub-install.in: Follow the symbolic link parameter added
-       to the file command.
-
-2012-12-10  Andrey Borzenkov <arvidjaar@gmail.com>
-
-       * util/grub-install.in: Remove stale TODO.
-
-2012-12-10  Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
-
-       * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
-       dynamic allocation for the bootpath buffer.
-
-2012-12-10  Dr. Tilmann Bubeck <t.bubeck@reinform.de>
-
-       * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
-       window too small.
-
-2012-12-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
-       argument rather than font name. All users updated.
-       (grub_gfxterm_set_window): Likewise.
-
-2012-12-10  Vladimir Testov  <vladimir.testov@rosalab.ru>
-
-       * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
-       from working.
-
-2012-12-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (convert_system_partition_to_system_disk): Support
-       nbd disks.
-
-2012-12-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
-       infinite loop on corrupted FS.
-
-2012-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix big-endian mtime.
-
-       * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
-       together sec and usec.
-       (grub_ufs_dir): Use correct byteswapping for UFS time.
-
-2012-12-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support big-endian UFS1.
-
-       * Makefile.util.def (libgrubmods): Add ufs_be.c
-       * grub-core/Makefile.core.def (ufs1_be): New module.
-       * grub-core/fs/ufs_be.c: New file.
-       * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
-       the file.
-
-2012-11-28  Leif Lindholm  <leif.lindholm@arm.com>
-
-        * include/grub/types.h: Fix functionality unaffecting typo in
-        GRUB_TARGET_WORDSIZE conditional macro.
-
-2012-11-28  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
-
-       * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
-
-2012-10-28  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
-       that /netbsd appears first (when it exists).
-
-2012-10-12  Christoph Junghans  <ottxor@gentoo.org>
-
-       * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
-       Fixes Savannah bug #37558.
-
-2012-10-12  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
-       description of extract_entries_configfile.
-
-2012-10-05  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
-       preferred_address.
-       (grub_cmd_linux): Likewise.
-       * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
-       preferred_lifetime.  Update all users.
-
-2012-09-26  Colin Watson  <cjwatson@ubuntu.com>
-
-       * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
-       Reported by: Daniel Kahn Gillmor.  Fixes Debian bug #688799.
-
-2012-09-26  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
-       errors from grub-probe to /dev/null, not stdout.
-
-2012-09-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
-       sector 1.
-
-2012-09-24  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-install.in: Make the error message if $source_dir
-       doesn't exist more useful.
-
-2012-09-22  Colin Watson  <cjwatson@ubuntu.com>
-
-       Fix grub-emu build on FreeBSD.
-
-       * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
-       * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
-       headers on Linux.
-       (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
-       implementation is currently Linux-specific.
-       * util/getroot.c (exec_pipe): Define only on Linux or when either
-       libzfs or libnvpair is unavailable.
-       (find_root_devices_from_poolname): Remove unused path variable.
-
-2012-09-19  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
-       incorrect off-by-one fix from 2011-02-12.  A 62-sector core image
-       should fit before end == 63.
-
-2012-09-19  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-setup.c (write_rootdev): Remove unused core_img
-       parameter.  Update all callers.
-       (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
-       'gcc -Wunused-but-set-variable'.  Remove unnecessary nested #ifdef
-       GRUB_SETUP_BIOS.
-
-2012-09-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkconfig_lib.in (grub_tab): New variable.
-       (grub_add_tab): New function.
-       * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
-       * util/grub.d/10_illumos.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/10_xnu.in: Likewise.
-       * util/grub.d/20_linux_xen.in: Likewise.
-       * util/grub.d/30_os-prober.in: Likewise.
-
-2012-09-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
-       GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
-       * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
-       ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
-       * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
-       ieee1275-nocursor.
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
-       GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
-
-2012-09-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
-       le-conversion.
-       Reported by: BURETTE, Bernard.
-
-2012-09-17  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
-       from comment.
-
-2012-09-14  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
-       IEEE1275 machines.  Fixes powerpc-emu compilation.
-       * include/grub/terminfo.h: Likewise.
-
-2012-09-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
-       a const pointer.
-       * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
-       const pointer.
-       (efiemu_set_variable): Make vendor_guid a const pointer.
-
-2012-09-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't require grub-mkconfig_lib to generate manpages for programs.
-
-       * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
-       dependencies, don't add grub-mkconfig_lib.
-       (program): Pass empty adddeps.
-       (script): Pass grub-mkconfig_lib as adddeps.
-
-2012-09-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
-       * util/getroot.c (grub_find_device): Likewise.
-       (get_mdadm_uuid): Likewise.
-       (grub_util_is_imsm): Likewise.
-       (grub_util_pull_device): Likewise.
-       * util/grub-probe.c (probe): Likewise.
-
-2012-09-10  Benoit Gschwind <gschwind>
-
-       * grub-core/loader/efi/appleloader.c (devpath_8): New var.
-       (devs): Add devpath_8.
-
-2012-09-08  Peter Jones <pjones@redhat.com>
-
-       * grub-core/Makefile.core.def (efifwsetup): New module.
-       * grub-core/commands/efi/efifwsetup.c: New file.
-       * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
-       * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
-       New define.
-       * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
-
-2012-09-05  Jiri Slaby <jslaby@suse.cz>
-
-       * configure.ac: Add SuSe path.
-
-2012-09-05  Colin Watson  <cjwatson@ubuntu.com>
-
-       * NEWS: Fix typo.
-
-2012-09-05  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/import_gcry.py: Sort cipher_files, to make build system
-       generation more deterministic.
-
-2012-09-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
-       * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
-       (grub_set_datetime): Likewise.
-
-2012-09-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/yylex.l: Ignore unused-function and sign-compare
-       warnings.
-
-2012-09-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
-
-2012-09-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
-
-2012-09-04  Colin Watson  <cjwatson@ubuntu.com>
-
-       * Makefile.am (EXTRA_DIST): Add linguas.sh.  It's only strictly
-       required for checkouts from bzr, but it may be useful for users or
-       distributors wishing to update translations against a tarball
-       distribution, and it can be helpful for the tarball to be a superset
-       of what's in bzr.
-
-2012-09-04  Colin Watson  <cjwatson@ubuntu.com>
-
-       * Makefile.am (EXTRA_DIST): Add
-       grub-core/tests/boot/linux.init-mips.S,
-       grub-core/tests/boot/linux.init-ppc.S, and
-       grub-core/tests/boot/linux-ppc.cfg.
-
-2012-09-04  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/mmap/mips/loongson: Remove empty directory.
-
-2012-09-04  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
-       gone.
-
-2012-09-04  Colin Watson  <cjwatson@ubuntu.com>
-
-       * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
-       grub-sparc64-setup.
-
-2012-08-05  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * configure.ac: Strengthen the test for working -nostdinc -isystem.
-
-2012-07-31  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * po/POTFILES.in: Regenerated.
-
-2012-07-31  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
-       (NetBSD): New subsection.
-
-2012-07-22  Ales Nesrsta  <starous@volny.cz>
-
-       * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
-       * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
-
-2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
-       * util/grub.d/10_hurd.in: Add missing quoting.
-       * util/grub.d/10_illumos.in: Likewise.
-       * util/grub.d/10_kfreebsd.in: Likewise.
-       * util/grub.d/10_linux.in: Likewise.
-       * util/grub.d/20_linux_xen.in: Likewise.
-
-2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       New command `lsefi'.
-
-       * grub-core/Makefile.core.def (lsefi): New module.
-       * grub-core/commands/efi/lsefi.c: New file.
-       * include/grub/efi/api.h: Add more GUIDs.
-
-2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
-       (grub_bsd_elf32_hook): Likewise.
-       (grub_bsd_elf64_size_hook): Likewise.
-       (grub_bsd_elf64_hook): Likewise.
-       (grub_bsd_load_elf): Likewise.
-
-2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
-       if hash function is unavailable.
-       (dec_stream_header): Likewise.
-
-2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
-       filter state.
-
-2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix coreboot compilation.
-
-       * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
-       (grub_vga_text_init_real): ... this.
-       (grub_vga_text_fini): Rename to ...
-       (grub_vga_text_fini_real): ... this.
-
-2012-07-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
-
-2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/legacy_parse.c: Support clear and testload.
-
-2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/efi/serial.c: Support 1.5 stop bits.
-
-2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ext2.c: Experimental support for 64-bit.
-
-2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/tftp.c (ack): Fix endianness problem.
-       (tftp_receive): Likewise.
-       Reported by: Michael Davidsaver.
-
-2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * gentpl.py: Make mans depend on grub-mkconfig_lib.
-
-2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
-       * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
-       * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
-
-2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
-       efi_mmap_size.
-       Reported by: Stuart Hayes.
-
-2012-06-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
-
-       * grub-core/Makefile.core.def (mda_text): New module.
-       * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
-       * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
-       * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
-       * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
-       here.
-       * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
-       * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
-       * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
-       here.
-       * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
-       to ..
-       * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
-       ... here
-       * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
-       here.
-       * grub-core/term/i386/vga_common.c: Removed.
-       * include/grub/i386/vga_common.h: Likewise.
-       * include/grub/vga.h (grub_vga_cr_bw_write): New function.
-       (grub_vga_cr_bw_read): Likewise.
-       * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
-       (GRUB_VGA_IO_CR_BW_DATA): Likewise.
-       * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
-       grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
-       grub_vga_cr_read/grub_vga_cr_write.
-       (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
-
-2012-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Bump version to 2.00.
-       * grub-core/normal/main.c (features): Add feature_200_final.
-
-2012-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
-2012-06-27  Jordan Uggla  <jordan.uggla@gmail.com>
-
-       * NEWS: Fix unclarity and language mistakes.
-
-2012-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
-       additional size to 3 pages.
-       Reported by: Stuart Hayes.
-
-2012-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * NEWS: Add 2.00 entry.
-
-2012-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/wildcard.c (check_file): Fix bad logic.
-       put explicit "/" for empty path.
-       (wildcard_expand): Improve dprintf.
-
-2012-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
-       it's equal to currnode. This can happen with "" symlink.
-
-2012-06-27  Yves Blusseau <blusseau@zetam.org>
-
-       * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
-       echo shell command by printf command.
-
-2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/arc/console.c (grub_console_init_output): Add one since
-       the value returned by firmware is the maximal position, not diumension.
-       (grub_terminfo_output_state): Use a more sane fallback.
-
-2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
-
-2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
-       frequency to 150 MHz.
-
-2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Apple fixes.
-
-       * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
-       __APPLE_
-       * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
-       definition.
-       * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
-
-2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle slash in HFS label.
-
-       * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
-       (grub_hfs_dir): Tanslate slash.
-       (grub_hfs_label): Don't translate slash.
-
-2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/ls.c (grub_ls_list_devices): Disable
-       network protocol listing since it introduces problematic dependency on
-       net module.
-
-2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
-
-2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Init video early on yeeloong to avoid being rebooted by watchdog.
-
-       * grub-core/Makefile.am (gensm712): New target.
-       (sm712_start.S): Likewise.
-       (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
-       * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
-       * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
-       description.
-       * include/grub/vga.h: Move registry definitions to...
-       * include/grub/vgaregs.h: ... here.
-
-2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
-       signedness.
-
-2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
-       platforms with firmware disk drivers in the core.
-
-2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
-       informative verbose message.
-       (read_lv): Handle 64-bit segment size.
-
-2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
-
-2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
-       character but still remove trainling spaces.
-       (grub_fat_label): Ignore archive flag.
-
-2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
-       cast between linux_kernel_header and linux_kernel_params.
-
-2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
-       type for size.
-       (grub_raid6_recover_func_t): Likewise.
-       * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
-       * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
-
-2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
-
-2012-06-25  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       Fix overflow.
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
-       [__NetBSD__]: Add explicit cast before bitshift.
-
-2012-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Bump to 2.00~rc1.
-
-2012-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
-       half of $a0.
-
-2012-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
-2012-06-23  Jordan Uggla  <jordan.uggla@gmail.com>
-
-       * docs/grub.texi: Fix search syntax.
-       (Multi-boot manual config): Put msdos rather than GPT example.
-       Grammar corrections.
-
-2012-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
-
-2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
-
-2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
-       message on double free. Put the value of magic in case of mismatch.
-
-2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Speed-up video on yeeloong.
-
-       * grub-core/video/sm712.c (framebuffer): Remove render_target and
-       add cached_ptr.
-       (grub_video_sm712_video_fini): Unmap cached_ptr.
-       (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
-       (grub_video_sm712_set_active_render_target): Removed.
-       (grub_video_adapter): Use grub_video_fb_set_active_render_target.
-       (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
-       sync caches.
-
-2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Avoid flushing the same line multiple times on loongson.
-
-       * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
-       Step in 32 bytes and not 1 byte.
-       * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
-       Likewise.
-
-2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
-       subvolumes.
-
-2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement flow control for http.
-
-       * grub-core/net/http.c (parse_line): Handle response 206.
-       (http_receive): Stall if too many packets are in the queue.
-       (http_establish): Fix range header.
-       (http_seek): Fix double free.
-       (http_close): Likewise.
-       (http_packets_pulled): New function.
-       (grub_http_protocol): Set http_seek
-       * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
-       (ack_real): Set window depending on i_stall.
-       (grub_net_send_tcp_packet): Likewise.
-       (grub_net_tcp_stall): New function.
-       (grub_net_tcp_unstall): Likewise.
-       * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
-       (grub_net_tcp_unstall): Likewise.
-
-2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/tftp.c: Decrease stall to 50 packets.
-
-2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
-
-2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/util/grub-shell.in: Fix a typo.
-
-2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement flow control for tftp.
-
-       * grub-core/net/net.c (receive_packets): Decrease the stop to 10
-       packets but stop only if stop condition is satisfied.
-       (grub_net_fs_read_real): Call packets_pulled after real read. Use
-       `stall' instead of `eof' as stop condition.
-       * grub-core/net/http.c (parse_line): Set `stall' on EOF.
-       (http_err): Likewise.
-       * grub-core/net/tftp.c (ack): Replace the first argument with data
-       instead of socket.
-       (tftp_receive): Stall if too many packets are in wait queue.
-       (tftp_packets_pulled): New function.
-       (grub_tftp_protocol): Set packets_pulled.
-       * include/grub/net.h (grub_net_packets): New field count.
-       (grub_net_put_packet): Increment count.
-       (grub_net_remove_packet): Likewise.
-       (grub_net_app_protocol): New field `packets_pulled'.
-       (grub_net): New field `stall'.
-
-2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
-       sync part to handle them.
-
-2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
-       * grub-core/net/drivers/ieee1275/ofnet.c
-       (grub_ieee1275_net_config_real): Likewise.
-
-2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
-       the direct route for server/gateway.
-
-2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
-       IP address to server name since we may not hame the DNS.
-
-2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
-       freeing random buffer on failure.
-       * grub-core/net/net.c (grub_net_resolve_address): Likewise.
-
-2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
-
-2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
-       reserved bytes.
-       * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
-       * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
-       Handle malloc error correctly.
-
-2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
-       blocks.
-
-2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
-       increment.
-
-2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
-       none is explicitly specified.
-
-2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
-       while reallocating.
-
-2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Respect netmask from bootp/dhcp.
-
-       * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
-       (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
-       * grub-core/net/net.c (grub_net_add_addr): Split creating local route
-       into ...
-       (grub_net_add_ipv4_local): ... this.
-       (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
-       * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
-       (grub_net_add_ipv4_local): New proto.
-
-2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
-       determining EFI memory map size.
-
-2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
-
-2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
-       when looking for partition separator.
-
-2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
-       Escape commas.
-
-2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Restructure FAT driver to avoid hook in label reading as it hits a
-       GCC bug.
-
-       * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
-       * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
-       (grub_fat_iterate_dir): Split into ...
-       (grub_fat_iterate_init): ... this, ...
-       (grub_fat_iterate_fini): ... this, ...
-       (grub_fat_iterate_dir_next): ... and this. All users updated.
-
-2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
-       GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
-       * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
-       GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
-       * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
-       New fields last_key and last_key_time.
-       * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
-       extended key-esc into extended key-extended key.
-
-2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Avoid unnecessary memcpy of whole video buffer.
-
-       * grub-core/video/fb/video_fb.c (dirty): New struct.
-       (framebuffer): Add members current_dirty and previous_dirty.
-       (dirty): New function.
-       (grub_video_fb_fill_rect): Update dirty.
-       (common_blitter): Likewise.
-       (grub_video_fb_scroll): Likewise.
-       (doublebuf_blit_update_screen): Copy only dirty part.
-       (doublebuf_pageflipping_update_screen): Likewise.
-       (grub_video_fb_doublebuf_blit_init): Init dirty.
-       (doublebuf_pageflipping_init): Likewise.
-       (grub_video_fb_setup): Likewise.
-
-2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
-       poll rate.
-
-2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix wildcard regexp dot and other special characters handling.
-       Reported by: Robert Mabee.
-
-       * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
-       (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
-       (split_path): Trigger expansion on '?'.
-       (unescape): New function.
-       (wildcard_expand): Unescape parts copied without globbing.
-       * grub-core/script/execute.c (wildcard_escape): Escape '?'.
-       (grub_script_arglist_to_argv): Don't unescape expansions.
-
-2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/net.h (grub_net_card): New member txbufsize.
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
-       GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
-       GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
-       * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
-       txbufsize.
-       * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
-       compatible property to check for macs. Set
-       GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
-       GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
-       * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
-       if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
-       (send_card_buffer): Use txbuf.
-       (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
-       nested function out of the parent while on it.
-
-2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
-       presence check.
-       (grub_ieee1275_net_config_real): Fix config pointer.
-
-2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
-       filename parsing to non-block devices.
-
-2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/device.c (grub_device_open): Remove dead code.
-
-2012-06-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
-       All users updated.
-
-2012-06-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
-       UUID search command even if hints probing failed.
-
-2012-06-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/POTFILES.in: Regenerated.
-
-2012-06-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Speed-up video on fuloong.
-
-       * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
-       New function.
-       (grub_pci_device_unmap_range): Handle non-cached address.
-       * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
-       add direct_ptr.
-       (grub_video_sis315pro_video_fini): Unmap direct_ptr.
-       (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
-       (grub_video_sis315pro_set_active_render_target): Removed.
-       (grub_video_sis315pro_get_info_and_fini): Use uncached address.
-       (grub_video_adapter): Use grub_video_fb_set_active_render_target.
-       (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
-       sync caches.
-       * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
-       New proto.
-
-2012-06-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Multi-boot manual config): New section.
-
-2012-06-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Avoid slow read-back from VRAM.
-
-       * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
-       Move from here ...
-       * grub-core/video/fb/video_fb.c
-       (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
-       * grub-core/video/fb/video_fb.c (framebuf_t): New type.
-       (front_target): Remove front_target. Add pages.
-       (grub_video_fb_init): Skip setting front_pages.
-       (grub_video_fb_fini): Likewise.
-       (doublebuf_blit_update_screen): Use pages.
-       (grub_video_fb_doublebuf_blit_init): Likewise.
-       (doublebuf_pageflipping_init): Allocate offscreen buffer.
-       (doublebuf_pageflipping_update_screen): Use offscreen buffer.
-       (grub_video_fb_setup): Prefer doublebuffing.
-
-2012-06-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
-       gzio.
-
-2012-06-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add loongson tests.
-
-       * tests/util/grub-shell.in: Handle loongson.
-       * tests/partmap_test.in: Add loongson to the list of platform using ATA
-       drivers.
-       * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
-       Reboot instead of shutdown if REBOOT is defined.
-
-2012-06-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
-       sized ports since unlike on real hardware qemu supports only 32-bit
-       regs.
-
-2012-06-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.util.def (grub-mkrescue): Enable on loongson.
-       * util/grub-mkrescue.in: Handle loongson.
-
-2012-06-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
-       Set is_part appropriately.
-       (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
-       names. Canonicalize partition without full disk.
-
-2012-06-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Revert usb-quiesce since it's wrong.
-
-       * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
-       (grub_ofdisk_init): Don't do quiesce.
-
-2012-06-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
-       PowerMac workaround to Xserves as well.
-       Information supplied by: Benjamin Herrenschmidt.
-
-2012-06-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't assume that beginning address is also the entry point on ppc.
-
-       * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
-       (grub_linux_boot): Use linux_entry.
-       (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
-       (grub_linux_load64): Likewise.
-
-2012-06-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Fix cross-disk check on non-PreP machines.
-
-2012-06-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
-       needlessly lose the console.
-
-2012-06-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
-       space.
-
-2012-06-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove non-functional EFI grub_get_rtc. Put a better fatal message
-       than current grub_get_rtc() not implemented when booted with
-       coreboot without TSC.
-
-       * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
-       Add machine/time.h to kernel headers on loongson.
-       * grub-core/Makefile.core.def (kernel): Remove
-       kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
-       * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
-       (grub_get_rtc): Likewise.
-       * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
-       * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
-       * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
-       * grub-core/kern/i386/tsc.c (grub_tsc_init)
-       [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
-       rather than installing known non-working time source.
-       * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
-       * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
-       * include/grub/time.h: Don't include machine/time.h.
-       * include/grub/efi/time.h: Removed.
-       * include/grub/i386/efi/time.h: Likewise.
-       * include/grub/i386/ieee1275/time.h: Likewise.
-       * include/grub/powerpc/ieee1275/time.h: Likewise.
-       * include/grub/sparc64/ieee1275/time.h: Likewise.
-       * include/grub/x86_64/efi/time.h: Likewise.
-
-2012-06-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove dot on i and j when combining with above diacritics.
-
-       * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
-       value.
-       (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
-       * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
-       with dotless variants when any combining above is present.
-
-2012-06-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/grub_script_expansion.in: Explicitly tell grep that we handle
-       text and not binary.
-
-2012-06-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Stop polling as soon as we have the packet we were waiting for.
-
-       * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
-       All users updated.
-       * grub-core/net/arp.c (have_pending): New var.
-       (pending_req): Likewise.
-       (grub_net_arp_send_request): Fill pending_req and use have_pending as
-       stop indicator.
-       (grub_net_arp_receive): Set have_pending.
-       * grub-core/net/dns.c (recv_data): New field stop.
-       (recv_hook): Set stop.
-       (grub_net_dns_lookup): Init stop and use as stop condition.
-       * grub-core/net/http.c (http_establish): Use headers_recv as stop
-       condition.
-       * grub-core/net/net.c (grub_net_poll_cards): New argument
-       stop_condition. Stop when it goes true.
-       * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
-       indicator.
-       * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
-
-2012-06-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Keep TX and RX buffers on EFI rather than always allocate new ones.
-
-       * include/grub/net.h (grub_net_card_driver): Allow driver to modify
-       card. All users updated.
-       (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
-       * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
-       (get_card_packet): Likewise.
-       (grub_efinet_findcards): Init new fields.
-
-2012-06-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
-       compilation error on sparc64.
-
-2012-06-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use ITC on IA64 rather than broken routine based on daytime.
-
-       * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
-       ia64.
-       (grub_get_rtc) [__ia64__]: Likewise.
-       * grub-core/kern/ia64/efi/init.c (divisor): New variable.
-       (get_itc): New function.
-       (grub_rtc_get_time_ms): Likewise.
-       (grub_machine_init): Calibrate ITC.
-       * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
-       Keep only on non-ia64. Don't export since it's broken and used only
-       if TSC is unavailable.
-
-2012-06-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
-       even if it's used.
-       (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
-       Skip if parent is unused.
-
-2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
-
-2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix wildcard escaping.
-
-       * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
-       * grub-core/script/execute.c (wildcard_escape): .. to here.
-       Don't escape dot.
-       * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
-       * grub-core/script/execute.c (wildcard_unescape): .. to here.
-       Don't escape dot.
-       * grub-core/script/execute.c (gettext_append): Always escape.
-       (grub_script_arglist_to_argv): Always handle escaping/unescaping.
-       * grub-core/script/yylex.l: Don't cut away the escaping.
-       * tests/grub_script_echo1.in: Add tests with wildcard.
-
-2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
-       (ftdi_hw_configure): Likewise.
-       * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
-       define.
-       (real_config): Handle 1.5 stop bits.
-       (pl2303_hw_configure): Likewise.
-
-2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.am: Add ppc linux bootcheck.
-       * grub-core/tests/boot/linux-ppc.cfg: New file.
-       * grub-core/tests/boot/linux.init-ppc.S: Likewise.
-
-2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/grub_script_expansion.in: Skip network protocols.
-
-2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
-
-2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
-       --rom-directory.
-       Add -graft-points.
-
-2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       ESCC serial driver for conducting sautomated tests in qemu.
-       Not tested on real hardware.
-
-       * include/grub/serial.h (grub_serial_port): New field escc_desc.
-       * grub-core/term/ieee1275/escc.c: New file.
-       * grub-core/Makefile.core.def (escc): New module.
-
-2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
-       invalid on error.
-       (serial_hw_fetch): Don't read invalid handle.
-       (serial_hw_put): Don't write into invalid handle.
-
-2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add a 1.5 stop bits value.
-
-       * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
-       * include/grub/serial.h (grub_serial_stop_bits_t): Add
-       GRUB_SERIAL_STOP_BITS_1_5.
-
-2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/wildcard.c (wildcard_expand): Set default return
-       value rather than let it uninited.
-
-2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/wildcard.c (+check_file): New function.
-       (wildcard_expand): Don't expand to non-existing files, expand with
-       suffix and not attempt to expand if not needed.
-
-2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
-       out of partitions containing other partitions.
-
-2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
-       on some qemu versions with GRUB.
-
-       * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
-       define.
-       (grub_openbsd_bootarg_pcibios): New struct.
-       * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
-       Add PCIINFO.
-
-2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/util/grub-shell.in: Trim firmware output on EFI.
-
-2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (vga_text): Disable on muliboot
-       and coreboot since it's already in kernel.
-
-2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
-       * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
-       to here. New return value start. All users updated.
-       Recursively scan linear mappings.
-       * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
-       proto.
-       * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
-       Use grub_util_get_dm_node_linear_info.
-       * util/getroot.c (convert_system_partition_to_system_disk): Use
-       grub_util_info rather than grub_dprintf.
-       (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
-
-2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
-
-       * Makefile.am: Remove GRUB_QEMU_OPTS handling.
-       * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
-
-2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/types.h (grub_set_unaligned64): New function.
-       * util/grub-setup.c (write_rootdev): Use unaligned access functions.
-       (setup): Likewise.
-
-2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
-       (grub_ofdisk_fini): Quiesce USB devices.
-
-2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
-       caches.
-
-2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
-
-2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/pata.c (grub_pata_pio_read)
-       [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
-       (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
-
-2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Extend automated tests to qemu-mips.
-
-       * Makefile.am: reorganise tests and enable qemu-mips.
-       * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
-       * grub-core/tests/boot/linux.init-mips.S: New file.
-       * tests/partmap_test.in: Handle ata0 disks.
-       * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
-       non-pc i386.
-
-2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
-       ia64.
-       * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
-       quotes while on it.
-
-2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
-       (grub_halt): Likewise.
-       * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
-
-2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/serial.c (grub_serial_register)
-       [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
-       the behaviour in line with x86 platforms.
-
-2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
-       (grub_ata_strncpy): Likewise.
-       (grub_ata_identify): Add missing byteswaps.
-
-2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
-       byte-swap.
-       (screen_read_char): Likewise.
-       (grub_vga_text_cls): Likewise.
-
-2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
-       filenames.
-       (make_file_path): Likewise.
-
-2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
-       machines.
-       Tested by: Paulo Flabiano Smorigo.
-       Crucial information about API supplied by: Coleen <Last name unknown>.
-       Reviewed by: Coleen <Last name unknown>.
-
-2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c: Disable -Wcast-align.
-
-2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
-       as they are fatal.
-
-2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
-
-2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-probe.c (escape_of_path): Fix double free.
-
-2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/videoinfo.c (hook): Show pitch.
-
-2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/20_linux_xen.in: Skip xen-syms.
-
-2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
-       (probe): Add ieee1275 to OFW devices.
-
-2012-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
-
-2012-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle IBM OFW path.
-
-       * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
-       available.
-       (of_path_of_scsi): Handle vdevice.
-
-2012-06-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
-       Allocate in multiples of 16 to avoid adding a few bytes free region the
-       windows bugs upon.
-
-2012-06-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
-       Allocate in multiples of 16 to avoid adding a few bytes free region the
-       windows bugs upon.
-       * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
-
-2012-06-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
-       resolutions.
-       * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
-       * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
-
-2012-06-02  Isao Shimizu  <isaoshimizu@gmail.com>
-
-       * util/ieee1275/ofpath.c (check_sas): Fix sas path.
-
-2012-06-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
-       resulted in \\ at the end of the line.
-
-2012-06-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
-       (grub_parser_cmdline_state): Likewise.
-       (grub_parser_split_cmdline): Likewise.
-
-2012-06-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_guess_root_devices): Don't canonicalise
-       /dev/root and /dev/dm-*.
-
-2012-06-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
-       fix partially stale display.
-
-2012-06-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu_entry.c (backward_char): Use right line for
-       substraction.
-
-2012-06-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
-       Fix MBR remapping workaround.
-       (grub_util_biosdisk_read) [__linux__]: Likewise.
-
-2012-06-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Check for ieee1275 and not ieee1276.
-
-2012-05-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Bump to beta6.
-
-2012-05-31  Christer Weinigel <christer@weinigel.se>
-
-       * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
-
-2012-05-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
-       (grub_cmd_linux): Likewise.
-
-2012-05-31  Christer Weinigel <christer@weinigel.se>
-
-       Fix EHCI low-speed.
-
-       * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
-       (GRUB_EHCI_MULT_TWO): Likewise.
-       (GRUB_EHCI_MULT_THREE): Likewise.
-       (GRUB_EHCI_CMASK_MASK): New enum value.
-       (GRUB_EHCI_SMASK_MASK): Likewise.
-       (GRUB_EHCI_CMASK_OFF): Likewise.
-       (GRUB_EHCI_SMASK_OFF): Likewise.
-       (grub_ehci_pci_iter): Enable periodic schedule.
-       (grub_ehci_parse_notrun): Likewise.
-       (grub_ehci_restore_hw): Likewise.
-       (grub_ehci_setup_qh): Set flags for low speed transfers.
-       (grub_ehci_find_qh): Use periodic list for low speed.
-       (grub_ehci_setup_transfer): Check periodic queue as well.
-       (grub_ehci_check_transfer): Likewise.
-       (grub_ehci_cancel_transfer): Cancel periodic transfer.
-
-2012-05-31  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
-
-       * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
-       parameter is used.
-
-2012-05-31  Peter Jones <pjones@redhat.com>
-
-       * include/grub/i386/linux.h (linux_kernel_params): Add v206.
-       * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
-       (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
-
-2012-05-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
-       uninited variable. Allocate at least setup_sects.
-
-2012-05-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix handling of EFI with big memory maps.
-
-       * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
-       (real_mode_mem): Likewise.
-       (real_mode_target): Likewise.
-       (real_mode_pages): Likewise.
-       (prot_mode_pages): Likewise.
-       (linux_params): New var.
-       (linux_cmdline): Likewise.
-       (free_pages): Don't set real mode variables.
-       (allocate_pages): Don't allocate real mode memory.
-       (grub_e820_add_region): Remove the limit.
-       (grub_linux_boot): Allocate and copy real mode memory.
-       (grub_linux_unload): Free linux_cmdline.
-       (grub_cmd_linux): Use temporary storage for parameters.
-       (grub_cmd_initrd): Likewise.
-       * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
-       (linux_kernel_params): Make it 1K big.
-
-2012-05-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.util.def: Remove -Wno-format.
-       * grub-core/Makefile.core.def: Likewise.
-
-2012-05-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/cmp_unit_test.c: Add missing failure message.
-       * tests/example_unit_test.c: Likewise.
-       * tests/printf_unit_test.c: Likewise.
-
-2012-05-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
-       relaxation of protective MBR requirements.
-
-2012-05-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add condition for COND_HOST_XNU.
-       * Makefile.util.def (10_xnu): New script.
-       * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
-
-2012-05-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
-       objconv bug.
-
-2012-05-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
-       Binary on other platforms stays identical.
-
-2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
-       Apple.
-
-2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
-
-2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
-       rather than defining size_t ourselves to avoid conflict.
-
-2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
-       initialisation to avoid __bzero reference.
-
-2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
-       version.
-       * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
-       * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
-       * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
-       * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
-       * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
-
-2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
-       * grub-core/kern/misc.c: Likewise.
-       * grub-core/loader/i386/xnu.c: Likewise.
-       * include/grub/i386/tsc.h: Likewise.
-       * include/grub/symbol.h: Likewise.
-
-2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/list.h (grub_bad_type_cast_real): Remove return.
-       * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
-       on older compiler.
-
-2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
-       Implement Apple flavour.
-       (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
-
-2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
-       (memmove) [__APPLE__]: Likewise.
-       (memcpy) [__APPLE__]: Likewise.
-       (memset) [__APPLE__]: Likewise.
-       * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
-       (memmove) [__APPLE__]: Likewise.
-       (memcpy) [__APPLE__]: Likewise.
-       (memset) [__APPLE__]: Likewise.
-
-2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
-       dependency discard.
-
-2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/main.c (read_config_file): Provide config_file and
-       config_directory.
-       * util/grub.d/41_custom.in: Use config_directoy when available.
-
-2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
-       (grub_bfs_dir): Likewise.
-
-2012-05-27  Peter Jones <pjones@redhat.com>
-
-       The old code gives arguments to a printf function which can't work
-       correctly, and the compiler complains.
-
-       * grub-core/tests/example_functional_test.c (example_test): Add
-       missing text.
-       * grub-core/tests/lib/test.c (add_failure): Rewrite.
-       * include/grub/test.h (grub_test_assert_helper): New declaration.
-       (grub_test_assert): Use grub_test_assert_helper.
-
-2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (example_functional_test): Rename to ...
-       (exfctest): ... this to avoid overlong filenames.
-       All users updated.
-
-2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle "." and ".." on squashfs.
-
-       * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
-       Make inode numbers into stack.
-       (grub_squash_read_symlink): Use stack.
-       (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
-       (make_root_node): Fill stack.
-       (grub_squash_open): Use stack.
-
-2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
-       freeing.
-
-2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
-       stderr on test calls.
-
-2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
-
-2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
-
-2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
-       "..".
-
-2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
-       (grub_hfsplus_iterate_dir): Add "." and "..".
-
-2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/cpio.c (canonicalize): Handle "..".
-       (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
-
-2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
-       (find_path): Handle "." and "..".
-
-2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
-       (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
-       (grub_affs_iterate_dir): Handle hardlinks.
-
-2012-05-26  Matthew Garrett  <mjg@redhat.com>
-
-       * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
-       (grub_efi_console_fini): Likewise.
-       * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
-       (grub_video_gop_fill_mode_info): Rename to ...
-       (grub_video_gop_fill_real_mode_info): ... this.
-       (grub_video_gop_fill_mode_info): New function.
-       (grub_video_gop_setup): Setup double framebuffer.
-       (grub_video_gop_get_info_and_fini): Use original framebuffer.
-       Free offscreen.
-       (grub_video_gop_swap_buffers): Copy framebuffer.
-       (grub_video_gop_fini): Free offscreen buffer.
-       * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
-       New enum.
-       (grub_efi_gop_blt_pixel): New struct.
-
-2012-05-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * gentpl.py: Remove error disabling for objconv.
-
-2012-05-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Remove -Wunitialized as it's not available on older
-       compilers.
-
-2012-05-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix extent overflow comparator.
-
-       * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
-       (grub_hfsplus_read_block): Set type.
-       (grub_hfsplus_cmp_extkey): Compare type.
-
-2012-05-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
-
-2012-05-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
-       than 0.
-
-2012-05-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
-       (dejavu_bold_14.pf2): New target.
-
-2012-05-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Fix djvu font detection.
-
-2012-05-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
-       ext* instead of ext2.
-
-2012-05-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
-       name with \0.
-
-2012-05-22  Jordan Uggla  <jordan.uggla@gmail.com>
-
-       * docs/grub-dev.texi: Remove dot from .png.
-
-2012-05-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
-       protective entry in any slot.
-       * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
-       if protective entry is found in any slot.
-
-       Protective entry in non-first slot make no sense but is a widespread
-       brain damage.
-
-2012-05-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
-
-2012-05-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
-       with old reiserfs.
-       (grub_reiserfs_open): Don't free root.
-
-2012-05-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
-       after freeing for safety.
-
-2012-05-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
-       Reported by: Jordan Uggla.
-
-2012-05-21  Jordan Uggla  <jordan.uggla@gmail.com>
-
-       * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
-       actual implementation. Specifically, clarify that the grub menu will
-       be displayed for GRUB_TIMOUT seconds after the hidden timeout has
-       passed.
-
-2012-05-21  Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
-       * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
-       of r0.
-
-2012-05-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove unjustified hard dependency of normal.mod on gfxterm.
-
-       * include/grub/term.h (grub_term_output): New member fullscreen.
-       * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
-       * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
-       (grub_gfxterm): Set .fullscreen.
-       * grub-core/normal/menu.c (menu_init): Use fullscreen.
-       * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
-
-2012-05-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Internationalisation/Filesystems): Add precisions
-       mentioning possible problems with non-ASCII (non-compliant) ISOs.
-       Mention case-insensitive AFFS, SFS and JFS.
-
-2012-05-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
-
-2012-05-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
-       a bad FS.
-
-2012-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
-       ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
-
-2012-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
-       (grub_jfs_mount): Fill caseins.
-       (grub_jfs_find_file): Respect caseins.
-
-2012-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
-       through UTF-16.
-
-2012-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
-       New argument origpath. All users updated.
-
-2012-05-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c (read_data): Prevent overflow.
-       (read_attr): Ensure that we read start of possibly compressed block.
-
-2012-05-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
-       (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
-       All users updated.
-
-2012-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
-       dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
-       (dejavu.pf2): Replace with ...
-       (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
-       this.
-
-2012-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/20_linux_xen.in: Add missing line.
-
-2012-05-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
-       (GRUB_UTF16_LOWER_SURROGATE): Likewise.
-       (grub_utf16_to_utf8): Likewise.
-
-2012-05-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
-       GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
-       * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
-       GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
-       GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
-
-2012-05-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
-       a bad FS.
-
-2012-05-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/udf.c (read_string): Bail out on size=0.
-       (grub_udf_read_symlink): Handle read_string failure.
-
-2012-05-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
-       comment.
-
-2012-05-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix handling of UDF symlinks.
-
-       * grub-core/fs/udf.c (read_string): New argument outbuf.
-       All users updated.
-       (grub_ufs_read_symlink): Rename to ...
-       (grub_udf_read_symlink): ... this. All users updated.
-       Handle symlinks with more than one component.
-
-2012-05-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
-       symlinks. Replace leading colon with a slash.
-
-2012-05-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
-       filename.
-
-2012-05-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
-       match in inner node.
-
-2012-05-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
-       * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
-       * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
-       * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
-       * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
-       * grub-core/fs/minix.c (grub_minix_mount): Likewise.
-       * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
-       * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
-       * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
-
-2012-05-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use grub-probe and not cmp to check that disk is empty.
-
-       * util/grub-install.in: Use grub-probe for zero-check.
-       * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
-       (probe): Handle PRINT_ZERO_CHECK.
-       (argp_parser): Handle -t zero_check.
-
-2012-05-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Flush block cache on adding disk to device map.
-
-       * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
-       (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
-       adding.
-       (read_device_map): Likewise.
-       (open_device): Flush on opening.
-
-2012-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
-       (handle_symlink): Fix off-by-one error.
-       Canonicalize the target.
-       (grub_cpio_dir): Canonicalize the name.
-       Fix memory leak.
-       Set directory.
-       (grub_cpio_open): Canonicalize the name.
-
-2012-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
-       handling.
-
-2012-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
-       * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
-
-2012-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-menulst2cfg.c (main): Check return value of fwrite.
-       * util/grub-mklayout.c (write_file): Likewise. New argument fname.
-       All users updated.
-
-2012-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
-       counterpart.
-
-2012-05-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix UFS1 big file support.
-
-       * grub-core/fs/ufs.c (INODE): Removed.
-       (INODE_SIZE): Always use 64-bit byte-swap since size field is always
-       64-bit.
-       (INODE_MODE): Simplify.
-       (grub_ufs_inode): Use uint64_t for size and not int64_t.
-       (grub_ufs_lookup_symlink): Don't use INODE.
-
-2012-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix minixfs with non-power-of-two blocks since it's supported by minix.
-
-       * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
-       (grub_minix_data): Replace log_block_size with block_size.
-       (grub_minix_read_file): Use block_size but avoid 64-bit division.
-       (grub_minix_mount): Fill block_size.
-
-2012-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Bump to beta5.
-
-2012-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix wrapped HFS+ handling.
-
-       * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
-       blocks_start. All users updated.
-       * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
-       wrapping offset.
-       (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
-
-2012-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix long symlinks on reiserfs.
-
-       * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
-       (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
-       (grub_reiserfs_iterate_dir): Save size for non-directories.
-       (grub_reiserfs_open): Don't reread stat block as we already know the
-       size.
-       (grub_reiserfs_read): Split into...
-       (grub_reiserfs_read_real): ... and ...
-       (grub_reiserfs_read): ...this.
-
-2012-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix non-indexed JFS.
-
-       * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
-       (grub_jfs_data): New field namecomponentlen.
-       (grub_jfs_mount): Fill namecomponentlen.
-       (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
-
-2012-05-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/yylex.l: Ugly fix for "\\\n ".
-       * tests/grub_script_echo1.in: Add tests.
-
-2012-05-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Ignore empty devicetree directory.
-
-2012-05-08  Bean  <bean123ch@gmail.com>
-
-       * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
-       All users updated.
-       (free_rsm): Free header as well.
-       (free_old_fragments): Fix memory leak.
-       * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
-       * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
-       (destroy_pq): Likewise.
-       * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
-
-2012-05-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
-       resulting hash as a precaution.
-
-2012-05-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
-       '_' in variable names.
-       * grub-core/net/net.c (grub_net_network_level_interface_register):
-       Likewise.
-
-2012-05-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix AFFS with non-512B blocks.
-
-       * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
-       (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
-       (grub_affs_data): Replace blocksize with log_blocksize.
-       (grub_affs_read_block): Fix non-512B blocks.
-       (grub_affs_read_symlink): Likewise.
-       (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
-       (grub_affs_read): Fix non-512B blocks.
-       (grub_affs_label): Likewise.
-       (grub_affs_mtime): Likewise.
-       (grub_affs_mount): Fix block detection routine.
-
-2012-05-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add filesystem mtime to AFFS.
-
-       * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
-       (aftime2ctime): New function.
-       (grub_affs_dir): Use aftime2ctime.
-       (grub_affs_label): Fix return value.
-       (grub_affs_mtime): New function.
-       (grub_affs_fs): Add mtime.
-
-2012-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
-       UTF-8.
-
-2012-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
-       UTF-8.
-
-2012-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
-
-2012-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
-       flags.
-       (FLAGS_CASE_SENSITIVE): New enum value.
-       (cache_entry): New struct.
-       (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
-       cache_size and cache.
-       (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
-       Add log_blocksize and fshelp_flags.
-       (grub_sfs_read_extent): Handle non-512 blocks.
-       (grub_sfs_read_block): Add cаche and handle non-512 blocks.
-       (grub_sfs_read_file): Handle non-512 blocks.
-       (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
-       fshelp_flags.
-       (grub_sfs_read_symlink): Handle non-512 blocks.
-       (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
-       (grub_sfs_dir): Free cache.
-       (grub_sfs_close): Likewise.
-
-2012-05-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
-       filesystems.
-
-2012-05-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
-
-2012-05-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
-
-2012-05-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
-       (grub_sfs_read_extent): Likewise.
-       (grub_sfs_read_block): Likewise.
-       (grub_sfs_mount): Likewise.
-       (grub_sfs_iterate_dir): Likewise.
-       (grub_sfs_read_symlink): Use strncpy instead of strcpy.
-       (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
-
-2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix errors on compressed NTFS with 512B clusters.
-
-       * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
-       types.
-       * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
-       not 0.
-       * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
-       Relax check for inline extents.
-       (ntfscomp): Return correct -1 on error and not 0.
-
-2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Fix handling of prefix containing spaces.
-
-2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
-       (grub_squash_read_data): Fix offset byte-swapping.
-
-2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
-       per common usage and preffered in several parts of code.
-       (grub_memcmp): Likewise.
-       (grub_strncmp): Likewise.
-       * include/grub/misc.h (grub_strcasecmp): Likewise.
-       (grub_strncasecmp): Likewise.
-       * Makefile.util.def (cmp_test): New test.
-       (grub_script_strcmp): Likewise.
-       * tests/cmp_unit_test.c: New file.
-       * tests/grub_script_strcmp.in: Likewise.
-       * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
-
-2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/pci.h: Move enums into no-asm part.
-
-2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
-
-2012-05-04  Samuel Thibault <samuel.thibault@ens-lyon.org>
-
-       * util/getroot.c (find_hurd_root_device): Try to make error message
-       and comments to translators clearer.
-
-2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
-
-2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
-       btrfs.
-
-2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.cfg: Update.
-
-2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (PXE): Remove not present variables.
-
-2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/net.c (defserver_set_env): New function.
-       (defserver_get_env): Likewise.
-       (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
-       entries.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
-       * grub-core/kern/emu/hostdisk.c: Likewise.
-
-2012-05-03  Samuel Thibault  <samuel.thibault@ens-lyon.org>
-
-       Handle hurd userspace partitions.
-
-       * util/getroot.c (find_hurd_root_device): New function.
-       (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
-       names.
-       Reported by: Bastian Blank.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
-       crossing page boundary.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix B-tree search in BFS, especially in presence of non-ASCII
-       characters.
-
-       * grub-core/fs/bfs.c (bfs_strcmp): New function.
-       (find_in_b_tree): Use standard bsearch + btree algorithm.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
-       and so on.
-
-2012-05-03  Matthew Garrett  <mjg@redhat.com>
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Suspend broadcom cards in order to stop their DMA.
-
-       * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
-       * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
-       (pci): Don't build on x86 EFI.
-       * grub-core/bus/pci.c (grub_pci_find_capability): New function.
-       * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
-       New function.
-       (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
-       stop_broadcom if running on EFI.
-       * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
-       (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
-       (GRUB_PCI_VENDOR_BROADCOM): Likewise.
-       (grub_pci_find_capability): New proto.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi: Remove dot from the extension as it apparently
-       doesn't work with some makeinfo versions.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
-       with GRUB expectance.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
-       zero after directory block since last entry may be not 0-terminated if
-       it ends on block boundary. Use continue instead of if spanning whole
-       loop.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support 4K sectors UDF inline files.
-
-       * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
-       (grub_udf_extended_file_entry): Likewise.
-       (grub_fshelp_node): Name the anonymous union. Put block at the end.
-       All users updated.
-       (get_fshelp_size): New function.
-       (grub_udf_read_icb): Read whole block.
-       (grub_udf_iterate_dir): Likewise.
-       (grub_udf_dir): Likewise.
-       (grub_udf_open): Likewise.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
-       inline symlinks in addition to workaround.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
-
-2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
-
-2012-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix reiserfs big seek times.
-
-       * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
-       exact. All users updated.
-       (grub_reiserfs_read): Use nearest btree search for seeking.
-       Fix return value on error.
-
-2012-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
-       entries.
-       * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
-       * docs/grub.texi: Update menuentry description.
-
-2012-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
-       crash when embedding onto filesystem.
-
-2012-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
-       name.
-
-2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
-
-2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
-       commit.
-
-2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
-2012-05-01  Bean  <bean123ch@gmail.com>
-
-       * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
-
-2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
-       Special behaviour for len = 0 to read whole file isn't used anywhere and
-       can cause buffer ovewrflows in several places.
-
-2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
-
-2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle RAIDZ on non-512B sectors.
-
-       * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
-       max_children_ashift.
-       (fill_vdev_info_real): Fill max_children_ashift.
-       (read_device): Use max_children_ashift.
-
-2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
-
-2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
-       disk names.
-       * docs/grub.texi: Update device.map parts.
-
-2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't scan into non-diskfilter devices having diskfilter names.
-
-       * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
-       (scan_disk): New argument accept_diskfilter. Fix recursion depth
-       handling.
-       (scan_disk_hook): New function.
-
-2012-04-29  Bean  <bean123ch@gmail.com>
-
-       * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
-       allocation.
-
-2012-04-29  Mads Kiilerich  <mads@kiilerich.com> (tiny)
-
-       * configure.ac: Detect starfield theme font path
-       /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
-
-2012-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
-       geometry on serial consoles.
-
-2012-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
-       because of network consoles.
-
-2012-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
-       handling.
-
-2012-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
-       falls on Q syndrom.
-
-2012-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
-       Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
-
-2012-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
-       Allocate at lest 8192 for temporary buffer as required for lzo.
-
-2012-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
-       to cluster_bits, since it's already added in.
-       (grub_fat_read_data): Likewise.
-
-2012-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
-       as long as cluster size is multiple of 512 bytes.
-
-2012-04-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.in: Fix locale directory.
-
-2012-04-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (map): Make static.
-
-2012-04-23  Bean  <bean123ch@gmail.com>
-
-       * util/grub-fstest.c (fstest): Add missing break.
-
-2012-04-22  Samuel Thibault  <samuel.thibault@ens-lyon.org>
-
-       Fix hurd build.
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
-       not define nr variable.
-       * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
-       find_root_devices_from_poolname, find_root_devices_from_libzfs,
-       grub_find_device): Do not define.
-
-2012-04-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix kfreebsd compile and behaviour.
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
-       format-security.
-       * util/getroot.c: Fix wait.h include.
-       (grub_guess_root_devices): Error if grub_find_device fails.
-       (grub_util_get_geom_abstraction): Fix shadowing and format-security.
-       (grub_util_get_dev_abstraction): Likewise.
-       (grub_util_pull_device): Likewise.
-       (grub_util_get_grub_dev): Likewise.
-       * util/lvm.c (grub_util_lvm_isvolume): Likewise.
-
-2012-04-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix and unify wholedisk detection.
-
-       * util/getroot.c (convert_system_partition_to_system_disk): New argument
-       is_part. All users updated.
-       (device_is_wholedisk): Removed.
-       (grub_util_biosdisk_get_grub_dev): Use is_part.
-
-2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
-       mode.
-
-2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Bump to beta4.
-
-2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
-       --fs-uuid --set UUID syntax.
-
-2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
-       disunification.
-
-2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
-
-2012-04-18  Mads Kiilerich <mads@kiilerich.com>
-
-         * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
-
-2012-04-18  Mike Gilbert  <floppym@gentoo.org>
-
-       * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
-
-2012-04-18  Bean  <bean123ch@gmail.com>
-
-       * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
-       place.
-
-2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
-       users updated.
-       (grub_util_biosdisk_read): Handle Linux partitions not exactly
-       corresponding to GRUB partitions.
-       (grub_util_biosdisk_write): Likewise.
-
-2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Scan mdraid before LVM.
-
-       * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
-       (grub_diskfilter_register_front): ... this.
-       (grub_diskfilter_register_back): New function.
-       All users of grub_diskfilter_register updated.
-
-2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Fix an automatic target detection bug.
-
-2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: New option --efi-directory.
-
-2012-04-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
-       boot services if we have no other choice.
-
-2012-04-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mknetdir.in: Rename --override-directory to --directory and
-       document it.
-       * tests/util/grub-shell.in: Update to --directory.
-
-2012-04-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
-
-2012-04-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
-       (grub_minix_read_file): Likewise.
-       (grub_minix_read_inode): Likewise.
-       (grub_minix_find_file): Likewise.
-       (grub_minix_dir): Likewise.
-
-2012-04-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (setup): Fix partition handling and blocklist
-       check.
-
-2012-04-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
-       redundant buggy overlap check.
-
-2012-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
-       and grub-mknetdir.
-
-2012-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
-       kh.loadflags on pre-2.00 kernels.
-
-2012-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Terminate UNDI and PXE before launching the payload to avoid problems
-       with DMA.
-
-       * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
-       (grub_loader_flags): ... this. All users updated.
-       (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
-       * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
-       loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
-       * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
-       function.
-       (grub_pxe_restore): Likewise.
-       (fini_hnd): New var.
-       (GRUB_MOD_INIT): Register shutdown hook.
-       (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
-       * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
-       (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
-       (grub_loader_set): Rename second argument to flags.
-
-2012-04-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
-       written bytes.
-       (grub_get_num_of_utf8_bytes): New function.
-       (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
-       * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
-       executing it.
-       * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
-       (grub_ucs4_to_utf8): Change return type.
-
-2012-04-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
-       warning.
-       * grub-core/fs/bfs.c (hop_level): Likewise.
-       * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
-
-2012-04-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/adler32.c: Recode due to license unclearness.
-
-2012-04-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
-       (test_header): Likewise.
-
-2012-04-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix --help formatting.
-
-       * util/grub-mkconfig_lib.in (print_option_help): New function.
-       (grub_fmt): Likewise.
-       * util/grub-install.in: Use print_option_help and grub_fmt.
-       * util/grub-kbdcomp.in: Likewise.
-       * util/grub-mkconfig.in: Likewise.
-       * util/grub-mknetdir.in: Likewise.
-       * util/grub-mkrescue.in: Likewise.
-       * util/grub-mkstandalone.in: Likewise.
-       * util/grub-reboot.in: Likewise.
-       * util/grub-set-default.in: Likewise.
-       * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
-
-2012-04-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * linguas.sh: Remove autogenerated *.po.
-
-2012-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/README: Move language fetcing to ...
-       * linguas.sh: ... here.
-       * po/README: Point to linguas.sh.
-
-2012-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/README: Exclude ko.po due to disclaimer problems.
-
-2012-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
-       len = 0.
-       (grub_gettext_translate_real): Handle 0th string.
-       (grub_gettext_translate): Ensure that "" isn't translated.
-
-2012-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
-       TRANSLATORS comment.
-       (grub_diskfilter_print_partmap): Propagate changing of error into
-       warning.
-
-2012-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
-       to uint64_t to prevent overflow.
-       (grub_diskfilter_lv): Increase start_extent and extent_count
-       to uint64_t to prevent overflow.
-
-2012-04-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Increase version.
-
-2012-04-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Introduce en@cyrillic en@hebrew en@arabic and en@greek.
-
-       * po/Rules-translit: New file.
-       * po/arabic.sed: Likewise.
-       * po/cyrillic.sed: Likewise.
-       * po/greek.sed: Likewise.
-       * po/hebrew.sed: Likewise.
-       * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
-       * po/Makefile.in.in: Add extra_dist4.
-
-2012-04-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle big-endian minixfs (fixes minixfs tests on bigendian).
-
-       * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
-       modify names. Introduce MODE_BIGENDIAN.
-       * grub-core/fs/minix_be.c: New file.
-       * grub-core/fs/minix2_be.c: Likewise
-       * grub-core/fs/minix3_be.c: Likewise.
-       * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
-       minix3_be.
-       * grub-core/Makefile.core.def (minix_be): New module.
-       (minix2_be): Likewise.
-       (minix3_be): Likewise.
-
-2012-04-01  Felix <email@hamburg.de>
-
-       * grub-core/loader/efi/appleloader.c (devpath_7): New var.
-       (devs): Add MBP 2011.
-
-2012-04-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
-
-2012-04-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/cmdline.c (print_completion): New field
-       prompt_len.
-       (grub_cmdline_get): Handle width properly.
-
-2012-04-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/lsacpi.c (options): Add missing terminator.
-
-2012-03-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
-       after 29th of February.
-
-2012-03-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix exfat endianness handling.
-
-       * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
-       (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
-       (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
-       Byte-swap utf16 when necessary.
-       (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
-
-2012-03-31  Anton Blanchard  <anton@samba.org>
-2012-03-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix btrfs endianness handling.
-
-       * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
-       (lower_bound): Make root uint64_t. Use root in le.
-       (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
-       (find_path): Fix template key init.
-       (grub_btrfs_dir): Fix mtime byteswap.
-       * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
-
-2012-03-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
-       recursion_depth. Break infinite resursions. All users updated.
-
-2012-03-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (convert_system_partition_to_system_disk): Fix use
-       after free.
-       Reported by: Peter Jones.
-
-2012-03-31  Anton Blanchard  <anton@samba.org>
-
-       * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
-       8 bit values.
-
-2012-03-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Fix nvram call for PreP.
-
-2012-03-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
-       the error when some elements are missing into a warning.
-
-2012-03-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
-
-2012-03-28  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Invoking grub-probe): New section.
-       Reported by: Filipus Klutiero.  Fixes Debian bug #666031.
-
-2012-03-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix tab and wide character handling in editor and menu.
-
-       * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
-       agglomerate control characters with combining marks.
-       (bidi_line_wrap): Allow break on tab.
-       (grub_unicode_get_comb_start): New function.
-       * grub-core/normal/menu_entry.c: Restructure to handle wide characters
-       and tab correctly.
-       * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
-       with a space.
-       * grub-core/normal/term.c (print_ucs4_terminal): New argument
-       fixed_tab_size. All users updated.
-       * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
-       (grub_term_getcharwidth): Handle \t.
-       * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
-       and copy.
-
-2012-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle big-endian mdraid.
-
-       * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
-       * grub-core/Makefile.core.def (mdraid09_be): New module.
-       * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
-       rather than grub_le_to_cpu* and grub_cpu_to_le*.
-       * grub-core/disk/mdraid_linux_be.c: New file.
-
-2012-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
-
-2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
-       missing quotes which caused confusion among translators.
-
-2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkconfig_lib.in: Fix typo.
-
-2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
-       spaces.
-       * tests/grub_script_leading_whitespace.in: New file.
-       * Makefile.util.def (grub_script_leading_whitespace): New test.
-
-2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
-       to work.
-
-2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
-       starts with control character.
-
-2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
-       overflow.
-       (grub_gdb_outbuf): Likewise.
-
-2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
-       zero terminator. Fixes a crash.
-
-2012-03-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
-       beyond 4 GiB.
-       (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
-       images independently of preffered adderss field.
-
-2012-03-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
-       * grub-core/commands/regexp.c: Likewise.
-       * grub-core/loader/i386/linux.c: Likewise.
-       * grub-core/partmap/msdos.c: Likewise.
-       * grub-core/script/execute.c: Likewise.
-       * grub-core/term/gfxterm.c: Likewise.
-
-2012-03-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add variable parsing in $"..." and fix several mismatches with bash.
-
-       * Makefile.util.def (grub_script_gettext): New test.
-       * grub-core/script/execute.c (parse_string): New function.
-       (gettext_append): Likewise.
-       (grub_script_arglist_to_argv): Use gettext_append.
-       * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
-       * tests/grub_script_gettext.in: New file.
-
-2012-03-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix handling of leading spaces in scripts.
-
-       * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
-       spaces.
-       * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
-       other than skipping \r. All users updated.
-       * tests/grub_script_echo1.in: Add space-related tests.
-       * util/grub-menulst2cfg.c (main): Remove useless space skipping.
-
-2012-03-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Bump up the version to beta2.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix gettext reload bugs (e.g. inability to disable gettext
-       once enabled).
-
-       * grub-core/gettext/gettext.c: Encapsulate all static variables in
-       main_context and secondary_context. All functions updated.
-       (grub_gettext_translate): Rename to ...
-       (grub_gettext_translate_real): ... this. Return NULL on failed
-       translate.
-       (grub_gettext_translate): Handle secondary context.
-       (grub_gettext_delete_list): Close file and zero-out the context.
-       (grub_mofile_open): Don't call grub_gettext_delete_list.
-       Don't close file.
-       (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
-       if locale="" to avoid pointless error message.
-       (grub_gettext_env_write_lang): Update lang even if load fails.
-       Handle secondary context.
-       (grub_gettext_reread_prefix): New function.
-       (read_main): Likewise.
-       (read_secondary): Likewise.
-       (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
-       (GRUB_MOD_FINI): Handle secondary context. Don't close file.
-       * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
-       * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Decrease warning level to avoid spurious warnings and
-       to be able to compile with GCC 4.2.
-       * Makefile.util.def: Remove -Wno-error=logical-op.
-
-2012-03-10  William Bittner <william.bittner@gmail.com>
-
-       * util/import_unicode.py: Add missing brackets around string for
-       python 3 support.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix efi chainloader on network root.
-
-       * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
-       network devices.
-       * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
-       New function.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
-       unused show_text member.
-       * docs/grub.texi: Document "text" property.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
-       in dprintf.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix IMSM handling on Fedora.
-
-       * util/getroot.c (grub_util_is_imsm): New function.
-       (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.am: Strip gold section.
-       * conf/Makefile.common: Likewise.
-       * gentpl.py: Likewise.
-       * grub-core/Makefile.core.def: Likewise.
-       * grub-core/genmod.sh.in: Likewise.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
-       * util/grub.d/20_linux_xen.in: Likewise.
-       Based on Debian patch.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/10_linux.in: Fix syntax error resulting in
-       Richard Laager's patch.
-       * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
-       dependencies.
-
-2012-03-10  Richard Laager <rlaager@wiktel.com>
-
-       * util/grub.d/10_linux.in: Fix ZFS root passing.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
-       * grub-core/commands/xnu_uuid.c: Likewise.
-       * grub-core/loader/efi/appleloader.c: Likewise.
-       * grub-core/script/execute.c: Likewise.
-       * grub-core/script/main.c: Likewise.
-       * util/grub-mkfont.c: Likewise.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkfont.c (options): Use more appropriate "select" that
-       "set" for face index.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-editenv.c (options): Gettextize command summaries.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
-       "out of memory" error messagge.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
-       of diskfilter for diskfilter on diskfilter support.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (exec_pipe): Ensure that the child is not localised.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Check for themes/starfield/theme.txt and not
-       themes/starfield.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
-
-2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
-       of error message.
-
-2012-03-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Fix install non-PreP IEEE1275 install.
-
-2012-03-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
-       message.
-       * util/grub-install.in: Fix and gettextize error message.
-
-2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
-       Gettextize.
-       * util/grub-mount.c (options): Likewise.
-
-2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
-       gettextize.
-       * grub-core/commands/search_wrap.c (options): Likewise.
-
-2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
-
-2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
-       size calculation.
-       * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
-       none is known.
-
-2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
-       "temporary" since it's used in identifier and is limited in space.
-
-2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/POTFILES.in: Regenerate. Include *.h since they contain
-       translatable strings as well.
-
-2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
-       byte-swap on big-endian.
-       Reported by: Lennart Sorensen
-
-2012-03-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (prot_init_space): New variable.
-       (allocate_pages): Improve dprintf.
-       (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
-       code32_start. Fill code32_start and kernel_alignment in params.
-       (grub_cmd_initrd): Use prot_init_space.
-
-2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
-
-2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Add missing dot at the end of sentence.
-
-2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
-       * grub-core/commands/videotest.c: Likewise.
-       * grub-core/loader/i386/linux.c: Likewise.
-
-2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
-       sentence.
-       Reported by: Milo Casagrande.
-
-2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/acpi.c: Add TRANSLATORS comments.
-       * grub-core/commands/gptsync.c: Likewise.
-       * grub-core/commands/hashsum.c: Likewise.
-       * grub-core/commands/i386/pc/sendkey.c: Likewise.
-       * grub-core/commands/legacycfg.c: Likewise.
-       * grub-core/io/gzio.c: Likewise.
-       * grub-core/net/net.c: Likewise.
-       * grub-core/term/gfxterm.c: Likewise.
-       * grub-core/term/terminfo.c: Likewise.
-       * grub-core/tests/test_blockarg.c: Likewise.
-       * grub-core/video/video.c: Likewise.
-       * util/grub-install.in: Likewise.
-       * util/grub-mkfont.c: Likewise.
-
-2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (help_filter): Add missing capitalisation.
-
-2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/search_wrap.c (options): Fix a typo.
-       Reported by: David Prévot.
-
-2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
-       description.
-
-2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-script-check.c (main): Fix a syntax error message which was
-       unclear.
-
-2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
-
-2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
-       messages.
-
-2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
-       without argument.
-       * util/grub-mount.c (options): Likewise.
-
-2012-03-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
-
-2012-03-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/http.c: Add TRANSLATORS comments.
-       * grub-core/normal/cmdline.c: Likewise.
-       * grub-core/normal/misc.c: Likewise.
-       * grub-core/partmap/msdos.c: Likewise.
-       * grub-core/parttool/msdospart.c: Likewise.
-       * grub-core/script/execute.c: Likewise.
-       * grub-core/script/main.c: Likewise.
-       * grub-core/term/terminfo.c: Likewise.
-       * grub-core/video/bitmap.c: Likewise.
-       * util/grub-install.in: Likewise.
-       * util/grub-mkimage.c: Likewise.
-       * util/grub-mklayout.c: Likewise.
-       * util/grub-setup.c: Likewise.
-
-2012-03-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
-       with similar messages in grub-fstest.
-
-2012-03-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Unify "option requires an argument" message
-       with similar messages in other files.
-       * util/grub-mkconfig.in: Likewise.
-
-2012-03-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-set-default.in: Replace printf with gettext_printf (the
-       string in in question is already translated from grub-reboot)
-
-2012-03-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Bump up the version to beta1.
-
-2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
-       case when min_align = 0.
-
-2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
-       and fix a case when line_start overflows.
-
-2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-reboot.in (usage): Mention id posibility.
-       * util/grub-set-default.in (usage): Likewise.
-
-2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
-       * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
-       * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
-       * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
-       * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
-       * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
-       * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
-
-2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/menuentry.c (options): Remove
-       GRUB_ARG_OPTION_REPEATABLE.
-       Reported by: Andreas Vogel
-
-2012-03-04  Andreas Vogel <Andreas.Vogel@anvo-it.de>
-
-       * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
-
-2012-03-04  Hideki EIRAKU <hdk1983@gmail.com>
-
-       * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
-       error.
-
-2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use sort -V by the idea of Georgi Georgiev.
-
-       * util/grub-mkconfig_lib.in (version_sort): New function.
-       (version_test_numeric): Use version_sort.
-
-2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use submenus in grub-mkconfig.
-
-       * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
-       * util/grub-mkconfig_lib.in (grub_quote): New function.
-       (gettext_printf): Use gettext and not gettext_quoted to fix several
-       messages.
-       * util/grub.d/10_hurd.in: Use submenus.
-       * util/grub.d/10_kfreebsd.in: Likewise.
-       * util/grub.d/10_linux.in: Likewise.
-       * util/grub.d/10_netbsd.in: Likewise.
-       * util/grub.d/20_linux_xen.in: Likewise.
-       * util/grub.d/30_os-prober.in: Likewise.
-       * util/grub.d/10_illumos.in: Add missing quoting.
-       * util/grub.d/10_windows.in: Likewise.
-
-2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix menu title instability bug.
-
-       * grub-core/commands/menuentry.c (options): New option --id.
-       (grub_normal_add_menu_entry): New argument id. All users updated.
-       (grub_cmd_menuentry): Handle --id.
-       (grub_menu_init): Accept unknown arguments.
-       * grub-core/normal/main.c (features): Add feature_menuentry_id and
-       feature_menuentry_options.
-       * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
-       saved_entry.
-       (get_entry_number): Match with id as well.
-       * include/grub/menu.h (grub_menu_entry): New member id.
-       * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
-       * util/grub.d/00_header.in: Define menuentry_id_option.
-       * util/grub.d/10_hurd.in: Define id.
-       * util/grub.d/10_illumos.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.
-
-2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/execute.c (grub_script_return): Replace ambiguous
-       "scope" with "body".
-
-2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
-       * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
-       prot_size and prot_file_size.
-
-2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
-       All users updated. If easily=1 require raid-5/-6 to be full.
-       (is_node_readable): Likewise.
-       (scan_devices): Scan incomplete but readable LVs at the end.
-       (grub_diskfilter_memberlist): Pull missing devices.
-       (insert_array): Skip scanning until device is complete or scan is
-       done otherwise.
-       * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
-       check.
-       * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
-       * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
-
-2012-03-03  Matthew Garrett  <mjg@redhat.com>
-2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Avoid EFI boot services when loading Linux.
-
-       * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
-       avoid_efi_bootservices. All users updated.
-       * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
-       argument avoid_efi_bootservices. All users updated.
-       Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
-       * grub-core/loader/i386/linux.c (allocate_pages): New arguments
-       align, min_align, relocatable, prefered_address. All users updated.
-       Allocate avoiding boot services if kernel is relocatable.
-       (grub_cmd_linux): Check if kernel is relocatable.
-       * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
-       (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
-       Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
-       avoid_efi_boot_services.
-       (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
-       * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
-       (linux_kernel_params): Likewise.
-
-2012-03-03  Matthew Garrett  <mjg@redhat.com>
-2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use EDID on EFI.
-
-       * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
-       datasize_out.
-       * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
-       modes. Set gop_handle.
-       (grub_video_gop_get_edid): New function.
-       (grub_gop_get_preferred_mode): Likewise.
-       (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
-       (grub_video_efi_gop_adapter): Set .get_edid.
-       * include/grub/efi/edid.h: New file.
-       * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
-
-2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Load efivars unconditionally.
-
-2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/Rules-piglatin: Change suffix from .po-update-en to
-       .po-update-en-piglatin.
-
-2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add a pig farm.
-
-       * po/piglatin.sed: New file.
-       * po/en@piglatin.header: Likewise.
-       * po/Rules-piglatin: Likewise.
-       * po/README: Add en@piglatin to autogenerated languages.
-
-2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
-       "Command for ...".
-       * grub-core/commands/hdparm.c (options): Use "Display" rather than
-       "Check" since we don't check anything.
-       * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
-       is 64-bit one.
-       * grub-core/commands/search_wrap.c (options): Clarify the conditions.
-       * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
-       (grub_md_sha512_real): Likewise.
-
-2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/gptsync.c: Fix typographic quoting.
-       * grub-core/commands/ieee1275/suspend.c: Likewise.
-       * grub-core/commands/parttool.c: Likewise.
-       * grub-core/commands/search_wrap.c: Likewise.
-       * grub-core/commands/videoinfo.c: Likewise.
-       * grub-core/gfxmenu/gui_label.c: Likewise.
-       * grub-core/hello/hello.c: Likewise.
-       * grub-core/kern/emu/main.c: Likewise.
-       * grub-core/net/net.c: Likewise.
-       * grub-core/normal/menu.c: Likewise.
-       * grub-core/normal/menu_text.c: Likewise.
-       * grub-core/normal/misc.c: Likewise.
-       * util/grub-editenv.c: Likewise.
-       * util/grub-install.in: Likewise.
-       * util/grub-kbdcomp.in: Likewise.
-       * util/grub-mkconfig.in: Likewise.
-       * util/grub-mknetdir.in: Likewise.
-       * util/grub-mkrescue.in: Likewise.
-       * util/grub-mkstandalone.in: Likewise.
-       * util/grub-reboot.in: Likewise.
-       * util/grub-set-default.in: Likewise.
-       * util/grub-setup.c: Likewise.
-       * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
-       * grub-core/commands/keystatus.c: Likewise.
-       * grub-core/commands/loadenv.c: Likewise.
-       * grub-core/commands/probe.c: Likewise.
-       * grub-core/commands/regexp.c: Likewise.
-       * grub-core/commands/true.c: Likewise.
-       * grub-core/commands/videoinfo.c: Likewise.
-       * grub-core/disk/cryptodisk.c: Likewise.
-       * grub-core/disk/ldm.c: Likewise.
-       * grub-core/disk/loopback.c: Likewise.
-       * grub-core/disk/luks.c: Likewise.
-       * grub-core/fs/zfs/zfsinfo.c: Likewise.
-       * grub-core/kern/disk.c: Likewise.
-       * grub-core/kern/emu/hostdisk.c: Likewise.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
-       * util/grub-install.in: Add missing quote in the comment.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
-       * grub-core/commands/lsmmap.c: Likewise.
-       * grub-core/commands/minicmd.c: Likewise.
-       * grub-core/commands/mips/loongson/lsspd.c: Likewise.
-       * grub-core/commands/regexp.c: Likewise.
-       * grub-core/gdb/gdb.c: Likewise.
-       * grub-core/term/gfxterm.c: Likewise.
-       * util/grub-mkconfig.in: Likewise.
-       * util/grub-mkfont.c: Likewise.
-       * util/grub-mklayout.c: Likewise.
-       * util/grub-mknetdir.in: Likewise.
-       * util/grub-mkrescue.in: Likewise.
-       * util/grub.d/30_os-prober.in: Likewise.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/videoinfo.c (hook): Replace "Direct"
-       with "Direct color" and "Packed" with "Packed pixel".
-       (grub_cmd_videoinfo): Simplify legend.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
-       absolutely unclear error message.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkstandalone.in: Remove confusing leftover print.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
-       comments.
-       * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
-       (GRUB_MOD_INIT): Likewise.
-       * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
-       VGA mode.
-       * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
-       comments.
-       * util/grub-install.in (usage): Likewise.
-       Spell ID in whole letters.
-       Add missing ending dot.
-       Quote variables.
-       * util/grub-reboot.in: Fix capitalisation.
-       * util/grub-set-default.in: Likewise.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
-       (exec_pipe) [CYGWIN || MINGW32]: Likewise.
-       (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
-       (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
-       Disable -Werror for -Wdeprecated-declarations.
-       (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
-       (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
-       (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
-       (grub_util_get_grub_dev): Make luks handling dependent on
-       HAVE_DEVICE_MAPPER and not __linux__.
-       (get_win32_path): Fix format security.
-       (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
-       (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
-       Don't try grub_find_zpool_from_dir.
-       (grub_make_system_path_relative_to_its_root) [!__linux__]:
-       #ifdef-out paresdir.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-pe2elf.c (usage): Add missing noreturn.
-       (write_section_data): Rename name to shname to avoid shadowing.
-       (write_symbol_table): Rename name to symname to avoid shadowing.
-       Fix write_reloc_section call.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
-       to ensure that it's after the last byte of .text.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/ieee1275/ofpath.c (my_isdigit): New function.
-       (trailing_digits): Use my_isdigit.
-       (strip_trailing_digits): Likewise.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
-       * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/pc/startup.S: Define __start.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
-       strip already transforms he format.
-
-2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Add missing gettext init.
-       * util/grub-kbdcomp.in: Likewise.
-       * util/grub-mkconfig.in: Likewise.
-       * util/grub-mknetdir.in: Likewise.
-       * util/grub-mkrescue.in: Likewise.
-       * util/grub-mkstandalone.in: Likewise.
-       * util/grub-reboot.in: Likewise.
-       * util/grub-set-default.in: Likewise.
-       * util/grub.d/00_header.in: Likewise.
-       * util/grub.d/10_hurd.in: Likewise.
-       * util/grub.d/10_windows.in: Likewise.
-       * util/grub.d/30_os-prober.in: Likewise.
-       * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/Rules-swiss: Fix header comment.
-
-2012-02-29  Andreas Vogel <anvoit>
-
-       * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
-       resulted in leak of arguments.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/pc/startup_raw.S: Use separate
-       reed_solomon_size const definition instead of computing it since
-       Apple assembler doesn't support the later.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * gentpl.py (kernel): Rewrite Apple part.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/kernel.h (FOR_MODULES): Check module magic.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimagexx.c (locate_sections): Support non-standard
-       ELF section gap.
-       (load_image): Likewise.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Fix a typo in previous commit.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't add -Wl,-N on Apple platform.
-
-       * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
-       * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (lzma_decompress): Use
-       TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/genmod.sh.in: Rewrite the Apple part.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
-       comparison.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * acinclude.m4 (grub_CHECK_PIC): New test.
-       * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
-       to avoid the warning.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
-       (LOCAL(firstlist)): ... this. Move it before the firstlist and not
-       after. All users updated.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use the common size routine in hostfs so we can read disks as well.
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
-       (grub_util_get_fd_size): ... this. Return size in bytes.
-       All users updated.
-       * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
-       grub_util_get_fd_size.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
-       Add blocksize retrieval.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Restore CFLAGS after efiemu check.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
-       Apple bug.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
-       (grub_cmd_halt): Likewise.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
-       for local arithmetics.
-       Break %sp init into 2 instructions.
-       Add 0 byte at the end.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (read_segment): Initialise err
-       before loops.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
-       for context.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ldm.c (make_vg): Init part.name.
-       (grub_ldm_detect): Silence spurious warning.
-       (grub_util_is_ldm): Likewise.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
-       sane value to avoid a spurious warning.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
-       (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
-       * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
-       hardcoding the relevant info.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
-       missing const qualifiers.
-       * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c [__APPLE__]: Add missing includes.
-       (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (generate_image): Silence spurious warning.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
-       avoid conflicts.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
-       and grub_file_close call.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add LZSS Mach-O support (needed for new xnu kernelcache).
-
-       * grub-core/Makefile.core.def (xnu): Add file lzss.c
-       * grub-core/loader/lzss.c: New file.
-       * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
-       on Mach-O open failure.
-       * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
-       Don't free cmdsXX in uncompressedXX is set.
-       (grub_macho_file): Init new fields.
-       New argument is_64bit. All users updated.
-       Handle compressed. Error out if no suitable architecture is found.
-       Don't close file.
-       (grub_macho_open): New argument is_64bit. All users updated.
-       * grub-core/loader/macho32.c: Add defines for new fields.
-       * grub-core/loader/macho64.c: Likewise.
-       * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
-       (grub_macho_parse): Handle compressed.
-       Defer actual processing if compressed.
-       (grub_macho_cmds_iterate): Decompress if compressed. New argument
-       "filename". All users updated.
-       (grub_macho_size): New argument "filename". All users updated.
-       (grub_macho_get_entry_point): Likewise.
-       (grub_macho_load): Handle compressed.
-       * include/grub/macho.h (grub_macho_lzss_header): New struct.
-       (GRUB_MACHO_LZSS_OFFSET): New define.
-       (grub_decompress_lzss): New proto.
-       * include/grub/machoload.h (grub_macho_file): New fields to handle
-       compressed.
-       (grub_macho_contains_macho64): Remove proto.
-       (grub_macho_contains_macho32): Likewise.
-       * util/grub.d/30_os-prober.in: Use kernel cache if available.
-
-2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
-
-2012-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix make dist.
-
-       * Makefile.am (starfield_theme_files): New var.
-       (starfield_DATA): Use starfield_theme_files.
-       (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
-       Add bootcheck-related files.
-       * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
-       * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
-       and font_char_metrics.txt.
-       * grub-core/Makefile.core.def (kernel): Update extra_dist.
-       (setjmp): Add lib/ia64/longjmp.S.
-       * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
-       * po/POTFILES.in: Regenerate.
-       * po/Rules-swiss: use DISTFILES.common.extra2 and not
-       DISTFILES.common.extra1.
-       * util/devicemap.c: Removed.
-       * grub-core/lib/i386/relocator_backward.S: Likewise.
-       * util/import_gcry.py: Remove unused files. Add extra_dist for
-       ChangeLog.
-
-2012-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gettext/gettext.c (grub_mofile_open): Call
-       grub_gettext_delete_list before changing grub_gettext_max to avoid
-       running out of array bounds.
-
-2012-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
-       grub_vga_text_init/grub_vga_text_fini.
-
-2012-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Bump to 2.00~beta0.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_find_root_devices_from_btrfs): Add
-       missing initialisation.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/msdos.c (message_warn): Clarify messages.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support v2 xnu boot arguments.
-
-       * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
-       New argument fsbfreq_out.
-       (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
-       (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
-       be used.
-       * grub-core/loader/machoXX.c (grub_macho_load): New argument
-       darwin_version.
-       * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
-       * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
-       (grub_xnu_boot_params): Rename to ...
-       (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
-       (grub_xnu_boot_params_v2): New struct.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
-       zeroing of CRC field before computing CRC.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
-       Change order of allocations to decrease fragmentation.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.util.def (grub-ofpathname): Enable on all platforms.
-
-2012-02-27  Colin Watson  <cjwatson@ubuntu.com>
-
-       Use write-combining MTRR to speed up video with buggy BIOSes.
-
-       * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
-       (cpuid): New define.
-       (rdmsr): Likewise.
-       (wrmsr): Likewise.
-       (mtrr_base): Likewise.
-       (mtrr_mask): Likewise.
-       (grub_vbe_enable_mtrr_entry): New function.
-       (grub_vbe_enable_mtrr): Likewise.
-       (grub_vbe_disable_mtrr): Likewise.
-       (grub_vbe_bios_set_display_start): Disable mtrr when handing the
-       control off to BIOS.
-       (grub_video_vbe_init): Fill mtrr.
-       (grub_video_vbe_fini): Disable mtrr.
-       (grub_video_vbe_get_info_and_fini): Likewise.
-       (grub_video_vbe_setup): Enable mtrr.
-
-2012-02-27  Colin Watson  <cjwatson@ubuntu.com>
-
-       * include/grub/partition.h (grub_partition_map): Change prototype of
-       embed to take a maximum value for nsectors.
-       * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
-       * include/grub/fs.h (grub_fs): Likewise.
-       * grub-core/partmap/msdos.c (embed_signatures): New array.
-       (pc_partition_map_embed): Check for and avoid sectors matching any
-       of the signatures in embed_signatures, up to max_nsectors.
-       * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
-       returned sector map to max_nsectors.
-       * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
-       * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
-       * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
-       * util/grub-setup.c (setup): Allow for the embedding area being
-       split into multiple blocklists.  Tell dest_partmap->embed the
-       maximum number of sectors we care about.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
-       Specify blocklist_install and reserver_first_sector for all fs.
-       * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
-       blocklists.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Clarify strings.
-       Fix source dir check.
-
-2012-02-27  Richard Laager <rlaager@wiktel.com>
-
-       * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
-       "zfs" and "fuse.zfs" as synonyms.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Put platform and target_cpu substitutions back since
-       they are used for directories.
-
-2012-02-27  Richard Laager <rlaager@wiktel.com>
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/10_linux.in: Add ZFS-related arguments.
-       * util/grub.d/20_linux_xen.in: Likewise.
-
-2012-02-27  Richard Laager <rlaager@wiktel.com>
-
-       * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
-       with full paths.
-
-2012-02-27  Richard Laager <rlaager@wiktel.com>
-
-       * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
-       unescape.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't use insecure popen in getroot.
-
-       * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
-       (exec_pipe): ... here.
-       (find_root_devices_from_poolname): Use exec_pipe.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove platform and target_cpu replacement.
-
-       * configure.ac: Remove platform and target_cpu substitutions.
-       * tests/util/grub-shell.in: Use modinfo.
-       * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
-       explicitly.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Autodetect platform in grub-install but allow override.
-
-       * util/grub-install.in: Autodetect platform. Support --target and
-       --directory. Read platform from modinfo.sh.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support btrfs multi-volume probe.
-
-       * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
-       (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
-       (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
-       (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
-       (grub_find_root_devices_from_btrfs) [__linux__]: New function.
-       (grub_find_root_devices_from_mountinfo) [__linux__]: Use
-       grub_find_root_devices_from_btrfs if on btrfs.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove any awareness of *.c util files about target.
-
-       * Makefile.util.def (grub-setup): Split to ...
-       (grub-bios-setup): ... and this.
-       (grub-sparc64-setup): ... and this.
-       * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
-       * docs/man/grub-setup.h2m: Split into ...
-       * docs/man/grub-sparc64-setup.h2m: ... this.
-       * docs/man/grub-bios-setup.h2m: ... and this.
-       * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
-       * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
-       (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
-       (grub_target_addr_t): Remove.
-       (grub_target_size_t): Remove.
-       (grub_target_ssize_t): Remove.
-       * util/grub-install.in: Use new grub-*-setup.
-       * util/grub-mkimagexx.c (Elf_Word): New define.
-       (Elf_Half): Likewise.
-       (Elf_Section): Likewise.
-       (ELF_ST_TYPE): Likewise.
-       * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
-       GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Replace grub_target_addr with more appropriate types.
-
-       * grub-core/commands/efi/fixvideo.c (scan_card): Replace
-       grub_target_addr with grub_addr.
-       * grub-core/commands/iorw.c (grub_cmd_read): Replace
-       grub_target_addr with grub_port.
-       (grub_cmd_write): Likewise.
-       * grub-core/commands/memrw.c (grub_cmd_read): Replace
-       grub_target_addr with grub_addr.
-       (grub_cmd_write): Likewise.
-       * grub-core/video/efi_uga.c (find_line_len): Likewise.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
-       const qualifier for vendor_guid.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
-       const qualifier.
-       (efiemu_memequal): Likewise.
-       (find_variable): Likewise.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix missing console prototype on qemu-mips.
-
-       * include/grub/mips/qemu_mips/console.h: New file.
-
-2012-02-27  Matthew Garrett  <mjg@redhat.com>
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
-       * include/grub/efi/efi.h: Likewise.
-       * include/grub/efi/api.h: Add guid for EFI-specified variables.
-       * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
-       * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
-       * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
-       * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
-       * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
-
-2012-02-27  Matthew Garrett  <mjg@redhat.com>
-
-       * include/grub/efi/pci.h: New file to define EFI PCI protocols.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
-       error.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Remove inappropriate use of program_transform_name
-       on grubdir and bootdir but allow explicit specification of those
-       variables.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mknetdir.in (grub_prefix): Removed.
-       (subdir): Use @bootdirname@ and @grubdirname@.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/POTFILES.in: Regenerated.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove improper use of program_transform_name on pkglibrootdir.
-
-       * configure.ac (pkglibrootdir): Removed.
-       (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
-       * util/grub-mkimage.c: Likewise.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
-       warning.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Use file identifier if no UUID is available
-       or user explicitly prompted for it.
-
-2012-02-27  Navdeep Parhar <nparhar@gmail.com>
-
-       * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
-       (freebsd_get_zfs): New function.
-       (grub_freebsd_boot): Pass zfs UUID.
-       (grub_cmd_freebsd): Set zfs UUID.
-
-2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common (platformdir): Base on pkglibdir and not
-       pkglibrootdir.
-
-2012-02-27  Mike Gilbert  <floppym@gentoo.org>
-
-       Add configure flag to control libzfs integration.
-
-       * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
-       device.
-       * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
-       small devices.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove grub_{modname}_init and grub_{modname}_fini. They should never
-       be used directly if it's really a module and GRUB_MOD_INIT shouldn't
-       be used on non-modules.
-
-       * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
-       Rename to grub_boot_init.
-       (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
-       * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
-       [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
-       (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
-       * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
-       [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
-       (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
-       * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
-       includes.
-       (grub_machine_init): Remove empty inits.
-       * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
-       includes.
-       (grub_machine_init): Remove empty inits.
-       * grub-core/term/arc/console.c: Remove explicit proto.
-       * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
-       [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
-       (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
-       grub_at_keyboard_fini.
-       * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
-       [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
-       (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
-       grub_gfxterm_fini.
-       * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
-       [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
-       (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
-       grub_vgatext_fini.
-       * grub-core/term/ieee1275/console.c: Remove explicit proto.
-       * grub-core/term/serial.c (GRUB_MOD_INIT)
-       [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
-       (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
-       grub_serial_fini.
-       * grub-core/term/terminfo.c (GRUB_MOD_INIT)
-       [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
-       (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
-       grub_terminfo_fini.
-       * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
-       (GRUB_MOD_FINI): Likewise.
-       * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
-       [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
-       (GRUB_MOD_FINI) [LOONGSON]: Rename to
-       grub_video_radeon_fuloong2e_fini.
-       * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
-       [LOONGSON]: Rename to grub_video_sis315pro_init.
-       (GRUB_MOD_FINI) [LOONGSON]: Rename to
-       grub_video_sis315pro_fini.
-       * grub-core/video/sm712.c (GRUB_MOD_INIT)
-       [LOONGSON]: Rename to grub_video_sm712_init.
-       (GRUB_MOD_FINI) [LOONGSON]: Rename to
-       grub_video_sm712_fini.
-       * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
-       (grub_at_keyboard_fini): Likewise.
-       * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
-       Don't declare grub_{modname}_init.
-       (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
-       * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
-       New proto.
-       (grub_keylayouts_fini) [!EMU]: Likewise.
-       * include/grub/serial.h (grub_serial_init) [!EMU]:
-       New proto.
-       (grub_serial_fini) [!EMU]: Likewise.
-       * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
-       New proto.
-       (grub_terminfo_fini) [!EMU]: Likewise.
-       * include/grub/video.h (grub_font_init) [!EMU]:
-       New proto.
-       (grub_font_fini) [!EMU]: Likewise.
-       (grub_gfxterm_init) [!EMU]: Likewise.
-       (grub_gfxterm_fini) [!EMU]: Likewise.
-       (grub_video_sm712_init) [!EMU]: Likewise.
-       (grub_video_sm712_fini) [!EMU]: Likewise.
-       (grub_video_sis315pro_init) [!EMU]: Likewise.
-       (grub_video_sis315pro_fini) [!EMU]: Likewise.
-       (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
-       (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make nand a prefix for nand devices.
-
-       * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
-       * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/env.h (grub_env_find): Remove prototype.
-       * grub-core/kern/env.c (grub_env_find): Make static.
-       (grub_env_set): Remove useless set.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/realmode.S: Remove useless align.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/dl.h (grub_dl_load_file): Don't export.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
-       grub_dprintf.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
-       grub_errors.
-       * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
-       not reloading whole superblock but only the part which is really needed.
-       Remove useless grub_errors.
-       * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
-       grub_errors.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't export grub_get_rtc.
-
-       * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
-       * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
-       argument since it can be deduced from diskfilter. All users updated.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove prio_list.
-
-       * include/grub/list.h (grub_prio_list): Removed.
-       (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
-       GRUB_COMMAND_PRIO_MASK.
-       (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
-       GRUB_COMMAND_FLAG_ACTIVE.
-       (grub_prio_list_insert): Removed.
-       (grub_prio_list_remove): Likewise.
-       (GRUB_AS_PRIO_LIST): Likewise.
-       (GRUB_AS_PRIO_LIST_P): Likewise.
-       * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
-       (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
-       * grub-core/kern/list.c (grub_prio_list_insert): Remove.
-       * grub-core/kern/command.c (grub_register_command_prio): Inline
-       the prio_list code.
-       (grub_unregister_command): Likewise.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix interrupt mixup from previous commit.
-
-       * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
-       (grub_realidt): New var.
-       * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
-       Load idt.
-       * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
-       New declaration.
-       (grub_relocator16_boot): Set grub_relocator16_idt.
-       * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
-       (LOCAL(realidt)): ... this.
-       * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
-       * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
-       (grub_realidt): New variable.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
-       * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
-       * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
-       * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
-       Gettextize.
-       * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
-       * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
-       * po/POTFILES.in: Regenerate.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
-       errors.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
-       \0.
-       (add_length): Likewise.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-2012-02-26  Lubomir Kundrak  <lkundrak@redhat.com>
-
-       GDB serial and backtrace support.
-
-       * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
-       (prot_to_real): Likewise.
-       * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
-       * grub-core/Makefile.core.def (backtrace): New module.
-       (gdb): Likewise.
-       * grub-core/gdb/cstub.c: New file.
-       * grub-core/gdb/gdb.c: Likewise.
-       * grub-core/gdb/i386/idt.c: Likewise.
-       * grub-core/gdb/i386/machdep.S: Likewise.
-       * grub-core/gdb/i386/signal.c: Likewise.
-       * grub-core/lib/i386/backtrace.c: Likewise.
-       * grub-core/lib/backtrace.c: Likewise.
-       * include/grub/backtrace.h: Likewise.
-       * include/grub/gdb.h: Likewise.
-       * include/grub/i386/gdb.h: Likewise.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
-       New function.
-       (add_length): Likewise.
-       (__argp_fmtstream_update): Handle strings with non-ASCII chars.
-       * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
-       proto.
-       * grub-core/gnulib/argp-help.c (argp_args_usage): Use
-       __argp_get_display_len.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       $"..." support in scripts.
-
-       * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
-       GRUB_SCRIPT_ARG_TYPE_GETTEXT.
-       * grub-core/script/yylex.l: Likewise.
-       * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
-       value.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * gentpl.py: Remove obsolete pkglib_DATA handling.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't transform PACKAGE_TARNAME following a discussion on autoconf
-       mailing list.
-
-       * util/grub-install.in: Don't transform PACKAGE_TARNAME.
-       * util/grub-kbdcomp.in: Likewise.
-       * util/grub-mkconfig.in: Likewise.
-       * util/grub-mkconfig_lib.in: Likewise.
-       * util/grub-mknetdir.in: Likewise.
-       * util/grub-mkrescue.in: Likewise.
-       * util/grub-mkstandalone.in: Likewise.
-       * util/grub-reboot.in: Likewise.
-       * util/grub-set-default.in: Likewise.
-       * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove GRUB_PREFIX.
-
-       * util/grub-mkconfig.in: Remove GRUB_PREFIX.
-       * util/grub.d/00_header.in: Compute prefix in the only place it's still
-       used for backward compatibility.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add new all_video module.
-
-       * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
-       * grub-core/Makefile.core.def (all_video): New module.
-       * grub-core/genmoddep.awk: Generate dependency of all_video from
-       video.lst.
-       * grub-core/lib/fake_module.c: New file.
-       * grub-core/normal/main.c (features): Add feature_all_video_module.
-       * util/grub.d/00_header.in: Define locale_dir based on $prefix and
-       don't do explicit search again.
-       insmod all_video in load_video if available.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Another round of string clarification and adding TRANSLATORS comments.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mknetdir.in: Remove erroneous reference to install_device.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
-       to grub_ssize_t.
-       * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
-       * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
-       trailing newline implicitly. All users updated.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement serial on IEEE1275 and EFI.
-
-       * docs/grub.texi (Platform-specific limitations): Fix the columen video
-       on emu. Mention arc and emu as the only platforms without serial
-       support.
-       * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
-       ieee1275 platforms.
-       * grub-core/term/efi/serial.c: New file.
-       * grub-core/term/ieee1275/serial.c: Likewise.
-       * grub-core/term/serial.c (grub_serial_find): Disable direct port
-       specification if no ns8250 driver is available.
-       (grub_cmd_serial): Likewise.
-       (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
-       (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
-       * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
-       (grub_efi_parity_type_t): New type.
-       (grub_efi_stop_bits_t): Likewise.
-       (grub_efi_serial_io_interface): New struct.
-       * include/grub/serial.h (grub_serial_port): Make 'broken' field
-       available for all interfaces.
-       Add EFI and IEEE1275 fields.
-       (grub_ofserial_init): New proto.
-       (grub_efiserial_init): Likeiwse.
-       * util/grub.d/00_header.in: Don't check for the presence of serial
-       module.
-
-2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
-       name as if it was an alias.
-
-2012-02-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/lsacpi.c (options): Fix typo.
-
-2012-02-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Convert grub-emu to argp.
-
-       * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
-       emu.
-       * util/argp_common.c: Rename to ...
-       * grub-core/kern/emu/argp_common.c: ... this. All users updated.
-       Add missing includes.
-       * grub-core/kern/emu/main.c: Convert to argp.
-       * po/POTFILES.in: Regenerate.
-       * util/grub-install.in (usage): Make first letter lowcase in messages
-       for uniformity.
-       * util/grub-setup.c (options): Likewise.
-
-2012-02-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
-       Put back accidently commented-out code.
-
-2012-02-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
-       loop check using Brent algorithm.
-       (grub_hfsplus_btree_search): Likewise.
-
-2012-02-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Fix usage of wrong device for PreP install.
-
-2012-02-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common (CFLAGS_GNULIB): Add
-       -Wno-unsafe-loop-optimizations.
-       * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
-       on tools.
-       * grub-core/commands/legacycfg.c: Add pragma to skip
-       -Wunsafe-loop-optimizations.
-       (check_password_md5_real): Fix loop counter type.
-       * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
-       reading.
-       * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
-       * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
-       loop condition.
-       * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
-       * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
-       * grub-core/net/net.c (grub_net_route_address): Add safety loop
-       condition.
-       * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
-       * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
-       avoid possible infinite loops.
-       * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
-       and -Wunsafe-loop-optimizations.
-       * grub-core/script/yylex.l: Likewise.
-       * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
-       (print_glyphs): Avoid infinite loops.
-       * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
-
-2012-02-24  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
-       to avoid infinite loop.
-       (disp_acpi_rsdt_table): Likewise.
-
-2012-02-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/font/font.c (grub_font_load): Add support for default
-       path for fonts ($prefix/fonts).
-       * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
-       for checking if string is a path.
-       * grub-core/normal/main.c (features): Add feature_default_font_path.
-       * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
-       * util/grub.d/00_header.in: Use default directory if possible.
-       * util/grub-install.in: Install unicode.pf2.
-
-2012-02-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
-       * po/Rules-swiss: New file.
-       * po/swiss.sed: Likewise.
-
-2012-02-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/btrfs.c (find_device): Fix typos.
-       * grub-core/fs/zfs/zfs.c (read_device): Likewise.
-       * util/grub-mkrelpath.c (argp_parser): Likewise.
-       Reported by: Yuri Chornoivan.
-
-2012-02-23  Dalet Omega <daletomega@gmail.com>
-
-       * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
-       for usual informative messages.
-
-2012-02-23  Dalet Omega <daletomega@gmail.com>
-
-       Starfield theme.
-
-       * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
-       * conf/Makefile.common: Define starfielddir.
-       * configure.ac: Configure starfield.
-       * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
-       * themes/starfield/README: Likewise.
-       * themes/starfield/blob_w.png: Likewise.
-       * themes/starfield/boot_menu_c.png: Likewise.
-       * themes/starfield/boot_menu_e.png: Likewise.
-       * themes/starfield/boot_menu_n.png: Likewise.
-       * themes/starfield/boot_menu_ne.png: Likewise.
-       * themes/starfield/boot_menu_nw.png: Likewise.
-       * themes/starfield/boot_menu_s.png: Likewise.
-       * themes/starfield/boot_menu_se.png: Likewise.
-       * themes/starfield/boot_menu_sw.png: Likewise.
-       * themes/starfield/boot_menu_w.png: Likewise.
-       * themes/starfield/slider_c.png: Likewise.
-       * themes/starfield/slider_n.png: Likewise.
-       * themes/starfield/slider_s.png: Likewise.
-       * themes/starfield/src/blob_nw.xcf: Likewise.
-       * themes/starfield/src/bootmenu/: Likewise.
-       * themes/starfield/src/bootmenu/center.xcf: Likewise.
-       * themes/starfield/src/bootmenu/corner.xcf: Likewise.
-       * themes/starfield/src/bootmenu/side.xcf: Likewise.
-       * themes/starfield/src/slider_c.xcf: Likewise.
-       * themes/starfield/src/slider_n.xcf: Likewise.
-       * themes/starfield/src/slider_s.xcf: Likewise.
-       * themes/starfield/src/terminalbox/: Likewise.
-       * themes/starfield/src/terminalbox/center.xcf: Likewise.
-       * themes/starfield/src/terminalbox/corner.xcf: Likewise.
-       * themes/starfield/src/terminalbox/side.xcf: Likewise.
-       * themes/starfield/starfield.png: Likewise.
-       * themes/starfield/terminal_box_c.png: Likewise.
-       * themes/starfield/terminal_box_e.png: Likewise.
-       * themes/starfield/terminal_box_n.png: Likewise.
-       * themes/starfield/terminal_box_ne.png: Likewise.
-       * themes/starfield/terminal_box_nw.png: Likewise.
-       * themes/starfield/terminal_box_s.png: Likewise.
-       * themes/starfield/terminal_box_se.png: Likewise.
-       * themes/starfield/terminal_box_sw.png: Likewise.
-       * themes/starfield/terminal_box_w.png: Likewise.
-       * themes/starfield/theme.txt: Likewise.
-
-2012-02-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/00_header.in: Add missing export theme.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
-       already included.
-       Reported by: Eren D.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common (grubdatadir): Removed.
-       (Makefile.am): Move eveything grubdata to pkgdata.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/acpihalt.c (get_sleep_type):
-       Remove unused variable.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
-       GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
-       GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
-       and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
-       * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
-       i18n with gettext no-op.
-       (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
-       GRUB_ACPI_OPCODE_STRING_CONST.
-       (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
-       GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/POTFILES.in: Regenerate.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
-       -Wno-error=missing-noreturn.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
-       condition to avoid possibly infinite loops.
-       * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
-       * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
-       condition to avoid possibly infinite loops.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
-       on show_error.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/bin2h.c (usage): Add missing attribute noreturn.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
-       if the size isn't divisible by 512.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make list_push and list_remove functions rather than inline functions
-       to decrease size and avoid aliasing violations.
-
-       * include/grub/list.h (grub_list_push): Move to ...
-       * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
-       * include/grub/list.h (grub_list_remove): Move to ...
-       * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
-
-2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
-       and -Wunused-result.
-
-2012-02-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
-       Reported by: Seth Goldberg
-
-2012-02-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
-
-2012-02-19  Samuel Thibault  <samuel.thibault@ens-lyon.org>
-
-       * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
-       * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
-       command line.
-       * docs/grub.texi (Simple configuration): Document
-       GRUB_CMDLINE_GNUMACH.
-
-2012-02-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/Makefile.common (platform_SCRIPTS): New variable.
-       (platform_PROGRAMS): Likewise.
-       * gentpl.py: Mark *,module and *.image for install.
-       * grub-core/gdb_grub.in: Add a notice of expected environment.
-       * grub-core/Makefile.core.def (gdb_grub): Mark for install.
-       (gmodule.pl): Likewise.
-
-2012-02-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Replace grub_checkkey with grub_getkey_noblock.
-
-       * grub-core/kern/term.c (grub_checkkey): Replaced with ...
-       (grub_getkey_noblock): ... this. All users updated.
-
-2012-02-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/console.c: Move to ...
-       * grub-core/term/emu/console.c: ...here.
-       (grub_ncurses_getkey): Fix return value if no key is detected.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/test.h (grub_unit_test_init): Add missing prototype.
-       (grub_unit_test_fini): Likewise.
-       * tests/lib/unit_test.c (main): Remove extra nested external prototype.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/test.h (GRUB_UNIT_TEST)
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/execute.c (grub_script_break): Clarify logic.
-       Better error handling.
-       (grub_script_return): Likewise.
-       * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
-       rimplicit redifinition.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Internationalisation): Detail (lack of) collation in
-       GRUB.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
-       * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
-       prompt here.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
-       as GRUB_ERR_BUG. Don't malloc if no device is available.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
-       Mark calling with invalid term as GRUB_ERR_BUG.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/tftp.c (tftp_receive): Silently discard too short
-       packets rather than raising an error.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
-       in if.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
-       diagnostic to dprintf.
-       * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
-       device name.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
-       (grub_ntfs_iterate_dir): Likewise.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Efiemu stylistic fixes and gettext.
-
-       * grub-core/efiemu/i386/loadcore32.c
-       (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
-       * grub-core/efiemu/i386/loadcore64.c
-       (grub_arch_efiemu_relocate_symbols64): Likewise.
-       * grub-core/efiemu/i386/pc/cfgtables.c
-       (grub_machine_efiemu_init_tables): Likewise.
-       * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
-       (grub_efiemu_loadcore_initXX): Add a filename argument.
-       All users updated.
-       Improved error message.
-       * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
-       Add a filename argument.
-       All users updated.
-       * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
-       Reclassify double relocation as GRUB_ERR_BUG.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
-       handling.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
-       on partition.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
-
-2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Improve string. Gettextize.
-
-2012-02-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
-       utils.
-       * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
-
-2012-02-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
-       [GRUB_UTIL]: New function.
-       (insert_array) [GRUB_UTIL]: Store partmaps.
-       * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
-       partmaps.
-       (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
-       * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
-       (probe_abstraction): Print diskfilter and not raid.
-       Reported by: Lennart Sorensen
-
-2012-02-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
-       * util/grub-mkimagexx.c (MASK3): New define.
-       (add_value_to_slot_20b): Use MASK3.
-       (add_value_to_slot_21): Likewise.
-       (relocate_addresses): Fix format specification.
-       (load_image): Explicitly init symtab_section.
-
-2012-02-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
-       (grub_util_biosdisk_get_grub_dev): Fix format specification.
-
-2012-02-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
-       on powerpc.
-       Reported by: Lennart Sorensen
-
-2012-02-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * gentpl.py: Add missing license header.
-       * docs/grub.texi: Update copyright year.
-
-2012-02-10  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       Source grub-mkconfig_lib from the build directory at build time.
-       Suggested by: Vladimir Serbinenko.
-
-       * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
-       * util/grub-install.in: Define pkgdatadir if not already set, and source
-       grub-mkconfig_lib from there.
-       * util/grub-kbdcomp.in: Likewise.
-       * util/grub-mkconfig.in: Likewise.
-       * util/grub-mknetdir.in: Likewise.
-       * util/grub-mkrescue.in: Likewise.
-       * util/grub-mkstandalone.in: Likewise.
-       * util/grub-reboot.in: Likewise.
-       * util/grub-set-default.in: Likewise.
-       * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Increase warning level.
-
-       * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
-       -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
-       * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
-       (TARGET_CFLAGS): Likewise.
-       (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
-       * grub-core/Makefile.core.def (decompressor_xz): Add
-       -Wno-unreachable-code.
-       (normal): Add -Wno-redundant-decls.
-       (xzio): Add -Wno-unreachable-code.
-       (lzopio): Add -Wno-redundant-decls -Wno-error.
-       * grub-core/commands/acpi.c: Add exception to -Wcast-align.
-       * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
-       * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
-       * grub-core/kern/dl.c: Add exception to -Wcast-align.
-       * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
-       * grub-core/kern/i386/coreboot/init.c: Add exception to
-       -Wsuggest-attribute=noreturn.
-       * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
-       * grub-core/kern/ia64/dl_helper.c: Likewise.
-       * grub-core/kern/mips/dl.c: Likewise.
-       * grub-core/kern/sparc64/dl.c: Likewise.
-       * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
-       * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
-       (memcmp): Likewise.
-       * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
-       * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
-       * grub-core/loader/mips/linux.c: Likewise.
-       * grub-core/loader/multiboot_elfxx.c: Likewise.
-       * grub-core/script/parser.y: Add exception to -Wunreachable-code.
-       * grub-core/video/sm712.c: Add exception to -Wcast-align.
-       * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
-       * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
-       fixme.
-       * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
-       * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
-       Fix prototype.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
-       address.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
-       Avoid improper use of strings.
-       (grub_cmd_legacy_initrdnounzip): Likewise.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/emu/misc.h (grub_util_warn): Add missing format
-       attribute.
-       (grub_util_info): Likewise.
-       (grub_util_error): Likewise.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mount.c (fuse_init): Avoid improper use of strings.
-       * util/grub-fstest.c (fstest): Likewise.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
-       (grub_md_sha512_real): Likewise.
-       (grub_util_get_geli_uuid): Likewise.
-       * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
-       (grub_util_biosdisk_open): Fix format specification.
-       Respect format security.
-       * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
-       (xrealloc): Likewise.
-       (xasprintf): Likewise.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/import_gcry.py: Include grub/crypto.h in init.c.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
-       (generate_image): Make prefix a const char *.
-       Fix format specifications. Respect format security.
-       Avoid void * arithmetics.
-       Avoid shadowing.
-       (argp_parser): Remove unused variable. Respect format security.
-       * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
-       (count_funcs) [!MKIMAGE_ELF64]: #if-out.
-       (count_funcs): Remove unused variable.
-       (relocate_addresses): Fix format specification.
-       Disable x86-64 with elf32. Remove unused variables.
-       (add_fixup_entry): Avoid shadowing.
-       (make_reloc_section): Fix format specification.
-       Use assert.
-       (locate_sections): Fix format specifications.
-       (load_image): Avoid shadowing.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
-       Fix format specifications. Respect format security.
-       Don't translate already translated grub_errmsg.
-       (argp_parser): Remove unused variable
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
-       (main): Likewise. Use xmalloc. Respect format security.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
-       a const char *.
-       (argp_parser): Remove unused variable.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkfont.c (grub_font_info): Make name a const char *.
-       (add_pixel): Make static.
-       (add_font): Likewise.
-       (write_string_section): Make name and str a const char *.
-       (write_be16_section): Make name a const char *.
-       (print_glyphs): Make static.
-       (write_font_ascii_bitmap): Likewise.
-       (write_font_width_spec): Likewise.
-       (write_font_pf2): Likewise.
-       (argp_parser): Remove unused variable.
-       Respect format security.
-       (main): Avoid shadowing. Respect format security.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-editenv.c (argp_parser): Make static.
-       (create_envblk_file): Use xmalloc.
-       (open_envblk_file): Likewise.
-       Resepect format security.
-       (set_variables): Respect format security.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_find_device): Respect format security.
-       (get_mdadm_uuid): Remove unused variable.
-       (grub_util_pull_device): Dont call gettext on already translated
-       grub_errmsg.
-       (find_system_device): Remove unused variable.
-       (grub_util_get_grub_dev): Likewise.
-       (grub_make_system_path_relative_to_its_root): Respect format security.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-fstest.c (execute_command): Make first argument
-       a const char *.
-       (read_file): Avoid shadowing.
-       Reuse underlying error message if device open fails.
-       (cmd_cmp): Respect format security.
-       (root): Make const char *.
-       (fstest): Remove args argument and use global copy.
-       Respect format security.
-       (argp_parser): Make static.
-       (main): Make default_root const char *.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mount.c (root): Make const char *.
-       (execute_command): Make first argument a const char *.
-       (fuse_init): Respect format security.
-       (argp_parser): Make static. Remove unused variable.
-       (main):  Make default_root a const char *.
-       Respect format security.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-probe.c (probe): Don't call gettext on already translated
-       grub_errmsg.
-       Remove unused variables.
-       (argp_parser): Remove unused variable.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-script-check.c (argp_parser): Remove unused variable.
-       (main): Rename read to curread to avoid shadowing.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/misc.c (grub_util_write_image_at): Fix format specification.
-       (grub_util_write_image): Likewise.
-       (grub_script_execute_argument_to_string): Removed (unused).
-       (grub_script_execute_menuentry): Likewise.
-       (grub_putchar): Likewise.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
-       (FUNCTION) [GRUB_UTIL]: Likewise.
-       (VARIABLE) [GRUB_UTIL]: Likewise.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
-       NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
-       buffer.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
-       (LzmaEnc_SaveState): Removed (unused).
-       (LzmaEnc_RestoreState): Likewise.
-       (LzmaEnc_InitPriceTables): Made static.
-       (LzmaEnc_Construct): Likewise.
-       (LzmaEnc_FreeLits): Likewise.
-       (LzmaEnc_Destruct): Likewise.
-       (LzmaEnc_Init): Likewise.
-       (LzmaEnc_InitPrices): Likewise.
-       (LzmaEnc_Finish): Likewise.
-       (LzmaEnc_PrepareForLzma2): Removed (unused).
-       (LzmaEnc_MemPrepare): Likewise.
-       (LzmaEnc_GetNumAvailableBytes): Likewise.
-       (LzmaEnc_GetCurBuf): Likewise.
-       (LzmaEnc_CodeOneMemBlock): Likewise.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
-       (grub_util_ldm_embed): Likewise.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-editenv.c (print_var): Rename name to varname to
-       avoid shadowing.
-       (main): Rename index to curindex to avoid shadowing.
-       Make filename a const char *.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
-       to arg_getline to avoid shadowing.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
-       disk_ to avoid shadowing.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
-       curindex to avoid shadowing.
-       Make static.
-       (MatchFinder_GetNumAvailableBytes): Make static.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/squash4.c (direct_read): Rename read to curread to
-       avoid shadowing.
-
-2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
-       argument from encrypt to do_encrypt to avoid shadowing.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
-       incorrect nesting of #if's.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
-       checks which are always false on some platforms.
-       (grub_cmd_lsacpi): Likewise.
-       * grub-core/kern/misc.c (grub_strtoul): Likewise.
-       * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
-       Likewise.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
-       * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
-       re_dfa_t to avoid breaking alignment invariants.
-       * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
-       * grub-core/gnulib/regex.h (re_dfa_t): ... here.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
-       * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
-       Fix declaration.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
-       conserve alignment invariants.
-       (grub_ehci_ehcc_read16): Likewise.
-       (grub_ehci_oper_read32): Likewise.
-       (grub_ehci_oper_write32): Likewise.
-       (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
-       Conserve alignment invariants.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
-       * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
-       declarations.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
-       Remove unused variable.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
-       Remove set in if.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/net.h: Remove double declarations.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove "payload" command in ia64 Linux loader since I couldn't
-       find any evidence of it being used for anything.
-       Replace "relocate" command with an environment variable
-
-       * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
-       fields.
-       (ia64_boot_payload): Removed.
-       (last_payload): Likewise.
-       (RELOCATE_OFF): Likewise.
-       (RELOCATE_ON): Likewise.
-       (RELOCATE_FORCE): Likewise.
-       (relocate): Likewise.
-       (free_pages): Don't free payloads.
-       (grub_load_elf64): Use common error messages.
-       Use "linux_relocate" variable.
-       Increase the space after boot_params.
-       (grub_cmd_payload): Removed.
-       (grub_cmd_relocate): Likewise.
-       (grub_cmd_fpswa): Improve messages.
-       (cmd_payload): Removed.
-       (cmd_relocate): Likewise.
-       (GRUB_MOD_INIT): Don't register "payload" and "relocate".
-       (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Convert UHCI to DMA framework.
-
-       * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
-       (grub_uhci_pci_iter): Fill new members
-       (grub_alloc_td): Use P2V and V2P functions.
-       (grub_free_queue): Likewise.
-       (grub_alloc_qh): Likewise.
-       (grub_uhci_setup_transfer): Likewise.
-       (grub_uhci_check_transfer): Likewise.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
-       Remove assignment in if while on it.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkstandalone.in: Fix modules directory.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (image_targets): Set default_compression to lzma
-       on i386-pc target.
-       (argp_parser): Accept "auto" as compression specification.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix `help' with unloaded modules.
-
-       * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
-       * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
-       (grub_dyncmd_dispatcher): Small stylistic fix.
-       * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
-       explicit help is requested.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
-       Explicitly init restart while on it.
-
-2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
-       uninited variable.
-
-2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mknetdir.in: Use . rather than source for POSIX
-       compatibility.
-
-2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-probe.c (main): Fix trailing space in compatibility hint.
-
-2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
-       variable.
-
-2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
-       without quotes.
-
-2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
-
-2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
-       iteration of partitions.
-
-2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Improve gettext support. Stylistic fixes and error handling fixes while
-       on it.
-
-2012-02-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
-       part. Instead setup the correct stack in RM.
-       * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
-       for stack.
-       * include/grub/i386/relocator_private.h: New file.
-
-2012-02-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
-       argument.
-       * util/grub-fstest.c (options): Add missing DEVICE part.
-
-2012-02-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Clarify and unify messages.
-
-       * grub-core/commands/hashsum.c (options): Unify messages.
-       * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
-       literal-only message as translatable.
-       * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
-       * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
-       * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
-       commands.
-       * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
-       key, not the key used to unlock. Clarify what it's used for.
-       * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
-       * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
-       * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
-       * util/grub-editenv.c (options): Unify "verbose" message.
-       * util/grub-fstest.c (read_file): Unify error message.
-       (fstest): Add quotes around commands.
-       (options): Unify "verbose" message.
-       * util/grub-install.in: Add quotes around variable name.
-       * util/grub-kbdcomp.in: Unify error message.
-       * util/grub-mkfont.c (main): Likewise.
-       * util/grub-mkrescue.in: Likewise.
-       * util/grub-mklayout.c (options): Unify "verbose" message.
-       * util/grub-mkstandalone.in: Unify help and verbose messages.
-       * util/grub-mount.c (options): Unify "verbose" message.
-       * util/grub-probe.c (options): Likewise.
-       * util/grub-script-check.c (options): Likewise.
-       * util/grub-setup.c (setup): Unify no-terminator message.
-       (options): Use DEVICE and not DEV.
-       Unify "verbose" message.
-       * util/ieee1275/ofpath.c (xrealpath): Unify error message.
-
-2012-02-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Improve and unify messages.
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
-       name. All users updated.
-       Print filename in error.
-       (read_device_map): Print filename in error.
-       * util/getroot.c (grub_guess_root_devices): Print filename in error.
-       (grub_util_get_os_disk): Likewise.
-       (grub_util_biosdisk_get_grub_dev): Likewise.
-       (grub_util_check_block_device): Likewise.
-       (grub_util_check_char_device): Likewise.
-       (grub_make_system_path_relative_to_its_root): Likewise.
-       * util/grub-editenv.c (create_envblk_file): Likewise.
-       (open_envblk_file): Likewise.
-       (write_envblk): Likewise.
-       * util/grub-fstest.c (cmd_cp): Likewise.
-       (cmd_cat): Likewise.
-       (cmd_cmp): Likewise.
-       * util/grub-menulst2cfg.c (main): Likewise.
-       * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
-       (write_font_width_spec): Likewise.
-       (write_font_pf2): Likewise.
-       * util/grub-mkimage.c (generate_image): New argument outname.
-       All users updated.
-       Remove unreacheable message.
-       (options): Unify messages.
-       (help_filter): Likewise.
-       * util/grub-mklayout.c (usage): Removed (unused).
-       (main): Print filename in error.
-       * util/grub-mkrescue.in: Fix wrong quoting.
-       * util/grub-setup.c (setup): Print filename in error.
-       * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
-       (check_sas): Likewise.
-       * util/misc.c (grub_util_get_fp_size): Removed.
-       (grub_util_get_image_size): Print filename in error.
-       (grub_util_read_at): Removed.
-       (grub_util_read_image): Print filename in error.
-       (grub_util_load_image): Likewise.
-       (grub_util_write_image_at): New argument filename. All users updated.
-       Print filename in error.
-       (grub_util_write_image): New argument filename. All users updated.
-       Print filename in error.
-       * util/raid.c (grub_util_raid_getmembers): Print filename in error.
-       * util/resolve.c (grub_util_resolve_dependencies): Likewise.
-
-2012-02-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (pxechain): New module.
-       * grub-core/loader/i386/pc/pxechainloader.c: New file.
-       * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
-       function.
-       (grub_pc_net_config_real): Use grub_pxe_get_cached.
-       * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
-
-2012-02-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
-       * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
-       * include/grub/err.h (grub_error_saved): New struct.
-       (grub_errmsg): Make array size explicit.
-       * include/grub/misc.h (grub_error_save): New function.
-       (grub_error_load): Likewise.
-       * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
-       (grub_error_push): Update `errno' member name.
-       (grub_error_pop): Likewise
-       * grub-core/net/tftp.c (tftp_data): New member save_err.
-       (tftp_receive): Save error.
-       (tftp_open): Restore error.
-
-2012-02-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
-       to real mode down to execute A20-related code in protected mode as
-       intended.
-
-2012-02-05  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
-       NULL when the argument `level' has an unexpected value.
-
-2012-02-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move platform-dependent files from $prefix to $prefix/$platform.
-
-       * config.h.in (GRUB_TARGET_CPU): New definition.
-       (GRUB_PLATFORM): Likewise.
-       * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
-       * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
-       * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
-       * grub-core/kern/dl.c (grub_dl_load): Likewise.
-       * grub-core/normal/autofs.c (read_fs_list): Likewise.
-       * grub-core/normal/crypto.c (read_crypto_list): Likewise.
-       * grub-core/normal/dyncmd.c (read_command_list): Likewise.
-       * grub-core/normal/term.c (read_terminal_list): Likewise.
-       * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
-       $prefix/locale.
-       (grub_gettext_init_ext): Likewise.
-       * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
-       grub_platform.
-       * util/grub-install.in: Update directories.
-       * util/grub-mknetdir.in: Likewise.
-       * util/grub-mkrescue.in: Likewise.
-
-2012-02-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
-       grub_error framework. All users updated.
-
-2012-02-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
-       lists (by always binsearching), improve caching (cache strings
-       used for binsearch, not only results), improve
-       maintainability (by using more structured binary search) and correct
-       error handling.
-
-2012-02-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/execute.c (grub_script_return): Fix warning.
-
-2012-02-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/execute.c (grub_script_return): Fix potential
-       NULL-dereference.
-       Reported by: Jim Meyering.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/POTFILES.in: Regenerate.
-       * util/grub-install.in: Gettextize the strings missed in first pass.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.util.def (grub-mkdevicemap): Removed.
-       * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
-       * include/grub/util/deviceiter.h: Removed.
-       * util/deviceiter.c: Likewise.
-       * util/getroot.c (grub_util_get_os_disk): New function.
-       * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
-       replacement for EFI.
-       * util/grub-mkdevicemap.c: Removed.
-       * util/grub-probe.c (probe): Handle PRINT_DISK.
-       (argp_parser): Handle -t disk.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkfont.c: Migrate to argp.
-       * util/grub-mklayout.c: Likewise.
-       * util/grub-mkpasswd-pbkdf2.c: Likewise.
-       * util/grub-mkrelpath.c: Likewise.
-       * util/grub-probe.c: Likewise.
-       * util/grub-script-check.c: Likewise.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-reboot.in: Add missing datarootdir.
-       Add missing newline.
-       * util/grub-set-default.in: Add missing datarootdir.
-       * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
-       * util/grub-mkrescue.in: Likewise.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-kbdcomp.in: Add decent help and gettextize.
-       * docs/man/grub-kbdcomp.h2m: New file.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Migrate grub-mkimage.c to argp.
-
-       * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
-       (grub-setup): Likewise.
-       * util/grub-setup.c (print_version): Move to ...
-       * util/argp_common.c (print_version): ... here.
-       * util/grub-setup.c (argp_program_version_hook): Move to ...
-       * util/argp_common.c (argp_program_version_hook): ... here.
-       * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
-       safety.
-       * util/grub-mkimage.c (main): Migrate to argp.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.in: Use same message as
-       util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
-       for better translations.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
-       options with generic grub-mkrescue.in with the goal of future
-       merge.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mm.c: Add missing include of i18n.h
-       * grub-core/lib/relocator.c: Likewise.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
-       error.
-       (allocate_pages): Check return value.
-       Replace fatal with error.
-       (grub_linux_boot): Replace printf with dprintf.
-       Check find_mmap_size return value.
-       Replace fatal with error.
-       Don't call grub_machine_fini.
-       (grub_load_elf64): Replace printf with dprintf.
-       (grub_cmd_linux): Likewise.
-       (grub_cmd_initrd): Likewise.
-       (grub_cmd_payload): Likewise.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
-       message.
-       * grub-core/video/radeon_fuloong2e.c
-       (grub_video_radeon_fuloong2e_setup): Likewise.
-       * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
-       * grub-core/video/video.c (grub_video_set_mode): Don't override
-       standard out of memory message.
-
-2012-02-03  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       NetBSD disk wedge support.
-
-       * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
-       [__NetBSD__]: Handle NetBSD disk wedges.
-       * util/getroot.c (convert_system_partition_to_system_disk)
-       [__NetBSD__]: Likewise.
-
-2012-02-03  Mark Wooding <mdw@distorted.org.uk>
-
-       * util/grub-mkconfig.in: Use umask rather than chmod to create
-       grub.cfg.new to avoid insecure grub.cfg.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-        * grub-core/commands/ls.c: Gettextize.
-        * grub-core/commands/setpci.c: Likewise.
-        * grub-core/commands/videotest.c: Likewise.
-        * grub-core/disk/geli.c: Likewise.
-        * grub-core/kern/mm.c: Likewise.
-        * grub-core/lib/relocator.c: Likewise.
-        * grub-core/loader/efi/appleloader.c: Likewise.
-        * grub-core/loader/i386/xnu.c: Likewise.
-        * grub-core/loader/ia64/efi/linux.c: Likewise.
-        * grub-core/loader/xnu.c: Likewise.
-        * grub-core/net/dns.c: Likewise.
-        * grub-core/net/net.c: Likewise.
-        * grub-core/script/lexer.c: Likewise.
-        * grub-core/script/parser.y: Likewise.
-        * grub-core/script/yylex.l: Likewise.
-        * util/getroot.c: Likewise.
-        * util/grub-setup.c: Likewise.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
-       number.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
-       macro.
-       * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
-       * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkstandalone.in: Fix help messages. Gettextize.
-       * util/grub-install.in: Gettextize.
-       * util/grub-mkconfig.in: Likewise.
-       * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
-       if not available.
-       (grub_warn): Gettextize.
-       * util/grub-mknetdir.in: Gettextize.
-       * util/grub-mkrescue.in: Likewise.
-       * util/grub-mkstandalone.in: Likewise.
-       * util/grub-reboot.in: Likewise.
-       * util/grub-set-default.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.
-       * po/POTFILES-shell.in: Regenerate.
-
-2012-02-03  Richard Laager <rlaager@wiktel.com>
-
-       * util/grub-mkimage.c (main): Fix format-security warning.
-       * util/grub-mkrelpath.c (main): Likewise.
-       * util/grub-probe.c (main): Likewise.
-
-2012-02-03  Richard Laager <rlaager@wiktel.com>
-
-       * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
-       failure.
-       Put back lost PRINT_DRIVE.
-
-2012-02-03  Richard Laager <rlaager@wiktel.com>
-
-       * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
-       (grub_guess_root_devices): Replace strlen with sizeof.
-       Avoid crash.
-       (find_root_devices_from_poolname): Remove unused variable.
-       Handle raidzN.
-
-2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support install on multi-device filesystems.
-
-       * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
-       (grub_guess_root_devices): ...this. Return char **. All users updated.
-       * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
-       Removed.
-       * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
-       (find_root_devices_from_poolname): ... here.
-       (grub_find_root_devices_from_mountinfo): Return char **. Make static.
-       Support zfs-fuse.
-       (grub_guess_root_device): Rename to ...
-       (grub_guess_root_devices): ... this. Return char **. All users updated.
-       * util/grub-install.in: Handle multi-device filesystems.
-       * util/grub-probe.c (probe). Make device_names a char **. Add delim
-       argument. All users updated.
-       Handle multi-device filesystems.
-       Use 'delim' as separator.
-       Remove device check to allow filesystems on file.
-       (main): Support -0 argument. Handle multi-device.
-       * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
-       Fix a cross-device check while on it.
-       (arguments): Remove root_dev.
-       (argp_parser): Remove -r.
-       (main): Remove root_dev.
-
-2012-02-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
-
-2012-02-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
-       symbol.
-       Reported by: NODA, Kai <nodakai>.
-
-2012-02-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix ehci on amd64.
-
-       * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
-       pointers.
-       * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
-       (grub_ehci_setup_qh): Likewise.
-       (grub_ehci_find_qh): Likewise.
-       (grub_ehci_transaction): Likewise.
-       (grub_ehci_setup_transfer): Likewise.
-       (grub_ehci_check_transfer): Likewise.
-       (grub_ehci_portstatus): Likewise.
-       (grub_ehci_detect_dev): Likewise.
-       (grub_ehci_transfer_controller_data): New field td_last_phys.
-       (grub_ehci_setup_transfer): Fill td_last_phys.
-       (grub_ehci_check_transfer): Use td_last_phys.
-
-2012-02-01  Seth Goldberg <seth.goldberg@oracle.com>
-
-       * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
-       if no submenu is present.
-
-2012-02-01  Aleš Nesrsta <starous@volny.cz>
-
-       CBI support.
-
-       * include/grub/usb.h (grub_usbms_protocol_t): New values
-       GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
-       * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
-       (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
-       (grub_usbms_dev): Add subclass, protocol and intrpt.
-       Remove in_maxsz and out_maxsz.
-       (grub_usbms_reset): Rename to ...
-       (grub_usbms_bo_reset): .. this.
-       (grub_usbms_cbi_cmd): New function.
-       (grub_usbms_cbi_reset): Likewise.
-       (grub_usbms_reset): Likewise.
-       (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
-       (grub_usbms_transfer): Rename to ...
-       (grub_usbms_transfer_bo): ... this.
-       (grub_usbms_transfer_cbi): Likewise.
-       (grub_usbms_transfer): Likewise.
-
-2012-02-01  Aleš Nesrsta <starous@volny.cz>
-2012-02-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
-       the support for the CS5536 modification thereos and few bugfixes.
-
-       * grub-core/Makefile.core.def (ehci): New module.
-       * grub-core/bus/usb/ehci.c: New file.
-       * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
-       port and hubaddr. All users updated.
-       Save port and hubaddr into dev structure.
-       * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
-       define.
-       * include/grub/pci.h (grub_dma_phys2virt): New function.
-       (grub_dma_virt2phys): Likewise.
-       * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
-
-2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
-       check as some mkfs implementations omit it.
-
-2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Unicode): Mention identifier and space limitations.
-
-2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
-       Add new member volname2.
-       (grub_jfs_label): Use volname2 if available.
-
-2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
-       over last_mounted as seen in image generated by mkfs.nilfs2.
-       (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
-
-2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
-       to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
-       (grub_fat_label) [MODE_EXFAT]: Use macros for size.
-
-2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
-       over the sector.
-
-2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
-       subvolume name (by removing a bogus and useless check).
-
-2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
-       sizeof while on it.
-
-2012-01-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
-       (grub_scsi_read_capacity10): ... this.
-       (grub_scsi_read_capacity16): New function.
-       (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
-       0xffffffff.
-       Fix off-by-one error.
-       * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
-       64-bit unsigned.
-       * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
-       (grub_scsi_read_capacity10): ... this.
-       (grub_scsi_read_capacity_data): Rename to ...
-       (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
-       (grub_scsi_read_capacity16): New struct.
-       (grub_scsi_read_capacity16_data): Likewise.
-       (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
-       grub_scsi_cmd_read_capacity10.
-       New command grub_scsi_cmd_read_capacity16.
-
-2012-01-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       SCSI >2TiB support.
-
-       * grub-core/disk/scsi.c (grub_scsi_read16): New function.
-       (grub_scsi_write16): Likewise.
-       (grub_scsi_read): Use read16 when necessary.
-       (grub_scsi_write): Likewise.
-       * include/grub/scsicmd.h (grub_scsi_read16): New struct.
-       (grub_scsi_write16): Likewise.
-       (grub_scsi_cmd_t): Add READ16 and WRITE16.
-
-2012-01-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       SCSI write support (for usbms mainly).
-
-       * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
-       a const pointer.
-       (grub_scsi_write): Implement.
-       * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
-
-2012-01-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
-       variable.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/string.h (memchr): New function.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * po/POTFILES.in: Regenerate.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
-       with grub_printf to avoid unnecessary fatal failure.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
-       (INT_MAX): Likewise.
-       * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
-       * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
-       * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
-       (strcpy): Likewise.
-       (strstr): Likewise.
-       (strchr): Likewise.
-       (strncpy): Likewise.
-       (strcat): Likewise.
-       (strncat): Likewise.
-       (strcoll): Likewise.
-       * include/grub/types.h (GRUB_SHRT_MAX): New define.
-       (GRUB_INT_MAX): Likewise.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
-       unexpected error.
-       (optimize_utf8): Likewise.
-       * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/pc/lnxboot.S: Use
-       GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
-       * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
-       location.
-       * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
-       definition.
-       (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
-       * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
-       now to avoid double free.
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
-       hostdisk.
-       * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
-       * util/grub-probe.c (escape_of_path): Always return a new copy.
-       (print_full_name): Escape path.
-       (probe): Don't call grub_util_devname_to_ofpath on NULL.
-       Fix hints on abstractions.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
-       Don't add "root" line if no compatibility hont is available.
-       Suggested by: Seth Goldberg.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
-       * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
-       * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
-       * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-pe2elf.c (ehdr): Make static.
-       (shdr): Likewise.
-       (num_sections): Likewise.
-       (offset): Likewise.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Eliminate ofpath limits and possible overflows.
-
-       * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
-       (OF_PATH_MAX): Removed.
-       (MAX_DISK_CAT): New const.
-       (find_obppath): Use allocated rather than preallocated buffer.
-       Return result. Argument of_path removed. All users updated.
-       Add missing fdstat.
-       (xrealpath): New function.
-       (block_device_get_sysfs_path_and_link): Remove sysfs argument.
-       Allocate rather than use preallocated buffer. All users updated.
-       (__of_path_common): Use allocated rather than preallocatecd buffer.
-       Return result. Argument of_path removed. All users updated.
-       (vendor_is_ATA): Read only needed part form the file.
-       (check_sas): Allocate depending on contents rather than fixed.
-       (main) [STANDALONE]: Handle NULL result.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/completion.c (iterate_dev): Close the disk.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Cryptodisk write support.
-
-       * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
-       (grub_cryptodisk_decrypt): Moved logic to ...
-       (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
-       (grub_cryptodisk_write): Implement.
-       * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
-       (grub_util_fd_write): ... this. Make global.
-       * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/list.h (grub_list_remove): Don't crash if element is
-       removed twice.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Rename ofconsole to console.
-
-       * grub-core/commands/terminal.c (handle_command): Handle ofconsole
-       as sysnonym to console.
-       * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
-       * grub-core/term/ieee1275/console.c: ... this. All users updated.
-       Rename grub_ofconsole_ to grub_console_. All users updated
-       (grub_console_term_output): Rename "ofconsole" to "console".
-       * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
-       as "console".
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
-       handling.
-       * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
-       GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
-       GRUB_DISK_DEVICE_FILE_ID.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
-       and improve performance.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
-       missing ieee1275/ prefix on whole disk.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
-       * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
-
-2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Merge common RAID and LVM logic to an abstract diskfilter.
-       Add LDM support using the same framework.
-
-       * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
-       grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
-       (libgrubmods): Remove grub-core/disk/raid.c and
-       grub-core/partmap/gpt.c.
-       * grub-core/Makefile.core.def (ldm): New module.
-       (raid): Renamed to diskfilter. All users updated.
-       * grub-core/disk/raid.c: Moved to ...
-       * grub-core/disk/diskfilter.c: ... here.
-       * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
-       (lv_num): New var.
-       (find_array): Renamed to ...
-       (find_lv): ... this. Support multi-LV. Skip nameless LVs
-       (grub_is_array_readable): Renamed to ...
-       (grub_is_lv_readable): ... this. Support multinode hierarchy.
-       (insert_array): New argument id.
-       (is_node_readable): New function.
-       (scan_device): Rename to ...
-       (scan_disk): .. this. Restrict to one disk.
-       (scan_devices): New function.
-       (grub_diskfilter_iterate): Support multi-LV.
-       Skip invisible and nameless LVs.
-       (grub_diskfilter_memberlist): Support multi-LV.
-       (grub_diskfilter_read_node): New function.
-       (grub_raid_read): Most of logic moved to ...
-       (read_segment): ... here
-       (read_lv): New function.
-       (grub_diskfilter_get_vg_by_uuid): New function.
-       (grub_diskfilter_make_raid): Likewise.
-       * grub-core/disk/ldm.c: New file.
-       * grub-core/disk/lvm.c (vg_list): Removed.
-       (lv_count): Likewise.
-       (scan_depth): Likewise.
-       (is_lv_readable): Likewise.
-       (grub_lvm_getvalue): Advance pointer past the number.
-       (find_lv): Removed.
-       (do_lvm_scan): Refactored into ...
-       (grub_lvm_detect): ... this. Support raid.
-       (grub_lvm_iterate): Removed.
-       (grub_lvm_memberlist): Likewise.
-       (grub_lvm_open): Likewise.
-       (grub_lvm_close): Likewise.
-       (read_lv): Likewise.
-       (read_node): Likewise.
-       (is_node_readable): Likewise.
-       (is_lv_readable): Likewise.
-       (grub_lvm_read): Likewise.
-       (grub_lvm_write): Likewise.
-       (grub_lvm_dev): Use diskfilter
-       (GRUB_MOD_INIT): Likewise.
-       (GRUB_MOD_FINI): Likewise.
-       * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
-       new interface.
-       * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
-       * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
-       * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
-       grub_diskfilter_read_node.
-       Fix a bug with xor.
-       * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
-       grub_diskfilter_read_node.
-       Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
-       * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
-       (grub_disk_dev_iterate): Move from here...
-       * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
-       * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
-       Make global.
-       (grub_hostdisk_find_partition_start): Likewise.
-       (grub_hostdisk_os_dev_to_grub_drive): New function.
-       (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
-       * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
-       * util/getroot.c (make_device_name): ... here.
-       * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
-       Move to ...
-       * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
-       * grub-core/kern/emu/hostdisk.c
-       (convert_system_partition_to_system_disk): Move to ...
-       * util/getroot.c (convert_system_partition_to_system_disk): ...here.
-       * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
-       * util/getroot.c (device_is_wholedisk): ... here.
-       * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
-       * util/getroot.c (find_system_device): ... here.
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
-       Move to ...
-       * util/getroot.c (grub_util_biosdisk_is_present): ...here.
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
-       Move to ...
-       * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
-       Handle LDM.
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
-       Move to ...
-       * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
-       * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
-       * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
-       DISKFILTER.
-       * include/grub/raid.h: Renamed to ...
-       * include/grub/diskfilter.h: ... this.
-       * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
-       (GRUB_RAID_LAYOUT_*): Make into array.
-       (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
-       (grub_diskfilter_vg): New struct.
-       (grub_diskfilter_pv_id): Likewise.
-       (grub_raid_member): Removed.
-       (grub_raid_array): Likewise.
-       (grub_diskfilter_pv): New struct.
-       (grub_diskfilter_lv): Likewise.
-       (grub_diskfilter_segment): Likewise.
-       (grub_diskfilter_node): Likewise.
-       (grub_diskfilter_get_vg_by_uuid): New proto.
-       (grub_raid_register): Inline.
-       (grub_diskfilter_unregister): Likewise.
-       (grub_diskfilter_make_raid): New proto.
-       (grub_diskfilter_vg_register): Likewise.
-       (grub_diskfilter_read_node): Likewise.
-       (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
-       * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
-       (grub_util_is_ldm): Likewise.
-       (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
-       (grub_hostdisk_find_partition_start): Likewise.
-       (grub_hostdisk_os_dev_to_grub_drive): Likewise.
-       * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
-       New definition.
-       (grub_gpt_partition_map_iterate): New proto.
-       * include/grub/lvm.h (grub_lvm_vg): Removed.
-       (grub_lvm_pv): Likewise.
-       (grub_lvm_lv): Likewise.
-       (grub_lvm_segment): Likewise.
-       (grub_lvm_node): Likewise.
-       * util/getroot.c [...]
-       * util/grub-probe.c (probe_raid_level): Handle diskfilter.
-       (probe_abstraction): Likewise.
-       * util/grub-setup.c (setup): Remove must_embed. Support LDM.
-       (main): Remove dead logic.
-
-2012-01-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Simplify root device discover and don't fail when trying to open
-       incorrect devices.
-
-       * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
-       function.
-       (get_diskname_from_path): Likewise.
-       (grub_efidisk_get_device_name): Use get_diskname_from_path instead
-       of iterating.
-
-2012-01-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
-
-2012-01-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
-       pastthe end.
-
-2012-01-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Add missing \.
-       Reported by: gentoofan
-
-2012-01-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/squash4.c (xz_decompress): Fix return value.
-       (direct_read): Use correct compressed size.
-       (grub_squash_read_data): Likewise.
-
-2012-01-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Platform limitations): New section.
-       (Platform-specific operations): Likewise.
-       * docs/grub-dev.texi (Porting): Likewise.
-
-2012-01-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       IEEE1275 disk write support.
-
-       * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
-       const void *.
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
-       * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
-       and seek loginc to ...
-       (grub_ofdisk_prepare): ... here.
-       (grub_ofdisk_write): Implement.
-
-2012-01-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       ARC disk write support.
-
-       * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
-       (reopen): New argument writable. All users updated.
-       Handle required access mode.
-       (grub_arcdisk_write): Implement.
-       * include/grub/arc/arc.h (grub_arc_file_access): New enum.
-       (grub_arc_firmware_vector): Make buffer to write a const buffer.
-
-2012-01-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
-       (read_sblock): Don't attempt to read superblocks outside the disk size.
-
-2012-01-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
-       first superblock to find the second one when possible.
-
-2012-01-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Fix an ARC bug.
-       Print a warning if no platform-specific setup is available.
-
-2012-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use static allocation rather than scratch pointer in reed_solomon.
-       It decreases its size significantly and avoids a variable in .text.
-
-       * grub-core/lib/reed_solomon.c (scratch): Removed.
-       (chosenstat): New const or static array.
-       (sigma): Likewise.
-       (errpot): Likewise.
-       (errpos): Likewise.
-       (sy): Likewise.
-       (mstat): Likewise.
-       (errvals): Likewise.
-       (eqstat): Likewise.
-       (pol_evaluate): Replace x with log_x argument. All users updated.
-       (syndroms): Removed.
-       (gauss_solve): Use statically allocated arrays.
-       (rs_recover): Likewise.
-       Calculate syndroms directly.
-       (decode_block): Use statically allocated arrays.
-       (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
-       (main) [TEST]: Allow -DTEST -DSTANDALONE.
-
-2012-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Eliminate fixed limit on reed solomon decoder length.
-
-       * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
-       rather than hardcoding the address.
-       * grub-core/boot/i386/pc/startup_raw.S: Add new data field
-       no_reed_solomon_length.
-       Move gate_a20 to no-reed-solomon part.
-       Don't force a particular size of no reed-solomon part.
-       * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
-       Removed.
-       (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
-       * util/grub-setup.c (setup): Read no_rs_length from the image itself.
-
-2012-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/wildcard.c (match_files): Handle filenames
-       without explicit device.
-       (wildcard_expand): Don't add explicit device if not already present.
-       * tests/grub_script_echo1.in: Add a new expansion test.
-
-2012-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Replace single-linked with double-linked lists. It results in more
-       compact and more efficient code.
-
-       * grub-core/kern/list.c (grub_list_push): Moved from here ...
-       * include/grub/list.h (grub_list_push): ... to here. Set prev.
-       (grub_list_remove): Moved from here ...
-       * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
-       (grub_prio_list_insert): Set prev.
-       * include/grub/list.h (grub_list): Add prev. All users updated.
-
-2012-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle newer autotools. Add some missing quotes while on it.
-
-       * Makefile.am (pkglib_DATA): Remove update-grub_lib.
-       (pkglib_DATA): Move grub-mkconfig_lib from here ...
-       (pkgdata_DATA): ... here.
-       * Makefile.util.def (update-grub_lib): Removed.
-       * conf/Makefile.common (pkglib_DATA): Removed.
-       (pkglib_SCRIPTS): Likewise.
-       (pkgdata_DATA): New variable.
-       * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
-       needed.
-       Add missing quotes.
-       Remove unused variable while on it.
-       * tests/util/grub-shell.in: Likewise.
-       * util/grub-install.in: Likewise.
-       * util/grub-mkconfig.in: Likewise.
-       * util/grub-mknetdir.in: Likewise.
-       * util/grub-mkrescue.in: Likewise.
-       * util/grub-mkstandalone.in: Likewise.
-       * util/grub.d/00_header.in: Likewise.
-       * util/grub.d/10_hurd.in: Likewise.
-       * util/grub.d/10_illumos.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/update-grub_lib.in: Removed.
-
-2012-01-24  Seth Goldberg <seth.goldberg@oracle.com>
-
-       * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
-       a workaround for intel problem.
-
-2012-01-23  Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
-2012-01-23  Vladimir Serbinenko  <phcoder@gmail.com>
-2012-01-23  pfsmorigo
-
-       * util/grub-install.in: Support dd'in into PreP partition.
-       * util/grub-probe.c (probe): Support discovering partition type.
-       (main): Support -t msdos_parttype.
-
-2012-01-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
-       infinite recursion using counter.
-       * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
-       init to skip it if the magic check fails.
-       (dec_stream_header): Init s->crc32.
-
-2012-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
-2012-01-22  Zachary Bedell <pendorbound@gmail.com>
-2012-01-22  Richard Laager <rlaager@wiktel.com>
-
-       * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
-       All users updated.
-       (find_bestub): Determine correct size.
-       (fill_vdev_info_real): Fill ashift. New argument. All users updated.
-       (scan_disk): Align the size down.
-       Call check pool before find_bestub to have ashift.
-
-2012-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
-       dprintf in no-malloc zone.
-
-2012-01-22  Mario Limonciello <mario_limonciello@dell.com>
-
-       * configure.ac: Add back in test for limits.h.
-
-2012-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support 4K-sector NTFS.
-
-       * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
-       (grub_ntfs_data): Remove blocksize.
-       * grub-core/fs/ntfs.c (fixup): Fix size comparison.
-       Remove data argument. All users updated.
-
-2012-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
-       being in .text to avoid dprel references.
-       * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
-       * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
-       (grub_arch_highmemsize): Likewise.
-       * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
-       * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
-       * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
-
-2012-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support powerpc with GCC that defines __PPC__ but not __powerpc__.
-
-       * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
-       * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
-
-2012-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
-       GRUB_UTIL.
-       (grub_set_datetime_cmos): Likewise.
-
-2012-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make XZ compression parameters dependent on target and not host CPU.
-
-       * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
-       * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
-
-2012-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
-       set but not used variable.
-
-2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
-       created when no uuid support is compiled into mkfs.reiser.
-
-2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
-       (utf8_to_macroman): Do the opposite.
-       * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
-
-2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Refise build qemu_mips w/o unifont.
-
-2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Eliminate grub_min/grub_max prone to overflow usage.
-
-       * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
-       (poll_nonroot_hub): Likewise.
-       * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
-       (grub_affs_label): Likewise.
-       * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
-       * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
-       (grub_hfs_label): Likewise.
-       * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
-       * grub-core/fs/zfs/zfs.c (MIN): Remove.
-       (zap_leaf_array_equal): Use grub_size. Remove MIN.
-       (zap_leaf_array_get): Likewise.
-       (dnode_get_path): Likewise.
-       * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
-       * grub-core/io/xzio.c (grub_xzio_read): Likewise.
-       * grub-core/script/execute.c (grub_script_break): Likewise.
-       * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
-       grub_max.
-       * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
-       * include/grub/misc.h (grub_min): Removed.
-       (grub_max): Likewise.
-
-2012-01-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>
-
-       * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
-       direct.inode = 0.
-
-2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
-
-2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
-
-2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
-       * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
-
-2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
-       rather than a hack for grub_strncasemap.
-
-2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support multiple initrds
-       Note: part of this was accidently committed in r3739.
-
-       * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
-       initrd.
-       * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
-       * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
-       * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
-       * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
-       * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
-
-2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
-       disks with unknown size.
-       * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
-
-2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove defines pertaining to arbitrary limits not affecting GRUB
-       anymore.
-
-       * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
-       (EXT2_MAX_SYMLINKCNT): Likewise.
-       * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
-       * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
-       * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
-       (GRUB_PXE_MAX_BLKSIZE): Likewise.
-       * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
-       * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
-       (DN_MAX_OBJECT_SHIFT): Likewise.
-       (DN_MAX_OFFSET_SHIFT): Likewise.
-       (DN_MAX_OBJECT): Likewise.
-       (DNODES_PER_LEVEL_SHIFT): Likewise.
-       * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
-       (SPA_MAXBLOCKSIZE): Likewise.
-       (SPA_BLOCKSIZES): Likewise.
-       * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
-       (MZAP_MAX_BLKSZ): Likewise.
-
-2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
-       handle NULL appropriately.
-       Remove MIN.
-
-2012-01-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix efiemu.
-
-       * grub-core/efiemu/runtime/efiemu.c: explicitly include right
-       cpu/types.h.
-       (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
-       * configure.ac: Fix efiemu check.
-
-2012-01-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
-       grub_probe.
-       Reported by: adamwill
-
-2012-01-12  Seth Goldberg <seth.goldberg@oracle.com>
-
-       * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
-
-2012-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix handling of wide characters in gfxterm.
-
-       * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
-       (clear_char): Likewise.
-       (paint_char): Skip code == NULL chars.
-       (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
-
-2012-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/charset.c: Move comment to right place.
-
-2012-01-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
-       (GRUB_AFFS_FLAG_FFS): Put back where it was.
-       (grub_affs_mount): Revert the correct version checking.
-
-2012-01-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Unicode): Mention several other unsupported features.
-
-2011-12-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
-       case statements as compile-time one.
-       (direct_read): Prevent spurious warnings.
-       (grub_squash_read_data): Likewise.
-
-2011-12-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Various squash4 fixes and LZO and XZ support.
-
-       * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
-       Add xzembed source files.
-       * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
-       * grub-core/fs/squash4.c (grub_squash_super): New field compression.
-       (grub_squash_inode): New subtype long_dir.
-       (SQUASH_TYPE_LONG_DIR): New inode type.
-       (COMPRESSION): New enum.
-       (XZBUFSIZ): New const.
-       (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
-       (read_chunk): Use data->decompress.
-       (zlib_decompress): New function.
-       (lzo_decompress): Likewise.
-       (xz_decompress): Likewise.
-       (squash_mount): Set new data fields.
-       (grub_squash_iterate_dir): Handle long dir.
-       (squash_unmount): Free xzdec and xzbuf.
-       (grub_squash_open): Check ino type.
-       (direct_read): Stylistic fixes. Use data->decompress.
-       (grub_squash_read_data): Likewise.
-       * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
-       (get_byte): Likewise.
-       (grub_zlib_disk_read): Removed.
-       * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
-       (GRUB_POSIX_BOOL_DEFINED): New define.
-       * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
-       * grub-core/lib/xzembed/xz.h: Addmissing includes.
-       [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
-       * include/grub/deflate.h (grub_zlib_disk_read): Removed.
-
-2011-12-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't override more informative errors.
-
-       * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
-       * grub-core/font/font.c (open_section): Likewise.
-       * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
-       filename. Don't override errors.
-       (grub_cmd_openbsd_ramdisk): Don't override errors.
-       * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
-       (grub_cmd_initrd): Likewise.
-       * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
-       (grub_cmd_initrd): Likewise.
-       * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
-       (grub_cmd_linux): Likewise.
-       (grub_cmd_initrd): Likewise.
-       (grub_cmd_payload): Likewise.
-       * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
-       * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
-       (grub_cmd_module): Likewise.
-       * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
-       * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
-       * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
-       (grub_cmd_xnu_mkext): Likewise.
-       (grub_cmd_xnu_ramdisk): Likewise.
-       (grub_xnu_check_os_bundle_required): Likewise.
-       (grub_xnu_load_kext_from_dir): Likewise.
-       (grub_cmd_xnu_kextdir): Likewise.
-       * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
-       as 1024 in block size field. Found on one of my test images.
-       Small optimisation while on it.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
-       * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
-       (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
-       performance fixes while on it.
-       (grub_sfs_close): Fix memory leak while on it.
-       (grub_sfs_label): Convert Latin1 to UTF-8.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
-       space to avoid overflows.
-       (grub_hfs_label): Convert from macroman to UTF-8.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * unicode: Import Unicode 6.0 data.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
-       outside of range.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Avoid cutting in the middle of UTF-8 character.
-
-       * include/grub/charset.h (grub_getend): New function.
-       * grub-core/script/function.c (grub_script_function_find): Use
-       grub_getend.
-       * grub-core/normal/completion.c (add_completion): Likewise.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
-       (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
-       * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
-       (GRUB_UNICODE_TAG_END): Likewise.
-       (GRUB_UNICODE_LAST_VALID): Likewise.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
-       len and make it smaller. All users updated.
-       * util/import_unicode.py: Put length and not end character.
-       Check length.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make better Unicode-compliant and unify some UTF-8 code pathes.
-
-       * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
-       valid character.
-       (grub_is_valid_utf8): Use grub_utf8_process.
-       Check resulting code range.
-       (grub_utf8_to_ucs4): Use grub_utf8_process.
-       * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
-       valid character.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Filesystems): Mention AFS.
-
-2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Filesystems): Clarify restrictions.
-       (Regexp): Mention non-Unicode regexp behaviour.
-       (Other): Mention non-Unicode matching behaviour.
-
-2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make HFS implementation use MacRoman.
-
-       * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
-       (macroman): New const array.
-       (macroman_to_utf8): New function.
-       (utf8_to_macroman): Likewise.
-       (grub_hfs_find_dir): Use utf8_to_macroman.
-       (grub_hfs_dir): Use macroman_to_utf8.
-       Set case_insensitive.
-
-2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
-
-2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Integrate hints into autogeneration scripts.
-
-       * docs/grub.texi (Filesystems): Add a hostdisk example.
-       * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
-       (grub-probe): Add ofpath.
-       * gentpl.py: Remove group nosparc64.
-       * grub-core/commands/search.c (cache_entry): New struct.
-       (cache): New var.
-       (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
-       * grub-core/commands/search_wrap.c (options): Add platform-specific
-       hint options.
-       (grub_cmd_search): Handle platform-specific hints.
-       (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
-       * grub-core/kern/emu/hostdisk.c (map): New field device_map.
-       (grub_util_biosdisk_data): Likewise.
-       (grub_util_biosdisk_open): Set device_map.
-       (read_device_map): Handle "" as indication of no map.
-       Set device_map.
-       (find_system_device): Add hostdisk/ prefix for autogenerated entries.
-       (grub_util_biosdisk_get_compatibility_hint): New function.
-       * grub-core/normal/main.c (features): Add feature_platform_search_hint.
-       * include/grub/emu/hostdisk.h
-       (grub_util_biosdisk_get_compatibility_hint): New proto.
-       * util/grub-install.in: Don't call grub-mkdevicemap.
-       Add platform-specific hint to load.cfg.
-       * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
-       * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
-       hints. Set root preliminary to compatibility hint, not to OS name.
-       * util/grub-probe.c (PRINT_*): Add hints.
-       (print): Make static.
-       (escape_of_path): New function.
-       (guess_bios_drive): Likewise.
-       (guess_efi_drive): Likewise.
-       (guess_baremetal_drive): Likewise.
-       (print_full_name): Likewise.
-       (probe): Handle hints.
-       (main): Likewise.
-       * util/ieee1275/devicemap.c: Removed.
-       * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
-       updated.
-       (grub_util_devname_to_ofpath): Return NULL on failure.
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
-       resource leak.
-       * util/getroot.c (grub_util_pull_device): Fix memory leak.
-
-       * po/POTFILES.in: Regenerated.
-
-       Allow purely long options
-
-       * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
-       (SHORT_ARG_USAGE): Likewise.
-       (grub_arg_show_help): Compare opt with help_options.
-       (parse_option): Receive opt as argument. If makes big simplificatons.
-       All users updated
-
-2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
-       Restructure to avoid warning.
-
-2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Account for possible escaped comma in device
-       name.
-
-2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
-       channel.
-
-2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
-       allocation and zero-setting.
-       (grub_ieee1275_get_devname): Check that alias is complete.
-
-2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
-       unaligned segments.
-
-2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
-       prefix.
-       (grub_ofdisk_open): Check and discard ieee1275 prefix.
-       * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
-       Add ieee1275 prefix.
-
-2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Filesystems): Update.
-
-2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support odc, newc and bigendian cpio formats.
-
-       * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
-       * grub-core/Makefile.core.def (newc): New module.
-       (odc): Likewise.
-       (cpio_be): Likewise.
-       * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
-       (MAGIC): Likewise.
-       (MAGIC2): Likewise.
-       (head) [MODE_ODC]: Adapt for the format.
-       (head) [MODE_NEWC]: Likewise.
-       (head) [!MODE_*]: Write fields of interest as arrays.
-       (MAGIC_USTAR): Removed.
-       (read_number) [MODE_NEWC]: Change to hex.
-       (read_number) [!MODE_*]: Parse binary arrays.
-       (grub_cpio_find_file): Factor out the code for better structure and
-       always use read_number.
-       (grub_cpio_mount): Use MAGIC and MAGIC2.
-       (grub_cpio_dir): Exit on first hook non-0 return.
-       (grub_cpio_fs) [MODE_ODC]: Set name to odc.
-       (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
-       (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
-       (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
-       (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
-       (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
-       * grub-core/fs/newc.c: New file.
-       * grub-core/fs/odc.c: Likewise.
-       * grub-core/fs/cpio_be.c: Likewise.
-
-2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix handling of tar numbers occupying the whole field.
-
-       * grub-core/fs/cpio.c (read_number): New function.
-       (grub_cpio_find_file): Use read_number instead of strtoull.
-
-2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
-       occupying the whole field size.
-
-2011-12-23  Lukas Anzinger <l.anzinger@gmail.com>
-
-       * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
-
-2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
-
-2011-12-23  Seth Goldberg <seth.goldberg@oracle.com>
-
-       * grub-core/Makefile.core.def (lzma_decompress): Add missing
-       TARGET_IMG_LDFLAGS.
-
-2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/getroot.c (ESCAPED_PATH_MAX): New define.
-       (mountinfo_entry): Increase the field size to take escaping into
-       account.
-       (find_root_device_from_libzfs): Add one byte to size of strings for
-       security.
-
-2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
-       an assert.
-       * util/grub-setup.c (setup): Likewise.
-
-2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
-       _LzmaDecodeA.
-
-2011-12-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Internationalisation): New section.
-
-2011-12-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Loopback booting): New section.
-
-2011-12-22  Keshav P R  <the.ridikulus.rat@gmail.com>
-
-       * util/grub-mkstandalone.in: Fix minor typo errors.
-
-2011-12-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
-
-       * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
-       net/icmp.c and net/icmp6.c.
-       (http): New module.
-       (priority_queue): Likewise.
-       * grub-core/io/bufio.c: Rewritten.
-       * grub-core/lib/legacy_parse.c (legacy_command): New argument type
-       TYPE_WITH_CONFIGFILE_OPTION.
-       (legacy_commands): Add bootp and dhcp.
-       (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
-       (grub_legacy_parse): Likewise.
-       * grub-core/lib/priority_queue.c: New file.
-       * grub-core/net/arp.c: Add missing license header.
-       (arp_find_entry): Removed.
-       (arp_find_entry): Likewise.
-       (grub_net_arp_resolve): Rename to ...
-       (grub_net_arp_send_request): ...this.
-       (grub_net_arp_receive): New card argument.
-       * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
-       Set router and DNS server.
-       (grub_net_configure_by_dhcp_ack): Handle routing information.
-       (grub_cmd_bootp): Set checksum.
-       (grub_bootp_init): Remove net_dhcp.
-       * grub-core/net/dns.c: New file.
-       * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
-       completion.
-       (get_card_packet): Handle allocation.
-       (grub_efinet_findcards): Set mtu.
-       * grub-core/net/drivers/emu/emunet.c: Add missing license header.
-       (get_card_packet): Handle allocation.
-       (emucard): Set mtu.
-       * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
-       (GRUB_MOD_INIT): Set mtu.
-       * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
-       mtu.
-       (get_card_packet): Handle allocation.
-       (grub_ofnet_findcards): Set mtu.
-       * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
-       assert.
-       (grub_net_recv_ethernet_packet): Handle IPv6.
-       * grub-core/net/http.c: New file.
-       * grub-core/net/icmp.c: Likewise.
-       * grub-core/net/icmp6.c: Likewise.
-       * grub-core/net/ip.c (ip6addr): New type.
-       (ip6hdr): Likewise.
-       (reassemble): Likewise.
-       (cmp): New function.
-       (reassembles): New variable.
-       (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
-       (id): New variable.
-       (send_fragmented): New function.
-       (grub_net_send_ip_packet): Rename to ...
-       (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
-       Handle non-UDP.
-       (grub_net_recv_ip_packets): Rename to ...
-       (handle_dgram): ... this. Check checksum. Handle non-UDP.
-       (free_rsm): New function.
-       (free_old_fragments): Likewise.
-       (grub_net_recv_ip4_packets): New function.
-       (grub_net_send_ip6_packet): Likewise.
-       (grub_net_send_ip_packet): Likewise.
-       (grub_net_recv_ip6_packets): Likewise.
-       (grub_net_recv_ip_packets): Likewise.
-       * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
-       (LINK_LAYER_CACHE_SIZE): New const.
-       (link_layer_find_entry): New function.
-       (grub_net_link_layer_add_address): Likewise.
-       (grub_net_link_layer_resolve_check): Likewise.
-       (grub_net_link_layer_resolve): Likewise.
-       (grub_net_ipv6_get_slaac): Likewise.
-       (grub_net_ipv6_get_link_local): Likewise.
-       (grub_cmd_ipv6_autoconf): Likewise.
-       (parse_ip): Handle one number representation.
-       (parse_ip6): New functoion.
-       (match_net): Handle IPv6.
-       (grub_net_resolve_address): Handle IPv6 and DNS.
-       (grub_net_resolve_net_address): Handle IPv6.
-       (route_cmp): New function.
-       (grub_net_route_address): Find best route.
-       (grub_net_addr_to_str): Handle IPv6.
-       (grub_net_addr_cmp): New function.
-       (grub_net_add_addr): Register local route.
-       (print_net_address): Handle net address.
-       (grub_net_poll_cards): Retransmit TCP.
-       (grub_net_poll_cards_idle_real): Likewise.
-       (have_ahead): New function.
-       (grub_net_seek_real): Use underlying seek.
-       (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
-       * grub-core/net/tcp.c: New file.
-       * grub-core/net/tftp.c (tftp_data): Add priority_queue.
-       (cmp): New function.
-       (ack): Likewise.
-       (tftp_receive): Handle unordered input.
-       (destroy_pq): New function.
-       (tftp_close): Close pq.
-       * grub-core/net/udp.c: Put missing license header.
-       (grub_net_udp_socket): New function.
-       (udp_socket_register): Likewise.
-       (grub_net_udp_close): Likewise.
-       (grub_net_recv_udp_packet): Check checksum.
-       * include/grub/efi/api.h (grub_efi_simple_network): Add status.
-       * include/grub/misc.h (grub_memchr): New function.
-       * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
-       (grub_net_card_driver): Return buf in recv.
-       (grub_net_slaac_mac_list): New struct.
-       (grub_network_level_protocol_id): Add ipv6.
-       (grub_net_network_level_addr): Likewise.
-       (grub_net_network_level_net_addr): Likewise.
-       (grub_net_app_protocol): Add seek.
-       (grub_net_socket): Removed.
-       (grub_net_sockets): Likewise.
-       (grub_net_socket_register): Likewise.
-       (grub_net_socket_unregister): Likewise.
-       (FOR_NET_SOCKETS): Likewise.
-       (grub_net_add_addr): Add const.
-       (GRUB_NET_BOOTP_*): New enum.
-       (grub_net_addr_cmp): New proto.
-       (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
-       (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
-       (grub_net_hwaddr_to_str): NEw proto.
-       (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
-       (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
-       (grub_dns_init): New proto.
-       (grub_dns_fini): Likewise.
-       (grub_net_tcp_retransmit): Likewise.
-       (grub_net_link_layer_add_address): Likewise.
-       (grub_net_link_layer_resolve_check): Likewise.
-       (grub_net_link_layer_resolve): Likewise.
-       (grub_net_dns_lookup): Likewise.
-       (grub_net_add_dns_server): Likewise.
-       (grub_net_remove_dns_server): Likewise.
-       (GRUB_NET_TRIES): New const.
-       (GRUB_NET_INTERVAL): Likewise.
-       * include/grub/net/arp.h: Mostly rewritten.
-       * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
-       * include/grub/net/ip.h: Mostly rewritten.
-       * include/grub/net/netbuff.h: Indent.
-       * include/grub/net/tcp.h: New file.
-       * include/grub/net/udp.h: Mostly rewritten.
-       * include/grub/priority_queue.h: New file.
-       * include/grub/types.h (PRIdGRUB_SSIZE): New define.
-       (grub_swap_bytes64_compile_time): Likewise.
-       (grub_cpu_to_be16_compile_time): Likewise.
-       (grub_cpu_to_be32_compile_time): Likewise.
-       (grub_cpu_to_be64_compile_time): Likewise.
-       (grub_be_to_cpu64_compile_time): Likewise.
-
-2011-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
-       UINT_TO_PTR with cast.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
-       don't use them.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
-       already there.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
-       confusing ipxe.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
-       Add missing const attribute.
-       * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
-       Likewise.
-       * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
-       Likewise.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
-       misaligned access.
-       (serpent_setkey): Likewise.
-       (serpent_encrypt_internal): Likewise.
-       (serpent_decrypt_internal): Likewise.
-       (serpent_encrypt): Don't put an alignment-increasing cast.
-       (serpent_decrypt): Likewise.
-       (serpent_test): Likewise.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
-
-       * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
-       grub_addr_t casts.
-       (PTR_TO_UINT64): Likewise.
-       (PTR_TO_UINT32): Likewise.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (generate_image): Decrease the higher limit
-       because of stack.
-       * util/grub-setup.c (setup): Don't add redundancy past the higher load
-       limit.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
-       text_width > available width a bit more gracefully.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
-       current address calculation.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
-       stack.
-       (encode_block): Likewise.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
-       certainety.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
-       non-RS part to avoid RS messing with GDT.
-       * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
-       Increase to suit in realmode routines.
-
-2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/realmode.S: Increase alignment.
-       * grub-core/boot/i386/pc/startup_raw.S: Likewise.
-
-2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
-       be deterministic.
-       (syndroms): Compute 0 syndrom.
-       (rs_recover): Use 0 syndrom.
-
-2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
-
-2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
-       brackets.
-
-2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
-       account.
-       (get_top_pad): Likewise.
-       (get_right_pad): Likewise.
-       (get_bottom_pad): Likewise.
-
-2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
-
-2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
-       attribute as the structure isn't guaranteed to be properly aligned.
-       (grub_efi_pci_device_path): Likewise.
-       (grub_efi_pccard_device_path): Likewise.
-       (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
-       specify the size of `memory_type'.
-       (grub_efi_vendor_device_path): Likewise.
-       (grub_efi_controller_device_path): Likewise.
-       (grub_efi_acpi_device_path): Likewise.
-       (grub_efi_expanded_acpi_device_path): Likewise.
-       (grub_efi_atapi_device_path): Likewise.
-       (grub_efi_scsi_device_path): Likewise.
-       (grub_efi_fibre_channel_device_path): Likewise.
-       (grub_efi_1394_device_path): Likewise.
-       (grub_efi_usb_device_path): Likewise.
-       (grub_efi_usb_class_device_path): Likewise.
-       (grub_efi_i2o_device_path): Likewise.
-       (grub_efi_mac_address_device_path): Likewise.
-       (grub_efi_ipv4_device_path): Likewise.
-       (grub_efi_ipv6_device_path): Likewise.
-       (grub_efi_infiniband_device_path): Likewise.
-       (grub_efi_uart_device_path): Likewise.
-       (grub_efi_vendor_messaging_device_path): Likewise.
-       (grub_efi_hard_drive_device_path): Likewise.
-       (grub_efi_cdrom_device_path): Likewise.
-       (grub_efi_vendor_media_device_path): Likewise.
-       (grub_efi_file_path_device_path): Likewise.
-       (grub_efi_protocol_device_path): Likewise.
-       (grub_efi_piwg_device_path): Likewise.
-       (grub_efi_bios_device_path): Likewise.
-
-2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
-       (grub_ucs4_to_utf8_alloc): Likewise.
-       (grub_ucs4_to_utf8): Likewise.
-       * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
-       (grub_ucs4_to_utf8_alloc): Likewise.
-
-2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       AFFS never uses unicode.
-
-       * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
-       (grub_latin1_to_utf8): New inline function.
-       * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
-       overflow.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
-       (grub_squash_dirent_header): Likewise.
-       (read_chunk): Don't double swap.
-       (grub_squash_iterate_dir): Fix swap sizes.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
-       (grub_hfs_iterate_dir): Likewise.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix video on platforms where unaligned access is forbidden.
-       Make several optimisations while on it.
-
-       * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
-       Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
-       (grub_video_fbblit_replace_32bit_1bit): Likewise.
-       (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
-       Disable.
-       (grub_video_fbblit_replace_16bit_1bit):
-       Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
-       (grub_video_fbblit_replace_8bit_1bit): Likewise.
-       (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
-       (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
-       (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
-       (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
-       (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
-       (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
-       (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
-       (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
-       (grub_video_fbblit_replace_index_RGBX8888): Likewise.
-       (grub_video_fbblit_replace_index_RGB888): Likewise.
-       (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
-       (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
-       (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
-       (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
-       (grub_video_fbblit_blend_index_RGBA8888): Likewise.
-       (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
-       (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
-       Disable.
-       (grub_video_fbblit_blend_XXX565_1bit):
-       Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
-       * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
-       * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
-       void *.
-       * grub-core/video/fb/video_fb.c (common_blitter)
-       [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
-       (grub_video_fb_create_render_target_from_pointer)
-       [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
-       * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
-       * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
-       definition.
-       * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
-       HH22 and HM10 relocations.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
-       allocation succeeded.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
-       argument a u8 pointer. All users updated.
-       Handle unaligned buffers.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
-       add_part to workaround compiler bug.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
-       Reserve alignment invariants.
-       (grub_multiboot_load): Likewise.
-       (retrieve_video_parameters): Likewise.
-       (grub_multiboot_make_mbi): Likewise.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
-       incorrect pointer.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
-       (grub_pata_pio_write): Likewise.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add noreturn attributes and remove unreachable code.
-
-       * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
-       code.
-       * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
-       code. Mark as noreturn.
-       * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
-       * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
-       * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
-       unreachable code.
-       * grub-core/kern/main.c (grub_main): Mark as noreturn.
-       * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
-       * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
-       * grub-core/normal/menu.c (run_menu): Remove unreachable code.
-       * include/grub/kernel.h (grub_main): Mark as noreturn.
-       * include/grub/reader.h (grub_rescue_run): Likewise.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
-       redundant declaration.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/net.h (grub_net_network_level_interfaces): Remove
-       redundant declaration.
-       (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
-       to ensure alignment.
-       (grub_hdparm_print_identify): Make argument uint16 * to ensure
-       alignment. Ensure tmp alignment.
-       (grub_cmd_hdparm): Ensure buf alignment.
-       * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
-       to ensure alignment.
-       (grub_ata_dumpinfo): Ensure text alignment.
-       (grub_atapi_identify): Preserve alignment invariant.
-       (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
-       * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
-       * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
-       * include/grub/misc.h (grub_reboot)
-       [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
-       (grub_halt) [__mips__]: Likewise.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efi/memory.h (grub_machine_mmap_iterate):
-       Remove redundant declaration.
-       (grub_mmap_get_post64): Likewise.
-       (grub_mmap_get_upper): Likewise.
-       (grub_mmap_get_lower): Likewise.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
-       uint32_t * to ensure alignment.
-       (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
-       uint16_t * to ensure alignment.
-       (sun_pc_partition_map_iterate): Make `block' a union to ensure
-       alignment.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
-       to ensure alignment.
-       (sun_partition_map_iterate): Make `block' a union to ensure alignment.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c (u16at): Make into inline function.
-       Handle unaligned pointers.
-       (u32at): Likewise.
-       (u64at): Likewise.
-       (fixup): Use byte access instead of v16at.
-       (find_attr): Fix imporper usage of v32at.
-       (read_data): Likewise.
-       (list_file): Handle byte-swapping and unaligned strings.
-       (grub_ntfs_label): Likewise.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
-       as it's not necessarily aligned.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
-       redundant declaration.
-       (grub_serial_init): Likewise.
-       (grub_terminfo_init): Likewise.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
-       function.
-       (ZAP_HASH_IDX): Likewise.
-       (ZAP_LEAF_HASH_SHIFT): Likewise.
-       (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
-       (LEAF_HASH): Likewise.
-       (ZAP_LEAF_NUMCHUNKS): Likewise.
-       (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
-       alignment invariants. Return pointer. All users updated.
-       (ZAP_LEAF_ENTRY): Make into inline function.
-       (NBBY): Removed.
-       (xor): LIkewise.
-       (xor_out): Use grub_crypto_xor.
-       (dnode_get_path): Use grub_get_unaligned.
-       (nvlist_find_value): Likewise.
-       (grub_zfs_nvlist_lookup_uint64): Likewise.
-       (grub_zfs_nvlist_lookup_string): Likewise.
-       (get_nvlist_size): Likewise.
-       (grub_zfs_open): Likewise.
-       (fill_fs_info): Likewise.
-       (grub_zfs_dir): Likewise.
-       * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
-       alignment invariants.
-       * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
-       necessarily aligned.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
-       arithmetic to conserve alignment invariants.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
-       redundant declaration.
-       (grub_efiemu_mm_obtain_request): Likewise.
-       (grub_efiemu_prepare): Likewise.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
-       to match types.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
-       case of aunaligned recptr.
-       (grub_hfsplus_read_block): Declare extoverflow as key to ensure
-       alignment.
-       (grub_hfsplus_btree_search): Handle unaligned index.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
-       to get freetag and skip.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
-       array.
-       (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
-       (grub_nilfs2_btree_lookup): Ensure buffer alignment.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
-       name for checksum and fix allocation algorithm.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/types.h (grub_properly_aligned_t): New type.
-       (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
-       (grub_get_unaligned16): Add explicit casts.
-       (grub_get_unaligned32): Likewise.
-       (grub_get_unaligned64): Likewise.
-       (grub_set_unaligned16): New function.
-       (grub_set_unaligned32): Likewise.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/datetime.c (grub_weekday_names): Make const.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
-       * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
-       * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
-       conditionals.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/main.c (main): Add missing const qualifier.
-       * grub-core/loader/efi/appleloader.c (devdata): Likewise.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Unify and improve RAID and crypto xor.
-
-       * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
-       changed to grub_crypto_xor
-       * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
-       * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
-       Use bigger types when possible.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/raid.c (scan_devices): Fix condition.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
-       Make name a const ptr.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
-       first argument a const pointer.
-       * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
-       proto.
-       (grub_children_iterate): Likewise.
-       (grub_machine_mmap_iterate): Remove redundant declaration.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
-       (grub_cmd_acpi) [!x86]: Disable EBDA.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Enable UTF8 in gnulib regexp.
-
-       * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
-       * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
-       (isupper): Use grub_isupper.
-       (isascii): New inline function.
-       * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
-       * grub-core/lib/posix_wrap/wctype.h: Likewise.
-       * grub-core/normal/charset.c (grub_utf8_process): New function.
-       (grub_utf8_to_utf16): Use grub_utf8_process.
-       (grub_encode_utf8_character): New function.
-       (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
-       * include/grub/charset.h (grub_utf8_process): New declaration.
-       (grub_encode_utf8_character): Likewise.
-       * include/grub/misc.h (grub_islower): New inline function.
-       (grub_isupper): Likewise.
-       (grub_strchrsub): Moved down to fix the definitions.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
-       specification.
-
-2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/loader.h (grub_loader_register_preboot_hook):
-       Use struct preboot * and not void * for handle. All users updated.
-       (grub_loader_unregister_preboot_hook): Likewise.
-
-2011-12-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
-       * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
-       UTF-16-BE. All users updated.
-       (grub_hfsplus_cmp_catkey): Fix unicode handling.
-       (grub_hfsplus_iterate_dir): Likewise.
-       (grub_hfsplus_label): Likewise.
-
-2011-12-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
-
-2011-11-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add missing const qualifiers.
-
-       * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
-       * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
-       * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
-       * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
-       (grub_lvm_check_flag): Likewise.
-       * grub-core/efiemu/i386/coredetect.c
-       (grub_efiemu_get_default_core_name): Likewise
-       * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
-       * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
-       * grub-core/fs/ntfs.c (fixup): Likewise.
-       * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
-       * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
-       (fzap_lookup): Likewise.
-       (zap_lookup): Likewise.
-       * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
-       * grub-core/lib/legacy_parse.c (check_option): Likewise.
-       * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
-       * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
-       (grub_freebsd_add_meta_module): Likewise.
-       (grub_cmd_freebsd_module): Likewise.
-       * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
-       * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
-       (grub_xnu_writetree_get_size): Likewise.
-       (grub_xnu_writetree_toheap_real): Likewise.
-       (grub_xnu_find_key): Likewise.
-       (grub_xnu_create_key): Likewise.
-       (grub_xnu_create_value): Likewise.
-       (grub_xnu_register_memory): Likewise.
-       (grub_xnu_check_os_bundle_required): Likewise.
-       (grub_xnu_scan_dir_for_kexts): Likewise.
-       (grub_xnu_load_kext_from_dir): Likewise.
-       * grub-core/normal/color.c (color_list): Likewise.
-       * grub-core/normal/completion.c (current_word): Likewise.
-       * grub-core/normal/menu_entry.c (insert_string): Likewise.
-       * grub-core/term/serial.c (grub_serial_find): Likewise.
-       * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
-       * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
-       Likewise.
-       * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
-       (grub_freebsd_add_meta_module): Likewise.
-       * include/grub/lib/arg.h (grub_arg_option): Likewise.
-       * include/grub/net.h (grub_net_card_driver): Likewise.
-       (grub_net_card): Likewise.
-       (grub_net_app_protocol): Likewise.
-       * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
-       * include/grub/serial.h (grub_serial_find): Likewise.
-       * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
-       * include/grub/xnu.h (grub_xnu_create_key): Likewise.
-       (grub_xnu_create_value): Likewise.
-       (grub_xnu_find_key): Likewise.
-       (grub_xnu_scan_dir_for_kexts): Likewise.
-       (grub_xnu_load_kext_from_dir): Likewise.
-
-       * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
-       * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
-       * include/grub/zfs/zio_checksum.h (zio_checksum_info):
-       Moved from here ...
-       * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
-
-2011-11-28  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
-
-2011-11-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
-       (read_device): Fix size calculation.
-
-2011-11-25  Robert Millan  <rmh@gnu.org>
-
-       * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
-       (find_root_device_from_libzfs): Add zpool output parser to be used
-       as fallback when libzfs isn't available.
-
-2011-11-25  Seth Goldberg <seth.goldberg@oracle.com>
-
-       * po/Makefile.in.in: Add missing escape-continuation.
-
-2011-11-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
-
-2011-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
-
-2011-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
-
-2011-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
-
-2011-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/adler32.c: Add missing license specification.
-       * grub-core/lib/crc64.c: Likewise.
-       * grub-core/loader/i386/pc/plan9.c: Likewise.
-       * grub-core/partmap/plan.c: Likewise.
-
-2011-11-13  Lubomir Kundrak  <lkundrak@redhat.com>
-
-       Add facility to debug GRUB with gdb under qemu.
-
-       * grub-core/gdb_grub.in: New file.
-       * grub-core/gmodule.pl.in: Likewise.
-       * grub-core/Makefile.core.def (gmodule.pl): New script.
-       (gdb_grub): Likewise.
-
-2011-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mount.c (argp_parser): Accept relative pathes.
-       * util/grub-fstest.c (argp_parser): Likewise.
-
-2011-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Plan9 support.
-
-       * Makefile.util.def (libgrubmods): Add
-       grub-core/partmap/plan.c.
-       * docs/grub.texi: Notice Plan9 support.
-       * grub-core/Makefile.core.def (plan9): New module.
-       (part_plan): Likewise.
-       * grub-core/loader/i386/pc/plan9.c: New file.
-       * grub-core/partmap/plan.c: Likewise.
-       * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
-       define.
-       (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
-       * include/grub/mm.h (grub_extend_alloc): New inline function.
-
-2011-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make Reed-Solomon faster by using power of generator representation of
-       GF(256)*.
-
-       * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
-       (gf_double_t): Likewise.
-       (gf_invert): Removed.
-       (gf_powx): New array.
-       (gf_powx_inv): Likewise.
-       (scratch): Move higher.
-       (gf_reduce): Removed.
-       (gf_mul): Use powx.
-       (gf_invert): Likewise.
-       (init_inverts): Replaced with ...
-       (init_powx): ...this. All users updated.
-       (pol_evaluate): Replace multiplications with additions.
-       (rs_encode): Likewise.
-       (gauss_eliminate): Call gf_invert.
-       (grub_reed_solomon_add_redundancy): Call init_powx.
-       (grub_reed_solomon_recover): Call init_powx unconditionally.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
-       disk->partiton for safety.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
-       Fix a memory leak.
-       (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/lvm.h (grub_lvm_pv): Correct start type.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix spaces handling in proc/self/mountinfo.
-
-       * util/getroot.c (unescape): New function.
-       (grub_find_root_device_from_mountinfo): Use unescape.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support ZFS embedding.
-
-       * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
-       (grub_zfs_fs): Register grub_zfs_embed.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix MIPS compilation.
-
-       * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
-       * include/grub/offsets.h: Rename decompressor fields from
-       GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
-       * util/grub-mkimage.c (image_targets): Use new names.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Defer multiboot device parsing until we're in compressed part.
-
-       * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
-       bsd_part. setdevice has fallen into disuse.
-       * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
-       (bsd_part): Likewise.
-       (boot_dev): New variable.
-       (multiboot_trampoline): Don't parse multiboot device.
-       Pass multiboot device in %edx.
-       * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
-       grub_boot_device.
-       * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
-       Likewise.
-       * grub-core/kern/i386/pc/startup.S: Save edx.
-       (grub_boot_drive): Removed.
-       (grub_install_dos_part): Likewise.
-       (grub_install_bsd_part): Likewise.
-       (grub_boot_device): New variable.
-       * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
-       (grub_install_bsd_part): Likewise.
-       (grub_boot_drive): Likewise.
-       (grub_boot_device): New variable.
-       * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
-       Removed.
-       (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
-       (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
-       (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
-       (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
-       * util/grub-install.in: Remove redundant condition.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix bug introduced by previous commit.
-
-       * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use decompressors framework on i386-pc. It increases core size
-       by 46 bytes but improves compatibility and maintainability.
-
-       * grub-core/Makefile.core.def (lzma_decompress): New image.
-       (kernel): Add i386_pc_ldflags.
-       * grub-core/kern/i386/pc/startup.S: Move intial part to ..
-       * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
-       to real_to_prot, prot_to_real and device info.
-       * include/grub/offsets.h: Renamed decompressor offsets.
-       * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
-       (image_target_desc): Remove raw_size and rename decompressor fields.
-       (compress_kernel): Handle lzma.
-       (generate_image): Handle decompressors on i386-pc.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add -fno-asynchronous-unwind-tables.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move assembly code to C by using intwrap. It increases core size
-       by 88 bytes but improves compatibility and maintainability.
-
-       * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
-       * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
-       ... here. Translated to C.
-       * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
-       * grub-core/term/i386/pc/console.c (grub_console_getkey):
-       ... here. Translated to C.
-       * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
-       * grub-core/term/i386/pc/console.c (grub_console_getxy):
-       ... here. Translated to C.
-       * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
-       * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
-       ... here. Translated to C.
-       * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
-       * grub-core/term/i386/pc/console.c (grub_console_cls):
-       ... here. Translated to C.
-       * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
-       * grub-core/term/i386/pc/console.c (grub_console_setcursor):
-       ... here. Translated to C.
-       * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
-       * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
-       Translated to C.
-       * grub-core/term/i386/pc/console.c (int10_9): New function.
-       (grub_console_putchar): Likewise.
-       * include/grub/i386/pc/console.h: Removed the not anymore shared
-       functions.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move grub_chainloader_real_boot out of the kernel.
-
-       * grub-core/Makefile.am: Remove machine/loader.h.
-       * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
-       Removed.
-       * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
-       variable.
-       (grub_relocator16_keep_a20_enabled): Likewise.
-       (grub_relocator16_boot): Fill new variables.
-       * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
-       * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
-       relocator.
-       (grub_chainloader_unload): Likewise.
-       (grub_chainloader_cmd): Likewise.
-       * include/grub/i386/pc/loader.h: Removed.
-       * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
-       and esi. All initialisers updated.
-
-2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-2011-11-12  Colin Watson  <cjwatson@ubuntu.com>
-
-       * Makefile.util.def (grub-mount): New util.
-       * .bzrignore: Add grub-mount.
-       * configure.ac: Check for fuse and enable grub-mount if available.
-       * docs/man/grub-mount.h2m: New file.
-       * util/grub-mount.c: Likewise.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/efi/fixvideo.c: Gettextize.
-       * grub-core/commands/hashsum.c: Likewise.
-       * grub-core/commands/i386/cmostest.c: Likewise.
-       * grub-core/commands/i386/pc/drivemap.c: Likewise.
-       * grub-core/commands/i386/pc/lsapm.c: Likewise.
-       * grub-core/commands/i386/pc/sendkey.c: Likewise.
-       * grub-core/commands/lsmmap.c: Likewise.
-       * grub-core/commands/menuentry.c: Likewise.
-       * grub-core/commands/mips/loongson/lsspd.c: Likewise.
-       * grub-core/commands/setpci.c: Likewise.
-       * grub-core/loader/i386/bsd.c: Likewise.
-       * grub-core/loader/i386/linux.c: Likewise.
-       * util/getroot.c: Likewise.
-       * util/grub-editenv.c: Likewise.
-       * util/grub-fstest.c: Likewise.
-       * util/grub-mkfont.c: Likewise.
-       * util/grub-mkimage.c: Likewise.
-       * util/grub-mkpasswd-pbkdf2.c: Likewise.
-       * util/grub-pe2elf.c: Likewise.
-       * util/grub-probe.c: Likewise.
-       * util/grub-setup.c: Likewise.
-       * util/ieee1275/ofpath.c: Likewise.
-       * util/misc.c: Likewise.
-       * util/raid.c: Likewise.
-
-2011-11-11  Robert Millan  <rmh@gnu.org>
-
-       * util/getroot.c (grub_util_get_geom_abstraction): Remove
-       __attribute__((unused)) from `os_dev', which *is* being used.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
-       forgotten define.
-       (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
-       GRUB_IA64_DL_GOT_ALIGN.
-       (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
-       GRUB_IA64_DL_TRAMP_ALIGN.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Replace grub_fatal with normal errors in i386 linux loader.
-
-       * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
-       (allocate_pages): Check find_efi_mmap_size return value.
-       (grub_e820_add_region): Return error.
-       (grub_linux_boot): Check mmap return value.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/acpihalt.c: Gettextized.
-       * grub-core/commands/cacheinfo.c: Likewise.
-       * grub-core/commands/cmp.c: Likewise.
-       * grub-core/commands/efi/loadbios.c: Likewise.
-       * grub-core/commands/gptsync.c: Likewise.
-       * grub-core/commands/ieee1275/suspend.c: Likewise.
-       * grub-core/commands/legacycfg.c: Likewise.
-       * grub-core/commands/memrw.c: Likewise.
-       * grub-core/commands/minicmd.c: Likewise.
-       * grub-core/commands/parttool.c: Likewise.
-       * grub-core/commands/time.c: Likewise.
-       * grub-core/commands/videoinfo.c: Likewise.
-       * grub-core/disk/geli.c: Likewise.
-       * grub-core/disk/i386/pc/biosdisk.c: Likewise.
-       * grub-core/disk/luks.c: Likewise.
-       * grub-core/disk/lvm.c: Likewise.
-       * grub-core/font/font_cmd.c: Likewise.
-       * grub-core/fs/zfs/zfscrypt.c: Likewise.
-       * grub-core/fs/zfs/zfsinfo.c: Likewise.
-       * grub-core/gfxmenu/view.c: Likewise.
-       * grub-core/kern/emu/hostdisk.c: Likewise.
-       * grub-core/kern/emu/main.c: Likewise.
-       * grub-core/kern/emu/misc.c: Likewise.
-       * grub-core/kern/emu/mm.c: Likewise.
-       * grub-core/kern/mips/arc/init.c: Likewise.
-       * grub-core/kern/mips/loongson/init.c: Likewise.
-       * grub-core/kern/partition.c: Likewise.
-       * grub-core/lib/i386/halt.c: Likewise.
-       * grub-core/lib/mips/arc/reboot.c: Likewise.
-       * grub-core/lib/mips/loongson/reboot.c: Likewise.
-       * grub-core/loader/i386/pc/chainloader.c: Likewise.
-       * grub-core/loader/i386/xnu.c: Likewise.
-       * grub-core/loader/multiboot.c: Likewise.
-       * grub-core/net/bootp.c: Likewise.
-       * grub-core/net/net.c: Likewise.
-       * grub-core/normal/term.c: Likewise.
-       * grub-core/partmap/bsdlabel.c: Likewise.
-       * grub-core/parttool/msdospart.c: Likewise.
-       * grub-core/term/gfxterm.c: Likewise.
-       * grub-core/term/terminfo.c: Likewise.
-       * grub-core/video/i386/pc/vbe.c: Likewise.
-       * util/grub-menulst2cfg.c: Likewise.
-       * util/grub-mkdevicemap.c: Likewise.
-       * util/grub-mklayout.c: Likewise.
-       * util/grub-mkrelpath.c: Likewise.
-       * util/grub-script-check.c: Likewise.
-       * util/ieee1275/grub-ofpathname.c: Likewise.
-       * util/resolve.c: Likewise.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support %1$d syntax.
-
-       * tests/printf_unit_test.c: New file.
-       * Makefile.util.def (printf_test): New test.
-       * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
-       fix.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
-       dprintf.
-       * grub-core/font/font.c (grub_font_load): Likewise.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-macho2img.c: Add comment concerning gettext.
-       * grub-core/lib/legacy_parse.c: Likewise.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
-       (grub_xvasprintf): Likewise.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add const keyword to grub_env_get and gettextize week days.
-
-       * grub-core/hook/datehook.c (grub_datetime_names): Make const.
-       (grub_read_hook_datetime): Return const char *.
-       * grub-core/kern/env.c (grub_env_get): Return const char *. All users
-       updated.
-       * grub-core/normal/datetime.c (grub_weekday_names): Make const.
-       Mark for gettext.
-       (grub_get_weekday_name): Return const char *. Call gettext.
-       * grub-core/script/argv.c (grub_script_argv_append): Receive const
-       char * and len as the argument. All users updated.
-       (grub_script_argv_split_append): Receive const char *.
-       * include/grub/datetime.h (grub_get_weekday_name): Update proto.
-       * include/grub/env.h (grub_env_get): Likewise.
-       (grub_env_read_hook_t): Return const char *.
-       * include/grub/script_sh.h (grub_script_argv_append): Update proto.
-       (grub_script_argv_split_append): Likewise.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_strstr): Moved from here ...
-       * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
-       Fix prototype.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix mips compilation.
-
-       * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
-       normal decoder.
-       (hashes): Use in embed decoder as well (for sizes).
-       (dec_stream_header): Fix embed decompressor logic.
-       (dec_stream_footer): Likewise.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
-       an error and not a fatal on unrecognised relocation types.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
-       Issue error rather than printf on unknown arguments.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
-       Make buf a const.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
-       Fix module name.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
-       leftover debug printf.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
-       A stylistic fix.
-
-2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
-
-2011-11-10  Shea Levy  <slevy@tieronedesign.com>
-
-       Allow all modules to perform serial IO
-
-       * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
-       * include/grub/serial.h (grub_serial_port_configure): New inline
-       function.
-       (grub_serial_port_fetch): Likewise.
-       (grub_serial_port_put): Likewise.
-       (grub_serial_port_fini): Likewise.
-       (grub_serial_find): New proto.
-
-2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Put symlink at the end of the node and fix a potential
-       memory corruption.
-
-       * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
-       Make symlink into an array.
-       (set_rockridge): Set have_symlink and alloc_dirents.
-       (grub_iso9660_read_symlink): Use new layout.
-       (grub_iso9660_iterate_dir): Fix memory corruption.
-       Use new layout.
-       (grub_iso9660_dir): Set have_symlink.
-       (grub_iso9660_open): Likewise.
-
-2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove local keyword.
-
-       * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
-       (version_test_gt): Likewise.
-       (version_find_latest): Likewise.
-       (gettext_printf): Likewise.
-       * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
-
-2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
-
-2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix ZFS memory and resource leaks.
-
-       * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
-       All users updated.
-       Free type on exit.
-       (fill_vdev_info): New parameter inserted. All users updated.
-       (check_pool_label): Likewise.
-       (scan_disk): Likewise.
-       (scan_devices): Close non-inserted disks.
-       (fzap_iterate): Free l.
-       (unmount_device): Free children descripto memory.
-
-2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
-       argument (access out of bounds).
-
-2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
-       >= 6 drives.
-
-2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
-       Fix declaration.
-
-2011-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix several memory leaks.
-
-       * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
-       * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
-       (grub_cpio_dir): Likewise.
-       * grub-core/fs/fat.c (grub_fat_label): Likewise.
-       * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
-       * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
-       (grub_romfs_label): Likewise.
-       * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
-       (squash_unmount): New function.
-       (grub_squash_dir): Fix memory leak.
-       (grub_squash_open): Likewise.
-       (grub_squash_read): Likewise.
-       (grub_squash_mtime): Likewise.
-       * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
-       * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
-       * util/grub-fstest.c (fstest): Likewise.
-
-2011-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
-       avoid accessing beyond the array.
-
-2011-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
-
-2011-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Several AFFS fixes.
-
-       * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
-       (GRUB_AFFS_FLAG_FFS): Removed.
-       (GRUB_AFFS_SYMLINK_SIZE): Likewise.
-       (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
-       (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
-       (grub_fshelp_node): Make block 32-bit.
-       Add block_cache and last_block_cache.
-       (grub_affs_read_block): Fill and use block cache.
-       (grub_affs_read_file): Removed.
-       (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
-       boot block.
-       (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
-       safety.
-       (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
-       space.
-       (grub_affs_close): Free block cache.
-       (grub_affs_read): Use grub_fshelp_read_file directly.
-
-2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
-       with no error set.
-
-2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
-       used variable.
-       * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
-       Likewise.
-
-2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
-
-       * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
-       byteswap when needed.
-
-2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix FreeBSD compilation.
-
-       * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
-       to avoid circular dependency.
-       (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
-       * util/getroot.c (grub_util_follow_gpart_up): Move from here...
-       * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
-
-2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix ZFS crypto error types.
-
-       * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
-       (grub_gcm_decrypt): Likewise.
-       (grub_zfs_load_key_real): Fix error code type. Handle possible error
-       from PBKDF2.
-
-2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Illumos support.
-
-       * Makefile.util.def (10_illumos): New script.
-       * configure.ac: Set COND_HOST_ILLUMOS.
-       * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
-       Support Illumos calls.
-       (find_partition_start) [__sun__]: Likewise.
-       (convert_system_partition_to_system_disk) [__sun__]: Likewise.
-       (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
-       (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
-       * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
-       device.
-       * util/grub-probe.c (probe) [__sun__]: Do character check.
-       * util/grub.d/10_illumos.in: New file.
-
-2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support escaped commas in hostdisk.
-
-       * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
-       (find_grub_drive): Use unescape_cmp.
-       (make_device_name): Escape commas.
-
-2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
-
-2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
-       variable.
-
-2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support trampoline jumps on powerpc.
-
-       * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
-       __ia64__ path.
-       (grub_dl_load_segments): Set mod->sz.
-       (grub_dl_flush_cache): Flush whole space occupied by module, not just
-       segments.
-       * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
-       (jump): Likewise.
-       * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
-       function.
-       (trampoline): New struct.
-       (trampoline_template): New const.
-       (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
-       * include/grub/dl.h (grub_dl): Add sz element.
-       [__powerpc__]: Follow __ia64__.
-       (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
-       (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
-       (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
-       (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
-
-2011-11-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       ZFS crypto support.
-
-       * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
-       * grub-core/Makefile.core.def (zfscrypt): New module.
-       * grub-core/fs/zfs/zfs.c (subvolume): New structure.
-       (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
-       it. All users updated.
-       (grub_zfs_decrypt): New var.
-       (grub_zfs_load_key): Likewise.
-       (zio_checksum_functions): Add SHA256+MAC.
-       (zio_checksum_verify): Handle incomplete comparison due to MAC.
-       (zio_read): Handle encrypted blocks.
-       (zap_verify): Remove incorrect check.
-       (fzap_iterate): Handle non-standard fzap.
-       (zap_iterate): Likewise.
-       (zap_iterate_u64): New function.
-       (dnode_get_fullpath): Load keys.
-       * grub-core/fs/zfs/zfscrypt.c: New file.
-       * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
-       (grub_crypto_ecb_encrypt): Make input const.
-       * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
-       (grub_crypto_ecb_encrypt): Make input const.
-       (GRUB_CIPHER_AES): New macro.
-       * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
-       * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
-       * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
-       * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
-       prefix. All users updated.
-       (grub_zfs_add_key): New proto.
-       (grub_zfs_decrypt): Likewise.
-       (grub_zfs_load_key): Likewise.
-       * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
-       * util/grub-fstest.c (options): Add -K option.
-       (argp_parser): Likewise.
-
-2011-11-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support zle compression on ZFS.
-
-       * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
-       (decomp_table): Add zle.
-       * include/grub/zfs/zio.h (zio_compress): Add zle.
-
-2011-11-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support BtrFS embedding.
-
-       * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
-       (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
-       * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
-       * util/grub-setup.c (setup): Use fs embedding if available.
-       Add additional sanity check.
-
-2011-11-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Fix condition for config_opt.
-
-2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support third redundancy strip on raidz3.
-
-       * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
-       Return error on singularity. All users updated.
-       (read_device): Don't stop on 3rd failure on raidz3.
-
-2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support case-insensitive ZFS subvolumes.
-
-       * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
-       All users updated.
-       (zap_hash): Likewise.
-       (name_cmp): New function.
-       (zap_leaf_array_equal): New parameter case_insensitive.
-       All users updated.
-       (zap_leaf_lookup): Likewise.
-       (fzap_lookup): Likewise.
-       (zap_lookup): Likewise.
-       (dnode_get_path): New parameter case_insensitive. Retrieve case
-       sensitiviness of a volume. All users updated.
-       (dnode_get_fullpath): New parameter case_insensitive.
-       All users updated.
-       (grub_zfs_dir): Set info.case_insensitiveness.
-
-2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support second redundancy strip on raidz(2,3).
-
-       * grub-core/fs/zfs/zfs.c (powx): New array.
-       (powx_inv): Likewise.
-       (poly): New const.
-       (xor_out): New function.
-       (gf_mul): Likewise.
-       (recovery): Likewise.
-       (read_device): Use second redundancy strip.
-
-2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use a power of generator representation of GF(256) multiplication group
-       to save space time and complexity.
-
-       * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
-       (raid6_table2): Likewise.
-       (powx): New array.
-       (powx_inv): Likewise.
-       (poly): New const.
-       (grub_raid_block_mul): Replace with ...
-       (grub_raid_block_mulx): ...this.
-       (grub_raid6_init_table): Rewritten.
-       (grub_raid6_recover): Use power of generator representation.
-
-2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
-       for the right device.
-
-2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/kernel.h (grub_module_header): Make type into uint32 as
-       expected by grub-mkimage and it's more clear since there is no implicit
-       padding.
-
-2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
-       disk.
-       * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
-
-2011-11-03  Philipp Matthias Hahn <pmhahn@debian.org>
-
-       * util/grub-mkrescue.in: Fix handling xorriso option.
-
-2011-11-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
-       NULL.
-
-2011-11-03  crocket <crockabiscuit@gmail.com>
-
-       * util/grub.d/10_linux.in: Add Slackware initrd naming.
-
-2011-11-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       XZ CRC64 and SHA256 support.
-
-       * Makefile.util.def (libgrubmods): Add crc64.c.
-       * grub-core/Makefile.core.def (crc64): New module.
-       * grub-core/lib/crc64.c: New file.
-       * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
-       [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
-       Fix the type.
-       (MAX_HASH_SIZE): New define.
-       (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
-       (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
-       (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
-       (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
-       (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
-       (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
-       Handle non-crc32 hashes.
-       (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
-       (dec_stream_header): Handle non-crc32 hashes.
-       (dec_stream_footer): Likewise.
-       (dec_block_header): Likewise.
-       (dec_main): Likewise.
-       (xz_dec_init): Likewise.
-       (xz_dec_reset): Likewise.
-       (xz_dec_end): Likewise.
-       * util/import_gcry.py: Add CRC64 line.
-
-2011-11-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
-       as well.
-
-2011-11-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make reiserfs label retrieval similar to other *_label functions.
-
-       * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
-       (REISERFS_MAX_LABEL_LENGTH): Removed.
-       (REISERFS_LABEL_OFFSET): Likewise.
-       (grub_reiserfs_label): Rewritten.
-
-2011-11-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
-       field.
-
-2011-11-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
-
-2011-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
-       drive failure on both raidz and raidz2.
-
-2011-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix RAIDZ(2) for >= 5 devices.
-
-       * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
-       asize argument. All users updated.
-
-2011-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix RAIDZ(2).
-
-       * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
-       (fill_vdev_info_real): Set ashift.
-       (read_device): Rewrite RAIDZ part based on reverse engineering.
-
-2011-10-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
-       don't report potentially unavialiable fields in debug output.
-       (find_path): Fix double-free and memory leak.
-
-2011-10-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Read label on UFS1.
-
-       * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
-       (grub_ufs_fs): Always set .label.
-
-2011-10-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use shifts in UFS.
-
-       * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
-       (grub_ufs_data): New field log2_blksz.
-       (grub_ufs_read_file): Use shifts.
-       (grub_ufs_mount): Check block size and logarithm it.
-
-2011-10-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
-       long symlinks.
-
-2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle symlinks and long names on tar and cpio.
-
-       * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
-       (ATTR_FILE): Likewise.
-       (ATTR_DIR): Likewise.
-       (ATTR_LNK): Likewise.
-       (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
-       (grub_cpio_find_file): Fill mode, handle linkname field as well as
-       L and K entries.
-       (grub_cpio_mount): Zero-fill data.
-       (handle_symlink): New function.
-       (grub_cpio_dir): Handle symlinks.
-       (grub_cpio_open): Likewise.
-       (grub_cpio_close) [MODE_USTAR]: Free linkname.
-
-2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix iso9660 filename limitations and fix memory leaks.
-
-       * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
-       (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
-
-2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix JFS file name length limitations.
-
-       * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
-       (grub_jfs_diropen): Fix maximum filename length.
-       (grub_jfs_getent): Fix filename length.
-       (grub_jfs_lookup_symlink): Fix size checks.
-
-2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
-       string.
-
-2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Leverage BFS implementation to read AFS.
-
-       * Makefile.util.def (libgrubmods): Add afs.c.
-       * grub-core/Makefile.core.def (afs): New module
-       * grub-core/fs/afs.c: New file.
-       * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
-
-2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
-
-2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/bfs.c: Run indent.
-
-2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       BFS implementation based on the specification.
-
-       * grub-core/fs/bfs.c: New file.
-       * Makefile.util.def (libgrubmods): Add bfs.c.
-       * grub-core/Makefile.core.def (bfs): New module.
-
-2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-fstest.c (cmd_cp): Clarify error message.
-       (cmd_cmp): Likewise.
-
-2011-10-30  Yves Blusseau  <blusseau@zetam.org>
-
-       * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
-       and befs_be.
-
-2011-10-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove afs and befs because of copyright problem.
-
-       * grub-core/fs/afs.c: Removed.
-       * grub-core/fs/afs_be.c: Removed.
-       * grub-core/fs/befs.c: Removed.
-       * grub-core/fs/befs_be.c: Removed.
-       * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
-       * grub-core/Makefile.core.def (afs): Removed.
-       (afs_be): Likewise.
-       (befs): Likewise.
-       (befs_be): Likewise.
-
-2011-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Prefer rockridge over Joliet.
-
-       * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
-       to ...
-       (set_rockridge): ... here.
-       (grub_iso9660_mount): Check rockridge on the primary label when
-       discovering. Ignore Joliet if Rockridge is present.
-
-2011-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use shifts in nilfs2.
-
-       * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
-       (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
-       (grub_nilfs2_palloc_entries_per_group): Replace with ...
-       (grub_nilfs2_log_palloc_entries_per_group): ... this.
-       (grub_nilfs2_palloc_group): Use shifts and bitmasks.
-       (grub_nilfs2_entries_per_block): Replaced with ...
-       (grub_nilfs2_log_entries_per_block_log): ... this.
-       (grub_nilfs2_blocks_per_group): Replaced with ...
-       (grub_nilfs2_blocks_per_group_log): ... this.
-       (grub_nilfs2_blocks_per_desc_block): Replaced with ...
-       (grub_nilfs2_blocks_per_desc_block_log): ... this.
-       (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
-       (grub_nilfs2_palloc_desc_block_offset_log): ... this.
-       (grub_nilfs2_palloc_entry_offset): Replaced ...
-       (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
-       (grub_nilfs2_dat_translate): Use shifts.
-       (grub_nilfs2_read_inode): Likewise.
-       (GRUB_MOD_INIT): Ensure that logs are correct.
-
-2011-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use shifts in minix filesystem.
-
-       * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
-       (GRUB_MINIX_ZONE2SECT): Likewise.
-       (grub_minix_data): Replace block_size with log_block_size.
-       (grub_minix_read_file): Use shifts.
-       (grub_minix_mount): Check block size and take a logarithm.
-
-2011-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use shifts in squash4.
-
-       * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
-       (squash_mount): Check block size and take logarithm.
-       (direct_read): Use shifts.
-
-2011-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Correct befs block counting logic.
-
-       * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
-       (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
-       (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
-       (grub_afs_read_inode): Use block_shift.
-       (RANGE_SHIFT): New definition.
-       (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
-       unexpected conditions, use shifts and appropriate types.
-       (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
-
-2011-10-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/raid.c (scan_devices): Check partition.
-       * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
-
-2011-10-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support BFS (befs) UUID.
-
-       * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
-       (grub_afs_small_data_element_header): New struct.
-       (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
-       (grub_afs_read_attribute) [MODE_BFS]: New function.
-       (grub_afs_iterate_dir): Allocate for complete inode.
-       (grub_afs_mount): Likewise.
-       (grub_afs_uuid) [MODE_BFS]: New function.
-       (grub_afs_fs) [MODE_BFS]: Add .uuid.
-
-2011-10-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
-       (zfs_unmount): Fix memory leak.
-
-2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support NTFS reparse points.
-
-       * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
-       (symlink_descriptor): New struct.
-       (grub_ntfs_read_symlink): New function.
-       (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
-       (grub_ntfs_open): Likewise.
-
-2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
-
-2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       fstest xnu_uuid subcommand.
-
-       * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
-       grub-core/commands/xnu_uuid.c.
-       * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
-       (fstest): Handle xnu_uuid.
-       (options): Document xnu_uuid.
-       (argp_parser): Parse xnu_uuid.
-
-2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
-       -l argument. Add newline at the end if printing.
-       (GRUB_MOD_INIT): Document -l.
-
-2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
-
-2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       ZFS multi-device and version 33 support.
-
-       * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
-       * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
-       (grub_zfs_data): Add multidev-ice-related fields.
-       (zio_checksum_verify): Zero-pad printed values. Print checksum name.
-       (dva_get_offset): Make dva const.
-       (zfs_fetch_nvlist): New function.
-       (fill_vdev_info_real): Likewise.
-       (fill_vdev_info): Likewise.
-       (check_pool_label): Likewise.
-       (scan_disk): Likewise.
-       (scan_devices): Likewise.
-       (read_device): Likewise.
-       (read_dva): Likewise.
-       (zio_read_gang): Use read_dva.
-       (zio_read_data): Likewise.
-       (zap_leaf_lookup): Add missing endian conversion.
-       (zap_verify): Add missing endian conversion. All users updated.
-       (fzap_lookup): Likewise.
-       (fzap_iterate): Likewise.
-       (dnode_get_path): Handle SA bonus.
-       (nvlist_find_value): Make input const. All users updated.
-       (unmount_device): New function.
-       (zfs_unmount): Use unmount_device.
-       (zfs_mount): Use scan_disk.
-       (zfs_mtime): New function.
-       (grub_zfs_open): Handle system attributes.
-       (fill_fs_info): Likewise.
-       (grub_zfs_dir): Likewise.
-       (grub_zfs_fs): Add mtime.
-       * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
-       * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
-       (SA_MTIME_OFFSET): Likewise.
-       (SA_SYMLINK_OFFSET): Likewise.
-       * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
-       * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
-       (fstest): Support zfsinfo.
-       (argp_parser): Likewise.
-
-2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
-       error.
-
-2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       ZFS fixes.
-
-       * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
-       sharing the same block. Iterate over correct number of indices.
-       (dnode_get_path): Handle symlinks correctly.
-
-2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
-
-2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Read label on HFS+.
-
-       * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
-       (grub_hfsplus_btree_search): Fix types.
-       (grub_hfsplus_label): Implement.
-
-2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
-
-2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
-
-2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix symlink handling on iso9660.
-
-       * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
-       All users updated.
-       (grub_iso9660_susp_iterate): Accept zero-size iterate.
-       (grub_iso9660_read_symlink): Moved most of code ...
-       (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
-
-2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
-       Use union to avoid breaking strict-aliasing rules.
-
-2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support multi-extent iso files.
-
-       * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
-       Add node.
-       (grub_fshelp_node): Revamp. All users updated.
-       (FLAG_*): New enum.
-       (read_node): New function.
-       (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
-       All users updated.
-       (grub_iso9660_mount): Don't attempt to read sua when there is none.
-       (get_node_size): New function.
-       (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
-       entries.
-       Fix memory leak on . and ..
-       (grub_iso9660_read): Use read_node.
-       (grub_iso9660_close): Free node.
-
-2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix tar 4G limit and handle paths containing dot.
-
-       * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
-       (canonicalize): New function.
-       (grub_cpio_find_file): Use canonicalize. Store offs in
-       grub_disk_addr_t.
-       (grub_cpio_dir): Use grub_disk_addr_t.
-       (grub_cpio_open): Likewise.
-
-2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix handling of uncompressed blocks on squashfs and break 4G limit.
-
-       * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
-       unused flags.
-       (grub_squash_inode): Add long_file and block_size.
-       (grub_squash_cache_inode): New struct.
-       (grub_squash_dirent): Make types into enum.
-       (SQUASH_TYPE_LONG_REGULAR): New type.
-       (grub_squash_frag_desc): Add field size.
-       (SQUASH_BLOCK_FLAGS): New enum.
-       (grub_squash_data): Use grub_squash_cache_inode.
-       (grub_fshelp_node): Make ino_chunk 64-bit.
-       (read_chunk): Minor argument change. All users updated.
-       (squash_mount): Use correct le_to_cpu.
-       (grub_squash_open): Handle LONG_REGULAR.
-       (direct_read): New function.
-       (grub_squash_read_data): Handle blocks correctly.
-
-2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
-
-2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
-
-2011-10-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix 2G limit on ZFS.
-
-       * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
-       types.
-       (uberblock_verify): Likewise.
-       (dmu_read): Likewise.
-       (grub_zfs_read): Likewise. Remove invalid cast.
-
-2011-10-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
-       (grub_jfs_blkno): Fix incorrect shift.
-       (grub_jfs_read_file): Use more appropriate types.
-
-2011-10-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support triple indirect on minix2 and minix3.
-
-       * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
-       Declare triple_indir_zone.
-       (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
-       indirect.
-
-2011-10-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Minix FS fixes.
-
-       * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
-       (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
-       Rename ctime to mtime. All users updated.
-       (grub_minix_get_file_block): Fix types and double indirect computations.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
-       if no label is found.
-       (grub_fat_iterate_dir): Fix file size type.
-       (grub_fat_iterate_dir): Likewise.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
-       save some space.
-       * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
-       (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/import_gcry.py: Accept space between # and include.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fine grainely disable warnings on lexer. Remove Wno-error on it.
-
-       * grub-core/Makefile.core.def (normal): Remove -Wno-error.
-       * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
-       yylex_strncpy.
-       * grub-core/script/yylex.l: Add fine-grained #pragma.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
-       New inline function.
-       * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
-       Likewise.
-       (memset) [GRUB_UTIL]: Likewise.
-       (memcmp) [GRUB_UTIL]: Likewise.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
-       inline function rather than a define.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c: Add missing include.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/ieee1275/grub-ofpathname.c: Add missing include.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
-       * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
-       Likewise.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
-       grub_memcmp usage.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Add datarootdir as per automake manual
-       suggestion.
-       * util/grub-mknetdir.in: Likewise.
-
-2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
-       suggestion.
-       * 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.
-
-2011-10-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove redundant grub_kernel_image_size.
-
-       * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
-       _edata and _start.
-       * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
-       the small code. It moves it only by few bytes but simplifies the code.
-       * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
-       _start.
-       * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
-       (grub_kernel_image_size): Removed.
-       * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
-       (grub_kernel_image_size): Removed.
-       [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
-       compiled with Apple toolchain.
-       * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
-       * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
-       * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
-       (grub_total_module_size): Likewise.
-       * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
-       Removed.
-       (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
-       (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
-       (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
-       (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
-       (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
-       (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
-       (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
-       * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
-       Removed.
-       (grub_total_module_size): Removed.
-       * util/grub-mkimage.c (image_target_desc): Remove image_size.
-       (image_targets): Likewise.
-       Set .compressed_size to no field on sparc.
-       (generate_image): Remove kernel_image_size handling.
-
-2011-10-19  Szymon Janc <szymon@janc.net.pl>
-
-       * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
-       NULL pointer dereference.
-
-2011-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
-       done with a dedicated section.
-
-       * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
-       Ensure the correct position of boot_path.
-       * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
-       * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
-       other fields.
-       * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
-       * include/grub/boot.h: Removed. All references removed.
-       * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
-       Removed.
-       (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
-
-2011-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Declare IEEE1275 as able to find out the disk
-       name.
-
-2011-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
-
-2011-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
-       Don't add the bogus brackets.
-
-2011-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       ExFAT support.
-
-       * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
-       * grub-core/Makefile.core.def (exfat): New module.
-       * grub-core/fs/exfat.c: New file.
-       * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
-       (GRUB_FAT_ATTR_*): Make into an enum.
-       (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
-       (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
-       (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
-       (GRUB_FAT_MAXFILE): Removed.
-       (grub_exfat_bpb) [MODE_EXFAT]: New struct.
-       (grub_current_fat_bpb_t): New type.
-       (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
-       (grub_fat_dir_node) [MODE_EXFAT]: New struct.
-       (grub_fat_dir_node_t): New type.
-       (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
-       (fat_log2) [MODE_EXFAT]: Removed.
-       (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
-       (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
-       (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
-       (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
-       (grub_fat_label) [MODE_EXFAT]: New function.
-       (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
-       reserved_first_sector to 0.
-
-2011-10-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move grub_reboot out of the kernel.
-
-       * grub-core/Makefile.core.def (reboot): Add platform-specific files.
-       * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
-       * grub-core/lib/efi/reboot.c: ... here.
-       * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
-       * grub-core/kern/i386/ieee1275/startup.S: Likewise.
-       * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
-       * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
-       * grub-core/lib/i386/reboot_trampoline.S: ... here.
-       * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
-       * grub-core/lib/ieee1275/reboot.c: ... here.
-       * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
-       * grub-core/lib/mips/arc/reboot.c: ... here.
-       * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
-       * grub-core/lib/mips/loongson/reboot.c: ...here.
-       * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
-       * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
-       * include/grub/emu/misc.h (grub_reboot): New function declaration.
-       * include/grub/i386/reboot.h: New file.
-       * include/grub/mips/loongson/ec.h: Fix includes.
-       * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
-       * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
-       * grub-core/lib/i386/reboot.c: New file.
-
-2011-10-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make grub_prefix into module to fix the arbitrary limit and save
-       some space.
-
-       * grub-core/kern/emu/main.c (grub_prefix): Removed.
-       * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
-       * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
-       * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
-       * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
-       * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
-       * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
-       * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
-       * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
-       * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
-       * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
-       * include/grub/ia64/efi/kernel.h: Removed.
-       * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
-       (grub_prefix): Removed.
-       * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
-       (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
-       (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
-       (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
-       (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
-       (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
-       (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
-       (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
-       (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
-       (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
-       (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
-       (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
-       (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
-       (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
-       (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
-       (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
-       (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
-       (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
-       (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
-       (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
-       (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
-       (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
-       (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
-       (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
-       (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
-       (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
-       (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
-       (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
-       * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
-       from module.
-       * util/grub-mkimage.c (image_target_desc): Removed prefix and
-       prefix_end.
-       (image_targets): Likewise.
-       (generate_image): Put prefix as a module.
-
-2011-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Replace grub_module_iterate with FOR_MODULES.
-
-       * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
-       * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
-       (grub_efi_modules_addr): ...this.
-       * grub-core/kern/efi/init.c (grub_modbase): New variable.
-       (grub_efi_init): Set grub_modbase.
-       * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
-       (grub_modbase): New variable.
-       * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
-       (grub_modbase): New variable.
-       (grub_machine_init): Set grub_modbase.
-       * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
-       (grub_modbase): New variable.
-       (grub_machine_init): Set grub_modbase.
-       * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
-       (grub_modbase): New variable.
-       (grub_machine_init): Set grub_modbase.
-       * grub-core/kern/main.c (grub_module_iterate): Remove.
-       (grub_modules_get_end): Use grub_modbase.
-       (grub_load_modules): Use FOR_MODULES.
-       (grub_load_config): Likewise.
-       * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
-       (grub_modbase): New variable.
-       (grub_machine_init): Set grub_modbase.
-       * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
-       (grub_modbase): New variable.
-       (grub_machine_init): Set grub_modbase.
-       * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
-       Removed.
-       (grub_modbase): New variable.
-       (grub_machine_init): Set grub_modbase.
-       * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
-       * include/grub/kernel.h (grub_arch_modules_addr): Removed.
-       (grub_module_iterate): Likewise.
-       (grub_modbase): New variable declaration.
-       (FOR_MODULES): New macro.
-
-2011-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Check for __ctzdi2 and __ctzsi2.
-       * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
-
-2011-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix few obvious type discrepancies.
-
-       * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
-       * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
-       * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
-       variable.
-       * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
-       and connected types.
-       * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
-       offset.
-       (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
-       * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
-       * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
-       and connected types.
-
-2011-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix python 3.x incompatibilities.
-
-       * gentpl.py: Put brackets around print strings.
-       * util/import_gcry.py: Open explicitly as utf-8.
-       Use in instead of has_key.
-
-2011-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
-       (GRUB_XFS_INO_AGBITS): Make into inline function.
-       (GRUB_XFS_INO_INOINAG): Likewise.
-       (GRUB_XFS_INO_AG): Likewise.
-       (GRUB_XFS_FSB_TO_BLOCK): Likewise.
-       (GRUB_XFS_EXTENT_OFFSET): Likewise.
-       (GRUB_XFS_EXTENT_BLOCK): Likewise.
-       (GRUB_XFS_EXTENT_SIZE): Likewise.
-       (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
-       (GRUB_XFS_NEXT_DIRENT): Likewise.
-       (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
-       (grub_xfs_read_file): Fix offset type.
-
-2011-10-15  Robert Millan  <rmh@gnu.org>
-
-       * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
-
-2011-10-15  Robert Millan  <rmh@gnu.org>
-
-       Fix build problem on FreeBSD and GNU/kFreeBSD.
-
-       * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
-
-2011-10-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
-
-       * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
-       types.
-       (grub_hfsplus_btree_recoffset): Likewise.
-       (grub_hfsplus_btree_recptr): Likewise.
-       (grub_hfsplus_find_block): Likewise.
-       (grub_hfsplus_btree_search): Likewise.
-       (grub_hfsplus_read_block): Likewise.
-       (grub_hfsplus_read_file): Likewise.
-       (grub_hfsplus_mount): Likewise.
-       (grub_hfsplus_btree_iterate_node): Likewise.
-       (grub_hfsplus_btree_search): Likewise.
-       (grub_hfsplus_iterate_dir): Likewise.
-       (grub_hfsplus_read): A small code simplification.
-
-2011-10-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c
-       (convert_system_partition_to_system_disk): Don't assume that children
-       of mapper nodes are mapper nodes.
-
-2011-10-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
-       * include/grub/misc.h (grub_isxdigit): New function.
-       * grub-core/video/colors.c (my_isxdigit): Removed. All users
-       switched to grub_isxdigit.
-       * grub-core/term/serial.c (grub_serial_find): Fix in case of port
-       number starting with a letter.
-
-2011-10-09  Robert Millan  <rmh@gnu.org>
-
-       LVM support for FreeBSD and GNU/kFreeBSD.
-
-       * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
-       GNU/kFreeBSD.
-       (LVM_DEV_MAPPER_STRING): Move from here ...
-       * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
-       * util/getroot.c: Include `<grub/util/lvm.h>'.
-       (grub_util_get_dev_abstraction): Enable
-       grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
-       Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
-       (grub_util_get_grub_dev): Replace "/dev/mapper/" with
-       `LVM_DEV_MAPPER_STRING'.  Enable LVM and mdRAID only on platforms that
-       support it.
-       * util/grub-setup.c (main): Check for LVM also on FreeBSD and
-       GNU/kFreeBSD.
-       * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
-       when LVM abstraction is required for ${GRUB_DEVICE}.
-
-2011-10-06  Szymon Janc <szymon@janc.net.pl>
-
-       Add support for LZO compression in GRUB:
-       - import of minilzo library, 
-       - LZO decompression for btrfs,
-       - lzop files decompression.
-
-       * grub-core/io/lzopio.c: New file.
-       * grub-core/lib/adler32.c: Likewise.
-       * grub-core/lib/minilzo/lzoconf.h: Likewise.
-       * grub-core/lib/minilzo/lzodefs.h: Likewise.
-       * grub-core/lib/minilzo/minilzo.c: Likewise.
-       * grub-core/lib/minilzo/minilzo.h: Likewise.
-       * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
-       grub-core/lib/adler32.c, grub-core/io/lzopio.c,
-       grub-core/lib/minilzo/minilzo.c to common.
-       * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
-       cflags in cppflags.
-       * grub-core/Makefile.core.def (btrfs): Likewise.
-       * grub-core/Makefile.core.def (lzopio): New module.
-       (adler32): Likewise.
-       * grub-core/fs/btrfs.c: Include minilzo.h.
-       (GRUB_BTRFS_COMPRESSION_LZO): New define.
-       (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
-       (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
-       (grub_btrfs_lzo_decompress): New function.
-       (grub_btrfs_extent_read): Add support for LZO compression type.
-       * include/grub/types.h (GRUB_UCHAR_MAX): New define.
-       (GRUB_USHRT_MAX): Likewise.
-       (GRUB_UINT_MAX): Likewise.
-       * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
-       (UINT_MAX): Likewise.
-       (CHAR_BIT): Likewise.
-       * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
-       grub-core/lib/posix_wrap/limits.h
-       (UCHAR_MAX): Likewise.
-       * include/grub/file.h (grub_file_filter_id): New compression filter
-       GRUB_FILE_FILTER_LZOPIO.
-       * include/grub/file.h (grub_file_filter_id): Set
-       GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
-       * include/grub/types.h (grub_get_unaligned16): New function.
-       (grub_get_unaligned32): Likewise.
-       (grub_get_unaligned64): Likewise.
-       * util/import_gcry.py (cryptolist): Add adler32.
-
-2011-10-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
-       in perspective decreases the complexity of build system and fixes
-       compilation right now.
-
-2011-10-01  Ales Nesrsta <starous@volny.cz>
-
-       * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
-       (fixed problem related to using UHCI with coreboot).
-
-2011-08-25  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       * gentpl.py: Use Autogen macros so that the output template file
-       (Makefile.tpl) size is reduced.
-
-2011-09-29  Mads Kiilerich <mads@kiilerich.com>
-
-       * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
-       extra_dist.
-
-2011-09-29  Mario Limonciello <mario_limonciello@dell.com>
-
-       * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
-       slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
-
-2011-09-29  Mario Limonciello <mario_limonciello@dell.com>
-
-       * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
-       _fullpath.
-
-2011-09-29  Mario Limonciello <mario_limonciello@dell.com>
-
-       Remove extra declaration of sleep for mingw32.
-
-       * util/misc.c (sleep) [__MINGW32__]: Removed.
-       * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
-
-2011-09-28  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
-       type and packname.
-       * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
-       Resurrected.
-       (NETBSD_BTINFO_BOOTWEDGE): New definition.
-       (grub_netbsd_btinfo_bootwedge): New struct.
-       * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
-       New function.
-       (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
-
-2011-09-28  Thomas Haller <thomas.haller@fen-net.de>
-
-       * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
-       loader.
-
-2011-09-28  Andreas Born  <futur.andy@googlemail.com>
-
-       Fix incorrect identifiers in bash-completion.
-
-       * util/bash-completion.d/grub-completion.bash.in
-       (_grub_mkpasswd-pbkdf2): Rename to ...
-       (_grub_mkpasswd_pbkdf2): ... this. All users updated.
-       (_grub_script-check): Rename to ...
-       (_grub_script_check): ... this. All users updated.
-
-2011-09-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
-       Return 0 if disk isn't biosdisk.
-
-2011-09-17  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
-       on NetBSD.
-       * Makefile.util.def (grub-fstest): Likewise.
-
-2011-09-17  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
-       Get sector size from disk label.
-
-2011-09-05  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
-       */README* as well as README*.
-       Reported by: Axel Beckert.
-
-2011-08-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
-       case of less than 256 MiB of RAM.
-
-2011-08-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/wildcard.c (make_regex): Handle @.
-
-2011-08-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Move cryptodisk logic to appropriate place.
-
-2011-08-21 Szymon Janc <szymon@janc.net.pl>
-
-       * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
-        AC_LANG_CONFTEST macros.
-
-2011-08-20  Szymon Janc <szymon@janc.net.pl>
-
-       Add grub-fstest option to uncompress data for commands.
-
-       * util/grub-fstest.c (uncompress): New var.
-       (options): New option -u.
-
-2011-08-20  Szymon Janc <szymon@janc.net.pl>
-
-       * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
-       GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
-
-2011-08-20  Szymon Janc <szymon@janc.net.pl>
-
-       * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
-       file type was not recognized correctly (not gzip or corrupted).
-
-2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
-       * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
-
-2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
-       loongson.
-       * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
-       video_radeon_fuloong2e.
-       * grub-core/video/radeon_fuloong2e.c: New file.
-       * include/grub/video.h (grub_video_id_t): Add new ID
-       GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
-
-2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
-       define.
-       * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
-       that PRID matches the detected subplatform and reset the subplatform
-       if it doesn't.
-
-2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
-
-2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix PCI iterating on functions >= 4.
-
-       * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
-       * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
-       Removed.
-       (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
-       (grub_pci_read): Fix bitmask.
-       (grub_pci_read_word): Likewise.
-       (grub_pci_read_byte): Likewise.
-       (grub_pci_write): Likewise.
-       (grub_pci_write_word): Likewise.
-       (grub_pci_write_byte): Likewise.
-
-2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Don't impose march=loongson2f on loongson platform. (It
-       can still be specified in TARGET_CFLAGS)
-
-2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
-
-       * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
-       into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
-       * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
-       * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
-       (FULOONG): Rename to ...
-       (FULOONG2F): ... this. All users updated.
-       * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
-       (machtype_fuloong2f_str): ... this.
-       (machtype_fuloong2e_str): New string.
-       Check for machtype_fuloong2e_str.
-       * grub-core/loader/mips/linux.c (loongson_machtypes)
-       [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
-       * grub-core/term/serial.c (loongson_defserial)
-       [GRUB_MACHINE_MIPS_LOONGSON]: New array.
-       (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
-       loongson_defserial.
-       * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
-       Rename to ...
-       (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
-       (GRUB_ARCH_MACHINE_FULOONG2E): New const.
-       * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
-       to IMAGE_FULOONG2F_FLASH. All users updated.
-       (image_targets): Rename images.
-       * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
-
-2011-08-19  Szymon Janc <szymon@janc.net.pl>
-
-       Make enable of disk cache statistics code configurable.
-
-       * configure.ac: --enable-cache-stats added.
-       * config.h.in (DISK_CACHE_STATS): New define.
-       * grub-core/Makefile.core.def (cacheinfo): New command.
-       * include/grub/disk.h(grub_disk_cache_get_performance): New function.
-       * grub-core/commands/cacheinfo.c: New file.
-       * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
-       moved to cacheinfo.c.
-       * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
-       debug code.
-       * include/grub/disk.h: Likewise.
-
-2011-08-19  Szymon Janc <szymon@janc.net.pl>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
-       * grub-core/Makefile.am: Likewise.
-
-2011-08-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
-       non-zero pull.
-
-2011-08-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
-       All users updated.
-       (grub_jfs_lookup_symlink): Use correct starting inode.
-
-2011-08-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (main): Add missing gcry initialisation.
-
-2011-08-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't accept text modes on EFI when booting Linux.
-
-       * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
-       (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
-
-2011-08-15  Mario Limonciello  <mario_limonciello@dell.com>
-2011-08-15  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-probe.c (probe): Canonicalise the path argument, fixing
-       use of "/path/.." as in grub-install for EFI as well as handling
-       symlinks correctly.
-       Fixes Debian bug #637768.
-
-2011-08-15  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-probe.c: Remove duplicate #include.
-
-2011-08-10  Robert Millan  <rmh@gnu.org>
-
-       Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
-
-       * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
-       function.
-       [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
-       (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
-
-2011-08-03  Robert Millan  <rmh@gnu.org>
-
-       * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
-       la_array as packed.
-       Reported by: Zachary Bedell
-
-2011-07-26  Colin Watson  <cjwatson@ubuntu.com>
-
-       * configure.ac: The Loongson port requires grub-mkfont due to its
-       use of -DUSE_ASCII_FAILBACK.  Raise an error if it is not going to
-       be built.
-
-2011-07-26  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-install.in: Don't source grub-mkconfig_lib until after
-       processing arguments (otherwise help2man fails when GRUB has not yet
-       been installed).
-
-2011-07-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       New script grub-mkstandalone.
-
-       * Makefile.util.def (grub-mkstandalone): New script.
-       * docs/man/grub-mkstandalone.h2m: New file.
-       * util/grub-mkstandalone.in: Likewise.
-
-2011-07-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support ATA disks with 4K sectors.
-
-       * include/grub/ata.h (grub_ata): New member log_sector_size.
-       * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
-       (grub_ata_identify): Read sector size.
-       (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
-
-2011-07-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Don't use uhci outside of x86.
-
-2011-07-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkrescue.in: Add missing quotes.
-
-2011-07-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
-       dereference.
-
-2011-07-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
-
-2011-07-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/video.h: add missing EXPORT_FUND on
-       grub_video_edid_checksum and grub_video_edid_preferred_mode.
-
-2011-07-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/mips/kernel.h: Fix define conflict.
-
-2011-07-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
-       all four ways.
-
-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.
-
-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.
-
-       * docs/grub.texi (Supported OS): Add FreeDOS.
-       * grub-core/Makefile.core.def (freedos): New module.
-       * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
-       variable.
-       (grub_relocator16_boot): Handle %ebx.
-       * grub-core/lib/i386/relocator16.S: Likewise.
-       * grub-core/loader/i386/pc/freedos.c: New file.
-
-2011-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Long Linux command line support.
-
-       * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
-       (maximal_cmdline_size): New variable.
-       (allocate_pages): Use maximal_cmdline_size.
-       (grub_cmd_linux): Set and use maximal_cmdline_size.
-       * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
-       (allocate_pages): Use maximal_cmdline_size.
-       (grub_cmd_linux): Set and use maximal_cmdline_size.
-       * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
-       (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
-       and cmdline_size.
-
-2011-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
-2011-05-18  Colin Watson  <cjwatson@ubuntu.com>
-
-       Improve devmapper support
-
-       * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
-       (grub_util_is_lvm): New function.
-       (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
-       than lvm if not dmraid.
-       Handle mapped md nodes.
-       * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
-       (grub_util_device_is_mapped): ... this. Make always available. All users
-       updated.
-       (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
-       (convert_system_partition_to_system_disk): Handle lvm, mpath and
-       dmraid nodes.
-       * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
-
-2011-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
-
-       * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
-       * grub-core/modinfo.sh.in: New file.
-       * grub-core/Makefile.core.def (modinfo.sh): New script.
-       * util/grub-mknetdir.in: Use modinfo.sh.
-       * util/grub-mkrescue.in: Likewise.
-
-2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
-       Fix potential usage of Elf32 instead of Elf64 when compiling on
-       32-bit architecture. Add endianness macros while on it.
-
-2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use mipsel- rather than mips- in directories involving mipsel ports to
-       allow both endiannesses coexist.
-
-       * configure.ac: proparate target_cpu=mipsel rather than resetting to
-       mips. All conditions adjusted.
-       * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
-       variable.
-       * util/grub-install.in: Adjust conditions to take renaming into account.
-       * util/grub-mkimage.c (image_targets): Likewise. New target
-       mips-qemu_mips-elf for bigendian mips.
-
-2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Avoid unnecessary copying on MIPS.
-
-       * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
-       early if src == dest.
-       * util/grub-mkimage.c (generate_image): Arange for src == dest if
-       compression is none.
-
-2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Reduce memory footprint on SGI by putting modules before the kernel
-       as opposed to after.
-
-       * grub-core/Makefile.core.def (kernel): Increase linking address.
-       (none_decompress): Likewise.
-       (xz_decompress): Likewise.
-       * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
-       address.
-       * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
-       layout change.
-       (grub_arch_modules_addr): New function.
-       * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
-       * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
-       * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
-       here.
-       * grub-core/kern/mips/startup.S (total_size): Rename to ...
-       (grub_total_modules_size): ... this. Make global.
-       [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
-       * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
-       New definition.
-       (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
-       (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
-       (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
-       (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
-       * util/grub-mkimage.c (image_target_desc): New flag
-       PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
-       (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
-       (generate_image): Handle images with modules before kernel.
-
-2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Prevent potential loss of memory map by overwrite on qemu-mips.
-
-       * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
-       Save ram size in $s4.
-       * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
-       All users changed to grub_arch_memsize.
-       * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
-       Loongson.
-       [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
-       * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
-       * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
-       external variable.
-
-2011-05-17  Colin Watson  <cjwatson@ubuntu.com>
-
-       * .bzrignore: Remove grub-dumpbios.
-
-2011-05-17  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
-       and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
-       GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
-       existing options which append).
-       * docs/grub.texi (Simple configuration): Document new options.
-       Reported by: Ian Jackson.  Fixes Debian bug #617538.
-
-2011-05-17  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-fstest.c (cmd_cat): New function.
-       (fstest): Handle CMD_CAT.
-       (options): Add cat.
-       (argp_parser): Handle cat.
-
-2011-05-17  Colin Watson  <cjwatson@ubuntu.com>
-
-       * Makefile.util.def (grub-bin2h): Don't install.
-       * docs/man/grub-bin2h.h2m: Remove.
-
-2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
-       place.
-
-2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Reenable qemu-mips port.
-
-       * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
-       Fix small arc bug while on it.
-       * gentpl.py: Handle qemu_mips.
-       * grub-core/Makefile.am: Likewise.
-       * grub-core/Makefile.core.def: Likewise.
-       * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
-       inappropriate includes.
-       (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
-       (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
-       * grub-core/kern/main.c (grub_modules_get_end)
-       [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
-       * grub-core/kern/mips/qemu-mips: Moved to ..
-       * grub-core/kern/mips/qemu_mips: ... this.
-       * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
-       (grub_machine_init): Call terminfo_init and serial_init.
-       * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
-       * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
-       New variable.
-       (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
-       parameter passing.
-       (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
-       (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
-       (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
-       * include/grub/mips/qemu_mips/cmos.h: New file.
-       * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
-       * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
-       Removed.
-       * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
-       Use correct mips-style address.
-       * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
-       (GRUB_TICKS_PER_SECOND): Removed.
-       (grub_get_rtc): Likewise.
-       (grub_cpu_idle): Likewise.
-       * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
-       New definition.
-       (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
-       (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
-       (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
-       (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
-       (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
-       (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
-       (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
-       * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
-
-2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       SGI ARCS port.
-
-       * Makefile.util.def (libgrubmods.a): Add dvh.c.
-       * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
-       platforms.
-       * configure.ac: New target mips-arc.
-       * gentpl.py: Likewise.
-       * grub-core/Makefile.am: Likewise.
-       * grub-core/Makefile.core.def: Likewise.
-       (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
-       (none_decompress): Likewise.
-       (lsdev): New module.
-       (datetime): Use lib/arc/datetime.c on ARC.
-       (part_dvh): New module.
-       * grub-core/commands/arc/lsdev.c: New file.
-       * grub-core/disk/arc/arcdisk.c: Likewise.
-       * grub-core/kern/mips/arc/init.c: Likewise.
-       * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
-       aligned addresses.
-       * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
-       support.
-       (grub_arch_dl_relocate_symbols): Likewise.
-       * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
-       * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
-       * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
-       platforms.
-       * grub-core/lib/arc/datetime.c: New file.
-       * grub-core/loader/mips/linux.c: Always include time.h. Don't include
-       pci.h on non-loongson.
-       (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
-       (grub_linux_boot): Set unused registers to 0.
-       (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
-       * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
-       * grub-core/mmap/mips/uppermem.c: ...here.
-       * grub-core/partmap/dvh.c: New file.
-       * grub-core/term/arc/console.c: Likewise.
-       * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
-       (grub_terminfo_set_current): Add terminal "arc".
-       (grub_terminfo_readkey): Support ARC sequences.
-       * include/grub/arc/arc.h: New file.
-       * include/grub/arc/console.h: Likewise.
-       * include/grub/disk.h (grub_disk_dev_id): Add
-       GRUB_DISK_DEVICE_ARCDISK_ID.
-       * include/grub/mips/arc/kernel.h: New file.
-       * include/grub/mips/arc/memory.h: Likewise.
-       * include/grub/mips/arc/time.h: Likewise.
-       * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
-       * include/grub/mips/kernel.h (grub_halt): ... here.
-       * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
-       here...
-       * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
-       (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
-       * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
-       * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
-       proto.
-       * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
-       from here ...
-       * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
-       (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
-       * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
-       (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
-       * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
-       (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
-       * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
-       (grub_phys_addr_t): Moved from here ...
-       * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
-       (grub_vtop): Moved from here ...
-       * include/grub/mips/memory.h (grub_vtop): ... here.
-       (grub_map_memory): Moved from here ...
-       * include/grub/mips/memory.h (grub_map_memory): ... here.
-       (grub_unmap_memory): Moved from here ...
-       * include/grub/mips/memory.h (grub_unmap_memory): ... here.
-       (grub_machine_mmap_iterate): Moved from here ...
-       * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
-       (grub_mmap_get_lower): Moved from here ...
-       * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
-       (grub_mmap_get_upper): Moved from here ...
-       * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
-       * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
-       here ...
-       * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
-       * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
-       here ...
-       * include/grub/mips/time.h (grub_get_rtc): ... here.
-       * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
-       here ...
-       * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
-       * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
-       here ...
-       * include/grub/mips/time.h (grub_cpu_idle): ... here.
-       * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
-       definition.
-       (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
-       (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
-       (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
-       (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
-       (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
-       (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
-       (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
-       (GRUB_MACHINE_LINK_ADDR): Likewise.
-       * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
-       to 6.
-       * util/grub-install.in: Run dvhtool on ARC.
-       * util/grub-mkimage.c (image_targets): Add mips-arc.
-       (generate_image): Handle ECOFF output for mips-arc.
-
-2011-05-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
-       blocks.
-
-2011-05-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
-       after enabling port.
-
-2011-05-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Skip incorrect USB devices.
-
-       * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
-       configcnt == 0.
-       * include/grub/usb.h (grub_usb_err_t): New enum value
-       GRUB_USB_ERR_BADDEVICE.
-
-2011-05-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fuloong video init support.
-
-       * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
-       well.
-       (grub_vga_read_arx): New function.
-       * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
-       definition.
-       (framebuffer): New members io, mmioptr and mmiobase.
-       (read_sis_cmd): New function.
-       (write_sis_cmd): Likewise.
-       (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
-       rather than 640x400.
-       * grub-core/video/sis315_init.c: New file.
-
-2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
-       non-loongson.
-       * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
-       to grub_dl_register_symbol.
-
-2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix compilation errors.
-
-       * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
-       potentially unused.
-       * grub-core/loader/i386/linux.c (grub_linux_setup_video):
-       Handle GRUB_VIDEO_DRIVER_SIS315PRO.
-       * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
-       to loongson machines.
-
-2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Several FS mtime support.
-
-       * grub-core/fs/affs.c (grub_affs_time): New struct.
-       (grub_affs_file): New field mtime.
-       (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
-       type. Removed 'size'. New field 'di'. All users updated.
-       (grub_affs_mount): Simplify checsum checking.
-       (grub_affs_iterate_dir): New helper grub_affs_create_node.
-       (grub_affs_dir): Handle mtime.
-       * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
-       (grub_cpio_dir): Likewise.
-       * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
-       (grub_hfs_filerec): New field mtime.
-       (grub_hfs_dir): Handle mtime.
-       (grub_hfs_mtime): New function.
-       (grub_hfs_fs): Register grub_hfs_mtime.
-       * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
-       (grub_iso9660_dir): New field mtime.
-       (grub_fshelp_node): New field dirent.
-       (iso9660_to_unixtime): New function.
-       (iso9660_to_unixtime2): Likewise.
-       (grub_iso9660_read_symlink): Use node->dirent.
-       (grub_iso9660_iterate_dir): Likewise.
-       (grub_iso9660_dir): Set mtime.
-       (grub_iso9660_mtime): New function.
-       (grub_iso9660_fs): Register grub_iso9660_mtime.
-       * grub-core/fs/jfs.c (grub_jfs_time): New struct.
-       (grub_jfs_inode): New fields atime, ctime and mtime.
-       (grub_jfs_dir): Set mtime.
-       * grub-core/fs/minix.c (grub_minix_dir): Likewise.
-       * grub-core/fs/ntfs.c (list_file): Set mtime.
-       (grub_ntfs_dir): Likewise.
-       * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
-       (grub_reiserfs_iterate_dir): Set mtime.
-       (grub_reiserfs_dir): Likewise.
-       * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
-       (grub_fshelp_node): Likewise.
-       (grub_sfs_iterate_dir): Set mtime.
-       (grub_sfs_dir): Likewise.
-       * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
-       * grub-core/fs/xfs.c (grub_xfs_time): New struct.
-       (grub_xfs_inode): New fields atime, mtime, ctime.
-       (grub_xfs_dir): Set mtime.
-       * include/grub/datetime.h (grub_datetime2unixtime): New function.
-       * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
-       * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
-
-       Support UDF symlinks.
-
-       * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
-       (grub_ufs_read_symlink): New function. All users updated.
-
-       Check amiga partmap checksum.
-
-       * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
-       (grub_amiga_partition): Likewise.
-       (amiga_partition_map_checksum): New function.
-       (amiga_partition_map_iterate): Check checksum.
-
-2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       ROMFS support.
-
-       * Makefile.util.def (libgrubmods.a): Add romfs.
-       * grub-core/Makefile.core.def (romfs): New module.
-       * grub-core/fs/romfs.c: New file.
-
-2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Squashfs v4 support.
-
-       * Makefile.util.def (libgrubmods.a): Add squash4.
-       * grub-core/Makefile.core.def (squash4): New module.
-       * grub-core/fs/squash4.c: New file.
-       * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
-       disk_input_start, disk_input.
-       (get_byte): Handle disk_input.
-       (grub_zlib_disk_read): New function.
-       * include/grub/deflate.h (grub_zlib_disk_read): New proto.
-
-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.
-
-2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-fstest.c (read_file): Report GRUB error if file opening
-       failed.
-
-2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/file.c (grub_file_open): Don't take into account the
-       parenthesis in the middle of the filename.
-
-2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
-       rather than trying to put initrd way too high.
-       Reported by: Ryan Lortie <desrt@desrt.ca>
-
-2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
-       improperly removed string.
-
-2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
-       is_disk.
-       (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
-       (open_device) Likewise.
-       (grub_util_biosdisk_close): Likewise.
-       Reported by: Mark Korenberg.
-
-2011-04-10  Alexander Kurtz <kurtz.alex@googlemail.com>
-
-       * util/grub-mkconfig_lib.in: Add missing quotes.
-
-2011-04-10  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
-       is NULL.
-
-2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Dynamically count the number of lines for the lower banner.
-
-       * grub-core/normal/menu_entry.c (per_term_screen): New member
-       num_entries.
-       (print_down): Use num_entries.
-       (update_screen): Likewise.
-       (grub_menu_entry_run): Set num_entries.
-       * grub-core/normal/menu_text.c (menu_viewer_data): New member
-       num_entries.
-       (grub_print_message_indented): Move real part to ...
-       (grub_print_message_indented_real): ... here. Additional argument
-       dry_run.
-       (draw_border): Additional argument num_entries.
-       (print_message): Additional argument dry_run.
-       (print_entries): Receive menu viewer data.
-       (grub_menu_init_page): New argment num_entries.
-       (menu_text_set_chosen_entry): Use num_entries.
-       (grub_menu_try_text): Likewise.
-       * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
-       All users updated.
-       (grub_ucs4_count_lines): New function.
-       * include/grub/term.h (grub_term_cursor_x): Moved from here ..
-       * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
-       * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
-       (grub_term_border_height): Likewise.
-       (grub_term_num_entries): Likewise.
-
-2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
-       Remove now unused string.
-
-2011-04-09  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub-dev.texi (Finding your way around): Update for 1.99
-       build system.
-       (Getting started): GRUB is developed in Bazaar now, not Subversion.
-
-       (Comment): Fix typo.
-       (Getting started): General copy-editing.
-       (Typical Development Experience): Likewise.
-       (Error Handling): Likewise.
-       (Video API): Likewise.
-
-2011-04-09  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
-       throughout.
-
-2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (main): Handle special naming of yeeloong
-       directory.
-
-2011-04-08  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub-dev.texi: Fix spelling of "developer" throughout.
-       * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
-       "development".
-
-2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
-       grub_strcpy since the lines aren't necessarily 0-terminated.
-
-2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
-       root on legacy.
-
-2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/probe.c (options): Argument to set isn't optional.
-       (GRUB_MOD_INIT): DEVICE isn't optional.
-
-2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
-       word on new line if it's too long anyway. Fixes a hang.
-
-2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
-       const.
-       * util/grub-setup.c (main): Reuse md device name if available.
-       * util/raid.c (grub_util_raid_getmembers): Receive device name and
-       not GRUB name as argument.
-       Based on patch by: Florian Wagner <fwagner>.
-
-2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
-       Place mbi on low memory for better compatibility.
-
-2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
-
-2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-2011-04-08  Colin Watson  <cjwatson@ubuntu.com>
-
-       * autogen.sh: Ensure that collate and ctype locale is C.
-       * conf/Makefile.common: Likewise.
-
-2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu.c: Add missing include.
-
-2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
-
-2011-04-08  Martin Zuther <mzuther@mzuther.de>
-
-       * util/grub-mkconfig.in: Ignore emacsen backup.
-
-2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
-       on open.
-       (grub_util_biosdisk_close): Likewise.
-
-2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
-       const attribute and use grub_isdigit.
-
-2011-04-06  Andrey  <dev_null@ukr.net>
-
-       * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
-       gcc warning.
-
-2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
-       useful grub_dprintf's.
-
-2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
-
-2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
-
-2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Output errors if theme loading failed.
-
-       * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
-       grub_gfxterm_fullscreen on error paths to ...
-       * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
-       theme loading error.
-
-2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
-       space for older compilers.
-       (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
-
-2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
-       and report them as not RAID members since they are useless for GRUB.
-       * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
-
-2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Increase LVM implementation robustness in order not to crash on
-       configurations like pvmove. Previously code assumed that in some places
-       only lvs or only pvs are used whereas it seems that they are used
-       interchangeably.
-
-       * grub-core/disk/lvm.c (read_node): New function.
-       (read_lv): Use read_node.
-       (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
-       Match volumes only at the end when all lvs are found. Take both
-       pvs (first) and lvs (second) into account.
-       * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
-       mirror_* into node_*. All users updated.
-       (grub_lvm_stripe): Merge this ...
-       (grub_lvm_mirror): ... and this ...
-       (grub_lvm_node): ... into this. All users updated.
-
-2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
-       of function to allow further scanning for LVMs.
-
-2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
-       on failed seek as it breaks open fd reusage.
-
-2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Add a recommendation to use --recheck before
-       reporting bugs.
-
-2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
-       are obtained.
-
-2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       GRUB developper manual based on existing Internals section and
-       contributions by the various authors with active copyright assignment.
-
-       * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
-       * docs/font_char_metrics.png: New file.
-       * docs/font_char_metrics.txt: Likewise.
-       * docs/grub-dev.texi: Likewise.
-       * docs/grub.texi (Internals): Move from here ...
-       * docs/grub-dev.texi: ... here.
-
-2011-04-01  Colin Watson  <cjwatson@ubuntu.com>
-
-       Store the loopback device as data on loopback grub_disk structures,
-       rather than the file it points to.  This fixes use of freed memory
-       if an existing loopback device is replaced.
-
-       * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
-       disk->data, not dev->file.
-       (grub_loopback_read): Adjust file assignment to match.
-       Fixes Ubuntu bug #742967.
-
-2011-04-01  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
-       when replacing an existing device.
-
-2011-04-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
-       memory corruptions.
-
-       * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
-       unsigned.
-       (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
-       (grub_jfs_blkno): Use 64-bit quantities for block sectors.
-       (grub_jfs_read_inode): Likewise.
-       (grub_jfs_opendir): Likewise. Remove now useless casts.
-       (grub_jfs_getent): Likewise.
-       Make ino a grub_uint32_t rather than int.
-       (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
-       (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
-       division and module with bit operations.
-       (grub_jfs_find_file): Make ino a grub_uint32_t.
-       (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
-
-2011-04-01  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/normal/menu_entry.c (run): Quieten uninitialised
-         warning.  (This was in fact always initialised before use, but GCC
-         wasn't smart enough to prove that.)
-       * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
-
-2011-03-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
-       stack alignment.
-       (efi_wrap_1): Likewise.
-       (efi_wrap_2): Likewise.
-       (efi_wrap_3): Likewise.
-       (efi_wrap_4): Likewise.
-       (efi_wrap_5): Likewise.
-       (efi_wrap_6): Likewise.
-       (efi_wrap_10): Likewise.
-       Based on information by: Red Hat/Peter Jones.
-
-2011-03-31  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
-       set-but-not-used variable.
-
-2011-03-31  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Simple configuration): Be more explicit about
-       GRUB_DEFAULT, and add an example.
-       Reported by: Leslie Rhorer.
-
-2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
-       shell".
-
-2011-03-30  Alexey Shvetsov <alexxy@gentoo.org>
-
-       * util/grub.d/10_linux.in: Add gentoo-specific config filename.
-       * util/grub.d/20_linux_xen.in: Likewise.
-
-2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/10_linux.in: Try alternative config filenames where
-       we parse config file.
-       * util/grub.d/20_linux_xen.in: Likewise.
-
-2011-03-30  Alexey Shvetsov <alexxy@gentoo.org>
-
-       * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
-       * util/grub.d/20_linux_xen.in: Likewise.
-
-2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/raid.c (insert_array): Add few potentially
-       useful grub_util_info.
-       (grub_raid_register): Likewise.
-
-2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
-       Preserve partition number in mdadm code path.
-
-2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
-       few potentially useful grub_util_info.
-
-2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
-
-2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (default): Use @example rather than nested
-       itemized lists to avoid breaking gendocs.
-
-2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Future): Update.
-
-2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Environment): New chapter.
-       (Changes from GRUB Legacy): Link to "Environment block" section for
-       details of limitations.
-       (Simple configuration): Likewise.  Link to documentation of gfxmode
-       and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
-       respectively.
-       (Shell-like scripting): Note that normal variables are stored in the
-       environment.
-       (gettext): Link to documentation of lang and locale_dir.
-       (list_env): New section.
-       (load_env): New section.
-       (save_env): New section.
-
-       (Reporting bugs): Fix typo.
-
-2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
-       the example.
-
-2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/at_keyboard.c (set_scancodes)
-       [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
-
-2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Menu-specific commands): Remove some semantics
-       that were true in GRUB Legacy but not in GRUB 2.
-       (submenu): New section.
-       (false): New section.
-       (read): New section.
-       (true): New section.
-
-2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
-
-2011-03-30  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Simple configuration): Explain some of the
-       current limitations of grub-mkconfig.
-       Reported by: Leslie Rhorer.
-
-2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Old macs search for boot.efi rather than for bootia32.efi.
-
-       * util/grub-install.in: Copy bootia32.efi to boot.efi.
-       * util/grub-mkrescue.in: Likewise.
-       Suggested by: Peter Jones.
-
-2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
-
-2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
-       (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
-       (grub_lvm_mirror): New struct.
-       * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
-       (grub_lvm_iterate): Iterate only visible volumes.
-       (grub_lvm_read): Factor out to ..
-       (read_lv): ... this. Support mirrors.
-       (grub_lvm_read): New wrapper function.
-       (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
-       stripped or mirrored.
-
-2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
-
-2011-03-29  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (loopback): New section.
-
-2011-03-29  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
-       removed -p option.
-
-2011-03-29  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (BIOS installation): New section, partly based on
-       previous text in other sections.
-       (Installing GRUB using grub-install): Replace BIOS discussion with a
-       cross-reference.
-       (Images): Likewise.
-
-2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (find_partition_start)
-       [HAVE_DIOCGDINFO]: Add safety checks.
-
-2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
-       per default compiled in kernel and prior to 8.0 isn't shipped at all.
-
-2011-03-29  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
-       real_sb->size is zero (e.g. RAID-0), get the disk size from
-       real_sb->data_size instead.
-       Fixes Ubuntu bug #743136.
-
-2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
-       printf clauses for printing size and start.
-
-2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
-       Reported and tested by: Timothy Nikkel.
-
-2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
-       (dirty_region_add_real): ... this.
-       (dirty_region_add): Don't discard margin refresh when performing
-       scheduled repaint.
-
-2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/relocator.c (allocate_regstart)
-       [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
-       terminals are capabple of malloc-free operation.
-       (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
-       (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
-
-2011-03-29  Mario Limonciello  <Mario_Limonciello@Dell.com>
-
-        * util/grub-setup.c: Copy the partition table zone if floppy support
-       is disabled, even if no partition table is found.
-
-        Otherwise, the BIOS on Dell Latitude E series laptops will freeze
-        during POST if an invalid partition table is contained in the PBR
-        of the active partition when GRUB is installed to a partition.
-
-2011-03-28  Colin Watson  <cjwatson@debian.org>
-
-       * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
-       comment.
-
-2011-03-28  Colin Watson  <cjwatson@debian.org>
-
-       * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
-       to be specific about what kind of RAID device we're scanning for.
-
-2011-03-26  Seth Goldberg <seth.goldberg@oracle.com>
-
-       * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
-       return freed string.
-
-2011-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
-
-2011-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use libgeom on FreeBSD to detect partitions.
-
-       * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
-       (grub-mkrelpath): Likewise.
-       (grub-script-check): Likewise.
-       (grub-editenv): Likewise.
-       (grub-mkpasswd-pbkdf2): Likewise.
-       (grub-fstest): Likewise.
-       (grub-mkfont): Likewise.
-       (grub-mkdevicemap): Likewise.
-       (grub-probe): Likewise.
-       (grub-setup): Likewise.
-       (grub-ofpathname): Likewise.
-       (grub-mklayout): Likewise.
-       (example_unit_test): Likewise.
-       (grub-menulst2cfg): Likewise.
-       * grub-core/Makefile.core.def (grub-emu): Likewise.
-       (grub-emu-lite): Likewise.
-       * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
-       * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
-       define HAVE_DIOCGDINFO.
-       (follow_geom_up) [FreeBSD]: New function.
-       (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
-       (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
-       (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
-       unconditionally of HAVE_DIOCGDINFO.
-
-2011-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix FreeBSD compilation problem.
-
-       * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
-       (FLOPPY_MAJOR) [FreeBSD]: Likewise.
-
-2011-03-24  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
-       Switch back to page zero before loading a kernel, since some kernel
-       drivers expect that.
-       Thanks to: Felix Kuehling.
-
-2011-03-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
-       [DEBUG_RELOCATOR]: Reuse grub_mm_check.
-       (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
-
-2011-03-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
-       (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
-
-2011-03-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
-       DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
-       malloc is disabled.
-
-2011-03-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
-       for modules headers when counting the needed allocation size.
-
-2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
-       if no ASCII character is found to prevent crash.
-
-2011-03-23  Alexander Kurtz  <kurtz.alex@googlemail.com>
-
-       * grub-core/video/bitmap.c (match_extension): Ignore case.
-
-2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
-
-2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/parser.y: Declare "time" as valid argument.
-
-2011-03-23  Peter Jones  <pjones@redhat.com>
-
-       Fix incorrect assert failure reporting.
-
-       * grub-core/tests/example_functional_test.c (example_test): Add
-       a failure comment.
-       * grub-core/tests/lib/test.c (add_failure): Renamed to ...
-       (failure_start): ...this. Check that malloc succeeded.
-       Don't call xvasprintf. Return failure struct.
-       (failure_append_vtext): New function.
-       (failure_append_text): Likewise.
-       (add_failure): Likewise.
-       (grub_test_assert_helper): Likewise.
-       * include/grub/test.h (grub_test_assert_helper): New declaration.
-       (grub_test_assert): Macro rewritten.
-
-2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
-
-2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/i386/pc/biosnum.c: Add missing include.
-
-2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
-       into GRUB-style one.
-
-2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
-       error and not grub_errno.
-       * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
-
-2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
-       GRUB_USB_SPEED_NONE in case of failure and not the error code.
-
-2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/efiemu/i386/pc/cfgtables.c
-       (grub_machine_efiemu_init_tables): Make declaration a prototype.
-       * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
-       (grub_xnu_unlock): Likewise.
-       * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
-
-2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/usb.c (attach_hooks): Make static.
-       * grub-core/bus/usb/usbhub.c (hubs): Likewise.
-       * grub-core/commands/hashsum.c (aliases): Likewise.
-       * grub-core/commands/setpci.c (pci_registers): Likewise.
-       * grub-core/disk/usbms.c (attach_hook): Likewise.
-       * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
-       (zio_checksum_table): Likewise.
-       * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
-       * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
-       * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
-       * grub-core/lib/relocator.c (leftovers): Likewise.
-       (extra_blocks): Likewise.
-       * grub-core/loader/i386/bsd.c (relocator): Likewise.
-       * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
-       (modules_last): Likewise.
-       * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
-       (devices): Likewise.
-       * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
-       (modules_last): Likewise.
-       * grub-core/normal/auth.c (users): Likewise.
-       * grub-core/normal/context.c (initial_menu): Likewise.
-       (current_menu): Likewise.
-       * grub-core/normal/crypto.c (crypto_specs): Likewise.
-       * grub-core/term/serial.c (grub_serial_ports): Likewise.
-       (grub_serial_terminfo_input_template): Likewise.
-       (grub_serial_terminfo_output_template): Likewise.
-       (grub_serial_terminfo_input): Likewise.
-       (grub_serial_terminfo_output): Likewise.
-       (registered): Likewise.
-       * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
-
-2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/bochs.c (grub_video_bochs_setup): Use
-       grub_video_mode_type_t.
-       * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
-       * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
-       * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
-
-2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Correct the x86-64 name as x86_64.
-
-2011-03-11  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
-       initial chunk read from the kernel always includes GRUB's multiboot
-       header, which is now outside the first sector.
-
-2011-03-09  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
-       cached mmap_size, so that this works correctly when called multiple
-       times.
-       Reported by: Daniel Kahn Gillmor.  Should fix Debian bug #616638.
-
-2011-03-09  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Simple configuration): Tidy up formatting.
-
-2011-03-07  Szymon Janc <szymon@janc.net.pl>
-
-       * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
-       Set-but-not-used variable removed.
-
-2011-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Workaround yet another IEEE1275 bug.
-
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
-       GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
-       * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
-       adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
-       is set.
-       * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
-       GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
-
-2011-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
-       error.
-
-2011-02-11  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
-       empty, since in that case we can only generate either nothing or a
-       syntactically invalid configuration file.
-       Reported by: Michal Suchanek.  Fixes Debian bug #612898.
-
-2011-02-09  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
-       (Making a GRUB bootable CD-ROM): Likewise.
-       (Invoking grub-mkrescue): New section.
-       Reported by: Yann Dirson.  Fixes Debian bug #612585.
-
-2011-02-09  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-install.in: Remove unnecessary brackets from tr
-       arguments.
-       * util/grub.d/10_hurd.in: Likewise.
-       * util/grub.d/10_kfreebsd.in: Likewise.
-       * util/grub.d/10_linux.in: Likewise.
-       * util/grub.d/20_linux_xen.in: Likewise.
-       Reported by: Jamie Heilman.  Fixes Debian bug #612564.
-
-2011-02-08  Colin Watson  <cjwatson@ubuntu.com>
-
-       * include/grub/file.h (not_easly_seekable): Rename to ...
-       (not_easily_seekable): ... this.  Update all users.
-
-2011-01-28  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
-       grub-mkrescue.
-
-2011-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (generate_image): Refuse to create the images
-       bigger than the actual flash (512K) in Loongson machines. 512K is also
-       the biggest chip supported by them.
-
-2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
-
-2011-01-22  Anthony DeRobertis <anthony@derobert.net>
-
-       * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
-       super_offset field.
-
-2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Ignore install device on platforms
-       where it doesn't make sense. Always use UUIDs except on pc, efi and
-       sparc64.
-       Reported by: Daniel Kahn Gillmor.
-
-2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
-
-2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
-       (iterate_real): Don't rely on partition being non-NULL.
-
-2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
-       supported platforms. Put a compile time assert for this rather than
-       generate a warning with 32-bit shift.
-
-2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
-       logical expression more readable.
-
-2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
-       even if some elements have a name.
-       Reported by: Alexander GQ Gerasiov.
-
-2011-01-22  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
-       path unreadable if `grub-probe -t abstraction' fails, for example if
-       memberlist fails on an LVM volume group.
-       Reported by: Darius Jahandarie.
-
-2011-01-22  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Simple configuration): Document
-       GRUB_PRELOAD_MODULES.
-
-2011-01-17  Colin Watson  <cjwatson@ubuntu.com>
-
-       * .bzrignore: Remove nonexistent grub-pbkdf2.
-
-2011-01-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Bump version to 1.99~rc1.
-
-2011-01-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
-       for safety.
-
-2011-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
-       module.
-
-2011-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
-
-2011-01-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
-       diskdevid.
-
-2011-01-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix compilation on cygwin.
-
-       * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
-       -R .drectve on cygwin.
-       * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
-       * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
-       (COND_CYGWIN): New condition.
-       * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
-       * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
-       not @TARGET_OBJ2ELF@.
-       * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
-       type to determine whether aux is to be used.
-
-2011-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
-       realpath'ed device string.
-       Handle floppy (somewhat).
-       Issue error in unknown case rather than garbage.
-       Reported by: Axel Beckert.
-
-2011-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/00_header.in (load_video): Handle the case when no video
-       drivers available.
-       Thanks to: Axel Beckert.
-
-2011-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
-       variable. Fixes problem on big endian platforms.
-
-2011-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
-       It doesn't work well there.
-
-2011-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/context.c (grub_env_context_close): Silence spurious
-       warning.
-       * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
-       * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
-       counter.
-
-2011-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use alias->path rather than buggy "canon".
-
-       * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
-       (ofdisk_hash_add): New argument curcan. All users updated.
-
-2011-01-11  Colin Watson  <cjwatson@ubuntu.com>
-
-       * configure.ac: Fall back to `true' if `makeinfo' does not exist.
-
-2011-01-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
-       loadmask before doing any calculations. Use correct type for offset.
-       (grub_linux_load64): Likewise.
-
-2011-01-11  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
-       with NULL.
-       (console_grub_equivalences_unshift): Likewise.
-       Reported by: Daniel Dehennin.
-
-2011-01-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
-       (set_env_limn_ro): Likewise.
-       (GRUB_MOD_INIT): Likewise.
-       * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
-       ARRAY_SIZE while on it.
-       (GRUB_MOD_FINI): Change to ARRAY_SIZE.
-       * grub-core/normal/context.c (grub_env_export): Move from here ...
-       * grub-core/kern/env.c (grub_env_export): ... here.
-       * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
-       prefix.
-       * grub-core/kern/main.c (grub_main): Export root and prefix.
-       * include/grub/env.h (grub_env_export): Export.
-       Reported by: Seth Goldberg.
-
-2011-01-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
-       Take into account space used by ELF sections and multiboot palette.
-       Reported by: Grégoire Sutre.
-
-2011-01-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * BUGS: New file.
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Pass more appropriate video id to Linux.
-
-       * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
-       grub_video_get_driver_id and variable gfxpayloadforcelfb to
-       fill have_vga.
-       (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
-       shift params->lfb_size.
-       * include/grub/i386/linux.h: Make an enume out of have_vga values.
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-menulst2cfg.c: Add missing include of misc.h.
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
-       separator and pass bootpath/devid even if only one of them is available.
-       Reported by: Seth Goldberg.
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't use post-4G memory on EFI even if 64-bit since some non-compliant
-       implementations bug on them.
-
-       * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
-       memory.
-       (filter_memory_map): Likewise.
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
-       Reported by: nebuchadnezzar.
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-kbdcomp.in: Add missing transform and bindir variables.
-       Reported by: nebuchadnezzar.
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Submenu default support.
-
-       * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
-       auto_boot. All users updated.
-       Declared static.
-       Handle chosen and default with submenus.
-       (grub_menu_execute_with_fallback): Declared static.
-       Don't notify failure if autobooted. Upper level does it.
-       (menuentry_eq): New function.
-       (get_entry_number): Use menuentry_eq.
-       (show_menu): New parameter "autobooted". All users updated.
-       (grub_show_menu): Likewise.
-       * include/grub/normal.h (grub_show_menu): Likewise.
-       * include/grub/menu.h (grub_menu_execute_entry): Removed.
-       (grub_menu_execute_with_fallback): Likewise.
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mklayout.c (usage): Update help text.
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-menulst2cfg.c (main): Trim the line.
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
-       (grub_machine_init): Don't check amount of low memory as reportedly
-       INT 12h can be broken and if low memory is too low we wouldn't have
-       gotten into grub_machine_init anyway.
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
-       (grub_machine_mmap_iterate): Take low memory into account
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
-       badfs.
-       Reported by: TiCPU.
-
-2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
-       members errors.
-
-2011-01-09  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
-       (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
-
-2011-01-09  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
-       openbsd and netbsd types being in part_bsd module.
-
-2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * config.h.in (_LARGEFILE_SOURCE): Add missing define.
-       (_FILE_OFFSET_BITS): Likewise.
-       Reported by: Seth Goldberg.
-
-2011-01-08  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * configure.ac: Check for libdevmapper header.
-
-2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
-       avoid aliasing.
-       (fzap_lookup): Likewise.
-       (dnode_get): Likewise.
-       (make_mdn): Likewise.
-       (zfs_mount): Likewise.
-       (fzap_iterate): Use temporary pointer to avoid aliasing.
-       (grub_zfs_read): Likewise.
-       * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
-       * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
-       pointers to avoid aliasing.
-       (grub_cmd_xnu_kernel64): Likewise.
-       (grub_xnu_load_driver): Likewise.
-
-2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
-       aliasing warning.
-       (grub_cmd_terminal_output): Likewise.
-       Reported and tested by: Grégoire Sutre.
-
-2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
-       warning.
-       Reported and tested by: Grégoire Sutre.
-
-2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Do CPU substitution even if it's specified explicitly.
-       Reported and tested by: Alain Greppin.
-
-2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
-       Reported and tested by: Alain Greppin.
-
-2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Satisfy some bison versions need for inttypes.h.
-
-       * grub-core/lib/posix_wrap/inttypes.h: New file.
-       * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
-       (int16_t): Likewise.
-       (int32_t): Likewise.
-       (int64_t): Likewise.
-       Reported and tested by: Alain Greppin.
-
-2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
-       Silence spurious warning.
-       Reported and tested by: Alain Greppin.
-
-2011-01-07  Szymon Janc <szymon@janc.net.pl>
-
-       * docs/grub.texi (Support automatic decompression): Update with xz
-       decompression support.
-
-2011-01-07  Szymon Janc <szymon@janc.net.pl>
-
-       Improve loaders' kernel command line handling.
-
-       * grub-core/lib/cmdline.c: New file.
-       * include/grub/lib/cmdline.h: Likewise.
-       * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
-       grub_create_loader_cmdline to create kernel command line.
-       * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
-       * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
-       * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
-       * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
-       (linux): Add lib/cmdline.c on common.
-
-2011-01-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
-       inopos might be unaligned.
-
-2011-01-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
-       endian transformations.
-       * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
-       Based on report by: Doug Nazar.
-
-2011-01-07  Doug Nazar  <nazard.michi@gmail.com>
-
-       * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
-       array->members[i].start_sector.
-       * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
-
-2011-01-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
-       Reported and tested by: Grégoire Sutre.
-
-2011-01-06  Colin Watson  <cjwatson@ubuntu.com>
-
-       * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
-       avoid causing test failures by clearing the screen.
-
-2011-01-06  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
-       Fix prefix check to handle the case where dir ends with a slash
-       (most significantly, "/" itself).
-       Reported by: Michael Vogt.
-
-2011-01-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Run terminfo_cls on initing terminfo output to clear the screen and
-       move the cursor to (0,0).
-
-       * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
-       Call grub_terminfo_output_init.
-       * grub-core/term/serial.c (grub_serial_term_output): Set .init.
-       * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
-       * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
-
-2011-01-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
-       only when needed.
-
-2011-01-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
-       CTRL.
-
-2011-01-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       The E820 type 5 is BADRAM, not EXEC_CODE.
-
-       * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
-       (GRUB_E820_BADRAM): New define.
-       * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
-       into reserved. Propagate BADRAM.
-       * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
-       (GRUB_E820_BADRAM): New define.
-
-2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
-       Ignore the memory post-4G.
-       (grub_relocator_firmware_alloc_region): Additional debug statement.
-
-2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
-       names.
-       Reported by: David Pravec.
-
-2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
-       BIOSes.
-
-2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
-       Prevent overflow.
-       (grub_reed_solomon_recover): Likewise.
-
-2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
-
-2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
-       variable.
-
-2011-01-04  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
-       descriptions of extract_legacy_entries_source and
-       extract_legacy_entries_configfile.
-       Reported by: Seung Soo, Ha.
-
-2011-01-03  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
-       on devices that do not implement function 0.
-
-2011-01-03  Dave Vasilevsky <dave@vasilevsky.ca>
-
-       * grub-core/fs/hfsplus.c: Make parent unsigned.
-       (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
-       overflows.
-       (grub_hfsplus_cmp_extkey): Likewise
-
-2011-01-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Correctly use bootloader_id and not
-       GRUB_DISTRIBUTOR on efibootmgr line.
-
-2011-01-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkfont.c (main): Report errors in FT_New_Face.
-
-2010-12-31  Ian Campbell <ijc@hellion.org.uk>
-
-       * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
-       Xen and reorder menu item wording to make it clearer that this entry
-       will launch Xen.  Print separate messages when loading Xen and
-       Linux.
-
-2010-12-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
-       (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
-       loop in case of incorrect amiga partmap.
-
-2010-12-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
-       (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
-       Reported by:EHeM.
-
-2010-12-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
-       spurious warning.
-       Reported by: crocket
-
-2010-12-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
-       Preload EFIemu.
-       (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
-
-2010-12-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
-       is loaded
-       (grub_cmd_xnu_kextdir): Likewise.
-       (grub_cmd_xnu_splash): Likewise.
-
-2010-12-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Avoid using Reed-Solomon with 0 redundancy.
-
-       * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
-       * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
-       or 0 redundancy.
-       (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
-       (grub_reed_solomon_recover): Likewise.
-
-2010-12-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't use disk subsystem in freebsd_boot.
-
-       * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
-       (freebsd_biosdev): Likewise.
-       (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
-       (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
-
-2010-12-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handling of files of unknown size is currently limited. They can't be
-       used e.g. for initrd or modules. Moreover gzip handling of not
-       easily seekable files is buggy. Disable unknown file size for now. May
-       be inefficient but works.
-
-       * grub-core/io/gzio.c (test_header): Always retrieve the file size.
-       * grub-core/io/xzio.c (grub_xzio_open): Likewise.
-
-2010-12-25  Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
-
-       * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
-       floppy probe.
-
-2010-12-25  Jeroen Dekkers <jeroen@dekkers.ch>
-
-       * grub-core/disk/raid.c (insert_array): Don't add spurious members.
-
-2010-12-25  Shea Levy <shlevy>
-
-       * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
-
-2010-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
-       Windows Server 2008.
-       Reported by: Devin Giddings.
-
-2010-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
-       writing an error message because of async power management.
-       * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
-       (grub_reboot): Likewise.
-
-2010-12-23  Jordan Uggla  <jordan.uggla@gmail.com>
-
-       * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
-       keep unit tests from failing when they shouldn't.
-
-2010-12-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
-       previous patch increased the size of the RS code by 20 bytes (at
-       least with gcc-4.4), so increase this by 20 bytes to match.
-       (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
-
-2010-12-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
-       scratch area.  Make sure to initialise chosen in standalone mode as
-       well as non-standalone.
-       Reported by: Robert Hooker and Andy Whitcroft.
-       Tested by: Andy Whitcroft.
-
-2010-12-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
-       constructing a new unescaped string and passing it to grub_xputs in
-       one go, rather than passing characters to grub_printf one at a time.
-
-2010-12-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/fs/udf.c (read_string): Pacify GCC warning by
-       initialising utf16.
-
-2010-12-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
-       comment.  Add an extra layer of quotation, requiring the output of
-       this function to be used in a printf format string.
-       (gettext_printf): New function.
-       * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
-       Extract translatable strings from here-documents and use a temporary
-       variable instead, so that xgettext can find them.
-       * util/grub.d/10_kfreebsd.in: Likewise.
-       * util/grub.d/10_linux.in: Likewise.
-       * util/grub.d/20_linux_xen.in: Likewise.
-
-       * po/grub.d.sed: New file.
-       * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
-       arguments.  Set c-format flags on all strings extracted from
-       util/grub.d/ (xgettext refuses to include these itself for strings
-       it extracted from a shell file, but these really are c-format).
-
-2010-12-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
-       Avoid next pointing to nowhere.
-
-2010-12-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
-       rather than assuming than rootblock is exactly in the middle.
-       (grub_affs_label): Likewise.
-
-2010-12-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
-       reserved_first_sector to 0.
-       * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
-       * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
-       * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
-
-2010-12-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix handling of UTF-16 UDF labels.
-
-       * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
-       (read_string): .. here.
-       (grub_udf_label): Use read_string.
-
-2010-12-19  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       * grub-core/normal/menu_entry.c (run): Execute commands from menu
-       editor under argument scope.
-       Reported by: Jordan Uggla
-
-2010-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
-
-2010-12-18  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/normal/term.c (print_more): Make \r or \n scroll one
-       line, and other keys scroll an entire page (previous handling was
-       for \r and \n to scroll a page and other keys to scroll two lines).
-
-2010-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
-       Set ptrdest to correct get_physical_target_address rather than
-       incorrect get_virtual_current_address.
-
-2010-12-18  kashyap garimella <garimella.kashyap@gmail.com>
-
-       * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
-       correct cat to grub_uint8_t * rather than grub_uint32_t *.
-
-2010-12-10  Colin Watson  <cjwatson@ubuntu.com>
-
-       * .bzrignore: Ignore grub-core/rs_decoder.S.
-
-2010-12-10  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
-       .mo/.mo.gz opening sequence to ...
-       (grub_mofile_open_lang): ... here.
-       (grub_gettext_init_ext): If opening ll_CC fails, try ll.
-       * util/grub.d/00_header.in (grub_lang): Include country part of
-       locale.
-       Reported by: Mario Limonciello.
-
-2010-12-09  Robert Millan  <rmh@gnu.org>
-
-       * NEWS: Document addition of ZFS support.
-
-2010-12-04  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
-       rather than `/ 2', as the latter requires -Wa,--divide which would
-       require bumping our minimum binutils version.
-
-2010-12-03  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       * util/grub-script-check.c (main): Print script line number on
-       error.
-
-2010-12-01  Robert Millan  <rmh@gnu.org>
-
-       * grub-core/fs/zfs/zfs.c: New file.
-       * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
-       * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
-       * grub-core/fs/zfs/zfs_sha256.c: Likewise.
-       * grub-core/fs/zfs/zfsinfo.c: Likewise.
-
-       * include/grub/zfs/dmu.h: Likewise.
-       * include/grub/zfs/dmu_objset.h: Likewise.
-       * include/grub/zfs/dnode.h: Likewise.
-       * include/grub/zfs/dsl_dataset.h: Likewise.
-       * include/grub/zfs/dsl_dir.h: Likewise.
-       * include/grub/zfs/sa_impl.h: Likewise.
-       * include/grub/zfs/spa.h: Likewise.
-       * include/grub/zfs/uberblock_impl.h: Likewise.
-       * include/grub/zfs/vdev_impl.h: Likewise.
-       * include/grub/zfs/zap_impl.h: Likewise.
-       * include/grub/zfs/zap_leaf.h: Likewise.
-       * include/grub/zfs/zfs.h: Likewise.
-       * include/grub/zfs/zfs_acl.h: Likewise.
-       * include/grub/zfs/zfs_znode.h: Likewise.
-       * include/grub/zfs/zil.h: Likewise.
-       * include/grub/zfs/zio.h: Likewise.
-       * include/grub/zfs/zio_checksum.h: Likewise.
-
-       * Makefile.util.def: Build ZFS into libgrubmods.
-       * grub-core/Makefile.core.def: Build zfs.mod.
-
-2010-11-30  Szymon Janc <szymon@janc.net.pl>
-
-       * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
-       variable.
-       * grub-core/commands/wildcard.c (match_files): Likewise.
-
-2010-11-30  Robert Millan  <rmh@gnu.org>
-
-       * grub-core/loader/i386/bsd.c
-       (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
-       whether kernel is loaded using grub_loader_is_loaded(), rather
-       than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
-       certain error conditions.
-
-2010-11-30  Robert Millan  <rmh@gnu.org>
-
-       * grub-core/commands/echo.c: Include `<grub/term.h>'.
-       (grub_cmd_echo): Call grub_refresh() after printing a message.
-
-2010-11-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Avoid using tricks for initialising endian variables.
-
-       * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
-       Make const.
-       (GRUB_MOD_INIT): Don't byte-swap.
-       * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
-       Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
-       * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
-       (grub_swap_bytes32_compile_time): Likewise.
-       (grub_cpu_to_le32_compile_time): Likewise.
-       (grub_cpu_to_le16_compile_time): Likewise.
-
-2010-11-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (setup): Stop recommending --force. People who
-       understand the dangers of blocklists are able to find this option
-       anyway and the ones who don't shouldn't use it anyway.
-
-2010-11-26  Robert Millan  <rmh@gnu.org>
-
-       * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
-       Update all users.
-
-2010-11-26  Colin Watson  <cjwatson@ubuntu.com>
-
-       Fix LVM-on-RAID probing.
-
-       * util/grub-probe.c (probe): Remember which disk was detected as
-       RAID (perhaps an LVM physical volume).  Use that disk's raidname
-       rather than that of the top-level disk.
-
-2010-11-25  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       Fix cmdline argument quotes for setparams command of menuentry
-       definitions.
-
-       * grub-core/commands/menuentry.c (setparams_prefix): Use single
-       quotes for arguments.
-       * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
-       grub_strchrsub function instead.
-
-       * include/grub/misc.h (grub_strchrsub): New function.
-
-2010-11-24  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
-       effort by skipping "." and ".." entries up-front.
-       Suggested by: Michael Lazarev.
-
-2010-11-24  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
-       ldflags to ldadd, to fix link line ordering.
-       (none_decompress): Likewise.
-
-2010-11-24  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
-       platforms.
-       (grub-emu-lite): Remove kern/emu/cache.S.
-
-2010-11-23  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/deviceiter.c (compare_devices): If the by-id link for a
-       device couldn't be resolved, fall back to sorting by the by-id link
-       rather than segfaulting.
-       Reported and tested by: Daniel Mierswa.
-
-2010-11-23  Colin Watson  <cjwatson@ubuntu.com>
-
-       * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
-       ldflags, to fix link line ordering.
-
-2010-11-23  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
-       linkers are picky about this.
-
-2010-11-23  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/Makefile.am (command.lst): Adjust sed expression
-       ordering so that extended and priority commands aren't treated as
-       ordinary commands.
-
-2010-11-23  Colin Watson  <cjwatson@ubuntu.com>
-
-       * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
-       Remove byte-swapping function calls, which are not valid in
-       structure initialisers.
-       * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
-       non-const.
-       (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
-       grub_gpt_partition_type_bios_boot.
-
-2010-11-22  Colin Watson  <cjwatson@ubuntu.com>
-
-       Fix test program build on GNU/kFreeBSD.
-
-       * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
-       $(LIBNVPAIR)' library dependencies.
-
-2010-11-22  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
-
-2010-11-22  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-install.in: Remove excessive quoting that broke
-       installations to RAID devices.
-
-2010-11-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
-       bootloader version instead of 0.
-
-2010-11-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
-       warning.
-
-2010-11-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
-       retrieve the metadat sector if size isn't known.
-       * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
-
-2010-11-18  Robert Millan  <rmh@gnu.org>
-
-       * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
-       with grub_memcmp().
-
-2010-11-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
-       arrow.
-       Reported by: Jordan Uggla.
-
-2010-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make better UTF compliant.
-
-       * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
-       sequences as incorrect.
-       (grub_is_valid_utf8): Likewise.
-       (grub_utf8_to_ucs4): Likewise.
-       (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
-       (grub_ucs4_to_utf8_alloc): Likewise.
-       * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
-
-2010-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make legacy_source behave like source.
-
-       * grub-core/commands/legacycfg.c (legacy_file): Don't call
-       grub_show_menu.
-       (grub_cmd_legacy_source): Call grub_show_menu if needed.
-
-2010-11-16  Colin Watson  <cjwatson@debian.org>
-
-       * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
-       (-Wunused implies -Wunused-parameter, but not vice versa).
-
-2010-11-16  Colin Watson  <cjwatson@ubuntu.com>
-
-       * configure.ac: Make error messages less confusing by testing for
-       -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
-       accepted, but produces a diagnostic if something else is wrong).
-
-2010-11-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
-       [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
-       (now unused).
-       (grub_keyboard_controller_init)
-       [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
-       read the initial state since controller isn't inited yet.
-
-2010-11-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/relocator.c (malloc_in_range): Take into account that
-       allocate_regbeg may need to create new chunk header.
-
-2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix quoting in legacy parser.
-
-       * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
-       single quotes.
-       (grub_legacy_parse): Likewise.
-       Reported by: Jordan Uggla.
-       Tested by: Jordan Uggla.
-
-2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't add -lgcc on i386 and x86_64.
-
-       * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
-       * conf/Makefile.common (LDADD_KERNEL): Likewise.
-       * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
-
-2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Add -Wno-trampolines when supported.
-
-2010-11-14  Modestas Vainius <modax@debian.org>
-
-       * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
-       fakeraid.
-
-2010-11-14  Giuseppe Caizzone <acaizzo@gmail.com>
-
-       Add generic logical block size support for UDF.
-
-       * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
-       (GRUB_UDF_BLKSZ): Removed.
-       (struct grub_udf_data): New field "lbshift" to hold the logical block
-       size of the file system in log2 format. All users updated.
-       (sblocklist): Change type to unsigned.
-       (grub_udf_mount): Change type of "sblklist" to unsigned.
-       Move AVDP search before VRS recognition, because the latter requires
-       knowledge of the logical block size, which is detected during the
-       former.
-       Detect and validate logical block size during AVDP search, adding
-       support for block sizes 512, 1024 and 4096.
-       Make VRS recognition independent of block size.
-
-2010-11-14  Giuseppe Caizzone <acaizzo@gmail.com>
-
-       Properly handle deleted files on UDF.
-
-       * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
-       whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
-       set.
-
-2010-11-14  Giuseppe Caizzone <acaizzo@gmail.com>
-
-       Support reading files larger than 2 GiB.
-
-       * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
-       "offset" to grub_off_t.
-       (grub_udf_read_file): Likewise for parameter "pos".
-
-2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
-       unavailable.
-       (Simple configuration): Refer to Changes from GRUB Legacy about
-       save_env availability.
-
-2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Ignore empty partition table detection
-       instead of trying to include part_ module.
-
-2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
-       LVM on RAID support.
-
-2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Properly define WORDS_BIGENDIAN in wrapped environments.
-
-       * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
-       definition.
-       * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
-
-       Reported by: Manoel Rebelo Abranches.
-       Tested by: Manoel Rebelo Abranches.
-
-2010-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkconfig.in: Fix quoting.
-
-2010-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support big ext2 files.
-
-       * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
-       (grub_ext2_read_block): Support triple indirect blocks.
-       (grub_ext2_read_file): Use 64-bit types and read size_high.
-       (grub_ext2_open): Read size_high.
-       Reported by: Ximin Luo.
-       Tested by: Manoel Rebelo Abranches.
-
-2010-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Handle filenames containing spaces.
-       Reported by: Jordan Uggla.
-       Tested by: Jordan Uggla.
-
-2010-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkconfig.in (grub_script_check): New variable.
-       Use grub_script_check instead of grub-script-check.
-       Reported by: Barry Jackson.
-
-2010-11-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (menu): Correct the order.
-       Reported by: D. Hugh Redelmeier.
-
-2010-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
-       jump.
-
-2010-11-08  Manoel Rebelo Abranches <mrabran@br.ibm.com>
-
-       * include/grub/elfload.h (grub_elf32_size): New parameter.
-       All users updated.
-       Return maximum segments alignment.
-       (grub_elf64_size): Likewise.
-       * kern/elf.c (grub_elf32_size): New parameter. All users updated.
-       Return maximum segments alignment.
-       (grub_elf64_size): Likewise.
-       * grub-core/loader/powerpc/ieee1275/linux.c:
-       (grub_linux_claimmap_iterate): New function. Uses the
-       "available" property in the "memory" node for memory allocation
-       for kernel in the PowerPC loader.
-       (grub_linux_load32): Correctly find linux entry point offset.
-       (grub_linux_load64): Likewise.
-
-2010-11-07  Robert Millan  <rmh@gnu.org>
-
-       On mips-yeeloong, build with -march=loongson2f when this flag is
-       available (GCC >= 4.4).
-       * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
-       `-march=mips3'.
-       * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
-       or otherwise add -march=mips3.
-
-2010-11-07  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       Suppress shell expansion on echo '*' and echo "*" like cases.
-       Reported by: Jordan Uggla.
-
-       * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
-       string arguments before shell expansion.
-       * tests/grub_cmd_echo.in: New testcases.
-
-2010-11-07  Robert Millan  <rmh@gnu.org>
-
-       * conf/mips-qemu-mips.rmk: Remove stale file from previous
-       transition.
-
-2010-11-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c
-       (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
-
-2010-11-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
-       * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
-       * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
-
-2010-11-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
-
-2010-11-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Replace useless recomendation to pass
-       --modules with a recomendation to report a bug.
-
-2010-11-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Properly register serial terminfo.
-       Reported by: Jordan Uggla
-
-       * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
-       const.
-       (grub_serial_terminfo_output_template): Likewise.
-       (grub_cmd_serial): Register "serial" with terminfo.
-       (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
-       grub_serial_terminfo_output.
-
-2010-11-05  Robert Millan  <rmh@gnu.org>
-
-       * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
-       needed).
-
-2010-11-05  Robert Millan  <rmh@gnu.org>
-
-       On Yeeloong, pass machine type information to Linux.
-
-       * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
-       (LOONGSON_MACHTYPE): New macro, set to
-       "machtype=lemote-yeeloong-2f-8.9inches".
-       [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
-       additional argument to Linux.
-
-2010-11-04  Robert Millan  <rmh@gnu.org>
-
-       * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
-       limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
-       (its SATA disks are detected as slaveless IDE master drives on
-       kFreeBSD).
-       Reported by Carsten Aulbert.
-
-2010-11-02  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/bin2h.c (main): Fix spelling error in generated output.
-
-2010-11-01  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
-
-2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
-       vga= option is supplied.
-
-2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
-       * util/grub.d/10_kfreebsd.in: Likewise.
-       * util/grub.d/10_linux.in: Likewise.
-       * util/grub.d/20_linux_xen.in: Likewise.
-
-2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
-       argument as an argument to no-argument option.
-
-2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/10_linux.in: Add missing load_video with explicit
-       GRUB_GFXPAYLOAD_LINUX.
-
-2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
-
-2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
-       elements with invlid index.
-       * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
-       * grub-core/disk/raid.c (insert_array): Automatically reallocate
-       members.
-       * include/grub/raid.h (grub_raid_member): New struct.
-       (grub_raid_array): Transform devices and start_sector into usage of
-       grub_raid_member. All users updated
-       (allocated_devs): New member.
-
-2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/man/grub-set-default.h2m: Clarify that only saved default entry
-       is modified
-
-2010-10-29  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       NetBSD build fix for getline function conflict from gnulib.
-
-       * Makefile.util.def (libgrubkern.a): New library for grub kernel
-       components that depend on gnulib headers.
-       (libgrubmods.a): Renamed from earlier libgrub.a.
-       * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
-
-2010-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
-       install rather than creating a broken install.
-
-2010-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (argp): Remove misleading example of installing to
-       a partition.
-
-2010-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (setup): Clarify the error message.
-
-2010-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/types.h (grub_target_off_t): Removed no longer used type.
-
-2010-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/misc.c
-       (grub_make_system_path_relative_to_its_root)
-       [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
-
-2010-10-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/misc.c
-       (grub_make_system_path_relative_to_its_root): Revert r2882.
-
-2010-10-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
-       useless field head. All users updated.
-       (free_subchunk): Correct handling of IN_REGION subchunk.
-
-2010-10-22  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Installing GRUB using grub-install): Proofread.
-       (Supported kernels): Likewise.
-
-2010-10-18  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       Make mktemp invocations portable.
-
-       * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
-       exit if mktemp fails.
-       * tests/grub_script_blockarg.in: Likewise.
-       * tests/partmap_test.in: Likewise.
-       * tests/util/grub-shell-tester.in: Likewise.
-       * tests/util/grub-shell.in: Likewise.
-       * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
-       * Makefile.am: Likewise, and chain shell commands with `&&'
-       instead of ';'.
-       * util/grub-mkrescue.in: Use the same explicit template as above, and
-       exit if mktemp fails.
-
-2010-10-18  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
-       Linux kernel, reported by Dennis Schridde.
-
-2010-10-17  Szymon Janc <szymon@janc.net.pl>
-
-       * grub-core/normal/auth.c (grub_auth_check_authentication):
-       Set-but-not-used variable removed.
-
-2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (GNU/Linux): Document APM unavailability with
-       32-bit linux protocol.
-
-2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
-       cursor shape for sanity.
-
-2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Installation): Document buggy BIOS install.
-
-2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Installation): Indent.
-
-2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (setup): New parameter allow_floppy.
-       (arguments): New member allow_floppy.
-       (argp_parser): Handle --allow-floppy.
-       (main): Pass allow_floppy.
-       * util/grub-install.in: New option --allow-floppy passed though to
-       grub-setup.
-
-2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-install.in: Handle partitionless disks.
-
-2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (setup): Don't clean blocklists before readability
-       verfification.
-
-2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * docs/grub.texi (Installation): Document embedding zone. Remove
-       obsolete grub-install example.
-
-2010-10-16  Szymon Janc <szymon@janc.net.pl>
-
-       * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
-       Set-but-not-used variable ifdef'ed.
-       * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
-       * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
-       variable removed.
-       * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
-       * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
-       * grub-core/fs/minix.c (grub_minix_dir): Likewise.
-       * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
-       * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
-       * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
-       * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
-       * grub-core/gfxmenu/widget-box.c (draw): Likewise.
-       * grub-core/lib/relocator.c (malloc_in_range): Likewise.
-       * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
-       * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
-       Likewise.
-
-2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
-       * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
-       enum value.
-
-2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
-       synonym to _S5_. Needed for some DSDTs.
-
-2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Userspace ACPI parser debugging.
-
-       * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
-       headers and add relevant defines. Don't include standard headers.
-       (main) [GRUB_DSDT_TEST]: New function.
-       * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
-       Don't declare functions.
-
-2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove dead grub_efi_mm_fini.
-
-       * grub-core/kern/efi/mm.c (allocated_page): Removed.
-       (ALLOCATED_PAGES_SIZE): Likewise.
-       (MAX_ALLOCATED_PAGES): Likewise.
-       (allocated_pages): Likewise.
-       (grub_efi_allocate_pages): Don't record allocated pages.
-       (grub_efi_free_pages): Likewise.
-       (grub_efi_mm_init): Likewise.
-       (grub_efi_mm_fini): Removed.
-
-2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
-       (grub_efi_mm_init): Take into account the memory map size increase.
-
-2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
-       (serial_hw_put): Wait based on real time rather than port reads. Don't
-       roken ports.
-       * include/grub/serial.h (grub_serial_port): New field broken.
-
-2010-10-16  Robert Millan  <rmh@gnu.org>
-
-       * grub-core/kern/emu/misc.c
-       (grub_make_system_path_relative_to_its_root): Fix premature return
-       when processing non-root ZFS filesystems.
-       Reported by Sergio Talens-Oliag.
-
-2010-10-15  Robert Millan  <rmh@gnu.org>
-
-       * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
-       guarantee compressed ones are processed first.
-
-2010-10-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
-       grub_efiemu_autocore.
-
-2010-10-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
-       rather than 0x1b.
-       (grub_console_getkey): Use correct jae opcode rather than ja.
-
-2010-10-12  Robert Millan  <rmh@gnu.org>
-
-       * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
-       `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
-       variable.  All references updated.
-
-       * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
-
-2010-10-08  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Correctly distinguish mdraid flavours.
-
-       * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
-       (insert_array): New argument raid.
-       * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
-       * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
-       * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
-
-2010-10-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
-       handling of special keys.
-
-2010-10-02  Aleš Nesrsta <starous@volny.cz>
-
-       * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
-       GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
-
-2010-10-02  Aleš Nesrsta <starous@volny.cz>
-
-       * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
-       * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
-       users updated.
-       * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
-       Use right endpoint when querying descriptor.
-
-2010-10-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Clear out 0x80 color bit on EFI.
-       Tested by: decoder
-       Reported by: decoder and meta tech.
-
-       * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
-       (grub_console_setcolorstate): Clear out 0x80 bit.
-       Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
-       (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
-       Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
-
-2010-10-01  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
-       Set to "auto".
-
-2010-09-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
-       mo_file after freeing.
-
-2010-09-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/term.c (read_terminal_list): Free in a right order.
-
-2010-09-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
-       flags.
-
-2010-09-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
-       usage.
-
-2010-09-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Put terminfo into core on ieee1275 and yeeloong (needed for console).
-
-       * gentpl.py: New groups terminfoinkernel and terminfomodule.
-       * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
-       and terminfo.h when needed.
-       * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
-       term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
-       (terminfo): Enable only on terminfokernel.
-       (extcmd): Likewise.
-       * include/grub/extcmd.h: Add missing EXPORT_FUNC.
-       * include/grub/lib/arg.h: Likewise.
-       * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
-       incorrect usage of ->.
-
-2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
-       [GRUB_MACHINE_EFI && __i386__]: Fix typo.
-
-2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix coreboot compilation.
-
-       * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
-       Take VBE info into account even if only text is supported.
-       (fill_vbe_info): Take into account the case when only VGA text
-       is supported.
-       * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
-       on coreboot, multiboot and qemu.
-
-2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
-       debug messages.
-       (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
-
-2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
-       parameters.
-
-2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
-       if they were BSD-style.
-
-2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/pc/lnxboot.S: Replace
-       GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
-       GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
-
-2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Write embedding zone using Reed-Solomon.
-
-       * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
-       * grub-core/Makefile.am (rs_decoder.S): New target.
-       (kern/i386/pc/startup.S): Depend on rs_decoder.S.
-       * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
-       (multiboot): Move to RS part.
-       (post_reed_solomon): New label.
-       (grub_boot_drive): Move to non-RS part since it's modified in memory
-       on boot.
-       Include rs_decoder.S.
-       * grub-core/lib/reed_solomon.c: New file.
-       * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
-       New definition.
-       (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
-       (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
-       (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
-       * include/grub/partition.h (grub_partition_map): Change prototype of
-       embed to allow returning additional sectors.
-       * include/grub/reed_solomon.h: New file.
-       * util/grub-setup.c (setup): Handle Reed-Solomon.
-
-2010-09-28  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
-       i386 and x86-64 definedness tests.
-
-2010-09-27  Yves Blusseau  <blusseau@zetam.org>
-
-       Fix generation of kernel_syms.lst
-
-       * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
-       ASM_PREFIX
-
-2010-09-26  Robert Millan  <rmh@gnu.org>
-
-       Support degraded ZFS arrays in "grub-probe -t device" resolution.
-
-       * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
-       the pool is an array of devices, iterate through it and return the
-       first device that passes a stat() test (instead of blindly returning
-       the first one).
-
-2010-09-26  Robert Millan  <rmh@gnu.org>
-
-       Build fixes for GNU/kFreeBSD.
-
-       * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
-       to programs that require ZFS conversion.
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
-       kernels that don't have FLOPPY_MAJOR.
-
-2010-09-25  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       * grub-core/kern/emu/full.c (grub_emu_post_init):  Fix typo.
-
-2010-09-25  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       Fix grub-emu build.
-
-       * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
-       * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
-       mdraid09 and mdraid1x.
-
-2010-09-24  Colin Watson  <cjwatson@ubuntu.com>
-
-       Re-enable grub-extras.
-
-       * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
-       avoid confusing Automake.  Run autogen only twice, once for the top
-       level and once for grub-core.  Add Makefile.util.def and
-       Makefile.core.def from extra modules to the appropriate autogen
-       invocations.  If Makefile.common exists in an extra module, include
-       it in both Makefile.util.am and grub-core/Makefile.core.am;
-       similarly, include any Makefile.util.common file in Makefile.util.am
-       and any Makefile.core.common file in grub-core/Makefile.core.am.
-       * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
-       Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
-       ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
-       * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
-
-       * gentpl.py (gvar_add): Turn GVARS into a set.
-       (global_variable_initializers): Sort global variables on output.
-       (vars_init): New function.
-       (first_time): Likewise.
-       (library): Ensure that non-global variable initialisations are
-       emitted before the first time we emit code for a library block.
-       Append to variables rather than setting them.  Only emit
-       noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
-       each conditional path.
-       (program): installdir() emits an Autogen macro, so must be passed to
-       var_add rather than gvar_add.
-       (data): Likewise.
-       (script): Likewise.
-       (rules): New function, centralising handling for different target
-       types.  Set up Guile association lists for first_time and vars_init,
-       and send most output to a diversion so that variable initialisations
-       can be emitted first.
-       (module_rules): Use new rules function.
-       (kernel_rules): Likewise.
-       (image_rules): Likewise.
-       (library_rules): Likewise.
-       (program_rules): Likewise.
-       (script_rules): Likewise.
-       (data_rules): Likewise.
-
-       * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
-
-       * .bzrignore: Add contrib and grub-core/contrib.  Remove
-       grub-core/Makefile.gcry.am.
-
-2010-09-24  Yves Blusseau  <blusseau@zetam.org>
-
-       * grub-core/lib/LzFind.c: Add missing include.
-       * grub-core/lib/LzmaEnc.c: Likewise.
-       * grub-core/script/lexer.c: Likewise.
-       * grub-core/script/yylex.l: Likewise.
-       * util/grub-macho2img.c: Likewise.
-       * util/grub-menulst2cfg.c: Likewise.
-       * util/grub-mklayout.c: Likewise.
-       * util/grub-mkpasswd-pbkdf2.c
-       * util/grub-mkrelpath.c: Likewise.
-       * util/resolve.c: Likewise.
-
-2010-09-24  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       * Makefile.util.def (example_unit_test): Add
-       grub-core/gnulib/libgnu.a.
-
-2010-09-23  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
-
-2010-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support xz compression on yeeloong.
-
-       * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
-       * configure.ac: Check for LZMA.
-       * grub-core/Makefile.core.def (xz_decompress): New target.
-       (none_decompress): Likewise.
-       * grub-core/boot/decompressor/minilib.c: New file.
-       * grub-core/boot/decompressor/none.c: Likewise.
-       * grub-core/boot/decompressor/xz.c: Likewise.
-       * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
-       * grub-core/kern/mips/cache_flush.S: Likewise.
-       * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
-       * grub-core/kern/mips/startup.S: Move first stage to ...
-       * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
-       nomacro.
-       * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
-       * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
-       * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
-       Allocate statically.
-       * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
-       Allocate statically or use scratch. Don't check CRC32.
-       * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
-       Allocate statically. Don't check CRC32.
-       * include/grub/decompressor.h: New file.
-       * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
-       Removed.
-       (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
-       (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
-       (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
-       (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
-       (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
-       * util/grub-mkimage.c (grub_compression_t): New type.
-       (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
-       (image_target_desc): New field default_compression.
-       (image_targets): Adjust yeeloong targets.
-       (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
-       (compress_kernel): New parameter comp.
-       (generate_image): Likewise. Handle new compression case.
-       (options): New option --compression
-       (help): Likewise.
-       (main): Handle new option.
-
-2010-09-22  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
-
-2010-09-22  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
-       typo in __i386__ conditional.
-
-2010-09-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
-       include.
-
-2010-09-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Implement EFI and ACPI multiboot2 extensions.
-
-       * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
-       new tags as supported.
-       (acpiv2_size): New function.
-       (grub_multiboot_get_mbi_size): Take new tags into account.
-       (grub_multiboot_make_mbi): Add new tags.
-       * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
-
-2010-09-21  Aleš Nesrsta <starous@volny.cz>
-
-       * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
-       Added missing configuration of USB device.
-
-2010-09-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/normal/menu_entry.c (run): Make sure we always return
-       a value.
-
-2010-09-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
-       NumberOfPages is UINT64 according to the UEFI specification, not
-       UINTN.  Fix printf format.
-
-2010-09-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
-       `err' to grub_usb_err_t.
-       Reported and tested by: KESHAV P.R.
-
-2010-09-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
-       tpart non-const, so that we can assign to it.  (Since this is a
-       typedef, the constness refers to the pointer rather than what it
-       points to.)
-
-2010-09-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * conf/Makefile.common (CPPFLAGS_GNULIB): Add
-       $(top_srcdir)/grub-core/gnulib as well as
-       $(top_builddir)/grub-core/gnulib.
-       Reported by: KESHAV P.R.
-
-2010-09-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-install.in: Fix the bootloader ID option to be
-       consistently --bootloader-id, not --bootloader_id.
-       Reported by: KESHAV P.R.
-
-2010-09-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
-       check hash checksum." consistently translatable.
-
-2010-09-21  Yves Blusseau  <blusseau@zetam.org>
-
-       * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
-       $(top_builddir).
-
-2010-09-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
-       (GRUB_MOD_INIT): Register sha1sum command.
-       (GRUB_MOD_FINI): Unregister sha1sum command.
-
-2010-09-21  Yves Blusseau  <blusseau@zetam.org>
-
-       Keep boot and grub directory names in sync with utils scripts
-
-       * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
-       * config.h.in: Add previous macros.
-       * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
-       * util/grub-install.in: Use $bootdir and $grubdir variables.
-
-2010-09-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
-       convert partition names to disk names if the new `convert' parameter
-       is set.
-       (grub_util_biosdisk_get_grub_dev): If opening the disk device
-       returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
-       disk in its own right.  This can happen with Xen disk images.
-
-2010-09-21  Yves Blusseau  <blusseau@zetam.org>
-
-       * util/grub-editenv.c: Update strings to avoid warnings when generating
-       grub.pot file.
-       * util/grub-setup.c: Likewise.
-
-2010-09-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Change version to 1.99~beta0.
-
-2010-09-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
-       Add BADRAM.
-       * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
-       Likewise.
-       * include/multiboot.h: Resynced with specification.
-       * include/multiboot2.h: Likewise.
-
-2010-09-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       Fix po directory handling.
-
-       * configure.ac: Create po/Makefile.in rather than po/Makefile.
-       * grub-core/gnulib/Makefile.am: Import gettext module.
-       * m4/gnulib-cache.m4: Likewise.
-       * m4/gnulib-comp.m4: Likewise.
-       * m4/gettext.m4: New file, from gnulib.
-       * m4/glibc2.m4: Likewise.
-       * m4/iconv.m4: Likewise.
-       * m4/intdiv0.m4: Likewise.
-       * m4/intl.m4: Likewise.
-       * m4/intldir.m4: Likewise.
-       * m4/intlmacosx.m4: Likewise.
-       * m4/intmax.m4: Likewise.
-       * m4/inttypes-pri.m4: Likewise.
-       * m4/lcmessage.m4: Likewise.
-       * m4/lib-ld.m4: Likewise.
-       * m4/lib-link.m4: Likewise.
-       * m4/lib-prefix.m4: Likewise.
-       * m4/lock.m4: Likewise.
-       * m4/nls.m4: Likewise.
-       * m4/po.m4: Likewise.
-       * m4/printf-posix.m4: Likewise.
-       * m4/progtest.m4: Likewise.
-       * m4/threadlib.m4: Likewise.
-       * m4/uintmax_t.m4: Likewise.
-       * m4/visibility.m4: Likewise.
-       * po/Makefile.am: Remove.
-       * po/Makefile.in.in: New file, from gettext.
-       ($(DOMAIN).pot-update): Support POTFILES-shell.
-       * po/Makevars: New file.
-       * po/POTFILES-shell: Rename to ...
-       * po/POTFILES-shell.in: ... this.  Update.
-       * po/POTFILES: Rename to ...
-       * po/POTFILES.in: ... this.  Update.
-       * po/Rules-quot: New file, from gettext.
-       * po/boldquot.sed: Likewise.
-       * po/en@boldquot.header: Likewise.
-       * po/en@quot.header: Likewise.
-       * po/insert-header.sin: Likewise.
-       * po/quot.sed: Likewise.
-       * po/remove-potcdate.sin: Likewise.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub.d/20_linux_xen.in: Use submenus.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support submenus.
-
-       * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
-       parameter submenu. All users updated.
-       * grub-core/normal/main.c (free_menu): Rename to ...
-       (grub_normal_free_menu): ... this. Made global.
-       * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
-       if requested.
-       * grub-core/normal/menu_entry.c (screen): New field submenu.
-       (make_screen): Set submenu.
-       (run): Open new context if requested.
-       * include/grub/menu.h (grub_menu_entry): New field submenu.
-       * include/grub/normal.h (grub_normal_free_menu): New proto.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Menu entries extractor.
-
-       * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
-       variants.
-       (GRUB_MOD_INIT): Register new variants.
-       (GRUB_MOD_FINI): Unregister new variants.
-       * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
-       into grub_cmd_legacy_source.
-       (grub_cmd_legacy_source): Implement extractor variants.
-       (GRUB_MOD_INIT): Register new variants.
-       (GRUB_MOD_FINI): Unregister new variants.
-       * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
-       as an extractor.
-       * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
-       search as an extractor.
-       * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
-       test as an extractor.
-       * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
-       as an extractor.
-       * grub-core/normal/context.c (grub_env_context_open): Reorganised.
-       (grub_env_new_context): New function.
-       (grub_env_context_open): Likewise.
-       (grub_env_extractor_open): Likewise.
-       (grub_env_extractor_close): Likewise.
-       * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
-       grub_extractor_level.
-       * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
-       * include/grub/env.h (grub_env_extractor_open): New proto.
-       (grub_env_extractor_close): Likewise.
-       * include/grub/normal.h (grub_extractor_level): New external variable.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make cutmem accept a region specification.
-       Suggested by: Samuel Thibault
-
-       * grub-core/mmap/mmap.c (parsemem): New function.
-       (grub_cmd_cutmem): Handle new arguments.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       New command cutmem.
-
-       * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
-       (GRUB_MOD_INIT): Register new command.
-       (GRUB_MOD_FINI): Unregister new command.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support some annoying BSD and Minix subpartitions.
-
-       * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
-       * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
-       Properly handle concatenation.
-       * grub-core/kern/device.c (grub_device_iterate): Likewise.
-       * grub-core/normal/completion.c (iterate_partition): Likewise.
-       * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
-       contain partition. All users updated.
-       * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
-       struct.
-       (grub_openbsdlabel_partition_map): Likewise.
-       (bsdlabel_partition_map_iterate): Rename to ..
-       (iterate_real): ... this. New arguments sector, freebsd and pmap.
-       (bsdlabel_partition_map_iterate): New function.
-       (netopenbsdlabel_partition_map_iterate): Likewise.
-       (netbsdlabel_partition_map_iterate): Likewise.
-       (openbsdlabel_partition_map_iterate): Likewise.
-       (GRUB_MOD_INIT): Register new partmaps.
-       (GRUB_MOD_FINI): Unregister new partmaps.
-       * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
-       (grub_partition_msdos_iterate): ... this. All users updated.
-       Don't support embedding other than in a minix partition.
-       * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
-       proto.
-       * include/grub/partition.h (grub_partition): New field msdostype.
-       * util/grub-install.in: Handle openbsd and netbsd types being in
-       part_bsd module.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
-
-       * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
-       * grub-core/Makefile.core.def (mdraid): Renamed to ...
-       (mdraid09): ... this.
-       (mdraid1x): New module.
-       * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
-       * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
-       vsprintf.
-
-2010-09-20  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/commands/efi/lsefimmap.c: Correct header.
-       * NEWS: Update.
-
-2010-09-20  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-editenv.c (argp_parser): Don't pass translated strings
-       as printf format strings; the translations might contain '%' which
-       could cause a crash.
-       (main): Likewise.
-       * util/grub-fstest.c (argp_parser): Likewise.
-       * util/grub-setup.c (argp_parser): Likewise.
-       (main): Likewise.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use argp in grub-fstest.
-
-       * util/grub-fstest.c: Don't include getopt.h.
-       Include argp.h.
-       (root): New variable.
-       (args_count): Likewise.
-       (nparm): Likewise.
-       (num_disks): Likewise.
-       (images): Likewise.
-       (cmd): Likewise.
-       (debug_str): Likewise.
-       (args): Likewise.
-       (options): Transformed to argp.
-       (usage): Removed.
-       (main): Split argument parsing into ...
-       (argp_parser): ... this. Changed to argp format.
-       (argp): New variable.
-       (main): Use argp_parse.
-
-2010-09-20  Tristan Gingold  <gingold@free.fr>
-2010-09-20  Robert Millan  <rmh.grub@aybabtu.com>
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/efi/lsefimmap.c: New file.
-       * grub-core/Makefile.core.def (lsefimmap): New module.
-       * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Pause the execution (10s max) if any errors are displayed so the user
-       has a chance to see them.
-
-       * grub-core/kern/err.c (grub_err_printed_errors): New variable.
-       (grub_print_error): Increment grub_err_printed_errors.
-       * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
-       execution if any errors were displayed.
-       (show_menu): Remove old code for pause.
-       * grub-core/normal/menu_entry.c (run): Likewise.
-       * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
-       users updated.
-       (grub_normal_get_char_counter): Likewise.
-       * include/grub/err.h (grub_err_printed_errors): New external variable.
-       * include/grub/normal.h (grub_normal_get_char_counter): Removed.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support multiboot VBE info.
-
-       * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
-       Take VBE info into account.
-       (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
-       (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
-       Call fill_vbe_info when appropriate.
-       (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
-       * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
-       as supported.
-       (grub_multiboot_get_mbi_size): Take new tags into account.
-       (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
-       (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
-       Call fill_vbe_tag when appropriate.
-       (grub_multiboot_make_mbi): Properly align tags.
-       * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
-       function.
-       * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
-       proto.
-       * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Suport manual terminal geometry specification.
-
-       * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
-       Save state in grub_ofconsole_terminfo_output.
-       (grub_ofconsole_term): Use grub_terminfo_getwh.
-       (grub_ofconsole_getwh): Removed.
-       * grub-core/term/serial.c (grub_serial_getwh): Removed.
-       (grub_serial_term): Use grub_terminfo_getwh.
-       * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
-       (options): New struct.
-       (OPTION_*): New enum.
-       (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
-       * include/grub/terminfo.h (grub_terminfo_output_state): New fields
-       width and height.
-       (grub_terminfo_getwh): New proto.
-       * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle legacy "terminal" command.
-
-       * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
-       and FLAG_TERMINAL.
-       (legacy_commands): Add terminal and title.
-       (grub_legacy_parse): Handle terminal. Simplify title handling.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
-       parameters overflow.
-
-2010-09-20  Colin Watson  <cjwatson@ubuntu.com>
-
-       * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
-       widthspec.h.
-
-       * docs/grub.texi (Shell-like scripting): Document `!'.
-       (Network): Simplify using new i386-pc-pxe format.  Mention
-       grub-mknetdir.
-
-       * NEWS: Update.
-
-2010-09-20  Colin Watson  <cjwatson@ubuntu.com>
-
-       * Makefile.am (SUBDIRS): Restore "."; it's important to force
-       ordering, so that e.g. ascii.h is built before grub-core/font/font.c
-       when needed.
-
-2010-09-20  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/commands/efi/lsefisystab.c: Correct header.
-       * grub-core/commands/efi/lssal.c: Likewise.
-       * grub-core/commands/testload.c: Likewise.
-
-2010-09-20  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkrescue.in: Add explicit root argument to --set to
-       prevent the UUID being interpreted as an argument to --set (matches
-       previous change to prepare_grub_to_access_device).
-
-2010-09-20  Colin Watson  <cjwatson@ubuntu.com>
-
-       * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
-       on FreeBSD.  Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
-       the verbosity of later #ifs.
-       (find_partition_start): Define this function on FreeBSD too.
-       (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
-       function.
-       (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
-       on FreeBSD.
-
-2010-09-20  Yves Blusseau  <blusseau@zetam.org>
-
-       * util/grub-editenv.c: Use argp instead of getopt.
-
-2010-09-20  Yves Blusseau  <blusseau@zetam.org>
-
-       * util/grub-setup.c: Use argp instead of getopt.
-
-2010-09-20  Yves Blusseau  <blusseau@zetam.org>
-
-       Use gnulib-tool to create gnulib source files.
-
-       * Add gnulib files generated by gnulib-tool in build-aux, m4 and
-       grub-core/gnulib directories
-       * .bzignore: Add **/.deps and autogenerated gnulib files
-       * configure.ac: Assign auxiliary directory to build-aux, add invocation
-       of gnulib macros, add grub-core/gnulib/Makefile
-       * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
-       include m4 directory to aclocal.
-       * Makefile.util.def: Remove direct compilation of gnulib source files
-       and use the new grub-core/gnulib/libgnu.a.
-       * build-aux/config.rpath: move config.rpath from top directory to
-       build-aux
-       * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
-       in gnulib headers
-       * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
-       * grub-core/Makefile.core.def: Remove unnecessary extra_dist
-       * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
-       header.
-       * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
-       string.
-
-2010-09-20  Yves Blusseau  <blusseau@zetam.org>
-
-       * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
-       grub-core/genmod.sh and grub-core/gensyminfo.sh
-
-2010-09-20  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       Add a test for echo command options.
-
-       * tests/grub_cmd_echo.in: New test.
-       * Makefile.util.def: Rules for new test.
-
-2010-09-20  Szymon Janc <szymon@janc.net.pl>
-
-       Remove crc.mod and move crc command to hashsum.mod.
-       Remove lib/crc.c - users updated to use gcrypt implementation.
-
-       * grub-core/commands/crc.c: Removed.
-       * grub-core/Makefile.core.def (crc): Module removed.
-       * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
-       * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
-       * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
-       * grub-core/lib/crc.c: Removed.
-       * include/grub/lib/crc.h: Removed.
-       * Makefile.util.def (crc): Remove lib/crc.c
-       * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
-       * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
-       * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
-       * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
-       * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
-       * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
-
-2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
-
-2010-09-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Split config.h for util and core.
-
-       * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
-       (ADDR32): Likewise.
-       (DATA32): Likewise.
-       (BSS_START_SYMBOL): Likewise.
-       (END_SYMBOL): Likewise.
-       (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
-       (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
-       * config.h.in: New file.
-       * configure.ac: Use config-util.h as config define file.
-       Rename MACHINE into GRUB_MACHINE. All users updated.
-       (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
-       updated.
-       (NESTED_FUNC_ATTR): Likewise.
-       Substitue new variables.
-       (COND_HAVE_ASM_USCORE): New conditional.
-       * grub-core/Makefile.am (ASM_PREFIX): New variable.
-       (kernel_syms.lst): Use ASM_PREFIX.
-       * grub-core/kern/emu/console.c: Include config-util.h.
-       * grub-core/kern/emu/misc.c: Likewise.
-       * grub-core/kern/emu/mm.c: Likewise.
-       * include/grub/emu/misc.h: Likewise.
-       * include/grub/libgcc.h: Likewise.
-
-2010-09-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
-       constants usage.
-       * grub-core/kern/emu/console.c (grub_ncurses_getkey):
-       Fix GRUB_TERM_KEY_* constants usage.
-       * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
-
-2010-09-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
-       print pointer.
-       * grub-core/bus/usb/uhci.c: Remove empty define.
-       (grub_uhci_check_transfer): Add missing cast.
-       * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
-       print pointer.
-       * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
-       PRIuGRUB_SIZE.
-       * include/grub/types.h (PRIuGRUB_SIZE): New definition.
-
-2010-09-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (legacycfg): Add
-       lib/i386/pc/vesa_modes_table.c on emu.
-
-2010-09-19  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       Reduce number of temporary files generated by build system.
-
-       * grub-core/gencmdlist.sh: Removed.
-       * grub-core/genfslist.sh: Removed.
-       * grub-core/genhandlerlist.sh: Removed.
-       * grub-core/genmodsrc.sh: Removed.
-       * grub-core/genpartmaplist.sh: Removed.
-       * grub-core/genparttoollist.sh: Removed.
-       * grub-core/gentermiinallist.sh: Removed.
-       * grub-core/genvideolist.sh: Removed.
-
-       * grub-core/genmod.sh.in: New file.
-       * grub-core/gensyminfo.sh.in: New file.
-
-       * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
-       * conf/Makefile.extra-dist: Update with new files.
-       * gentpl.py: Remove rules related to unnecessary temporary files.
-       * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
-       and und-* files.
-       * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
-       genmod.sh scripts.
-       * grub-core/bus/usb/uhci.c: Remove empty #define.
-       * grub-core/genmoddep.awk: Updated with new syminfo format.
-       * util/bash-completion.d/Makefile.am: Add config.log to
-       CLEANFILES.
-
-2010-09-19  Yves Blusseau  <blusseau@zetam.org>
-
-       * Makefile.util.def: Add forgotten $(LIBINTL) library.
-
-2010-09-19  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       * util/grub-mkconfig.in: Check the config script for syntax errors
-       before saving.
-
-2010-09-19  Colin Watson  <cjwatson@ubuntu.com>
-2010-09-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.util.def (grub-install): Use util/grub-install.in on all
-       platforms.
-       * util/grub-install.in: Add EFI and IEEE1275 support.
-       * util/i386/efi/grub-install.in: Removed.
-       * util/ieee1275/grub-install.in: Likewise.
-
-2010-09-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/i386/cmostest.c (+parse_args): New function.
-       (grub_cmd_cmosclean): Likewise.
-       (GRUB_MOD_INIT): Register command cmosclean.
-       * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
-       * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
-
-2010-09-18  Carles Pina i Estany  <carles@pina.cat>
-2010-09-18  Aleš Nesrsta <starous@volny.cz>
-2010-09-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add keyboard layouts support.
-
-       * Makefile.util.def (grub-mklayout): New file.
-       (grub-kbdcomp): New script.
-       * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
-       Add keyboard_layouts.h.
-       * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
-       commands/boot.c on yeeloong.
-       (keylayouts): New module.
-       * grub-core/bus/usb/ohci.c
-       * grub-core/bus/usb/uhci.c
-       * grub-core/bus/usb/usbhub.c (rescan): New variable.
-       (grub_usb_add_hub): Poll interrupt pipe for device handling.
-       (attach_root_port): Likewise.
-       (poll_nonroot_hub): Likewise.
-       (grub_usb_poll_devices): Likewise.
-       (detach_device): Close transfer.
-       * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
-       function.
-       (grub_usb_bulk_setup_readwrite): Likewise.
-       (grub_usb_bulk_finish_readwrite): Likewise.
-       * grub-core/commands/keylayouts.c: New file.
-       * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
-       * grub-core/commands/menuentry.c (hotkey_aliases): All several new
-       aliases.
-       * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
-       support scancode 2.
-       * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
-       * include/grub/keyboard_layouts.h: New file.
-       * util/grub-mklayout.c: New file.
-       * util/grub-kbdcomp.in: Likewise.
-
-2010-09-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Unify memory types.
-
-       * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
-       * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
-       types.
-       * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
-       (grub_upper_mem): Likewise.
-       * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
-       * include/grub/memory.h (grub_memory_type_t): New enum.
-       All users updated.
-
-2010-09-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/Makefile.core.def (lsapm): New module.
-       * grub-core/commands/i386/pc/lsapm.c: New file.
-       * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
-       * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
-       Likewise.
-       * include/grub/i386/pc/apm.h: New file.
-       * include/multiboot.h (multiboot_apm_info): New struct.
-
-2010-09-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       GRUB-legacy configuration file support.
-
-       * Makefile.util.def (grub-menulst2cfg): New util.
-       * docs/man/grub-menulst2cfg.h2m: New file.
-       * grub-core/Makefile.core.def (legacycfg): New module.
-       * grub-core/commands/legacycfg.c: New file.
-       * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
-       (grub_normal_add_menu_entry): ... this.
-       * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
-       (grub_normal_set_password): ...this.
-       * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
-       * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
-       * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
-       * grub-core/lib/legacy_parse.c: New file.
-       * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
-       * include/grub/i386/pc/vesa_modes_table.h: New file.
-       * include/grub/legacy_parse.h: Likewise.
-       * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
-       * util/grub-menulst2cfg.c: New file.
-
-2010-09-17  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/kern/emu/hostdisk.c
-       (convert_system_partition_to_system_disk): Initialise node.
-
-2010-09-17  Colin Watson  <cjwatson@ubuntu.com>
-
-       * grub-core/kern/emu/hostdisk.c
-       (convert_system_partition_to_system_disk): Fix devmapper memory pool
-       leak.
-       Reported and based on patch by: Modestas Vainius.
-
-2010-09-17  Colin Watson  <cjwatson@ubuntu.com>
-
-       Fix DM-RAID probing with recent versions of device-mapper udev
-       rules.
-
-       * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
-       canonicalise device paths under /dev/mapper/.
-       (convert_system_partition_to_system_disk): Compare the
-       uncanonicalised path to /dev/mapper/ rather than the canonicalised
-       path, since device nodes under /dev/mapper/ are often symlinks.
-
-2010-09-17  Yves Blusseau  <blusseau@zetam.org>
-
-       * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
-
-2010-09-16  Yves Blusseau  <blusseau@zetam.org>
-
-       * configure.ac: Avoid some annoying error messages if freetype-config
-       program is not found.
-
-2010-09-16  Colin Watson  <cjwatson@ubuntu.com>
-
-       Support RAID on virtio devices, and others.
-
-       * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
-       Rename to ...
-       [__MINGW32__] (grub_find_device): ... this.
-       [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
-       [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this.  Use a
-       reasonable default if dir is NULL.
-       [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
-       ...
-       [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
-       (grub_guess_root_device): Update callers.
-       * include/grub/emu/getroot.h (grub_find_device): Add prototype.
-
-       * util/raid.c (grub_util_getdiskname): Remove.
-       (grub_util_raid_getmembers): Use grub_find_device rather than
-       grub_util_getdiskname.
-
-2010-09-16  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (serial): Remove obsolete comment about GRUB
-       needing to be compiled with serial support.
-       (ls): Indicate that multiple files are accepted.
-       * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
-       indicate that multiple files are accepted.
-
-2010-09-16  Colin Watson  <cjwatson@ubuntu.com>
-
-       * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
-       libgrub_a_init.c, and util/bash-completion.d/grub.
-
-2010-09-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-setup.c (setup): Fix incorrect container semantics.
-
-2010-09-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
-       misusage.
-       Reported by: J. Nick Terry
-
-2010-09-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move embedding routines to partmap sources files.
-
-       * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
-       [GRUB_UTIL]: New variable.
-       (gpt_partition_map_iterate): Set part.parent.
-       (gpt_partition_map_embed) [GRUB_UTIL]: New function.
-       (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
-       * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
-       New function.
-       (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
-       * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
-       (grub_partition_map) [GRUB_UTIL]: New field embed.
-       * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
-       (setup): Use ->embed.
-
-2010-09-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
-       function.
-       * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
-       * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
-
-2010-09-15  Yves Blusseau  <blusseau@zetam.org>
-
-       Add function to get completions from usage.
-
-       * util/bash-completion.d/grub-completion.bash.in: Add function to get
-       completions from usage. Use LC_ALL=C to get options properly.
-
-2010-09-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gnulib/basename-lgpl.c: Imported.
-       * grub-core/gnulib/basename.c: Likewise.
-       * grub-core/gnulib/dirname-lgpl.c: Likewise.
-       * grub-core/gnulib/dirname.c: Likewise.
-       * grub-core/gnulib/dirname.h: Likewise.
-       * grub-core/gnulib/stripslash.c: Likewise.
-
-2010-09-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/gnulib/error.c: Resynced.
-       * grub-core/gnulib/getopt.c: Likewise.
-       * grub-core/gnulib/getopt_int.h: Likewise.
-       * grub-core/gnulib/regex.h: Likewise.
-       * grub-core/gnulib/regex_internal.c: Likewise.
-       * grub-core/gnulib/regex_internal.h: Likewise.
-
-2010-09-15  Szymon Janc <szymon@janc.net.pl>
-
-       * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
-       CRC calculations and validity checks.
-       * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
-       calculations.
-
-2010-09-15  Szymon Janc <szymon@janc.net.pl>
-
-       * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
-
-2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix incorrect echo options handling.
-       Reported by: Yves Blusseau.
-
-       * include/grub/command.h (grub_command_flags_t): New flags
-       GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
-       * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
-       * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
-
-2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
-       users updated.
-       (GRUB_COMMAND_FLAG_MENU): Likewise.
-       (GRUB_COMMAND_FLAG_BOTH): Likewise.
-       (GRUB_COMMAND_FLAG_TITLE): Removed.
-       (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
-       (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
-       (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
-       (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
-       (grub_command_flags_t): New enum. All users updated.
-
-2010-09-14  Seth Goldberg <seth.goldberg@oracle.com>
-
-       Fix solaris compilation.
-
-       * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
-       (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
-       (grub-emu-list): Likewise.
-
-2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove deprecated root command.
-
-       * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
-       updated.
-
-2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/i386/pc/grub-setup.c: Merge this ...
-       * util/sparc64/ieee1275/grub-setup.c:  ... and this ...
-       * util/grub-setup.c: ... into this.
-       * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
-       New struct.
-
-2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
-       possible.
-
-2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
-       allocate p.
-
-2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
-       explicit root argument to set to prevent UUID to be interpreted as
-       argument to set.
-
-2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
-
-2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't export grub_gate_a20.
-
-       * grub-core/kern/i386/pc/init.c: Remove leftovers.
-       * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
-       to ...
-       (grub_gate_a20): ... this. All users updated.
-       * include/grub/i386/pc/init.h: Removed. All users updated.
-
-2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Create euro.pf2 which supports most European languages.
-
-       * Makefile.am (grubdata_DATA): Add euro.pf2.
-       (euro.pf2): New target.
-       (CLEANFILES): Add euro.pf2.
-
-2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * configure.ac: Disable emu-usb by default to prevent inadvertent
-       device takeover.
-
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Disable usbserial on grub-emu since our libusb code isn't good enough
-       yet.
-
-       * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
-       (usbserial_pl2303): Likewise.
-       (usbserial_ftdi): Likewise.
-
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/disk.h (grub_disk): Remove has_partitions.
-       All users updated.
-       * disk/loopback.c (grub_loopback): Remove has_partitions.
-       All users updated.
-       (options): Remove partitions. All users updated.
-       * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
-       * util/i386/pc/grub-setup.c (setup): copy partition table only when
-       actual partition table is found.
-
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove readability checks (too many false negatives).
-
-       * util/grub-install.in: Remove readability checks.
-       * util/grub-mkconfig.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-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
-       way.
-
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Enable acpi shutdown on all ACPI platforms.
-
-       * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
-       on coreboo, multiboot and EFI.
-       * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
-       (grub_acpi_halt): Likewise.
-       * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
-       (grub_cmd_halt): Don't call grub_acpi_halt directly.
-       * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
-       * grub-core/lib/i386/halt.c (grub_halt)
-       [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
-
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
-       context.
-
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/video/efi_gop.c: Fix over-80-chars line.
-       * grub-core/video/efi_uga.c: Likewise.
-
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Filter devaliases and never open same device twice.
-
-       * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
-       (last_ihandle): Likewise.
-       (ofdisk_hash_ent): New member shortest.
-       (ofdisk_hash_add): Add canonical path too.
-       (scan): New function.
-       (grub_ofdisk_iterate): Iterate over hashed entries.
-       (compute_dev_path): Don't add :0.
-       (grub_ofdisk_open): Don't really open the disk.
-       (grub_ofdisk_close): Avoid closing unrelated disk.
-       (grub_ofdisk_read): Implement reopen logic.
-       * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
-       New function.
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
-       New proto.
-
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix sparc64.
-
-       * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
-       * grub-core/Makefile.core.def (kernel): Make ldflags just use the
-       right address. Add sparc64_ieee1275_ldflags.
-       * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
-       * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
-       to grub_host_to_target_addr
-       (load_image): Likewise.
-
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/completion.c (complete_file): Handle device
-       containing slash.
-       Fix based on patch by Doug Nazar.
-
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       grub-mknetdir script.
-
-       * Makefile.util.def (grub-mknetdir): New module.
-       * tests/util/grub-shell.in: Support boot=net
-       * util/grub-mknetdir.in: New file.
-
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       videoinfo on non-vbe.
-
-       * grub-core/Makefile.core.def (vbeinfo): Removed.
-       (vbetest): Removed.
-       (videoinfo): New module.
-       * grub-core/commands/i386/pc/vbeinfo.c: Removed.
-       * grub-core/commands/i386/pc/vbetest.c: Removed.
-       * grub-core/commands/videoinfo.c: New file.
-       * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
-       specification.
-       (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
-       as vbetest.
-       (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
-       (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
-       * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
-       mode_number. New parameter mode. All users updated.
-       (grub_video_gop_iterate): New function.
-       (grub_video_efi_gop): New member iterate.
-       * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
-       (grub_vbe_set_video_mode): Remove setting useless fields.
-       (vbe2videoinfo): New function.
-       (grub_video_vbe_iterate): Likewise.
-       (grub_video_vbe_setup): Use vbe2videoinfo.
-       (grub_video_vbe_print_adapter_specific_info): New function.
-       (grub_video_vbe_adapter): New fields iterate and
-       print_adapter_specific_info.
-       * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
-       All users updated.
-       (grub_video_mode_info): New field mode_number.
-       (grub_video_adapter): New fields iterate and
-       print_adapter_specific_info.
-
-2010-09-13  Tristan Gingold  <gingold@free.fr>
-2010-09-13  Robert Millan  <rmh.grub@aybabtu.com>
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/efi/lsefisystab.c: New file.
-       * grub-core/commands/efi/lssal.c: Likewise.
-       * grub-core/Makefile.core.def (lsacpi): New module.
-       (lsefisystab): Likewise.
-       * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
-       (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
-       (grub_efi_sal_system_table): New struct.
-       (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
-       (grub_efi_sal_system_table_memory_descriptor): Likewise.
-       (grub_efi_sal_system_table_platform_features): Likewise.
-       (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
-       (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
-       (grub_efi_sal_system_table_ap_wakeup): Likewise.
-       * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
-
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support explicit user claim that a device is BIOS-visible.
-
-       * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
-       Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
-       * grub-core/kern/emu/hostdisk.c
-       (convert_system_partition_to_system_disk): Support mdX.
-       (find_system_device): New parameter add. All users updated.
-       (grub_util_biosdisk_is_present): New function.
-       * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
-       proto.
-
-2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Search hints support.
-
-       * commands/search.c (FUNC_NAME): New arguments hints and nhints.
-       All users updated.
-
-2010-09-13  Yves Blusseau  <blusseau@zetam.org>
-
-       Bash completion script for util commands
-
-       * Makefile.am:  Add util/bash-completion.d directory
-       * configure.ac: Likewise.
-       * util/bash-completion.d/Makefile.am: New file.
-       * util/bash-completion.d/grub-completion.bash.in: Likewise.
-
-2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
-       (print_backlog): set backlog_ucs4 and backlog_glyphs.
-       Reported by: Yves Blusseau.
-
-2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/normal/misc.c (grub_normal_print_device_info): Show
-       partition size and offset.
-
-2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/wildcard.c (make_regex): Escape brackets.
-
-2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
-
-2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
-       (grub_xvasprintf): Likewise.
-
-2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
-
-2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
-       args ending with NULL.
-
-2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
-       pointer.
-
-2010-09-11  Szymon Janc <szymon@janc.net.pl>
-
-       * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
-
-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>
-
-       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.
+       I don't understand JPEG decoders quite well enough to explain what's
+       going on here. However, I observe sometimes pos=64, which leads to an
+       OOB read of the jpeg_zigzag_order global then an OOB write to du.
+       That leads to various unpleasant memory corruption conditions.
 
-       * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
-       * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
+       Catch where pos >= ARRAY_SIZE(jpeg_zigzag_order) and bail.
 
-       * 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.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * 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.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * 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.
+       video/readers/jpeg: Catch files with unsupported quantization or Huffman tables
+       Our decoder only supports 2 quantization tables. If a file asks for
+       a quantization table with index > 1, reject it.
 
-2010-08-01  Robert Millan  <rmh@gnu.org>
+       Similarly, our decoder only supports 4 Huffman tables. If a file asks
+       for a Huffman table with index > 3, reject it.
 
-       Prevent accidental use of uninitialized libzfs_handle.
+       This fixes some out of bounds reads. It's not clear what degree of control
+       over subsequent execution could be gained by someone who can carefully
+       set up the contents of memory before loading an invalid JPEG file.
 
-       * 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.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-08-01  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * 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.
+       kern/misc: Always set *end in grub_strtoull()
+       Currently, if there is an error in grub_strtoull(), *end is not set.
+       This differs from the usual behavior of strtoull(), and also means that
+       some callers may use an uninitialized value for *end.
 
-2010-08-01  Robert Millan  <rmh@gnu.org>
+       Set *end unconditionally.
 
-       * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-07-31  Robert Millan  <rmh@gnu.org>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * util/grub.d/10_kfreebsd.in: Make module handling more generic.
+       commands/menuentry: Fix quoting in setparams_prefix()
+       Commit 9acdcbf32542 (use single quotes in menuentry setparams command)
+       says that expressing a quoted single quote will require 3 characters. It
+       actually requires (and always did require!) 4 characters:
 
-2010-07-31  Robert Millan  <rmh@gnu.org>
+         str: a'b => a'\''b
+         len:  3  => 6 (2 for the letters + 4 for the quote)
 
-       * kern/emu/misc.c: Add missing license header.
+       This leads to not allocating enough memory and thus out of bounds writes
+       that have been observed to cause heap corruption.
 
-2010-07-31  Robert Millan  <rmh@gnu.org>
+       Allocate 4 bytes for each single quote.
 
-       * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
+       Commit 22e7dbb2bb81 (Fix quoting in legacy parser.) does the same
+       quoting, but it adds 3 as extra overhead on top of the single byte that
+       the quote already needs. So it's correct.
 
-       * 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.
+       Fixes: 9acdcbf32542 (use single quotes in menuentry setparams command)
+       Fixes: CVE-2021-20233
 
-       (libzfs_handle): Moved to ...
-       * include/grub/util/misc.h (libzfs_handle): ... here.
-       Include `<grub/util/libzfs.h>'.
+       Reported-by: Daniel Axtens <dja@axtens.net>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-07-30  Robert Millan  <rmh@gnu.org>
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * include/grub/emu/misc.h: Add missing license header.
+       script/execute: Don't crash on a "for" loop with no items
+       The following crashes the parser:
 
-2010-07-30  Robert Millan  <rmh@gnu.org>
+         for x in; do
+         0
+         done
 
-       Enable `grub-probe -t device' resolution on ZFS.
+       This is because grub_script_arglist_to_argv() doesn't consider the
+       possibility that arglist is NULL. Catch that explicitly.
 
-       * configure.ac: Check for getfsstat(), libzfs and libnvpair.
-       * include/grub/util/libnvpair.h: New file.
-       * include/grub/util/libzfs.h: New file.
+       This avoids a NULL pointer dereference.
 
-       * 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>'.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       (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.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2010-07-06  Colin Watson  <cjwatson@ubuntu.com>
+       lib/arg: Block repeated short options that require an argument
+       Fuzzing found the following crash:
 
-       * 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.
+         search -hhhhhhhhhhhhhf
 
-2010-07-06  Colin Watson  <cjwatson@ubuntu.com>
+       We didn't allocate enough option space for 13 hints because the
+       allocation code counts the number of discrete arguments (i.e. argc).
+       However, the shortopt parsing code will happily keep processing
+       a combination of short options without checking if those short
+       options require an argument. This means you can easily end writing
+       past the allocated option space.
 
-       * 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.
+       This fixes a OOB write which can cause heap corruption.
 
-2010-07-05  Colin Watson  <cjwatson@ubuntu.com>
+       Fixes: CVE-2021-20225
 
-       * 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.
+       Reported-by: Daniel Axtens <dja@axtens.net>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * 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.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-2010-06-28  Colin Watson  <cjwatson@ubuntu.com>
+       script/execute: Avoid crash when using "$#" outside a function scope
+       "$#" represents the number of arguments to a function. It is only
+       defined in a function scope, where "scope" is non-NULL. Currently,
+       if we attempt to evaluate "$#" outside a function scope, "scope" will
+       be NULL and we will crash with a NULL pointer dereference.
 
-       * 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.
+       Do not attempt to count arguments for "$#" if "scope" is NULL. This
+       will result in "$#" being interpreted as an empty string if evaluated
+       outside a function scope.
 
-2010-06-28  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       XEN with Linux grub-mkconfig support.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * 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.
+       commands/ls: Require device_name is not NULL before printing
+       This can be triggered with:
+         ls -l (0 0*)
+       and causes a NULL deref in grub_normal_print_device_info().
 
-2010-06-28  Vladimir Serbinenko  <phcoder@gmail.com>
+       I'm not sure if there's any implication with the IEEE 1275 platform.
 
-       Initialise VGA video on qemu ourselves.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * 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.
+2021-03-02  Daniel Axtens  <dja@axtens.net>
 
-       * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
+       script/execute: Fix NULL dereference in grub_script_execute_cmdline()
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-06-26  Pavel Roskin  <proski@gnu.org>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * 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>
+       util/glue-efi: Fix incorrect use of a possibly negative value
+       It is possible for the ftell() function to return a negative value,
+       although it is fairly unlikely here, we should be checking for
+       a negative value before we assign it to an unsigned value.
 
-       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.
+       Fixes: CID 73744
 
-       * 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.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-06-16  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.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).
+       util/grub-editenv: Fix incorrect casting of a signed value
+       The return value of ftell() may be negative (-1) on error. While it is
+       probably unlikely to occur, we should not blindly cast to an unsigned
+       value without first testing that it is not negative.
 
-2010-06-14  Grégoire Sutre  <gregoire.sutre@gmail.com>
+       Fixes: CID 73856
 
-       * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
-       for manual page generation.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-06-14  Grégoire Sutre  <gregoire.sutre@gmail.com>
+2021-03-02  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * po/POTFILES: Remove leftover commands/handler.c.
+       util/grub-install: Fix NULL pointer dereferences
+       Two grub_device_open() calls does not have associated NULL checks
+       for returned values. Fix that and appease the Coverity.
 
-2010-06-14  Colin Watson  <cjwatson@ubuntu.com>
+       Fixes: CID 314583
 
-       * util/grub-mkconfig.in: Remove vestige of old argument parsing that
-       left this script non-functional.
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
 
-2010-06-14  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-02  Paulo Flabiano Smorigo  <pfsmorigo@canonical.com>
 
-       * docs/man/grub-emu.h2m: New file.
+       loader/xnu: Check if pointer is NULL before using it
+       Fixes: CID 73654
 
-2010-06-13  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * docs/grub.texi (Commands): Document reduced command set in rescue
-       mode.
-       (cpuid): New section.
+2021-03-02  Marco A Benatto  <mbenatto@redhat.com>
 
-2010-06-13  Grégoire Sutre  <gregoire.sutre@gmail.com>
+       loader/xnu: Free driverkey data when an error is detected in grub_xnu_writetree_toheap()
+       ... to avoid memory leaks.
 
-       * 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.
+       Fixes: CID 96640
 
-2010-06-12  BVK Chaitanya  <bvk.groups@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Add "-o grub.iso" like cmdline options support.
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * 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.
+       loader/xnu: Fix memory leak
+       The code here is finished with the memory stored in name, but it only
+       frees it if there curvalue is valid, while it could actually free it
+       regardless.
 
-2010-06-12  Colin Watson  <cjwatson@ubuntu.com>
+       The fix is a simple relocation of the grub_free() to before the test
+       of curvalue.
 
-       * .bzrignore: Ignore 41_custom.
+       Fixes: CID 96646
 
-2010-06-12  Thomas Schmitt  <scdbackup@gmx.net>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-2010-06-12  Colin Watson  <cjwatson@ubuntu.com>
+       loader/bsd: Check for NULL arg up-front
+       The code in the next block suggests that it is possible for .set to be
+       true but .arg may still be NULL.
 
-       Avoid false positives in fs.lst, partmap.lst, and video.lst due to
-       prototype declarations.
+       This code assumes that it is never NULL, yet later is testing if it is
+       NULL - that is inconsistent.
 
-       * 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.
+       So we should check first if .arg is not NULL, and remove this check that
+       is being flagged by Coverity since it is no longer required.
 
-2010-06-12  Javier Martín <lordhabbit@gmail.com>
+       Fixes: CID 292471
 
-       * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-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>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.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.
+       gfxmenu/gui_list: Remove code that coverity is flagging as dead
+       The test of value for NULL before calling grub_strdup() is not required,
+       since the if condition prior to this has already tested for value being
+       NULL and cannot reach this code if it is.
 
-2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
+       Fixes: CID 73659
 
-       * 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.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.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.
+       video/readers/jpeg: Test for an invalid next marker reference from a jpeg file
+       While it may never happen, and potentially could be caught at the end of
+       the function, it is worth checking up front for a bad reference to the
+       next marker just in case of a maliciously crafted file being provided.
 
-2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
+       Fixes: CID 73694
 
-       * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.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.
+       video/fb/video_fb: Fix possible integer overflow
+       It is minimal possibility that the values being used here will overflow.
+       So, change the code to use the safemath function grub_mul() to ensure
+       that doesn't happen.
 
-2010-06-07  Colin Watson  <cjwatson@ubuntu.com>
+       Fixes: CID 73761
 
-       * docs/grub.texi (Troubleshooting): `echo' is not usually available
-       in the rescue shell, so recommend using `set' instead.  Thanks,
-       Jordan Uggla.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-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>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * 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.
+       video/fb/video_fb: Fix multiple integer overflows
+       The calculation of the unsigned 64-bit value is being generated by
+       multiplying 2, signed or unsigned, 32-bit integers which may overflow
+       before promotion to unsigned 64-bit. Fix all of them.
 
-2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CID 73703, CID 73767, CID 73833
 
-       * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
-       Reported by: Seth Goldberg.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
-       addition of dest.
-       Reported by: Seth Goldberg.
+       video/fb/fbfill: Fix potential integer overflow
+       The multiplication of 2 unsigned 32-bit integers may overflow before
+       promotion to unsigned 64-bit. We should ensure that the multiplication
+       is done with overflow detection. Additionally, use grub_sub() for
+       subtraction.
 
-2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CID 73640, CID 73697, CID 73702, CID 73823
 
-       * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
-       Reported by: Seth Goldberg.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
-       64-bit address as signed on MIPS.
+       video/efi_gop: Remove unnecessary return value of grub_video_gop_fill_mode_info()
+       The return value of grub_video_gop_fill_mode_info() is never able to be
+       anything other than GRUB_ERR_NONE. So, rather than continue to return
+       a value and checking it each time, it is more correct to redefine the
+       function to not return anything and remove checks of its return value
+       altogether.
 
-2010-05-28  Colin Watson  <cjwatson@ubuntu.com>
+       Fixes: CID 96701
 
-       * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
-       to the empty string.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-05-28  BVK Chaitanya  <bvk.groups@gmail.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       Fix grub-emu issues on NetBSD, with gcc 4.1.3.
+       commands/probe: Fix a resource leak when probing disks
+       Every other return statement in this code is calling grub_device_close()
+       to clean up dev before returning. This one should do that too.
 
-       * 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.
+       Fixes: CID 292443
 
-2010-05-28  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.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.
+2021-03-02  Chris Coulson  <chris.coulson@canonical.com>
 
-       * kern/emu/getroot.c (find_root_device): Follow symbolic links under
-       /dev/mapper.
+       commands/hashsum: Fix a memory leak
+       check_list() uses grub_file_getline(), which allocates a buffer.
+       If the hash list file contains invalid lines, the function leaks
+       this buffer when it returns an error.
 
-2010-05-27  Colin Watson  <cjwatson@ubuntu.com>
+       Fixes: CID 176635
 
-       * util/grub-script-check.c (main): Ensure defined behaviour on empty
-       input files (in which case exit zero).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-05-27  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.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.
+       normal/completion: Fix leaking of memory when processing a completion
+       It is possible for the code to reach the end of the function without
+       freeing the memory allocated to argv and argc still to be 0.
 
-2010-05-27  Robert Millan  <rmh@gnu.org>
+       We should always call grub_free(argv). The grub_free() will handle
+       a NULL argument correctly if it reaches that code without the memory
+       being allocated.
 
-       * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
-       partmap module to handle cross-partmap setups.
-       Reported by Orestes Mas.  Gràcies!
+       Fixes: CID 96672
 
-2010-05-27  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mkrescue.in: Initialise override_dir rather than
-       assuming that it's unset or empty in the environment.
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-2010-05-26  Grégoire Sutre  <gregoire.sutre@gmail.com>
+       syslinux: Fix memory leak while parsing
+       In syslinux_parse_real() the 2 points where return is being called
+       didn't release the memory stored in buf which is no longer required.
 
-       * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
-       variable index into p_index to suppress a warning with -Wshadow.
+       Fixes: CID 176634
 
-2010-05-25  BVK Chaitanya  <bvk.groups@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * INSTALL: Added flex >= 2.5.35 requirement.
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       libgcrypt/mpi: Fix possible NULL dereference
+       The code in gcry_mpi_scan() assumes that buffer is not NULL, but there
+       is no explicit check for that, so we add one.
 
-       * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
+       Fixes: CID 73757
 
-2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       cmostest support.
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * 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.
+       libgcrypt/mpi: Fix possible unintended sign extension
+       The array of unsigned char gets promoted to a signed 32-bit int before
+       it is finally promoted to a size_t. There is the possibility that this
+       may result in the signed-bit being set for the intermediate signed
+       32-bit int. We should ensure that the promotion is to the correct type
+       before we bitwise-OR the values.
 
-2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CID 96697
 
-       * 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
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
-       buffer since gfxterm handles double repaint.
+       affs: Fix memory leaks
+       The node structure reference is being allocated but not freed if it
+       reaches the end of the function. If any of the hooks had returned
+       a non-zero value, then node would have been copied in to the context
+       reference, but otherwise node is not stored and should be freed.
 
-2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       Similarly, the call to grub_affs_create_node() replaces the allocated
+       memory in node with a newly allocated structure, leaking the existing
+       memory pointed by node.
 
-       * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
-       * term/gfxterm.c (real_scroll): Likewise.
+       Finally, when dir->parent is set, then we again replace node with newly
+       allocated memory, which seems unnecessary when we copy in the values
+       from dir->parent immediately after.
 
-2010-05-21  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CID 73759
 
-       * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
-       before calling BIOS.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-05-21  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * include/grub/i18n.h: Always enable grub_gettext.
+       zfsinfo: Correct a check for error allocating memory
+       While arguably the check for grub_errno is correct, we should really be
+       checking the return value from the function since it is always possible
+       that grub_errno was set elsewhere, making this code behave incorrectly.
 
-2010-05-21  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CID 73668
 
-       * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
-       partition naming style.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-05-21  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * util/grub-mkconfig.in: Fix handling of -o so that it works when
-       not the first option.
+       zfs: Fix possible integer overflows
+       In all cases the problem is that the value being acted upon by
+       a left-shift is a 32-bit number which is then being used in the
+       context of a 64-bit number.
 
-2010-05-20  Colin Watson  <cjwatson@ubuntu.com>
+       To avoid overflow we ensure that the number being shifted is 64-bit
+       before the shift is done.
 
-       * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
+       Fixes: CID 73684, CID 73695, CID 73764
 
-2010-05-20  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/misc.c: Move inclusion of <limits.h> to ...
-       * kern/emu/misc.c: ... here.  Needed for canonicalize_file_name.
+2021-03-02  Paulo Flabiano Smorigo  <pfsmorigo@canonical.com>
 
-2010-05-20  Grégoire Sutre  <gregoire.sutre@gmail.com>
+       zfs: Fix resource leaks while constructing path
+       There are several exit points in dnode_get_path() that are causing possible
+       memory leaks.
 
-       * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
-       Fix merge error in NetBSD code.
-       (find_partition_start) [__NetBSD__]: Likewise.
+       In the while(1) the correct exit mechanism should not be to do a direct return,
+       but to instead break out of the loop, setting err first if it is not already set.
 
-2010-05-19  BVK Chaitanya  <bvk.groups@gmail.com>
+       The reason behind this is that the dnode_path is a linked list, and while doing
+       through this loop, it is being allocated and built up - the only way to
+       correctly unravel it is to traverse it, which is what is being done at the end
+       of the function outside of the loop.
 
-       Fix grub-mkrescue usage unit testing.
+       Several of the existing exit points correctly did a break, but not all so this
+       change makes that more consistent and should resolve the leaking of memory as
+       found by Coverity.
 
-       * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
+       Fixes: CID 73741
 
-2010-05-18  Christian Franke  <franke@computer.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * 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.
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-2010-05-18  Justus Winter  <4winter@informatik.uni-hamburg.de>
+       zfs: Fix possible negative shift operation
+       While it is possible for the return value from zfs_log2() to be zero
+       (0), it is quite unlikely, given that the previous assignment to blksz
+       is shifted up by SPA_MINBLOCKSHIFT (9) before 9 is subtracted at the
+       assignment to epbs.
 
-       * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
-       gnumach and gnumach.gz.
+       But, while unlikely during a normal operation, it may be that a carefully
+       crafted ZFS filesystem could result in a zero (0) value to the
+       dn_datalbkszsec field, which means that the shift left does nothing
+       and assigns zero (0) to blksz, resulting in a negative epbs value.
 
-2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CID 73608
 
-       * include/grub/i18n.h (gettext): Inline instead of using #define.
-       (grub_gettext): Likewise.
-       (_): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.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.
+       hfsplus: Check that the volume name length is valid
+       HFS+ documentation suggests that the maximum filename and volume name is
+       255 Unicode characters in length.
 
-2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       So, when converting from big-endian to little-endian, we should ensure
+       that the name of the volume has a length that is between 0 and 255,
+       inclusive.
 
-       * util/grub-install.in: Add missing "in" keyword.
+       Fixes: CID 73641
 
-2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mkrescue.in: Remove -O i386-pc duplication.
-       Reported by: Seth Goldberg.
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       disk/cryptodisk: Fix potential integer overflow
+       The encrypt and decrypt functions expect a grub_size_t. So, we need to
+       ensure that the constant bit shift is using grub_size_t rather than
+       unsigned int when it is performing the shift.
 
-       * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
+       Fixes: CID 307788
 
-2010-05-18  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Check for Linux device-mapper support.
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * 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.
+       disk/ldm: Fix memory leak on uninserted lv references
+       The problem here is that the memory allocated to the variable lv is not
+       yet inserted into the list that is being processed at the label fail2.
 
-2010-05-05  Vladimir Serbinenko  <phcoder@gmail.com>
+       As we can already see at line 342, which correctly frees lv before going
+       to fail2, we should also be doing that at these earlier jumps to fail2.
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
+       Fixes: CID 73824
 
-2010-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
-       condition.
+2021-03-02  Paulo Flabiano Smorigo  <pfsmorigo@canonical.com>
 
-2010-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
+       disk/ldm: If failed then free vg variable too
+       Fixes: CID 73809
 
-       * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
-       part.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Marco A Benatto  <mbenatto@redhat.com>
 
-       * kern/mm.c (grub_mm_init_region): Check for region size after aligning
-       pointers.
+       disk/ldm: Make sure comp data is freed before exiting from make_vg()
+       Several error handling paths in make_vg() do not free comp data before
+       jumping to fail2 label and returning from the function. This will leak
+       memory. So, let's fix all issues of that kind.
 
-2010-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CID 73804
 
-       * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-05-01  Christian Franke  <franke@computer.org>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
-       Remove broken Cygwin path conversion.
-       * util/misc.c: [__CYGWIN__] Add include and define.
-       [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
-       for Cygwin 1.7.
-       (make_system_path_relative_to_its_root): Simplify loop, replace early
-       return by break.
-       [__CYGWIN__] Add conversion to win32 path.
-       Include "/" case in trailing slash removal.
+       kern/partition: Check for NULL before dereferencing input string
+       There is the possibility that the value of str comes from an external
+       source and continuing to use it before ever checking its validity is
+       wrong. So, needs fixing.
 
-2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       Additionally, drop unneeded part initialization.
 
-       * kern/main.c (grub_load_config): Fix copy-pasted comment.
-       Reported by: Seth Goldberg
+       Fixes: CID 292444
 
-2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * commands/help.c (grub_cmd_help): Fix a typo.
-       Reported by: Seth Goldberg
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       zstd: Initialize seq_t structure fully
+       While many compilers will initialize this to zero, not all will, so it
+       is better to be sure that fields not being explicitly set are at known
+       values, and there is code that checks this fields value elsewhere in the
+       code.
 
-       * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
-       name and add N_.
-       * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
-       * commands/iorw.c (GRUB_MOD_INIT): Likewise.
-       * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
-       * commands/regexp.c (GRUB_MOD_INIT): Likewise.
-       * commands/setpci.c (GRUB_MOD_INIT): Likewise.
-       * commands/terminal.c (GRUB_MOD_INIT): Likewise.
-       * efiemu/main.c (GRUB_MOD_INIT): Likewise.
-       * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
-       * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
-       * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
-       * normal/context.c (GRUB_MOD_INIT): Likewise.
-       * normal/main.c (GRUB_MOD_INIT): Likewise.
-       * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
-       * term/serial.c (GRUB_MOD_INIT): Likewise.
-       * term/terminfo.c (GRUB_MOD_INIT): Likewise.
+       Fixes: CID 292440
 
-2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
-        extra == 0.
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       io/lzopio: Resolve unnecessary self-assignment errors
+       These 2 assignments are unnecessary since they are just assigning
+       to themselves.
 
-       * commands/iorw.c: New file.
-       * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
-       (iorw_mod_SOURCES): New variable.
-       (iorw_mod_CFLAGS): Likewise.
-       (iorw_mod_LDFLAGS): Likewise.
+       Fixes: CID 73643
 
-2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Hotkey support
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
-       * normal/main.c (hotkey_aliases): New variable.
-       (grub_normal_add_menu_entry): Parse "--hotkey".
-       * normal/menu_text.c (run_menu): Handle hotkeys.
+       gnulib/regcomp: Fix uninitialized re_token
+       This issue has been fixed in the latest version of gnulib, so to
+       maintain consistency, I've backported that change rather than doing
+       something different.
 
-2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CID 73828
 
-       * kern/i386/coreboot/init.c (grub_machine_init): Call
-       grub_machine_mmap_init on qemu.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * boot/i386/qemu/boot.S: Add a missing .code16.
+       gnulib/regexec: Fix possible null-dereference
+       It appears to be possible that the mctx->state_log field may be NULL,
+       and the name of this function, clean_state_log_if_needed(), suggests
+       that it should be checking that it is valid to be cleaned before
+       assuming that it does.
 
-2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CID 86720
 
-       Use LBIO on coreboot.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
-       kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
-       * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
-       New declaration.
-       * kern/i386/coreboot/init.c (grub_machine_init): Don't call
-       grub_machine_mmap_init on coreboot.
-       * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
-       GRUB_LINUXBIOS_MEMBER_LINK.
-       (grub_machine_mmap_iterate): Fix declaration.
-       * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       gnulib/argp-help: Fix dereference of a possibly NULL state
+       All other instances of call to __argp_failure() where there is
+       a dgettext() call is first checking whether state is NULL before
+       attempting to dereference it to get the root_argp->argp_domain.
 
-       Split coreboot and multiboot ports.
+       Fixes: CID 292436
 
-       * conf/i386-multiboot.rmk: New file.
-       * configure.ac: Add multiboot port.
-       * include/grub/i386/multiboot/boot.h: New file.
-       * include/grub/i386/multiboot/console.h: Likewise.
-       * include/grub/i386/multiboot/init.h: Likewise.
-       * include/grub/i386/multiboot/kernel.h: Likewise.
-       * include/grub/i386/multiboot/loader.h: Likewise.
-       * include/grub/i386/multiboot/memory.h: Likewise.
-       * include/grub/i386/multiboot/serial.h: Likewise.
-       * include/grub/i386/multiboot/time.h: Likewise.
-       * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
-       * loader/multiboot.c: Likewise.
-       * loader/multiboot_mbi2.c: Likewise.
-       * util/grub-mkrescue.in: Generate multiboot rescue.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * kern/parser.c (grub_parser_execute): Cope with read-only config.
+       gnulib/regcomp: Fix uninitialized token structure
+       The code is assuming that the value of br_token.constraint was
+       initialized to zero when it wasn't.
 
-2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       While some compilers will ensure that, not all do, so it is better to
+       fix this explicitly than leave it to chance.
 
-       Merge handling of input and output terminals. Fix a hang.
+       Fixes: CID 73749
 
-       * commands/terminal.c (abstract_terminal): New struct.
-       (handle_command): New function. Based on grub_cmd_terminal_input.
-       (grub_cmd_terminal_input): Use handle_command.
-       (grub_cmd_terminal_output): Use handle_command.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-05-01  BVK Chaitanya  <bvk.groups@gmail.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       Fix comment handling.
+       gnulib/regexec: Resolve unused variable
+       This is a really minor issue where a variable is being assigned to but
+       not checked before it is overwritten again.
 
-       * tests/grub_script_comments.in: New testcase.
-       * conf/tests.rmk: Rules for new testcase.
-       * script/yylex.l: Updated flex rules.
+       The reason for this issue is that we are not building with DEBUG set and
+       this in turn means that the assert() that reads the value of the
+       variable match_last is being processed out.
 
-2010-04-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+       The solution, move the assignment to match_last in to an ifdef DEBUG too.
 
-       * docs/grub.texi (play): Document that zero pitches produce rests.
-       * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
-       if argc is 1.
+       Fixes: CID 292459
 
-2010-04-27  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
-       autogen issues.
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-2010-04-26  Christian Franke  <franke@computer.org>
+       kern/efi/mm: Fix possible NULL pointer dereference
+       The model of grub_efi_get_memory_map() is that if memory_map is NULL,
+       then the purpose is to discover how much memory should be allocated to
+       it for the subsequent call.
 
-       * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
-       * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
-       (grub_get_prefix): Remove function.
-       * util/grub-emu.c (main): Replace grub_get_prefix () call by
-       make_system_path_relative_to_its_root ().
-       * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
+       The problem here is that with grub_efi_is_finished set to 1, there is no
+       check at all that the function is being called with a non-NULL memory_map.
 
-2010-04-24  Christian Franke  <franke@computer.org>
+       While this MAY be true, we shouldn't assume it.
 
-       * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
-       (kernel_img_LDFLAGS): Remove -static-libgcc.
+       The solution to this is to behave as expected, and if memory_map is NULL,
+       then don't try to use it and allow memory_map_size to be filled in, and
+       return 0 as is done later in the code if the buffer is too small (or NULL).
 
-2010-04-24  Christian Franke  <franke@computer.org>
+       Additionally, drop unneeded ret = 1.
 
-       * configure.ac: Do not CHECK_BSS_START_SYMBOL
-       and CHECK_END_SYMBOL if grub-emu is built.
-       Unset TARGET_OBJ2ELF if grub-emu is built
-       without module support.
+       Fixes: CID 96632
 
-2010-04-24  Jiro SEKIBA <jir@unicus.jp>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Nilfs2 support.
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
-       (grub_fstest_SOURCES): Likewise.
-       (pkglib_MODULES): Add nilfs2.mod.
-       (nilfs2_mod_SOURCES): New variable.
-       (nilfs2_mod_CFLAGS): Likewise.
-       (nilfs2_mod_LDFLAGS): Likewise.
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
-       * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
-       * fs/nilfs2.c: New file.
+       kern/efi: Fix memory leak on failure
+       Free the memory allocated to name before returning on failure.
 
-2010-04-21  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CID 296222
 
-       * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
-       is not supported.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-19  Grégoire Sutre  <gregoire.sutre@gmail.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       Add grub-mkconfig support for NetBSD.
+       kern/parser: Fix resource leak if argc == 0
+       After processing the command-line yet arriving at the point where we are
+       setting argv, we are allocating memory, even if argc == 0, which makes
+       no sense since we never put anything into the allocated argv.
 
-       * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
-       * util/grub-mkconfig.in: export new NetBSD specific variables.
-       * po/POTFILES-shell: added 10_netbsd.in.
-       * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
+       The solution is to simply return that we've successfully processed the
+       arguments but that argc == 0, and also ensure that argv is NULL when
+       we're not allocating anything in it.
 
-2010-04-19  BVK Chaitanya  <bvk.groups@gmail.com>
+       There are only 2 callers of this function, and both are handling a zero
+       value in argc assuming nothing is allocated in argv.
 
-       Fix emu build with grub-emu-pci and grub-emu-modules.
+       Fixes: CID 96680
 
-       * include/grub/util/misc.h: Export grub_util_{info,error,warn}
-       functions.
-       * include/grub/libpciaccess.h: New file.
-       * conf/any-emu.rmk: Update kernel headers for emu build.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
+       net/tftp: Fix dangling memory pointer
+       The static code analysis tool, Parfait, reported that the valid of
+       file->data was left referencing memory that was freed by the call to
+       grub_free(data) where data was initialized from file->data.
 
-2010-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
+       To ensure that there is no unintentional access to this memory
+       referenced by file->data we should set the pointer to NULL.
 
-       * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
-       Retrieve chosen/bootpath if bootpath isn't hardcoded.
-       * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
-       util/ieee1275/ofpath.c.
-       * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
-       * util/ieee1275/grub-ofpathname.c: ... this. All users updated
-       * include/grub/sparc64/ieee1275/boot.h
-       (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
-       (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
-       * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
-       * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
-       const char *.
-       * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
-       (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
-       Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
-       install.
+       net/net: Fix possible dereference to of a NULL pointer
+       It is always possible that grub_zalloc() could fail, so we should check for
+       a NULL return. Otherwise we run the risk of dereferencing a NULL pointer.
 
-2010-04-18  Grégoire Sutre  <gregoire.sutre@gmail.com>
+       Fixes: CID 296221
 
-       * util/grub-mkconfig.in: Corrected two == equality tests.
-       Set grub_prefix as in grub-install for NetBSD and OpenBSD.
-       * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
-       expect a number appended to it.
-       * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
-       expects a number appended to it.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Darren Kenny  <darren.kenny@oracle.com>
 
-       * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
+       mmap: Fix memory leak when iterating over mapped memory
+       When returning from grub_mmap_iterate() the memory allocated to present
+       is not being released causing it to leak.
 
-2010-04-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CID 96655
 
-       * util/hostdisk.c (make_device_name): Change to new partition naming.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-17  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
+       usb: Avoid possible out-of-bound accesses caused by malicious devices
+       The maximum number of configurations and interfaces are fixed but there is
+       no out-of-bound checking to prevent a malicious USB device to report large
+       values for these and cause accesses outside the arrays' memory.
 
-2010-04-17  Christian Franke  <franke@computer.org>
+       Fixes: CVE-2020-25647
 
-       * Makefile.in: Add missing localedir setting.
+       Reported-by: Joseph Tartaro <joseph.tartaro@ioactive.com>
+       Reported-by: Ilja Van Sprundel <ivansprundel@ioactive.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-14  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-       Restore TEXTDOMAINDIR correction from r1889, lost apparently by
-       mistake in r2156.  Noticed by Anthony Fok.
+       dl: Only allow unloading modules that are not dependencies
+       When a module is attempted to be removed its reference counter is always
+       decremented. This means that repeated rmmod invocations will cause the
+       module to be unloaded even if another module depends on it.
 
-       * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
-       @localedir@.
-       * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
+       This may lead to a use-after-free scenario allowing an attacker to execute
+       arbitrary code and by-pass the UEFI Secure Boot protection.
 
-2010-04-14  BVK Chaitanya  <bvk.groups@gmail.com>
+       While being there, add the extern keyword to some function declarations in
+       that header file.
 
-       Fix a spurious, uninitialized variable warning.
+       Fixes: CVE-2020-25632
 
-       * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
-       Initialize variable, shdr.
-       (grub_freebsd_load_elfmodule): Likewise.
-       (grub_freebsd_load_elf_meta): Likewise.
+       Reported-by: Chris Coulson <chris.coulson@canonical.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-13  BVK Chaitanya  <bvk.groups@gmail.com>
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-       Fix for escaped dollar in double quoted strings.
+       docs: Document the cutmem command
+       The command is not present in the docs/grub.texi user documentation.
 
-       * script/yylex.l: Updated flex rules.
-       * conf/tests.rmk: Rule for new testcase.
-       * tests/grub_script_dollar.in: New testcase.
+       Reported-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
 
-2010-04-13  Carles Pina i Estany  <carles@pina.cat>
-2010-04-13  Colin Watson  <cjwatson@ubuntu.com>
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-       Enclose all translated strings in grub.cfg in single quotes, and
-       escape them appropriately (Ubuntu bug #552921).
+       loader/xnu: Don't allow loading extension and packages when locked down
+       The shim_lock verifier validates the XNU kernels but no its extensions
+       and packages. Prevent these to be loaded when the GRUB is locked down.
 
-       * util/grub-mkconfig_lib.in (gettext_quoted): New function.
-       * util/grub.d/10_hurd.in: Use it.
-       * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
-       * util/grub.d/10_linux.in (linux_entry): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-       Fix cygwin compilation.
+       gdb: Restrict GDB access when locked down
+       The gdbstub* commands allow to start and control a GDB stub running on
+       local host that can be used to connect from a remote debugger. Restrict
+       this functionality when the GRUB is locked down.
 
-       * configure.ac: Define NEED_REGISTER_FRAME_INFO.
-       * include/grub/misc.h (__register_frame_info)
-       [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
-       (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
-       * kern/misc.c (__register_frame_info)
-       [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
-       (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
+       commands/hdparm: Restrict hdparm command when locked down
+       The command can be used to get/set ATA disk parameters. Some of these can
+       be dangerous since change the disk behavior. Restrict it when locked down.
 
-2010-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Unify libgcc processing.
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * Makefile.in (kernel_img_LDFLAGS): New variable.
-       * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
-       * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
-       overwriting.
-       * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
-       * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
-       * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
-       * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
-       * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
-       overwriting. Remove -lgcc and -static-libgcc
-       * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
-       * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
-       * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
-       (kernel_img_LDFLAGS): Append instead of overwriting.
-       Remove -lgcc and -static-libgcc
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * include/grub/powerpc/libgcc.h: Move to ...
-       * include/grub/libgcc.h: .. this.
-       * include/grub/libgcc.h: Don't export most of the function on x86.
-       (__bswapsi2): New export.
-       (__bswapdi2): Likewise.
-       * include/grub/mips/libgcc.h: Removed.
-       * include/grub/sparc64/libgcc.h: Likewise.
+       commands/setpci: Restrict setpci command when locked down
+       This command can set PCI devices register values, which makes it dangerous
+       in a locked down configuration. Restrict it so can't be used on this setup.
 
-2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
-       disk_info_msg (conflicts with gettexting into languages with cases).
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-2010-04-10  Grégoire Sutre  <gregoire.sutre@gmail.com>
+       commands: Restrict commands that can load BIOS or DT blobs when locked down
+       There are some more commands that should be restricted when the GRUB is
+       locked down. Following is the list of commands and reasons to restrict:
 
-       Add grub-probe support for NetBSD.
+         * fakebios:   creates BIOS-like structures for backward compatibility with
+                       existing OSes. This should not be allowed when locked down.
 
-       * util/getroot.c (find_root_device): Convert block device to
-       character device on NetBSD.
-       * util/probe.c (probe): Require character device on NetBSD.
-       * util/hostdisk.c: NetBSD specific headers.
-       (configure_device_driver): new function to tune device driver
-       parameters (currently only for NetBSD floppy driver).
-       (grub_util_biosdisk_open): NetBSD specific code (get disk size
-       via disklabel ioctl).
-       (open_device): call configure_device_driver on NetBSD.
-       (convert_system_partition_to_system_disk): NetBSD specific code.
-       (device_is_wholedisk): Likewise.
-       (grub_util_biosdisk_get_grub_dev): Likewise.
-       (make_device_name): Fixed a typo in bsd_part_str.
-       * configure.ac: check for opendisk() and getrawpartition() on
-       NetBSD and set LIBUTIL.
-       * Makefile.in: add LIBUTIL to LIBS.
+         * loadbios:   reads a BIOS dump from storage and loads it. This action
+                       should not be allowed when locked down.
 
-2010-04-10  BVK Chaitanya  <bvk.groups@gmail.com>
+         * devicetree: loads a Device Tree blob and passes it to the OS. It replaces
+                       any Device Tree provided by the firmware. This also should
+                       not be allowed when locked down.
 
-       Documentation fix.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-script-check.c: Better help message.
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-2010-04-10  BVK Chaitanya  <bvk.groups@gmail.com>
+       mmap: Don't register cutmem and badram commands when lockdown is enforced
+       The cutmem and badram commands can be used to remove EFI memory regions
+       and potentially disable the UEFI Secure Boot. Prevent the commands to be
+       registered if the GRUB is locked down.
 
-       Fix FreeBSD build.
+       Fixes: CVE-2020-27779
 
-       * configure.ac: Flex version check.
-       * conf/common.rmk: Add -Wno-error to sh.mod.
-       * script/yylex.l: Remove all #pragma.
+       Reported-by: Teddy Reed <teddy.reed@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * include/grub/util/misc.h (canonicalise_file_name): Add missing
-       prototype.
-       Reported by: Seth Goldberg.
+       acpi: Don't register the acpi command when locked down
+       The command is not allowed when lockdown is enforced. Otherwise an
+       attacker can instruct the GRUB to load an SSDT table to overwrite
+       the kernel lockdown configuration and later load and execute
+       unsigned code.
 
-2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CVE-2020-14372
 
-       * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
-       Rename "module" to "module2".
-       Reported by: Seth Goldberg.
+       Reported-by: Máté Kukri <km@mkukri.xyz>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
-       EXPORT_FUNC.
-       Reported by: Seth Goldberg.
+       efi: Use grub_is_lockdown() instead of hardcoding a disabled modules list
+       Now the GRUB can check if it has been locked down and this can be used to
+       prevent executing commands that can be utilized to circumvent the UEFI
+       Secure Boot mechanisms. So, instead of hardcoding a list of modules that
+       have to be disabled, prevent the usage of commands that can be dangerous.
 
-2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
+       This not only allows the commands to be disabled on other platforms, but
+       also properly separate the concerns. Since the shim_lock verifier logic
+       should be only about preventing to run untrusted binaries and not about
+       defining these kind of policies.
 
-       * lib/posix_wrap/locale.h: Add missing file.
-       Reported by: Seth Goldberg.
-
-2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       grub-emu module load support.
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * Makefile.in (TARGET_NO_MODULES): New variable. All users of
-       NO_DYNAMIC_MODULES switched to this.
-       (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
-       (CFLAGS): Likewise.
-       * conf/any-emu.rmk: Generate symlist.
-       (kernel_img_HEADERS): Add util/datetime.h.
-       (kernel_img_HEADERS) [sdl]: Add sdl.h.
-       (kernel_img_HEADERS) [libusb]: Add libusb.h.
-       (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
-       kern/$(target_cpu)/cache.S.
-       * configure.ac (grub-emu-modules): New option.
-       * genmk.rb: Handle multiple source lists.
-       * include/grub/sdl.h: New file.
-       * include/grub/libusb.h: Likewise.
-       * util/grub-emu.c (main): Hanle (host) root.
-       * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
-       GRUB_ERR_UNKNOWN_DEVICE.
-       * util/misc.c: Move mm functions to ...
-       * util/mm.c: ... here. All users updated.
+       efi: Lockdown the GRUB when the UEFI Secure Boot is enabled
+       If the UEFI Secure Boot is enabled then the GRUB must be locked down
+       to prevent executing code that can potentially be used to subvert its
+       verification mechanisms.
 
-2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * Makefile.in (RMKFILES): Search in srcdir and not current directory.
-       (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
-       missing files.
-       (maintainer-clean): Remove libgcrypt-grub.
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>
+       kern/lockdown: Set a variable if the GRUB is locked down
+       It may be useful for scripts to determine whether the GRUB is locked
+       down or not. Add the lockdown variable which is set to "y" when the GRUB
+       is locked down.
 
-       * term/efi/console.c (grub_console_checkkey): Macroify key contants.
+       Suggested-by: Dimitri John Ledkov <xnox@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-09  EFI Coder <eficoder@hotmail.com>
+2021-03-02  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * normal/menu_text.c (print_message): Clean up the message and show
-       the Fn information when on EFI
-       * term/efi/console.c (grub_console_checkkey): Add F4 support.
+       kern: Add lockdown support
+       When the GRUB starts on a secure boot platform, some commands can be
+       used to subvert the protections provided by the verification mechanism and
+       could lead to booting untrusted system.
 
-2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>
+       To prevent that situation, allow GRUB to be locked down. That way the code
+       may check if GRUB has been locked down and further restrict the commands
+       that are registered or what subset of their functionality could be used.
 
-       * normal/autofs.c (read_fs_list): New parameter 'prefix'.
-       All users updated.
-       * normal/crypto.c (read_crypto_list): Likewise.
-       * normal/dyncmd.c (read_command_list): Likewise.
-       * normal/term.c (read_terminal_list): Likewise.
-       * normal/main.c (read_lists): Use explicit prefix.
-       (read_lists_hook): Use read_lists.
-       (grub_normal_execute): Likewise.
+       The lockdown support adds the following components:
 
-2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>
+       * The grub_lockdown() function which can be used to lockdown GRUB if,
+         e.g., UEFI Secure Boot is enabled.
 
-       * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
-       Reported by: Thomas Schmitt.
-       Add -no-emul-boot to grub-mkisofs parameters.
+       * The grub_is_lockdown() function which can be used to check if the GRUB
+         was locked down.
 
-2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>
+       * A verifier that flags OS kernels, the GRUB modules, Device Trees and ACPI
+         tables as GRUB_VERIFY_FLAGS_DEFER_AUTH to defer verification to other
+         verifiers. These files are only successfully verified if another registered
+         verifier returns success. Otherwise, the whole verification process fails.
 
-       * font/font.c: Indented.
+         For example, PE/COFF binaries verification can be done by the shim_lock
+         verifier which validates the signatures using the shim_lock protocol.
+         However, the verification is not deferred directly to the shim_lock verifier.
+         The shim_lock verifier is hooked into the verification process instead.
 
-2010-04-09  BVK Chaitanya  <bvk.groups@gmail.com>
+       * A set of grub_{command,extcmd}_lockdown functions that can be used by
+         code registering command handlers, to only register unsafe commands if
+         the GRUB has not been locked down.
 
-       Elif support to GRUB script (by Deepak Vankadaru).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * tests/grub_script_if.in: New testcase.
-       * conf/tests.rmk: Rule for new testcase.
-       * script/parser.y: Grammar rules for elif.
+2021-03-02  Marco A Benatto  <mbenatto@redhat.com>
 
-2010-04-09  BVK Chaitanya  <bvk.groups@gmail.com>
+       efi: Move the shim_lock verifier to the GRUB core
+       Move the shim_lock verifier from its own module into the core image. The
+       Secure Boot lockdown mechanism has the intent to prevent the load of any
+       unsigned code or binary when Secure Boot is enabled.
 
-       While and until loops support to GRUB script.
+       The reason is that GRUB must be able to prevent executing untrusted code
+       if UEFI Secure Boot is enabled, without depending on external modules.
 
-       * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
-       (grub_script_create_cmdwhile): New function prototype.
-       (grub_script_execute_cmdwhile): New function prototype.
-       * script/execute.c (grub_script_execute_cmdwhile): New function.
-       * script/parser.y (command): New commands.
-       (whilecmd): New grammar rule.
-       (untilcmd): New grammar rule.
-       * script/script.c (grub_script_create_cmdwhile): New function.
-       * util/grub-script-check.c (grub_script_execute_cmdwhile): New
-       function.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * tests/grub_script_while1.in: New testcase.
-       * conf/tests.rmk: Rule for new testcase.
+2021-03-02  Marco A Benatto  <mbenatto@redhat.com>
 
-2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>
+       verifiers: Move verifiers API to kernel image
+       Move verifiers API from a module to the kernel image, so it can be
+       used there as well. There are no functional changes in this patch.
 
-       * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
-       as *.jpg.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-09  Mario Vazquez <mariovazq@gmail.com>
+2020-12-18  Glenn Washburn  <development@efficientek.com>
 
-       GRUB_BACKGROUND support.
+       docs: Add documentation of disk size limitations
+       Document the artificially imposed 1 EiB disk size limit and size limitations
+       with LUKS volumes.
 
-       * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
-       * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
+       Fix a few punctuation issues.
 
-2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Load fonts and modules for gfxmenu in grub-mkconfig.
-       Idea by: Mario Vazquez
+2020-12-18  Glenn Washburn  <development@efficientek.com>
 
-       * util/grub.d/00_header.in: Load pf2 and image modules.
+       luks2: Use grub_log2ull() to calculate log_sector_size and improve readability
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>
+       misc: Add grub_log2ull() macro for calculating log base 2 of 64-bit integers
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       grub-mkconfig multiple terminal support.
+2020-12-18  Glenn Washburn  <development@efficientek.com>
 
-       * util/grub-mkconfig.in: Handle multiple terminals correctly.
-       * util/grub.d/00_header.in: Likewise.
+       mips: Enable __clzdi2()
+       This patch is similar to commit 9dab2f51e (sparc: Enable __clzsi2() and
+       __clzdi2()) but for MIPS target and __clzdi2() only, __clzsi2() was
+       already enabled.
 
-2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>
+       Suggested-by: Daniel Kiper <dkiper@net-space.pl>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * Makefile.in: Specify files explicitly instead of using $< and $@ since
-       we use cd $(srcdir).
+2020-12-18  Glenn Washburn  <development@efficientek.com>
 
-2010-04-08  Colin Watson  <cjwatson@ubuntu.com>
+       luks2: Better error handling when setting up the cryptodisk
+       Do some sanity checking on data coming from the LUKS2 header. If segment.size
+       is "dynamic", verify that the offset is not past the end of disk. Otherwise,
+       check for errors from grub_strtoull() when converting segment size from
+       string. If a GRUB_ERR_BAD_NUMBER error was returned, then the string was
+       not a valid parsable number, so skip the key. If GRUB_ERR_OUT_OF_RANGE was
+       returned, then there was an overflow in converting to a 64-bit unsigned
+       integer. So this could be a very large disk (perhaps large RAID array).
+       In this case skip the key too. Additionally, enforce some other limits
+       and fail if needed.
 
-       * util/grub.d/10_linux.in: Only use the first word of
-       GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
-       spaces in GRUB_DISTRIBUTOR.
-       * util/grub.d/10_kfreebsd.in: Likewise.
-       * util/grub.d/10_hurd.in: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-06  BVK Chaitanya  <bvk.groups@gmail.com>
+2020-12-18  Glenn Washburn  <development@efficientek.com>
 
-       Fix unit testing framework for Qemu 0.12.
+       luks2: Do not handle disks of size GRUB_DISK_SIZE_UNKNOWN for now
+       Check to make sure that source disk has a known size. If not, print
+       a message and return error. There are 4 cases where GRUB_DISK_SIZE_UNKNOWN
+       is set (biosdisk, obdisk, ofdisk, and uboot), and in all those cases
+       processing continues. So this is probably a bit conservative. However,
+       3 of the cases seem pathological, and the other, biosdisk, happens when
+       booting from a CD-ROM. Since I doubt booting from a LUKS2 volume on
+       a CD-ROM is a big use case, we'll error until someone complains.
 
-       * tests/util/grub-shell.in: Remove -serial stdio option.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-12-18  Glenn Washburn  <development@efficientek.com>
 
-       POSIX header file wrappers.
+       luks2: Convert to crypt sectors from GRUB native sectors
+       The function grub_disk_native_sectors(source) returns the number of sectors
+       of source in GRUB native (512-byte) sectors, not source sized sectors. So
+       the conversion needs to use GRUB_DISK_SECTOR_BITS, the GRUB native sector
+       size.
 
-       * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
-       equivalents.
-       * lib/posix_wrap/ctype.h: Likewise.
-       * lib/posix_wrap/errno.h: Likewise.
-       * lib/posix_wrap/langinfo.h: Likewise.
-       * lib/posix_wrap/limits.h: Likewise.
-       * lib/posix_wrap/localcharset.h: Likewise.
-       * lib/posix_wrap/stdint.h: Likewise.
-       * lib/posix_wrap/stdio.h: Likewise.
-       * lib/posix_wrap/stdlib.h: Likewise.
-       * lib/posix_wrap/string.h: Likewise.
-       * lib/posix_wrap/sys/types.h: Likewise.
-       * lib/posix_wrap/unistd.h: Likewise.
-       * lib/posix_wrap/wchar.h: Likewise.
-       * lib/posix_wrap/wctype.h: Likewise.
-       * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
-       (grub_script.yy.h): Likewise.
-       * script/yylex.l: Remove POSIX emulation #defines.
-       * Makefile.in (POSIX_CFLAGS): New variable.
-       (GNULIB_UTIL_CFLAGS): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Regexp support.
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-       * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
-       (regexp_mod_SOURCES): New variable.
-       (regexp_mod_CFLAGS): Likewise.
-       (regexp_mod_LDFLAGS): Likewise.
-       * commands/regexp.c: New file.
-       * gnulib/regcomp.c: New file. Imported from gnulib.
-       * gnulib/regex.c: Likewise.
-       * gnulib/regex_internal.c: Likewise.
-       * gnulib/regex_internal.h: Likewise.
-       * gnulib/regexec.c: Likewise.
-       * gnulib/regex.h: Likewise.
+       luks2: Error check segment.sector_size
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-       * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
-       unsupported video mode types.
+       cryptodisk: Properly handle non-512 byte sized sectors
+       By default, dm-crypt internally uses an IV that corresponds to 512-byte
+       sectors, even when a larger sector size is specified. What this means is
+       that when using a larger sector size, the IV is incremented every sector.
+       However, the amount the IV is incremented is the number of 512 byte blocks
+       in a sector (i.e. 8 for 4K sectors). Confusingly the IV does not correspond
+       to the number of, for example, 4K sectors. So each 512 byte cipher block in
+       a sector will be encrypted with the same IV and the IV will be incremented
+       afterwards by the number of 512 byte cipher blocks in the sector.
 
-2010-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
+       There are some encryption utilities which do it the intuitive way and have
+       the IV equal to the sector number regardless of sector size (ie. the fifth
+       sector would have an IV of 4 for each cipher block). And this is supported
+       by dm-crypt with the iv_large_sectors option and also cryptsetup as of 2.3.3
+       with the --iv-large-sectors, though not with LUKS headers (only with --type
+       plain). However, support for this has not been included as grub does not
+       support plain devices right now.
 
-       * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
+       One gotcha here is that the encrypted split keys are encrypted with a hard-
+       coded 512-byte sector size. So even if your data is encrypted with 4K sector
+       sizes, the split key encrypted area must be decrypted with a block size of
+       512 (ie the IV increments every 512 bytes). This made these changes less
+       aesthetically pleasing than desired.
 
-2010-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
-       * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-2010-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       luks2: grub_cryptodisk_t->total_sectors is the max number of device native sectors
+       We need to convert the sectors from the size of the underlying device to the
+       cryptodisk sector size; segment.size is in bytes which need to be converted
+       to cryptodisk sectors as well.
 
-       Remove unused grub_vga_get_font.
+       Also, removed an empty statement.
 
-       * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
-       * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-03  Grégoire Sutre  <gregoire.sutre@gmail.com>
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-       * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
-       * include/grub/misc.h: Likewise.
+       cryptodisk: Add macros GRUB_TYPE_U_MAX/MIN(type) to replace literals
+       Add GRUB_TYPE_U_MAX/MIN(type) macros to get the max/min values for an
+       unsigned number with size of type.
 
-2010-04-03  Grégoire Sutre  <gregoire.sutre@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
-       for which failure is fatal.
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-2010-04-03  Grégoire Sutre  <gregoire.sutre@gmail.com>
+       cryptodisk: Add macro GRUB_TYPE_BITS() to replace some literals
+       The new macro GRUB_TYPE_BITS(type) returns the number of bits
+       allocated for type.
 
-       * util/grub-install.in: Use mkdir -p to create grub directory.
-       * util/i386/efi/grub-install.in: Likewise.
-       * util/ieee1275/grub-install.in: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-04-03  Grégoire Sutre  <gregoire.sutre@gmail.com>
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-       * Makefile.in (LEX): new variable.
+       luks2: Add string "index" to user strings using a json index
+       This allows error messages to be more easily distinguishable between indexes
+       and slot keys. The former include the string "index" in the error/debug
+       string, and the later are surrounded in quotes.
 
-2010-04-03  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
-       `=' and added double quotes on operands of this equality test.
-
-2010-04-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * Makefile.in (uninstall): Remove a leftover debug echo.
-       Reported by: Grégoire Sutre
-
-2010-04-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       MIPS multiboot2 support.
-
-       * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
-       (multiboot2_mod_SOURCES): New variable.
-       (multiboot2_mod_CFLAGS): Likewise.
-       (multiboot2_mod_LDFLAGS): Likewise.
-       (multiboot2_mod_ASFLAGS): Likewise.
-       * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
-       definition.
-       (MULTIBOOT_ENTRY_REGISTER): Likewise.
-       (MULTIBOOT_MBI_REGISTER): Likewise.
-       (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
-       (MULTIBOOT_ELF32_MACHINE): Likewise.
-       (MULTIBOOT_ELF64_MACHINE): Likewise.
-       * include/grub/mips/multiboot.h: New file.
-       * include/grub/video.h (grub_video_driver_id): New type
-       GRUB_VIDEO_DRIVER_SM712.
-       (grub_video_get_info_and_fini): Export.
-       (grub_video_get_palette): Likewise.
-       (grub_video_get_driver_id): Likewise.
-       * include/multiboot2.h: Resynced with spec.
-       * loader/i386/multiboot.c: Moved from here ...
-       * loader/multiboot.c: ... here. All users updated.
-       (grub_multiboot_boot): Use platform-specific macros.
-       * loader/i386/multiboot_elfxx.c: Moved from here ...
-       * loader/multiboot_elfxx.c: ... here. All users updated.
-       (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
-       * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
-       * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
-
-2010-04-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Import gnulib argp module.
-
-       * gnulib/argp-ba.c: New file.
-       * gnulib/argp-eexst.c: Likewise.
-       * gnulib/argp-fmtstream.c: Likewise.
-       * gnulib/argp-fmtstream.h: Likewise.
-       * gnulib/argp-fs-xinl.c: Likewise.
-       * gnulib/argp-help.c: Likewise.
-       * gnulib/argp-namefrob.h: Likewise.
-       * gnulib/argp-parse.c: Likewise.
-       * gnulib/argp-pin.c: Likewise.
-       * gnulib/argp-pv.c: Likewise.
-       * gnulib/argp-pvh.c: Likewise.
-       * gnulib/argp-version-etc.c: Likewise.
-       * gnulib/argp-version-etc.h: Likewise.
-       * gnulib/argp-xinl.c: Likewise.
-       * gnulib/argp.h: Likewise.
-
-2010-03-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * kern/device.c (grub_device_iterate): Clear errors after failed
-       opening device.
-
-2010-03-31  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
-       returned by firmware.
-
-2010-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
-       compilation on coreboot and qemu
-
-2010-03-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/multiboot2.h: Resync with spec.
-
-2010-03-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Multiboot2 tag support
-
-       * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
-       loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
-       Remove loader/multiboot_loader.c.
-       * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
-       (grub_multiboot2_real_boot): Likewise.
-       * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
-       (grub_get_multiboot_mmap_count): New proto.
-       (grub_fill_multiboot_mmap): Likewise.
-       (grub_multiboot_set_video_mode): Likewise.
-       (grub_multiboot_set_console): Likewise.
-       (grub_multiboot_load): Likewise.
-       (grub_multiboot_load_elf): Likewise.
-       (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
-       (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
-       * include/multiboot.h: Resynced with specification.
-       * include/multiboot2.h: Resynced with specification.
-       * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
-       * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
-       * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
-       * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
-       users updated.
-       * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
-       * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
-       * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
-       Removed.
-       * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
-       Moved from here...
-       * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
-       * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
-       Moved from here...
-       * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
-       * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
-       * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
-       All users updated.
-       * loader/i386/multiboot_mbi2.c: New file.
-
-2010-03-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Resync with gnulib.
-
-       * Makefile.in (GNULIB_CFLAGS): New variable.
-       * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
-       (grub_script_check_CFLAGS): New variable.
-       * gnulib/alloca.h: Resync with gnulib.
-       * gnulib/error.c: Likewise.
-       * gnulib/error.h: Likewise.
-       * gnulib/fnmatch.c: Likewise.
-       * gnulib/fnmatch_loop.c: Likewise.
-       * gnulib/getdelim.c: Likewise.
-       * gnulib/getline.c: Likewise.
-       * gnulib/getopt.c: Likewise.
-       * gnulib/getopt1.c: Likewise.
-       * gnulib/getopt_int.h: Likewise.
-       * gnulib/gettext.h: Likewise.
-       * gnulib/progname.c: Likewise.
-       * gnulib/progname.h: Likewise.
-
-2010-03-27  Grégoire Sutre  <gregoire.sutre@gmail.com>
-
-       Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
-       which is the case with --disabled-nls.
-
-       * include/grub/i18n.h: Use (defined(ENABLE_NLS)
-       && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
-       * util/misc.c: Likewise.
-       * util/mkisofs/mkisofs.c: Likewise.
-       * util/mkisofs/mkisofs.h: Likewise.
-
-2010-03-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Simplify Apple CC support.
-
-       * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
-       Add 0 byte at the end not to have a symbol with empty target.
-       * mmap/i386/pc/mmap_helper.S: Likewise.
-       * genmk.rb: Ignore errors 2030 and 2050.
-       * kern/i386/pc/startup.S: Use LOCAL when possible.
-
-2010-03-26  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       Testcase and the fix for final semicolon on cmdline.
-
-       * tests/grub_script_final_semicolon.in: New testcase.
-       * conf/tests.rmk: Rules for the new testcase.
-       * script/parser.y: Grammar fix.
-
-2010-03-26  BVK Chaitanya  <bvk@localhost>
-
-       Blank lines testcase for GRUB script.
-
-       * tests/grub_script_blanklines.in: New testcase.
-       * conf/tests.rmk: Rules for the new testcase.
-
-2010-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Don't use __FILE__.
-
-       * genmk.rb: Add -DGRUB_FILE to all C targets.
-       * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
-       * include/grub/list.h: Likewise.
-       * include/grub/misc.h: Likewise.
-       * include/grub/mm.h: Likewise.
-       * include/grub/test.h: Likewise.
-       * kern/mm.c: Likewise.
-       * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
-
-2010-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Sunpc partitions support.
-
-       * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
-       (grub_fstest_SOURCES): Likewise.
-       (pkglib_MODULES): Add part_sunpc.mod.
-       (part_sunpc_mod_SOURCES): New variable.
-       (part_sunpc_mod_CFLAGS): Likewise.
-       (part_sunpc_mod_LDFLAGS): Likewise.
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
-       * partmap/sunpc.c: New file.
-
-2010-03-26  BVK Chaitanya  <bvk@localhost>
-
-       For loop support to GRUB script.
-
-       * include/grub/script_sh.h (grub_script_cmdfor): New struct.
-       (grub_script_create_cmdfor): New function prototype.
-       (grub_script_execute_cmdfor): New function prototype.
-       * script/execute.c (grub_script_execute_cmdfor): New function.
-       * script/parser.y (command): New for command.
-       (forcmd): New grammar rule.
-       * script/script.c (grub_script_create_cmdfor): New function.
-       * util/grub-script-check.c (grub_script_execute_cmdfor): New
-       function.
-       * tests/grub_script_for1.in: New testcase.
-       * conf/tests.rmk: Rules for new testcase.
-
-2010-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Nested partitions
-
-       * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
-       'partition' is NULL, grub_partition_get_start already does that.
-       * commands/loadenv.c (check_blocklists): Likewise.
-       (write_blocklists): Likewise.
-       * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
-       (grub_fstest_SOURCES): Likewise.
-       (pkglib_MODULES): Add part_bsd.mod.
-       (part_bsd_mod_SOURCES): New variable.
-       (part_bsd_mod_CFLAGS): Likewise.
-       (part_bsd_mod_LDFLAGS): Likewise.
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
-       (grub_emu_SOURCES): Likewise.
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * include/grub/bsdlabel.h: New file.
-       * include/grub/partition.h (grub_partition_map): Remove 'probe' and
-       'get_name'.
-       (grub_partition): Add 'parent' and 'number'. Remove 'data'.
-       (grub_partition_map_list): New variable.
-       (grub_partition_map_register): Inline.
-       (grub_partition_map_unregister): Likewise.
-       (FOR_PARTITION_MAPS): New macro.
-       (grub_partition_map_iterate): Removed.
-       (grub_partition_get_start): Handle nested partitions.
-       * include/grub/msdos_partition.h: Remove bsd-related entries.
-       (grub_pc_partition): Remove.
-       * kern/disk.c (grub_disk_close): Free partition data.
-       (grub_disk_adjust_range): Handle nested partitions.
-       * kern/partition.c (grub_partition_map_probe): New function.
-       (grub_partition_probe): Parse name to number, handle subpartitions.
-       (get_partmap): New function.
-       (grub_partition_iterate): Handle subpartitions.
-       (grub_partition_get_name): Likewise.
-       * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
-       * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
-       * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
-       * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
-       Set 'number'.
-       (acorn_partition_map_probe): Remove.
-       (acorn_partition_map_get_name): Likewise.
-       * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
-       Set 'number'.
-       Set 'index' to 0 since there can be only one partition entry per sector.
-       (amiga_partition_map_probe): Remove.
-       (amiga_partition_map_get_name): Likewise.
-       * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
-       Set 'number'.
-       Set 'offset' and 'index' to real positions of partitions.
-       (apple_partition_map_probe): Remove.
-       (apple_partition_map_get_name): Likewise.
-       * partmap/bsdlabel.c: New file.
-       * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
-       Set 'number'.
-       Allocate 'data' so it can be correctly freed.
-       Set 'index' to offset inside sector.
-       (gpt_partition_map_probe): Remove.
-       (gpt_partition_map_get_name): Likewise.
-       * partmap/msdos.c (grub_partition_parse): Remove.
-       (pc_partition_map_iterate): Don't force raw access.
-       Set 'number'.
-       Make 'ext_offset' a local variable.
-       (pc_partition_map_probe): Remove.
-       (pc_partition_map_get_name): Remove.
-       * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
-       Set 'number'.
-       (sun_partition_map_probe): Remove.
-       (sun_partition_map_get_name): Likewise.
-       * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
-       (grub_pcpart_type): Likewise.
-       * util/hostdisk.c (open_device): Handle new numbering scheme.
-       (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
-       * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
-       * util/grub-probe.c (probe_partmap): Handle nested paritions.
-       * util/grub-install.in: Insert all subpartition modules.
-       * util/ieee1275/grub-install.in: Likewise.
-
-2010-03-24  Adrian Glaubitz  <glaubitz@physik.fu-berlin.de>
-
-       * kern/dl.c (grub_dl_resolve_symbols): Improve error message
-       grammar.
-
-2010-03-24  Colin Watson  <cjwatson@ubuntu.com>
-
-       * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
-
-2010-03-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-install.in: Copy .mo files from @datadir@/locale, to
-       match where 'make install' puts them.
-       * util/i386/efi/grub-install.in: Likewise.
-
-2010-03-19  Colin Watson  <cjwatson@ubuntu.com>
-
-       * .bzrignore: Add gentrigtables, grub-script-check,
-       grub_script_check_init.c, grub_script_check_init.h, and
-       trigtables.c.
-
-2010-03-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * kern/parser.c: Indented.
-
-2010-03-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
-
-2010-03-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
-       alpha_mask_size == 0 case.
-
-2010-03-14  BVK Chaitanya  <bvk.groups@gmail.com>
-
-       GRUB shell lexer and parser improvements.
-
-       * conf/any-emu.rmk: Build rule updates.
-       * conf/common.rmk: Likewise.
-       * conf/i386-coreboot.rmk: Likewise.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-
-       * configure.ac: Configure check for flex.
-
-       * include/grub/script_sh.h (grub_script_arg_type_t): More argument
-       types.
-       (grub_lexer_param): Struct member updates.
-       (grub_parser_param): Likewise.
-       (GRUB_LEXER_TOKEN_MAX): Maximum token size.
-       (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
-       (grub_script_lexer_init): Prototype update.
-       (grub_script_lexer_record_start): Likewise.
-       (grub_script_lexer_record_stop): Likewise.
-       (grub_script_lexer_yywrap): New function prototype.
-       (grub_script_lexer_fini): Likewise.
-       (grub_script_execute_argument_to_string): Removed by...
-       (grub_script_execute_argument_to_argv): ...better version.
-
-       * script/execute.c (ROUND_UPTO): New macro.
-       (grub_script_execute_cmdline): Out of memory fixes.
-       (grub_script_execute_menuentry): Likewise.
-       (grub_script_execute_argument_to_string): Removed. Update all
-       users by...
-       (grub_script_execute_argument_to_argv): ...better version.
-       * script/function.c (grub_script_function_create): Use
-       grub_script_execute_argument_to_argv instead of
-       grub_script_execute_argument_to_string.
-
-       * script/lexer.c (check_varstate): Removed.
-       (check_textstate): Removed.
-       (grub_script_lexer_record_start): Likewise.
-       (grub_script_lexer_record_stop): Likewise.
-       (recordchar): Replaced with...
-       (grub_script_lexer_record): ...new function.
-       (nextchar): Removed.
-       (grub_script_lexer_init): Rewritten.
-       (grub_script_yylex): Rewritten.
-       (append_newline): New function.
-       (grub_script_lexer_yywrap): New function.
-       (grub_script_lexer_fini): New function.
-       (grub_script_yyerror): Sets error flag.
-
-       * script/yylex.l: New file.
-       (grub_lexer_yyfree): Wrapper for flex yyffre.
-       (grub_lexer_yyalloc): Likewise.
-       (grub_lexer_yyrealloc): Likewise.
-       * script/parser.y: Refactored.
-
-       * script/script.c (grub_script_arg_add): Out of memory fixes.
-       (grub_script_add_arglist): Likewise.
-       (grub_script_create_cmdline): Likewise.
-       (grub_script_create_cmdmenu): Likewise.
-       (grub_script_add_cmd): Likewise.
-       (grub_script_parse): Use grub_script_lexer_fini to deallocated.
-       * util/grub-script-check.c (grub_script_execute_menuentry): Remove
-       unnecessary code.
-
-       * tests/grub_script_echo1.in: New testcase.
-       * tests/grub_script_vars1.in: New testcase.
-       * tests/grub_script_echo_keywords.in: New testcase.
-
-2010-03-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove some redundancy in build system.
-
-       * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
-       (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
-       (TARGET_LDFLAGS): Add -nostdlib.
-       (TARGET_IMG_LDFLAGS): Likewise.
-       * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
-       anything since mmap isn't available.
-       * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
-       Add util/time.c.
-       (pkglib_MODULES): Remove reboot.mod.
-       (reboot_mod_SOURCES): Removed.
-       (reboot_mod_CFLAGS): Likewise.
-       (reboot_mod_LDFLAGS): Likewise.
-       * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
-       (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
-       (DEFSYMFILES): Add kernel_syms.lst.
-       (kernel_img_HEADERS): Add common headers.
-       (symlist.c): New target.
-       (kernel_syms.lst): Likewise.
-       (pkglib_MODULES): Add memdisk.mod.
-       (memdisk_mod_SOURCES): New variable.
-       (memdisk_mod_CFLAGS): Likewise.
-       (memdisk_mod_LDFLAGS): Likewise.
-       (pkglib_MODULES): Add reboot.mod.
-       (reboot_mod_SOURCES): New variable.
-       (reboot_mod_CFLAGS): Likewise.
-       (reboot_mod_LDFLAGS): Likewise.
-       (pkglib_MODULES): Add date.mod.
-       (date_mod_SOURCES): New variable.
-       (date_mod_CFLAGS): Likewise.
-       (date_mod_LDFLAGS): Likewise.
-       (pkglib_MODULES): Add datehook.mod.
-       (datehook_mod_SOURCES): New variable.
-       (datehook_mod_CFLAGS): Likewise.
-       (datehook_mod_LDFLAGS): Likewise.
-       (pkglib_MODULES): Add lsmmap.mod.
-       (lsmmap_mod_SOURCES): New variable.
-       (lsmmap_mod_CFLAGS): Likewise.
-       (lsmmap_mod_LDFLAGS): Likewise.
-       (pkglib_MODULES): Add boot.mod.
-       (boot_mod_SOURCES): New variable.
-       (boot_mod_CFLAGS): Likewise.
-       (boot_mod_LDFLAGS): Likewise.
-       * conf/i386-coreboot.rmk: Removed redundant parts.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/mips-yeeloong.rmk: Likewise.
-       * conf/mips.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-       * conf/i386-coreboot.rmk: Moved qemu parts ..
-       * conf/i386-qemu.rmk: ... here
-       * conf/i386-efi.rmk: Moved common parts to...
-       * conf/x86-efi.rmk: ... here.
-       * conf/i386.rmk: Added modules common to all x86 variants.
-       * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
-       * disk/memdisk.c: Remove grub/machine/kernel.h.
-       * gensymlist.sh.in: Include symbol.h.
-       * hook/datehook.c: Correct module name.
-       * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
-       (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
-       * include/grub/i386/efi/serial.h: New file.
-       * include/grub/x86_64/efi/serial.h: Likewise.
-       * util/time.c: Likewise.
-       * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
-
-2010-03-14  Colin King  <colin.king@ubuntu.com>
-2010-03-14  Colin Watson  <cjwatson@ubuntu.com>
-
-       Shrink the pre-partition-table part of boot.img by eight bytes.
-
-       * boot/i386/pc/boot.S (ERR): New macro.
-       (chs_mode): Use ERR.
-       (geometry_error): Likewise.
-       (hd_probe_error): Remove.  This is only used once, so we wrwite
-       it inline instead.
-       (read_error): Instead of printing read_error_string, just set up
-       %si and fall through to ...
-       (error_message): ... this new function, also used by ERR.
-
-2010-03-14  Colin Watson  <cjwatson@ubuntu.com>
-
-       Speed up consecutive hostdisk operations on the same device.
-
-       * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
-       (grub_util_biosdisk_open): Initialise disk->data.
-       (struct linux_partition_cache): New structure.
-       (linux_find_partition): Cache partition start positions; these are
-       expensive to compute on every read and write.
-       (open_device): Cache open file descriptor in disk->data, so that we
-       don't have to reopen it and flush the buffer cache for consecutive
-       operations on the same device.
-       (grub_util_biosdisk_close): New function.
-       (grub_util_biosdisk_dev): Set `close' member.
-
-       * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
-       * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
-       * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
-       * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
-
-2010-03-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Compile parts of grub-emu as modules.
-
-       * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
-       (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
-       partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
-       (all-local): Add $(GRUB_EMU).
-       (install-local): Install $(GRUB_EMU).
-       (uninstall): Uninstall $(GRUB_EMU).
-       * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
-       * kern/dl.c: Likewise.
-       * commands/sleep.c: Not include machine/time.h.
-       * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
-       (COMMON_CFLAGS): Likewise.
-       (sbin_UTILITIES): Remove grub-emu.
-       (grub_emu_SOURCES): Removed.
-       (kernel_img_RELOCATABLE): New variable.
-       (pkglib_PROGRAMS): Add kernel.img.
-       (kernel_img_SOURCES): New variable
-       (kernel_img_CFLAGS): Likewise.
-       (kernel_img_LDFLAGS): Likewise.
-       (TARGET_NO_STRIP): Likewise.
-       (TARGET_NO_DYNAMIC_MODULES): Likewise.
-       (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
-       halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
-       (grub-emu): New target.
-       (GRUB_EMU): New variable.
-       * configure.ac: Whitelist -emu as possible x86_64 architecture.
-       * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
-       * loader/xnu.c: Likewise.
-       * include/grub/pci.h: Likewise.
-       * genemuinit.sh: New file.
-       * genemuinitheader.sh: Likewise.
-       * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
-       Support TARGET_NO_DYNAMIC_MODULES.
-       * include/grub/dl.h (GRUB_NO_MODULES): New variable.
-       * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
-       * disk/loopback.c: Likewise.
-       * font/font_cmd.c: Likewise.
-       * partmap/acorn.c: Likewise.
-       * partmap/amiga.c: Likewise.
-       * partmap/apple.c: Likewise.
-       * partmap/gpt.c: Likewise.
-       * partmap/msdos.c: Likewise.
-       * partmap/sun.c: Likewise.
-       * parttool/msdospart.c: Likewise.
-       * term/gfxterm.c: Likewise.
-       * video/bitmap.c: Likewise.
-       * video/readers/jpeg.c: Likewise.
-       * video/readers/png.c: Likewise.
-       * video/readers/tga.c: Likewise.
-       * video/video.c: Likewise.
-       * util/grub-emu.c (read_command_list): Removed.
-       (main): Don't call util_init_nls.
-       * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
-       (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
-
-2010-03-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
-       date.mod, datehook.mod.
-       (datetime_mod_SOURCES): New variable.
-       (datetime_mod_CFLAGS): Likewise.
-       (datetime_mod_LDFLAGS): Likewise.
-       (date_mod_SOURCES): Likewise.
-       (date_mod_CFLAGS): Likewise.
-       (date_mod_LDFLAGS): Likewise.
-       (datehook_mod_SOURCES): Likewise.
-       (datehook_mod_CFLAGS): Likewise.
-       (datehook_mod_LDFLAGS): Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * lib/ieee1275/datetime.c: New file.
-
-2010-03-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
-       (ieee1275_fb_mod_SOURCES): New variable.
-       (ieee1275_fb_mod_CFLAGS): Likewise.
-       (ieee1275_fb_mod_LDFLAGS): Likewise.
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
-       New proto.
-       * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
-       (HEAP_MAX_ADDR): Likewise.
-       * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
-       type.
-       Correct stop condition.
-       (grub_ieee1275_devices_iterate): New function.
-       * video/ieee1275.c: New file.
-
-2010-03-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
-
-       * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
-       as scratch.
-       * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
-       SCRATCH_PAD_DISKBOOT as scratch.
-       (bootit): Pass Openfirmware pointer in %o4.
-       * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
-       of 0x200000.
-       (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
-       with util/grub-mkrawimage.c.
-       * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
-       * include/grub/aout.h (AOUT_MID_SUN): New definition.
-       (grub_aout_get_type) [GRUB_UTIL]: Removed.
-       (grub_aout_load) [GRUB_UTIL]: Likewise.
-       * include/grub/kernel.h (grub_modules_get_end): New proto.
-       * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
-       (SCRATCH_PAD_BOOT): New definition.
-       (SCRATCH_PAD_DISKBOOT): Likewise.
-       (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
-       * include/grub/sparc64/ieee1275/ieee1275.h
-       (grub_ieee1275_original_stack): New variable
-       * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
-       New definition
-       (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
-       (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
-       (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
-       (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
-       (GRUB_PLATFORM_IMAGE_RAW): Likewise.
-       (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
-       (grub_platform_image_format_t): New type.
-       * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
-       * kern/main.c (grub_modules_get_end)
-       [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
-       * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
-       (codestart): Switch stacks.
-       * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
-       variable.
-       (grub_heap_init): Use grub_modules_get_end.
-       * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
-       stack.
-       * util/grub-mkrawimage.c (generate_image): Support sparc64.
-       (main): Likewise.
-       * util/sparc64/ieee1275/grub-mkimage.c: Removed.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-03-14  Thorsten Glaser <tg@mirbsd.org>
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-       * util/grub-mkrescue.in: Base ISO UUID on UTC.
+       luks2: Rename json index variables to names that they are obviously json indexes
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-03-08  Matt Kraai  <kraai@ftbfs.org>
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-       * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
-       bug #559005).
+       luks2: Use more intuitive object name instead of json index in user messages
+       Use the object name in the json array rather than the 0 based index in the
+       json array for keyslots, segments, and digests. This is less confusing for
+       the end user. For example, say you have a LUKS2 device with a key in slot 1
+       and slot 4. When using the password for slot 4 to unlock the device, the
+       messages using the index of the keyslot will mention keyslot 1 (its a
+       zero-based index). Furthermore, with this change the keyslot number will
+       align with the number used to reference the keyslot when using the
+       --key-slot argument to cryptsetup.
 
-2010-03-07  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * genmoddep.awk: Output all missing symbols and not only first.
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-2010-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
+       luks2: Add idx member to struct grub_luks2_keyslot/segment/digest
+       This allows code using these structs to know the named key associated with
+       these json data structures. In the future we can use these to provide better
+       error messages to the user.
 
-       * NEWS: Put the date of 1.98 release.
+       Get rid of idx local variable in luks2_get_keyslot() which was overloaded to
+       be used for both keyslot and segment slot keys.
 
-2010-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
-       ft2build.h.
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-2010-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
+       luks2: Make sure all fields of output argument in luks2_parse_digest() are written to
+       We should assume that the output argument "out" is uninitialized and could
+       have random data. So, make sure to initialize the segments and keyslots bit
+       fields because potentially not all bits of those fields are written to.
+       Otherwise, the digest could say it belongs to keyslots and segments that it
+       does not.
 
-       * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
-       completition in the middle of string.
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-       * util/grub-mkrescue.in: Use mktemp with explicit template.
+       luks2: Remove unused argument in grub_error() call
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
+       luks2: Convert 8 spaces to tabs
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-2010-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
+       misc: Add parentheses around ALIGN_UP() and ALIGN_DOWN() arguments
+       This ensures that expected order of operations is preserved when arguments
+       are expressions.
 
-       * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
-       right pointer.
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-03-05  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-       Fix FreeBSD compilation.
+       disk: Rename grub_disk_get_size() to grub_disk_native_sectors()
+       The function grub_disk_get_size() is confusingly named because it actually
+       returns a sector count where the sectors are sized in the GRUB native sector
+       size. Rename to something more appropriate.
 
-       * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
-       * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
+       Suggested-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-03-05  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-       * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
+       loopback: Do not automaticaly replace existing loopback dev, error instead
+       If there is a loopback device with the same name as the one to be created,
+       instead of closing the old one and replacing it with the new one, return an
+       error instead. If the loopback device was created, its probably being used
+       by something and just replacing it may cause GRUB to crash unexpectedly.
+       This fixes obvious problems like "loopback d (d)/somefile". Its not too
+       onerous to force the user to delete the loopback first with the "-d" switch.
 
-2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       disk: Move hardcoded max disk size literal to a GRUB_DISK_MAX_SECTORS in disk.h
+       There is a hardcoded maximum disk size that can be read or written from,
+       currently set at 1 EiB in grub_disk_adjust_range(). Move the literal into a
+       macro in disk.h, so our assumptions are more visible. This hard coded limit
+       does not prevent using larger disks, just GRUB won't read/write past the
+       limit. The comment accompanying this restriction didn't quite make sense to
+       me, so its been modified too.
 
-       * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-03-04  Robert Millan  <rmh.grub@aybabtu.com>
+2020-12-12  Glenn Washburn  <development@efficientek.com>
 
-       Support relative image path in theme file.
+       fs: Fix block lists not being able to address to end of disk sometimes
+       When checking if a block list goes past the end of the disk, make sure
+       the total size of the disk is in GRUB native sector sizes, otherwise there
+       will be blocks at the end of the disk inaccessible by block lists.
 
-       * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
-       (image_set_property): Handle theme_dir and relative path.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-12-12  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * configure.ac: Alias amd64 to x86_64.
+       mbr: Document new limitations on MBR gap support
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-12-12  Vladimir Serbinenko  <phcoder@google.com>
 
-       * NEWS: mention multiboot on EFI.
+       mbr: Warn if MBR gap is small and user uses advanced modules
+       We don't want to support small MBR gap in pair with anything but the
+       simplest config of biosdisk + part_msdos + simple filesystem. In this
+       path "simple filesystems" are all current filesystems except ZFS and
+       Btrfs.
 
-2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/main.c (grub_load_modules): Handle errors from init functions of
-       embeded modules.
+2020-12-12  Tianjia Zhang  <tianjia.zhang@linux.alibaba.com>
 
-2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       efi/tpm: Extract duplicate code into independent functions
+       Part of the code logic for processing the return value of efi
+       log_extend_event is repetitive and complicated. Extract the
+       repetitive code into an independent function.
 
-       * normal/autofs.c (autoload_fs_module): Handle errors.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-12-12  Tianjia Zhang  <tianjia.zhang@linux.alibaba.com>
 
-       Disable linux.mod on qemu-mips since it's not functional and leads
-       to compilation failure.
+       efi/tpm: Add debug information for device protocol and eventlog
+       Add a number of debug logs to the tpm module. The condition tag
+       for opening debugging is "tpm". On TPM machines, this will bring
+       great convenience to diagnosis and debugging.
 
-       * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
-       * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
-       * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
-       * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
-       * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
-       * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
-       * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
-       * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
-       * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
-       * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
-       Reported by: BVK Chaitanya
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-03-04  Jordan Uggla  <jordan.uggla@gmail.com>
+2020-12-12  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * INSTALL: Add gettext as a dependency and add qemu to a new section
-       "Prerequisites for make-check".
+       loader/linux: Report the UEFI Secure Boot status to the Linux kernel
+       Now that the GRUB has a grub_efi_get_secureboot() function to check the
+       UEFI Secure Boot status, use it to report that to the Linux kernel.
 
-2010-03-04  Christian Franke  <franke@computer.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-pe2elf.c: Add missing include "progname.h".
+2020-12-12  Javier Martinez Canillas  <javierm@redhat.com>
 
-2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       efi: Only register shim_lock verifier if shim_lock protocol is found and SB enabled
+       The shim_lock module registers a verifier to call shim's verify, but the
+       handler is registered even when the shim_lock protocol was not installed.
 
-       * normal/crypto.c (read_crypto_list): Fix a typo.
-       Reported by: Seth Goldberg.
+       This doesn't cause a NULL pointer dereference in shim_lock_write() because
+       the shim_lock_init() function just returns GRUB_ERR_NONE if sl isn't set.
 
-2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       But in that case there's no point to even register the shim_lock verifier
+       since won't do anything. Additionally, it is only useful when Secure Boot
+       is enabled.
 
-       * Makefile.in (DISTCLEANFILES): Add stamp-h1.
-       Reported by: Seth Goldberg.
+       Finally, don't assume that the shim_lock protocol will always be present
+       when the shim_lock_write() function is called, and check for it on every
+       call to this function.
 
-2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reported-by: Michael Chang <mchang@suse.com>
+       Reported-by: Peter Jones <pjones@redhat.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
-       ascii.bitmaps.
+2020-12-11  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       efi: Add secure boot detection
+       Introduce grub_efi_get_secureboot() function which returns whether
+       UEFI Secure Boot is enabled or not on UEFI systems.
 
-       * genmk.rb: Remove terminal*.lst in make clean.
-       Reported by: Seth Goldberg.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-12-11  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * util/i386/efi/grub-install.in: Copy gettext files.
+       efi: Add a function to read EFI variables with attributes
+       It will be used to properly detect and report UEFI Secure Boot status to
+       the x86 Linux kernel. The functionality will be added by subsequent patches.
 
-2010-03-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
+2020-12-11  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2010-03-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       efi: Return grub_efi_status_t from grub_efi_get_variable()
+       This is needed to properly detect and report UEFI Secure Boot status
+       to the x86 Linux kernel. The functionality will be added by subsequent
+       patches.
 
-       Wait for user entry basing on presence of output rather than on errors.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/normal.h (grub_normal_get_line_counter): New proto.
-       (grub_install_newline_hook): Likewise.
-       * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
-       * normal/menu.c (show_menu): Check line_counter to determine presence
-       of output.
-       * normal/term.c (grub_normal_line_counter): New variable.
-       (grub_normal_get_line_counter): New function.
-       (grub_install_newline_hook): Likewise.
+2020-12-11  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2010-03-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       efi: Make shim_lock GUID and protocol type public
+       The GUID will be used to properly detect and report UEFI Secure Boot
+       status to the x86 Linux kernel. The functionality will be added by
+       subsequent patches. The shim_lock protocol type is made public for
+       completeness.
 
-       * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
+       Additionally, fix formatting of four preceding GUIDs.
 
-2010-03-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Update version to 1.98.
+2020-12-11  Javier Martinez Canillas  <javierm@redhat.com>
 
-2010-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
+       arm/term: Fix linking error due multiple ps2_state definitions
+       When building with --target=arm-linux-gnu --with-platform=coreboot
+       a linking error occurs caused by multiple definitions of the
+       ps2_state variable.
 
-       * util/grub.d/10_linux.in (linux_entry): Don't default to
-       gfxpayload=keep if Linux doesn't support video handover.
+       Mark them as static since they aren't used outside their compilation unit.
 
-2010-02-25  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Don't compile video modules on yeeloong since video subsystem is part
-       of kernel.
+2020-12-11  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
-       video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
-       * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
-       video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
-       * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
-       * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
-       * include/grub/bitmap_scale.h: Likewise.
-       * include/grub/bufio.h: Likewise.
-       * include/grub/font.h: Likewise.
-       * include/grub/gfxterm.h: Likewise.
-       * include/grub/video.h: Likewise.
-       * include/grub/vbe.h: Don't include video_fb.h.
-       * video/i386/pc/vbe.c: Include video_fb.h.
-       * commands/i386/pc/vbetest.c: Include video.h.
+       include/grub/i386/linux.h: Include missing <grub/types.h> header
+       This header uses types defined in <grub/types.h> but does not include it,
+       which leads to compile errors like the following:
 
-2010-02-25  Jordan Uggla  <jordan.uggla@gmail.com>
+       In file included from ../include/grub/cpu/linux.h:19,
+                        from kern/efi/sb.c:21:
+       ../include/grub/i386/linux.h:80:3: error: unknown type name ‘grub_uint64_t’
+          80 |   grub_uint64_t addr;
 
-       * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
-       * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
-       default entry if GRUB_SAVEDEFAULT=true.  This allows using
-       GRUB_DEFAULT=saved on its own to let grub-reboot work, without
-       saving a new default on every boot.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-24  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-12-11  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * normal/crypto.c (read_crypto_list): Fix a memory leak.
-       * normal/term.c (read_terminal_list): Likewise.
-       * normal/main.c (grub_normal_init_page): Likewise.
-       (grub_normal_read_line_real): Likewise.
+       i386: Don't include <grub/cpu/linux.h> in coreboot and ieee1275 startup.S
+       Nothing defined in the header file is used in the assembly code but it
+       may lead to build errors if some headers are included through this and
+       contains definitions that are not recognized by the assembler, e.g.:
 
-2010-02-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       ../include/grub/types.h: Assembler messages:
+       ../include/grub/types.h:76: Error: no such instruction: `typedef signed char grub_int8_t'
+       ../include/grub/types.h:77: Error: no such instruction: `typedef short grub_int16_t'
+       ../include/grub/types.h:78: Error: no such instruction: `typedef int grub_int32_t'
 
-       * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
-       memory leak.
-       Reported by: Seth Goldberg.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-24  Joey Korkames  <joey+lists@kidfixit.com>
+2020-11-20  Glenn Washburn  <development@efficientek.com>
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
-       duplicate declaration of `start'.
+       luks2: Rename index variable "j" to "i" in luks2_get_keyslot()
+       Looping variable "j" was named such because the variable name "i" was taken.
+       Since "i" has been renamed in the previous patch, we can rename "j" to "i".
 
-2010-02-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
-       filename.
-       Reported by: Georgy Buranov
+2020-11-20  Glenn Washburn  <development@efficientek.com>
 
-2010-02-20  Carles Pina i Estany  <carles@pina.cat>
+       luks2: Rename variable "i" to "keyslot_idx" in luks2_get_keyslot()
+       Variables named "i" are usually looping variables. So, rename it to
+       "keyslot_idx" to ease luks2_get_keyslot() reading.
 
-       * util/grub-mkrawimage.c (usage): Change string formatting to
-       improve gettext.
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-20  Manoel Rebelo Abranches <mrabran@br.ibm.com>
+2020-11-20  Glenn Washburn  <development@efficientek.com>
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
-       backspace keys.
+       luks2: Use correct index variable when looping in luks2_get_keyslot()
+       The loop variable "j" should be used to index the digests and segments json
+       array, instead of the variable "i", which is the keyslot index.
 
-2010-02-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
-       Reported by: Michael Suchanek.
+2020-11-20  Glenn Washburn  <development@efficientek.com>
 
-2010-02-18  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+       luks2: Rename source disk variable named "disk" to "source" as in luks.c
+       This makes it more obvious to the reader that the disk referred to is the
+       source disk, as opposed to say the disk holding the cryptodisk.
 
-       * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
-       * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-16  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-11-20  Glenn Washburn  <development@efficientek.com>
 
-       Remove any reference to non-free fonts.
+       cryptodisk: Rename "offset" in grub_cryptodisk_t to "offset_sectors"
+       This makes it clear that the offset represents sectors, not bytes, in
+       order to improve readability.
 
-       * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
-       * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
-       uses non-free components.
-       * font/font.c (grub_font_get_name): Remove example name.
-       * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
-       * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
-       * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
-       * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-16  Georgy Buranov <gburanov@gmail.com>
+2020-11-20  Glenn Washburn  <development@efficientek.com>
 
-       * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
+       cryptodisk: Rename "total_length" field in grub_cryptodisk_t to "total_sectors"
+       This creates an alignment with grub_disk_t naming of the same field and is
+       more intuitive as to how it should be used.
 
-2010-02-15  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
-       Double divisor.
-       (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
-       features.
-       (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
+2020-11-20  Glenn Washburn  <development@efficientek.com>
 
-2010-02-15  Vladimir Serbinenko  <phcoder@gmail.com>
+       types: Define GRUB_CHAR_BIT based on compiler macro instead of using literal
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * gensymlist.sh.in: Use TARGET_CC instead of CC.
+2020-11-20  Javier Martinez Canillas  <javierm@redhat.com>
 
-2010-02-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+       include/grub/arm64/linux.h: Include missing <grub/types.h> header
+       This header uses types defined in <grub/types.h> but does not include it,
+       which leads to compile errors like the following:
 
-       * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
-       * docs/grub.texi (Command-line and menu entry commands): Document play
-       command.
+       ../include/grub/cpu/linux.h:27:3: error: unknown type name ‘grub_uint32_t’
+          27 |   grub_uint32_t code0;  /* Executable code */
+             |   ^~~~~~~~~~~~~
 
-2010-02-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
-       parse arguments as inline tempo and notes.  Move code for playing notes
-       to...
-       (play): ... new function.
+2020-11-20  Javier Martinez Canillas  <javierm@redhat.com>
 
-2010-02-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+       include/grub/arm/system.h: Include missing <grub/symbol.h> header
+       The header uses the EXPORT_FUNC() macro defined in <grub/types.h> but
+       doesn't include it, which leads to the following compile error on arm:
 
-       * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
-       grub_uint16_t instead of short.
-       (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
-       disk from little endian to cpu endianness.
+       ../include/grub/cpu/system.h:12:13: error: ‘EXPORT_FUNC’ declared as function returning a function
+          12 | extern void EXPORT_FUNC(grub_arm_disable_caches_mmu) (void);
+             |             ^~~~~~~~~~~
+       ../include/grub/cpu/system.h:12:1: warning: parameter names (without types) in function declaration
+          12 | extern void EXPORT_FUNC(grub_arm_disable_caches_mmu) (void);
+             | ^~~~~~
+       make[3]: *** [Makefile:36581: kern/efi/kernel_exec-sb.o] Error 1
 
-2010-02-07  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
-       GRUB_TICKS_PER_SECOND instead of 120.
+2020-11-20  Daniel Axtens  <dja@axtens.net>
 
-2010-02-14  Vladimir Serbinenko  <phcoder@gmail.com>
+       docs: grub-install --pubkey has been supported for some time
+       grub-install --pubkey is supported, so we can now document it.
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
-       escape sequence after \e.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-14  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-11-20  Daniel Axtens  <dja@axtens.net>
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
-       non-ASCII characters.
+       docs: grub-install is no longer a shell script
+       Since commit cd46aa6cefab in 2013, grub-install hasn't been a shell
+       script. The para doesn't really add that much, especially since it's
+       the user manual, so just drop it.
 
-2010-02-14  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
-       set root in single quotes to prevent \, from being unescaped.
+2020-10-30  Jacob Kroon  <jacob.kroon@gmail.com>
 
-2010-02-14  Vladimir Serbinenko  <phcoder@gmail.com>
+       Makefile: Remove unused GRUB_PKGLIBDIR definition
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Prevent unknown commands from stopping menuentry execution.
+2020-10-30  Daniel Axtens  <dja@axtens.net>
 
-       * script/execute.c (grub_script_execute_cmdline): Print error after
-       unknown command.
+       lzma: Fix compilation error under clang 10
+       Compiling under clang 10 gives:
 
-2010-02-14  Vladimir Serbinenko  <phcoder@gmail.com>
+       grub-core/lib/LzmaEnc.c:1362:9: error: misleading indentation; statement is not part of the previous 'if' [-Werror,-Wmisleading-indentation]
+               {
+               ^
+       grub-core/lib/LzmaEnc.c:1358:7: note: previous statement is here
+             if (repIndex == 0)
+             ^
+       1 error generated.
 
-       * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
-       Reported by: Pavel Pisa.
+       It's not really that unclear in context: there's a commented-out
+       if-statement. But tweak the alignment anyway so that clang is happy.
 
-2010-02-13  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * io/gzio.c (grub_gzio_open): Use grub_zalloc.
+2020-10-30  Cao jin  <caoj.fnst@cn.fujitsu.com>
 
-2010-02-13  Vladimir Serbinenko  <phcoder@gmail.com>
+       kern/i386/realmode: Update comment
+       Commit b81d609e4c did not update it.
 
-       Merge grub_ieee1275_map_physical into grub_map and rename to
-       grub_ieee1275_map
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
-       * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
-       Remove.
-       * kern/ieee1275/openfw.c (grub_map): Rename to ...
-       (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
-       necessary.
-       * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
+2020-10-30  Glenn Washburn  <development@efficientek.com>
 
-2010-02-13  Vladimir Serbinenko  <phcoder@gmail.com>
+       cryptodisk: Fix cipher IV mode "plain64" always being set as "plain"
+       When setting cipher IV mode, detection is done by prefix matching the
+       cipher IV mode part of the cipher mode string. Since "plain" matches
+       "plain64", we must check for "plain64" first. Otherwise, "plain64" will
+       be detected as "plain".
 
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
-       opening and not after.
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-13  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-09-18  Glenn Washburn  <development@efficientek.com>
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
-       constants.
+       crypto: Remove GPG_ERROR_CFLAGS from gpg_err_code_t enum
+       This was probably added by accident when originally creating the file.
 
-2010-02-13  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
-       (alloc_phys): Use ALIGN_UP instead of align_addr.
+2020-09-18  Glenn Washburn  <development@efficientek.com>
 
-2010-02-13  Vladimir Serbinenko  <phcoder@gmail.com>
+       script: Do not allow a delimiter between function name and block start
+       Currently the following is valid syntax but should be a syntax error:
 
-       * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
+         grub> function f; { echo HERE; }
+         grub> f
+         HERE
 
-2010-02-13  Vladimir Serbinenko  <phcoder@gmail.com>
+       This fix is not backward compatible, but current syntax is not documented
+       either and has no functional value. So any scripts with this unintended
+       syntax are technically syntactically incorrect and should not be relying
+       on this behavior.
 
-       * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-13  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-09-18  Glenn Washburn  <development@efficientek.com>
 
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
-       verbose dprintf.
+       docs: Support for loading and concatenating multiple initrds
+       This has been available since January of 2012 but has not been documented.
 
-2010-02-13  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Fix over-4GiB seek on sparc64.
+2020-09-18  Glenn Washburn  <development@efficientek.com>
 
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
-       Replace pos_i and pos_lo with pos. All users updated.
-       * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
-       New constant.
-       * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
-       Likewise.
-       * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
-       and pos_lo.
+       lexer: char const * should be const char *
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-13  Vladimir Serbinenko  <phcoder@gmail.com>
+       cryptodisk: Use cipher name instead of object in error message
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mkrawimage.c (main): Call set_program_name.
+2020-09-18  Glenn Washburn  <development@efficientek.com>
 
-2010-02-13  Vladimir Serbinenko  <phcoder@gmail.com>
+       tests: F2FS test should use MOUNTDEVICE like other tests
+       LODEVICES is not an array variable and should not be accessed as such.
+       This allows the f2fs test to pass as it was failing because a device
+       name had a space prepended to the path.
 
-       Properly align 64-bit targets.
+       Acked-by: Jaegeuk Kim <jaegeuk@kernel.org>
+       Tested-by: Paul Menzel <pmenzel@molgen.mpg.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
-       (generate_image): Use ALIGN_ADDR.
+2020-09-18  Florian La Roche  <Florian.LaRoche@gmail.com>
 
-2010-02-13  Vladimir Serbinenko  <phcoder@gmail.com>
+       grub-mkconfig: If $hints is not set reduce the output into grub.cfg to just 1 line
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Properly create cross-endian images.
+2020-09-18  Petr Vorel  <pvorel@suse.cz>
 
-       * include/grub/types.h (grub_host_to_target_addr): New macro
-       * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
+       travis: Run bootstrap to fix build
+       autogen.sh isn't enough:
 
-2010-02-13  Vladimir Serbinenko  <phcoder@gmail.com>
+         $ ./autogen.sh
+         Gnulib not yet bootstrapped; run ./bootstrap instead.
+         The command "./autogen.sh" exited with 1.
 
-       * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
+       Additionally, using bootstrap requires to install autopoint package.
 
-2010-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Pass SIMPLE framebuffer size in bytes and not 64K blocks.
+2020-09-18  Patrick Steinhardt  <ps@pks.im>
 
-       * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
-       * loader/i386/linux.c (grub_linux_setup_video): Likewise.
-       (grub_linux_boot): Divide by 64K when on VESA.
+       luks2: Strip dashes off of the UUID
+       The UUID header for LUKS2 uses a format with dashes, same as for
+       LUKS(1). But while we strip these dashes for the latter, we don't for
+       the former. This isn't wrong per se, but it's definitely inconsistent
+       for users as they need to use the dashed format for LUKS2 and the
+       non-dashed format for LUKS when e.g. calling "cryptomount -u $UUID".
 
-2010-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fix this inconsistency by stripping dashes off of the LUKS2 UUID.
 
-       Support GRUB_GFXPAYLOAD_LINUX.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
-       * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
+2020-09-18  Tianjia Zhang  <tianjia.zhang@linux.alibaba.com>
 
-2010-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
+       efi/tpm: Remove unused functions and structures
+       Although the tpm_execute() series of functions are defined they are not
+       used anywhere. Several structures in the include/grub/efi/tpm.h header
+       file are not used too. There is even nonexistent grub_tpm_init()
+       declaration in this header. Delete all that unneeded stuff.
 
-       * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
-       to show messages instead of discarding them.
-       Process errors after executing command and not before. Keep old method
-       too as precaution.
+       If somebody needs the functionality implemented in the dropped code then
+       he/she can re-add it later. Now it needlessly increases the GRUB
+       code/image size.
 
-2010-02-09  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Check for ft2build.h.
+2020-09-18  Tianjia Zhang  <tianjia.zhang@linux.alibaba.com>
 
-2010-02-07  Vladimir Serbinenko  <phcoder@gmail.com>
+       shim_lock: Enable module for all EFI architectures
+       Like the tpm the shim_lock module is only enabled for x86_64 target.
+       However, there's nothing specific to x86_64 in the implementation and
+       it can be enabled for all EFI architectures.
 
-       * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-07  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-09-18  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * genkernsyms.sh.in: Use TARGET_CC.
+       efi/tpm: Fix typo in grub_efi_tpm2_protocol struct
+       Rename get_active_pcr_blanks() to get_active_pcr_banks().
 
-2010-02-07  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
 
-       * NEWS: Update.
+2020-09-18  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2010-02-07  Vladimir Serbinenko  <phcoder@gmail.com>
+       i386/efi/init: Drop bogus include
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
 
-       * include/grub/multiboot2.h: Remove leftover file.
-       * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
-       * include/grub/partition.h [GRUB_UTIL]: Likewise.
+2020-09-18  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2010-02-07  Yves Blusseau  <blusseau@zetam.org>
+       docs: Fix devicetree command description
+       Specifically fix the subsection and drop bogus reference to the GNU/Linux.
 
-       * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
+       Reported-by: Patrick Higgins <higgi1pt@gmail.com>
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
 
-2010-02-07  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-09-18  Martin Whitaker  <fsf@martin-whitaker.me.uk>
 
-       Fix warnings in grub-emu when compiling with maximum warning options.
+       grub-install: Fix inverted test for NLS enabled when copying locales
+       Commit 3d8439da8 (grub-install: Locale depends on nls) attempted to avoid
+       copying locale files to the target directory when NLS was disabled.
+       However the test is inverted, and it does the opposite.
 
-       * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
-       (grub_arch_modules_addr): Return 0 and not NULL.
-       * util/misc.c (ENABLE_RELOCATABLE): New definition.
-       (xstrdup): Use newstr instead of dup.
-       * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
-       of disk to dsk to avoid shadowing.
-       (find_free_slot): Fix prototype.
-       * util/getroot.c (grub_util_is_dmraid): Make static.
-       * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
-       Add missing prototype.
-       * util/sdl.c (grub_video_sdl_set_viewport): Remove.
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
 
-2010-02-07  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-09-11  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * loader/i386/linux.c (grub_linux_setup_video): Handle error
-       appropriately.
+       tftp: Roll-over block counter to prevent data packets timeouts
+       Commit 781b3e5efc3 (tftp: Do not use priority queue) caused a regression
+       when fetching files over TFTP whose size is bigger than 65535 * block size.
 
-2010-02-07  Vladimir Serbinenko  <phcoder@gmail.com>
+         grub> linux /images/pxeboot/vmlinuz
+         grub> echo $?
+         0
+         grub> initrd /images/pxeboot/initrd.img
+         error: timeout reading '/images/pxeboot/initrd.img'.
+         grub> echo $?
+         28
 
-       * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
-       code out.
+       It is caused by the block number counter being a 16-bit field, which leads
+       to a maximum file size of ((1 << 16) - 1) * block size. Because GRUB sets
+       the block size to 1024 octets (by using the TFTP Blocksize Option from RFC
+       2348 [0]), the maximum file size that can be transferred is 67107840 bytes.
 
-2010-02-07  Vladimir Serbinenko  <phcoder@gmail.com>
+       The TFTP PROTOCOL (REVISION 2) RFC 1350 [1] does not mention what a client
+       should do when a file size is bigger than the maximum, but most TFTP hosts
+       support the block number counter to be rolled over. That is, acking a data
+       packet with a block number of 0 is taken as if the 65356th block was acked.
 
-       * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
-       * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
-       * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
-       * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
-       * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
-       * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
+       It was working before because the block counter roll-over was happening due
+       an overflow. But that got fixed by the mentioned commit, which led to the
+       regression when attempting to fetch files larger than the maximum size.
 
-2010-02-07  Vladimir Serbinenko  <phcoder@gmail.com>
+       To allow TFTP file transfers of unlimited size again, re-introduce a block
+       counter roll-over so the data packets are acked preventing the timeouts.
 
-       * include/grub/err.h (grub_err_printf): Don't export.
+       [0]: https://tools.ietf.org/html/rfc2348
+       [1]: https://tools.ietf.org/html/rfc1350
 
-2010-02-07  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: 781b3e5efc3 (tftp: Do not use priority queue)
 
-       * include/grub/dl.h (grub_dl_register_symbol): Don't export.
+       Suggested-by: Peter Jones <pjones@redhat.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-07  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-09-11  Florian La Roche  <Florian.LaRoche@gmail.com>
 
-       * include/grub/i18n.h (grub_gettext_dummy): Removed.
-       * kern/misc.c (grub_gettext_dummy): Make static.
+       templates: Remove unnecessary trailing semicolon
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-09-11  Glenn Washburn  <development@efficientek.com>
 
-       * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
-       by non-valid ones.
-       * kern/term.c (grub_putchar): Likewise.
+       cryptodisk: Fix incorrect calculation of start sector
+       Here dev is a grub_cryptodisk_t and dev->offset is offset in sectors of size
+       native to the cryptodisk device. The sector is correctly transformed into
+       native grub sector size, but then added to dev->offset which is not
+       transformed. It would be nice if the type system would help us with this.
 
-2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
-       buggy hook call and memory leak.
+2020-09-11  Glenn Washburn  <development@efficientek.com>
 
-2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
+       cryptodisk: Unregister cryptomount command when removing module
+       Reviewed-by: Patrick Steinhardt <ps@pks.im>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * commands/ls.c (grub_ls_list_files): Free pathname on exit.
+2020-09-11  Patrick Steinhardt  <ps@pks.im>
 
-2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
+       luks2: Improve error reporting when decrypting/verifying key
+       While we already set up error messages in both luks2_verify_key() and
+       luks2_decrypt_key(), we do not ever print them. This makes it really
+       hard to discover why a given key actually failed to decrypt a disk.
 
-       * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
+       Improve this by including the error message in the user-visible output.
 
-2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
-       modevar.
-       Return grub_errno on allocation error.
+2020-09-11  Patrick Steinhardt  <ps@pks.im>
 
-2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
+       luks: Fix out-of-bounds copy of UUID
+       When configuring a LUKS disk, we copy over the UUID from the LUKS header
+       into the new grub_cryptodisk_t structure via grub_memcpy(). As size
+       we mistakenly use the size of the grub_cryptodisk_t UUID field, which
+       is guaranteed to be strictly bigger than the LUKS UUID field we're
+       copying. As a result, the copy always goes out-of-bounds and copies some
+       garbage from other surrounding fields. During runtime, this isn't
+       noticed due to the fact that we always NUL-terminate the UUID and thus
+       never hit the trailing garbage.
 
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
+       Fix the issue by using the size of the local stripped UUID field.
 
-2010-02-06  Yves Blusseau  <blusseau@zetam.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
-       (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
+2020-09-11  Patrick Steinhardt  <ps@pks.im>
 
-2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
+       json: Remove invalid typedef redefinition
+       The C standard does not allow for typedef redefinitions, even if they
+       map to the same underlying type. In order to avoid including the
+       jsmn.h in json.h and thus exposing jsmn's internals, we have exactly
+       such a forward-declaring typedef in json.h. If enforcing the GNU99 C
+       standard, clang may generate a warning about this non-standard
+       construct.
 
-       * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
-       non-pxe disk.
-       (grub_pxefs_open): Likewise.
+       Fix the issue by using a simple "struct jsmntok" forward declaration
+       instead of using a typedef.
 
-2010-02-06  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/grub.d/10_hurd.in: Add --class information to menuentries.
-       * util/grub.d/10_kfreebsd.in: Likewise.
-       * util/grub.d/10_linux.in: Likewise.
-
-2010-02-06  Colin D Bennett  <colin@gibibit.com>
-
-       * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
-       (gfxmenu_mod_SOURCES): New variable.
-       (gfxmenu_mod_CFLAGS): Likewise.
-       (gfxmenu_mod_LDFLAGS): Likewise.
-       * include/grub/term.h (grub_term_set_current_output): Declare
-       argument as const.
-       * docs/gfxmenu-theme-example.txt: New file.
-       * gfxmenu/gfxmenu.c: Likewise.
-       * gfxmenu/gui_box.c: Likewise.
-       * gfxmenu/gui_canvas.c: Likewise.
-       * gfxmenu/gui_circular_progress.c: Likewise.
-       * gfxmenu/gui_image.c: Likewise.
-       * gfxmenu/gui_label.c: Likewise.
-       * gfxmenu/gui_list.c: Likewise.
-       * gfxmenu/gui_progress_bar.c: Likewise.
-       * gfxmenu/gui_string_util.c: Likewise.
-       * gfxmenu/gui_util.c: Likewise.
-       * gfxmenu/icon_manager.c: Likewise.
-       * gfxmenu/model.c: Likewise.
-       * gfxmenu/named_colors.c: Likewise.
-       * gfxmenu/theme_loader.c: Likewise.
-       * gfxmenu/view.c: Likewise.
-       * gfxmenu/widget-box.c: Likewise.
-       * include/grub/gfxmenu_model.h: Likewise.
-       * include/grub/gfxmenu_view.h: Likewise.
-       * include/grub/gfxwidgets.h: Likewise.
-       * include/grub/gui.h: Likewise.
-       * include/grub/gui_string_util.h: Likewise.
-       * include/grub/icon_manager.h: Likewise.
-
-2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Agglomerate scrolling in gfxterm.
-
-       * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
-       (grub_virtual_screen_setup): Initialise 'total_screen'.
-       (write_char): Split to ...
-       (paint_char): ... this ...
-       (write_char): ... and this.
-       (paint_char): Handle delayed scrolling.
-       (draw_cursor): Likewise.
-       (scroll_up): Split to ...
-       (real_scroll): ... this ...
-       (scroll_up): ... and this.
-       (real_scroll): Handle multi-line scroll and draw below-the-bottom
-       characters.
-       (grub_gfxterm_refresh): Call real_scroll.
-
-2010-02-06  Colin D Bennett  <colin@gibibit.com>
-
-       * include/grub/misc.h (grub_iscntrl): New inline function.
-       (grub_isalnum): Likewise.
-       (grub_strtol): Likewise.
-
-2010-02-06  Colin D Bennett  <colin@gibibit.com>
-
-       * normal/menu_text.c (get_entry_number): Move from here ...
-       * normal/menu.c (get_entry_number): ... moved here.
-       * include/grub/menu.h (grub_menu_get_default_entry_index):
-       New prototype.
-       * normal/menu.c (grub_menu_get_default_entry_index): New function.
-       * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
-       * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
-       (grub_menu_viewer_should_return): Likewise.
-       * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
-       * normal/menu_text.c (run_menu): Enable menu switching.
-       * normal/menu_viewer.c (should_return): New variable.
-       (menu_viewer_changed): Likewise.
-       (grub_menu_viewer_show_menu): Handle menu viewer changes.
-       (grub_menu_viewer_should_return): New function.
-       (menuviewer_write_hook): Likewise.
-       (grub_menu_viewer_init): Likewise.
-
-2010-02-06  Colin D Bennet <colin@gibibit.com>
-2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support for gfxterm in a window.
-
-       * include/grub/gfxterm.h: New file.
-       * include/grub/video.h (struct grub_video_rect): New declaration.
-       (grub_video_rect_t): Likewise.
-       * term/gfxterm.c (struct grub_gfxterm_window): New type.
-       (refcount): New variable.
-       (render_target): Likewise.
-       (window): Likewise.
-       (repaint_callback): Likewise.
-       (grub_virtual_screen_setup): Use 'render_target'.
-       (init_window): New function.
-       (grub_gfxterm_init_window): Likewise.
-       (grub_gfxterm_init): Check reference counter.
-       Use init_window.
-       (destroy_window): New function.
-       (grub_gfxterm_destroy_window): Likewise.
-       (grub_gfxterm_fini): Check reference counter.
-       Use destroy_window.
-       (redraw_screen_rect): Restore viewport.
-       Use 'render_target' and 'window'.
-       Call 'repaint_callback'.
-       (write_char): Use 'render_target'.
-       (draw_cursor): Likewise.
-       (scroll_up): Restore viewport.
-       Use 'render_target' and 'window'.
-       Call 'repaint_callback'.
-       (grub_gfxterm_cls): Likewise.
-       (grub_gfxterm_refresh): Use 'window'.
-       (grub_gfxterm_set_repaint_callback): New function.
-       (grub_gfxterm_background_image_cmd): Use 'window'.
-       (grub_gfxterm_get_term): New function.
-       (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
-
-2010-02-06  Colin D Bennett  <colin@gibibit.com>
-
-       Bitmap scaling support.
-
-       * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
-       (bitmap_scale_mod_SOURCES): New variable.
-       (bitmap_scale_mod_CFLAGS): Likewise.
-       (bitmap_scale_mod_LDFLAGS): Likewise.
-       * include/grub/bitmap_scale.h: New file.
-       * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
-       (background_image_cmd_options): New variable.
-       (grub_gfxterm_background_image_cmd): Support bitmap stretching.
-       (cmd): Rename and change type to ...
-       (background_image_cmd_handle): ... this. All users updated.
-       (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
-       * video/bitmap_scale.c: New file.
-
-2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       SDL support.
-
-       * Makefile.in (LIBSDL): New variable.
-       (enable_grub_emu_sdl): Likewise.
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
-       (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
-       (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
-       * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
-       * util/sdl.c: New file.
-
-2010-02-06  Colin D Bennett  <colin@gibibit.com>
-2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Double buffering support.
-
-       * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
-       * include/grub/video.h: Update comment.
-       * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
-       New type.
-       (grub_video_fb_doublebuf_blit_init): New prototype.
-       * term/gfxterm.c (scroll_up): Support double buffering.
-       (grub_gfxterm_refresh): Likewise.
-       * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
-       (grub_video_fb_doublebuf_blit_init): Likewise.
-       * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
-       'front_target', 'back_target', 'offscreen_buffer', 'page_size',
-       'displayed_page', 'render_page' and 'update_screen'.
-       (grub_video_vbe_fini): Free offscreen buffer.
-       (doublebuf_pageflipping_commit): New function.
-       (doublebuf_pageflipping_update_screen): Likewise.
-       (doublebuf_pageflipping_init): Likewise.
-       (double_buffering_init): Likewise.
-       (grub_video_vbe_setup): Enable doublebuffering.
-       (grub_video_vbe_swap_buffers): Implement.
-       (grub_video_vbe_set_active_render_target): Handle double buffering.
-       (grub_video_vbe_get_active_render_target): Likewise.
-       (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
-       (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
-       (grub_video_vbe_enable_double_buffering): Likewise.
-       (grub_video_vbe_swap_buffers): Use update_screen.
-       (grub_video_set_mode): Use double buffering.
-
-2010-02-06  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * maintainance/gentrigtables.py: Remove.
-       * lib/trig.c: Likewise.
-
-       * gentrigtables.c: New file.  C rewrite of gentrigtables.py.
-
-       * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
-       `trigtables.c'.
-       (trigtables.c): New rule.
-       (gentrigtables): Likewise.
-       (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
-
-2010-02-06  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
-       integer constants.
-
-2010-02-06  Colin D Bennet <colin@gibibit.com>
-
-       Trigonometry support.
-
-       * include/grub/trig.h: New file.
-       * lib/trig.c: Likewise.
-       * maintainance/gentrigtables.py: Likewise.
-       * conf/common.rmk (pkglib_MODULES): Add trig.mod.
-       (trig_mod_SOURCES): New variable.
-       (trig_mod_CFLAGS): Likewise.
-       (trig_mod_LDFLAGS): Likewise.
-
-2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
-       disk devices.
-
-2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
-       error.
+       Tested-by: Chuck Tuffli <chuck@freebsd.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-09-11  Cao jin  <caoj.fnst@cn.fujitsu.com>
 
-       * util/hostdisk.c (open_device): Don't use partition device when reading
-       before the partition.
-       (grub_util_biosdisk_read): Don't read from partition and before the
-       partition in single operation.
-       (grub_util_biosdisk_write): Don't write to partition and before the
-       partition in single operation.
+       i386/relocator_common: Drop empty #ifdef
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-03  Torsten Landschoff   <torsten@debian.org>
+2020-09-11  Ave Milia  <avemilia@protonmail.com>
 
-       * kern/disk.c (grub_disk_read): Fix offset computation when reading
-       last sectors.
+       video/bochs: Fix typo
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-07-29  Colin Watson  <cjwatson@debian.org>
 
-       * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
-       CDROM reads.
-       (grub_biosdisk_write): Refuse to write to CDROM.
+       linux: Fix integer overflows in initrd size handling
+       These could be triggered by a crafted filesystem with very large files.
 
-2010-01-31  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CVE-2020-15707
 
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
+       Reviewed-by: Jan Setje-Eilers <jan.setjeeilers@oracle.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-31  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-07-29  Peter Jones  <pjones@redhat.com>
 
-       * font/font.c (find_glyph): Check that bmp_idx is available before
-       using it.
-       (grub_font_get_string_width): Never call grub_font_get_glyph_internal
-       with (font == NULL).
+       loader/linux: Avoid overflow on initrd size calculation
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-28  Christian Schmitt  <chris@ilovelinux.de>
+2020-07-29  Alexey Makhalov  <amakhalov@vmware.com>
 
-        * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
+       efi: Fix use-after-free in halt/reboot path
+       commit 92bfc33db984 ("efi: Free malloc regions on exit")
+       introduced memory freeing in grub_efi_fini(), which is
+       used not only by exit path but by halt/reboot one as well.
+       As result of memory freeing, code and data regions used by
+       modules, such as halt, reboot, acpi (used by halt) also got
+       freed. After return to module code, CPU executes, filled
+       by UEFI firmware (tested with edk2), 0xAFAFAFAF pattern as
+       a code. Which leads to #UD exception later.
 
-2010-01-28  BVK Chaitanya  <bvk.groups@gmail.com>
+       grub> halt
+       !!!! X64 Exception Type - 06(#UD - Invalid Opcode)  CPU Apic ID - 00000000 !!!!
+       RIP  - 0000000003F4EC28, CS  - 0000000000000038, RFLAGS - 0000000000200246
+       RAX  - 0000000000000000, RCX - 00000000061DA188, RDX - 0A74C0854DC35D41
+       RBX  - 0000000003E10E08, RSP - 0000000007F0F860, RBP - 0000000000000000
+       RSI  - 00000000064DB768, RDI - 000000000832C5C3
+       R8   - 0000000000000002, R9  - 0000000000000000, R10 - 00000000061E2E52
+       R11  - 0000000000000020, R12 - 0000000003EE5C1F, R13 - 00000000061E0FF4
+       R14  - 0000000003E10D80, R15 - 00000000061E2F60
+       DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
+       GS   - 0000000000000030, SS  - 0000000000000030
+       CR0  - 0000000080010033, CR2 - 0000000000000000, CR3 - 0000000007C01000
+       CR4  - 0000000000000668, CR8 - 0000000000000000
+       DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
+       DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
+       GDTR - 00000000079EEA98 0000000000000047, LDTR - 0000000000000000
+       IDTR - 0000000007598018 0000000000000FFF,   TR - 0000000000000000
+       FXSAVE_STATE - 0000000007F0F4C0
 
-       * include/grub/script_sh.h (sourcecode): Add const qualifier.
-       * util/grub-script-check.c (getline): Fix empty lines case.
+       Proposal here is to continue to free allocated memory for
+       exit boot services path but keep it for halt/reboot path
+       as it won't be much security concern here.
+       Introduced GRUB_LOADER_FLAG_EFI_KEEP_ALLOCATED_MEMORY
+       loader flag to be used by efi halt/reboot path.
 
-2010-01-28  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * Makefile.in (check): Exit with fail status when one of the tests
-       fails.
-       * tests/example_functional_test.c (example_test): Fix reversed assert.
-       * tests/example_unit_test.c (example_test): Likewise.
+2020-07-29  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2010-01-28  Colin Watson  <cjwatson@ubuntu.com>
+       efi/chainloader: Propagate errors from copy_file_path()
+       Without any error propagated to the caller, make_file_path()
+       would then try to advance the invalid device path node with
+       GRUB_EFI_NEXT_DEVICE_PATH(), which would fail, returning a NULL
+       pointer that would subsequently be dereferenced. Hence, propagate
+       errors from copy_file_path().
 
-       * util/grub.d/10_linux.in: This script does not use any of the
-       contents of gettext.sh, only the external command `gettext', so stop
-       sourcing it.  (Moreover, gettext.sh isn't necessarily installed in
-       the same prefix as GRUB.)
-       * util/grub.d/10_kfreebsd.in: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-27  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-07-29  Peter Jones  <pjones@redhat.com>
 
-       * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
-       of the line.
+       efi: Fix some malformed device path arithmetic errors
+       Several places we take the length of a device path and subtract 4 from
+       it, without ever checking that it's >= 4. There are also cases where
+       this kind of malformation will result in unpredictable iteration,
+       including treating the length from one dp node as the type in the next
+       node. These are all errors, no matter where the data comes from.
 
-2010-01-27  Vladimir Serbinenko  <phcoder@gmail.com>
+       This patch adds a checking macro, GRUB_EFI_DEVICE_PATH_VALID(), which
+       can be used in several places, and makes GRUB_EFI_NEXT_DEVICE_PATH()
+       return NULL and GRUB_EFI_END_ENTIRE_DEVICE_PATH() evaluate as true when
+       the length is too small. Additionally, it makes several places in the
+       code check for and return errors in these cases.
 
-       * kern/disk.c (grub_disk_read): Fix offset computation when reading
-       last sectors.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-27  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-07-29  Peter Jones  <pjones@redhat.com>
 
-       * commands/hashsum.c (hash_file): Avoid possible stack overflow by
-       having a 4KiB and not 32KiB buffer size.
+       emu: Make grub_free(NULL) safe
+       The grub_free() implementation in grub-core/kern/mm.c safely handles
+       NULL pointers, and code at many places depends on this. We don't know
+       that the same is true on all host OSes, so we need to handle the same
+       behavior in grub-emu's implementation.
 
-2010-01-27  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/hostfs.c: Include `<errno.h>'.
-       (grub_hostfs_read): Handle errors from fseeko() and fread().
+2020-07-29  Peter Jones  <pjones@redhat.com>
+
+       lvm: Fix two more potential data-dependent alloc overflows
+       It appears to be possible to make a (possibly invalid) lvm PV with
+       a metadata size field that overflows our type when adding it to the
+       address we've allocated. Even if it doesn't, it may be possible to do so
+       with the math using the outcome of that as an operand. Check them both.
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-07-29  Peter Jones  <pjones@redhat.com>
+
+       hfsplus: Fix two more overflows
+       Both node->size and node->namelen come from the supplied filesystem,
+       which may be user-supplied. We can't trust them for the math unless we
+       know they don't overflow. Making sure they go through grub_add() or
+       grub_calloc() first will give us that.
+
+       Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-07-29  Alexey Makhalov  <amakhalov@vmware.com>
+
+       relocator: Fix grub_relocator_alloc_chunk_align() top memory allocation
+       Current implementation of grub_relocator_alloc_chunk_align()
+       does not allow allocation of the top byte.
+
+       Assuming input args are:
+         max_addr = 0xfffff000;
+         size = 0x1000;
+
+       And this is valid. But following overflow protection will
+       unnecessarily move max_addr one byte down (to 0xffffefff):
+         if (max_addr > ~size)
+           max_addr = ~size;
+
+       ~size + 1 will fix the situation. In addition, check size
+       for non zero to do not zero max_addr.
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-07-29  Chris Coulson  <chris.coulson@canonical.com>
 
-2010-01-27  Robert Millan  <rmh.grub@aybabtu.com>
+       script: Avoid a use-after-free when redefining a function during execution
+       Defining a new function with the same name as a previously defined
+       function causes the grub_script and associated resources for the
+       previous function to be freed. If the previous function is currently
+       executing when a function with the same name is defined, this results
+       in use-after-frees when processing subsequent commands in the original
+       function.
 
-       * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
-       loop when using read hooks on files whose size isn't sector-aligned.
+       Instead, reject a new function definition if it has the same name as
+       a previously defined function, and that function is currently being
+       executed. Although a behavioural change, this should be backwards
+       compatible with existing configurations because they can't be
+       dependent on the current behaviour without being broken.
 
-2010-01-27  Robert Millan  <rmh.grub@aybabtu.com>
+       Fixes: CVE-2020-15706
 
-       Remove unused parameter.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
-       (grub_iso9660_open): Remove initialization of `data->length'.
+2020-07-29  Chris Coulson  <chris.coulson@canonical.com>
 
-2010-01-27  Robert Millan  <rmh.grub@aybabtu.com>
+       script: Remove unused fields from grub_script_function struct
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
-       memleak conditions.
+2020-07-29  Alexey Makhalov  <amakhalov@vmware.com>
 
-2010-01-27  Carles Pina i Estany  <carles@pina.cat>
+       relocator: Protect grub_relocator_alloc_chunk_align() max_addr against integer underflow
+       This commit introduces integer underflow mitigation in max_addr calculation
+       in grub_relocator_alloc_chunk_align() invocation.
 
-       * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
-       (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
+       It consists of 2 fixes:
+         1. Introduced grub_relocator_alloc_chunk_align_safe() wrapper function to perform
+            sanity check for min/max and size values, and to make safe invocation of
+            grub_relocator_alloc_chunk_align() with validated max_addr value. Replace all
+            invocations such as grub_relocator_alloc_chunk_align(..., min_addr, max_addr - size, size, ...)
+            by grub_relocator_alloc_chunk_align_safe(..., min_addr, max_addr, size, ...).
+         2. Introduced UP_TO_TOP32(s) macro for the cases where max_addr is 32-bit top
+            address (0xffffffff - size + 1) or similar.
 
-2010-01-26  Carles Pina i Estany  <carles@pina.cat>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/bin2h.c (usage): Fix warning (space after backslash).
+2020-07-29  Alexey Makhalov  <amakhalov@vmware.com>
 
-2010-01-26  Carles Pina i Estany  <carles@pina.cat>
+       relocator: Protect grub_relocator_alloc_chunk_addr() input args against integer underflow/overflow
+       Use arithmetic macros from safemath.h to accomplish it. In this commit,
+       I didn't want to be too paranoid to check every possible math equation
+       for overflow/underflow. Only obvious places (with non zero chance of
+       overflow/underflow) were refactored.
 
-       * font/font.c: Include `grub/fontformat.h.
-       Remove font file format constants.
-       (grub_font_load): Use the new macros.
-       * include/grub/fontformat.h: New file.
-       * util/grub-mkfont.c: Include `grub/fontformat.c'.
-       (write_font_pf2): Use the new macros.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-26  Robert Millan  <rmh.grub@aybabtu.com>
+2020-07-29  Alexey Makhalov  <amakhalov@vmware.com>
 
-       * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
-       does.
+       tftp: Do not use priority queue
+       There is not need to reassemble the order of blocks. Per RFC 1350,
+       server must wait for the ACK, before sending next block. Data packets
+       can be served immediately without putting them to priority queue.
 
-2010-01-26  Robert Millan  <rmh.grub@aybabtu.com>
+       Logic to handle incoming packet is this:
+         - if packet block id equal to expected block id, then
+           process the packet,
+         - if packet block id is less than expected - this is retransmit
+           of old packet, then ACK it and drop the packet,
+         - if packet block id is more than expected - that shouldn't
+           happen, just drop the packet.
 
-       * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
+       It makes the tftp receive path code simpler, smaller and faster.
+       As a benefit, this change fixes CID# 73624 and CID# 96690, caused
+       by following while loop:
 
-       * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
-       (_start): Macroify `0x7F'.
+         while (cmp_block (grub_be_to_cpu16 (tftph->u.data.block), data->block + 1) == 0)
 
-       * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
-       (make_install_device): Use "(pxe)" as fallback prefix when booting
-       via PXE.
+       where tftph pointer is not moving from one iteration to another, causing
+       to serve same packet again. Luckily, double serving didn't happen due to
+       data->block++ during the first iteration.
 
-2010-01-26  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CID 73624, CID 96690
 
-       * configure.ac: Reset LIBS after check for libgcc symbols.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-25  Colin Watson  <cjwatson@ubuntu.com>
+2020-07-29  Konrad Rzeszutek Wilk  <konrad.wilk@oracle.com>
 
-       * util/hostdisk.c (open_device): Add trailing newline to debug
-       message.
+       multiboot2: Fix memory leak if grub_create_loader_cmdline() fails
+       Fixes: CID 292468
 
-2010-01-25  Grégoire Sutre  <gregoire.sutre@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Check for `limits.h'.
-       * util/misc.c: Include `<limits.h>' (for PATH_MAX).
+2020-07-29  Konrad Rzeszutek Wilk  <konrad.wilk@oracle.com>
 
-2010-01-24  Robert Millan  <rmh.grub@aybabtu.com>
+       udf: Fix memory leak
+       Fixes: CID 73796
 
-       * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
-       capitalize error strings.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Reviewed-by: Jan Setje-Eilers <jan.setjeeilers@oracle.com>
 
-2010-01-24  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+2020-07-29  Konrad Rzeszutek Wilk  <konrad.wilk@oracle.com>
 
-       * util/grub.d/10_hurd.in: Add a recovery mode.
+       term: Fix overflow on user inputs
+       This requires a very weird input from the serial interface but can cause
+       an overflow in input_buf (keys) overwriting the next variable (npending)
+       with the user choice:
 
-2010-01-23  Vladimir Serbinenko  <phcoder@gmail.com>
+       (pahole output)
 
-       * configure.ac: Check for libgcc symbols with -nostdlib.
+       struct grub_terminfo_input_state {
+               int                        input_buf[6];         /*     0    24 */
+               int                        npending;             /*    24     4 */ <- CORRUPT
+               ...snip...
 
-2010-01-23  BVK Chaitanya  <bvk.groups@gmail.com>
+       The magic string requires causing this is "ESC,O,],0,1,2,q" and we overflow
+       npending with "q" (aka increase npending to 161). The simplest fix is to
+       just to disallow overwrites input_buf, which exactly what this patch does.
 
-       * acinclude.m4: Quote underquoted AC_DEFUN parameters.
+       Fixes: CID 292449
 
-2010-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
-       stack since heap may be unavailable at that point.
-       (grub_ofconsole_gotoxy): Likewise.
+2020-07-29  Konrad Rzeszutek Wilk  <konrad.wilk@oracle.com>
 
-2010-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
+       lzma: Make sure we don't dereference past array
+       The two dimensional array p->posSlotEncoder[4][64] is being dereferenced
+       using the GetLenToPosState() macro which checks if len is less than 5,
+       and if so subtracts 2 from it. If len = 0, that is 0 - 2 = 4294967294.
+       Obviously we don't want to dereference that far out so we check if the
+       position found is greater or equal kNumLenToPosStates (4) and bail out.
 
-       * configure.ac: Check for _restgpr_14_x.
-       * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
-       and _savegpr_* prototypes.
+       N.B.: Upstream LZMA 18.05 and later has this function completely rewritten
+       without any history.
 
-2010-01-22  Robert Millan  <rmh.grub@aybabtu.com>
+       Fixes: CID 51526
 
-       Use generic grub_reboot() for i386-efi.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
-       * kern/i386/efi/startup.S: Include `"../realmode.S"'.
-       * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
+2020-07-29  Chris Coulson  <chris.coulson@canonical.com>
 
-2010-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
+       json: Avoid a double-free when parsing fails.
+       When grub_json_parse() succeeds, it returns the root object which
+       contains a pointer to the provided JSON string. Callers are
+       responsible for ensuring that this string outlives the root
+       object and for freeing its memory when it's no longer needed.
 
-       * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
-       presence of "prefix" variable as it breaks when normal.mod is
-       embedded.
+       If grub_json_parse() fails to parse the provided JSON string,
+       it frees the string before returning an error. This results
+       in a double free in luks2_recover_key(), which also frees the
+       same string after grub_json_parse() returns an error.
 
-2010-01-21  Vladimir Serbinenko  <phcoder@gmail.com>
+       This changes grub_json_parse() to never free the JSON string
+       passed to it, and updates the documentation for it to make it
+       clear that callers are responsible for ensuring that the string
+       outlives the root JSON object.
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
-       stack since heap is unavailable at that point.
+       Fixes: CID 292465
 
-2010-01-21  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
-       (grub_freebsd_bootinfo): Rewritten.
-       * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
+2020-07-29  Alexey Makhalov  <amakhalov@vmware.com>
 
-2010-01-21  Vladimir Serbinenko  <phcoder@gmail.com>
+       xnu: Fix double free in grub_xnu_devprop_add_property()
+       grub_xnu_devprop_add_property() should not free utf8 and utf16 as it get
+       allocated and freed in the caller.
 
-       * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
+       Minor improvement: do prop fields initialization after memory allocations.
 
-2010-01-21  Robert Millan  <rmh.grub@aybabtu.com>
+       Fixes: CID 292442, CID 292457, CID 292460, CID 292466
 
-       * po/POTFILES: Remove mkisofs-related files.  They have their own TLP
-       domain now.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-20  Felix Zielcke <fzielcke@z-51.de>
+2020-07-29  Alexey Makhalov  <amakhalov@vmware.com>
 
-       * util/misc.c (make_system_path_relative_to_its_root): Change the work
-       around for handling "/" to the correct fix.  Fix a memory leak.  Use
-       xstrdup instead of strdup.
+       gfxmenu: Fix double free in load_image()
+       self->bitmap should be zeroed after free. Otherwise, there is a chance
+       to double free (USE_AFTER_FREE) it later in rescale_image().
 
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes: CID 292472
 
-       * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-07-29  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       Optimise glyph lookup by Basic Multilingual Plane lookup array.
+       font: Do not load more than one NAME section
+       The GRUB font file can have one NAME section only. Though if somebody
+       crafts a broken font file with many NAME sections and loads it then the
+       GRUB leaks memory. So, prevent against that by loading first NAME
+       section and failing in controlled way on following one.
 
-       * font/font.c (struct grub_font): New member 'bmp_idx'.
-       (font_init): Initialise 'bmp_idx'.
-       (load_font_index): Fill 'bmp_idx'.
-       (find_glyph): Make inline. Use bmp_idx for BMP characters.
+       Reported-by: Chris Coulson <chris.coulson@canonical.com>
+       Reviewed-by: Jan Setje-Eilers <jan.setjeeilers@oracle.com>
 
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
-       unnecessary calls.
-
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move context handling out of the kernel.
-
-       * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
-       * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
-       * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-       * include/grub/env.h: Include grub/menu.h.
-       (grub_env_var_type): Removed.
-       (grub_env_var): Replaced field 'type' with 'global'.
-       (grub_env_find): New prototype.
-       (grub_env_context_open): Remove EXPORT_FUNC.
-       (grub_env_context_close): Likewise.
-       (grub_env_export): Likewise.
-       (grub_env_set_data_slot): Removed.
-       (grub_env_get_data_slot): Likewise.
-       (grub_env_unset_data_slot): Likewise.
-       (grub_env_unset_menu): New prototype.
-       (grub_env_set_menu): Likewise.
-       (grub_env_get_menu): Likewise.
-       * include/grub/env_private.h: New file.
-       * include/grub/normal.h (grub_context_init): New prototype.
-       (grub_context_fini): Likewise.
-       * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
-       * normal/context.c (grub_cmd_export): ... to here.
-       * kern/env.c: Include env_private.h.
-       (HASHSZ): Moved to include/grub/env_private.h.
-       (grub_env_context): Likewise.
-       (grub_env_sorted_var): Likewise.
-       (current_context): Renamed from this ...
-       (grub_current_context): ...to this. 'static' removed. All users updated.
-       (grub_env_find): Removed 'static'.
-       (grub_env_context_open): Moved to normal/context.c.
-       (grub_env_context_close): Likewise.
-       (grub_env_export): Likewise.
-       (mangle_data_slot_name): Removed.
-       (grub_env_set_data_slot): Likewise.
-       (grub_env_get_data_slot): Likewise.
-       (grub_env_unset_data_slot): Likewise.
-       * kern/main.c (grub_set_root_dev): Don't export root.
-       It will be done later.
-       (grub_main): Don't export prefix.
-       It will be done later.
-       * normal/context.c: New file.
-       * normal/main.c (free_menu): Use grub_env_unset_menu.
-       (grub_normal_add_menu_entry): Use grub_env_get_menu.
-       (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
-       (GRUB_MOD_INIT(normal)): Call grub_context_init.
-       (GRUB_MOD_FINI(normal)): Call grub_context_fini.
-
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       setpci support.
-
-       * commands/setpci.c: New file.
-       * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
-       (setpci_mod_SOURCES): New variable.
-       (setpci_mod_CFLAGS): Likewise.
-       (setpci_mod_LDFLAGS): Likewise.
-
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Byte-addressable PCI configuration space.
-
-       * bus/pci.c (grub_pci_make_address): Use byte address instead of
-       dword address.
-       (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
-       GRUB_PCI_REG_CACHELINE.
-       * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
-       GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
-       * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
-       GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
-       * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
-       * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
-       grub_pci_make_address.
-       (lock_rom_area): Likewise.
-       * commands/lspci.c (grub_lspci_iter): Use macroses
-       GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
-       of grub_pci_make_address.
-       * disk/ata.c (grub_ata_pciinit): Likewise.
-       * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
-       (GRUB_PCI_REG_VENDOR): Likewise.
-       (GRUB_PCI_REG_DEVICE): Likewise.
-       (GRUB_PCI_REG_COMMAND): Likewise.
-       (GRUB_PCI_REG_STATUS): Likewise.
-       (GRUB_PCI_REG_REVISION): Likewise.
-       (GRUB_PCI_REG_CLASS): Likewise.
-       (GRUB_PCI_REG_CACHELINE): Likewise.
-       (GRUB_PCI_REG_LAT_TIMER): Likewise.
-       (GRUB_PCI_REG_HEADER_TYPE): Likewise.
-       (GRUB_PCI_REG_BIST): Likewise.
-       (GRUB_PCI_REG_ADDRESSES): Likewise.
-       (GRUB_PCI_REG_ADDRESS_REG): Likewise.
-       (GRUB_PCI_REG_ADDRESS_REG): Likewise.
-       (GRUB_PCI_REG_ADDRESS_REG): Likewise.
-       (GRUB_PCI_REG_ADDRESS_REG): Likewise.
-       (GRUB_PCI_REG_ADDRESS_REG): Likewise.
-       (GRUB_PCI_REG_ADDRESS_REG): Likewise.
-       (GRUB_PCI_REG_CIS_POINTER): Likewise.
-       (GRUB_PCI_REG_SUBVENDOR): Likewise.
-       (GRUB_PCI_REG_SUBSYSTEM): Likewise.
-       (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
-       (GRUB_PCI_REG_CAP_POINTER): Likewise.
-       (GRUB_PCI_REG_IRQ_LINE): Likewise.
-       (GRUB_PCI_REG_IRQ_PIN): Likewise.
-       (GRUB_PCI_REG_MIN_GNT): Likewise.
-       (GRUB_PCI_REG_MAX_LAT): Likewise.
-       * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
-       * loader/i386/efi/xnu.c (find_framebuf): Likewise.
-       * video/efi_uga.c (find_framebuf): Likewise.
-       * video/sm712.c (grub_video_sm712_setup): Likewise.
-       * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
-       space.
-
-2010-01-20  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
-       can be reliably determined to be supported.
-
-2010-01-20  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
-       that VESA is supported.
-       (grub_linux_boot): Use generic framebuffer unless VESA is known to be
-       supported.
-
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
-
-2010-01-20  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/misc.c (make_system_path_relative_to_its_root): Work around
-       special-casing of "/", as previous incarnation of this routine did.
-
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix any-emu compilation.
+2020-07-29  Peter Jones  <pjones@redhat.com>
 
-       * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
-       * grub_bin2h_SOURCES: New variable.
+       iso9660: Don't leak memory on realloc() failures
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-20  Robert Millan  <rmh.grub@aybabtu.com>
+2020-07-29  Peter Jones  <pjones@redhat.com>
 
-       * util/grub.d/00_header.in: Fix stupid mistake from last commit.
+       malloc: Use overflow checking primitives where we do complex allocations
+       This attempts to fix the places where we do the following where
+       arithmetic_expr may include unvalidated data:
 
-2010-01-20  Robert Millan  <rmh.grub@aybabtu.com>
+         X = grub_malloc(arithmetic_expr);
 
-       * util/grub.d/00_header.in: Fix handling of locale_dir.
+       It accomplishes this by doing the arithmetic ahead of time using grub_add(),
+       grub_sub(), grub_mul() and testing for overflow before proceeding.
 
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Among other issues, this fixes:
+         - allocation of integer overflow in grub_video_bitmap_create()
+           reported by Chris Coulson,
+         - allocation of integer overflow in grub_png_decode_image_header()
+           reported by Chris Coulson,
+         - allocation of integer overflow in grub_squash_read_symlink()
+           reported by Chris Coulson,
+         - allocation of integer overflow in grub_ext2_read_symlink()
+           reported by Chris Coulson,
+         - allocation of integer overflow in read_section_as_string()
+           reported by Chris Coulson.
 
-       * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
-       as possible unifont location (Gentoo).
-       Reported by: Alexander Brüning
+       Fixes: CVE-2020-14309, CVE-2020-14310, CVE-2020-14311
 
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Don't try to generate lists for kernel.img.
+2020-07-29  Peter Jones  <pjones@redhat.com>
 
-       * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
-       (pkglib_MODULES): Remove kernel.img.
-       (kernel_img_EXPORTS): Removed.
-       (kernel_img_RELOCATABLE): New variable.
-       * conf/x86_64-efi.rmk: Likewise.
-       * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
+       calloc: Use calloc() at most places
+       This modifies most of the places we do some form of:
 
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+         X = malloc(Y * Z);
 
-       * include/grub/misc.h (grub_sprintf): Removed. All users switched to
-       grub_xasprintf or grub_snprintf.
-       (grub_vsprintf): Likewise.
-       (grub_snprintf): New proto.
-       (grub_vsnprintf): Likewise.
-       (grub_xasprintf): Likewise.
-       (grub_xvasprintf): Likewise.
-       * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
-       (grub_sprintf): Removed.
-       (grub_vsnprintf): New function.
-       (grub_snprintf): Likewise.
-       (grub_xvasprintf): Likewise.
-       (grub_xasprintf): Likewise.
-       (grub_vsprintf): Renamed to ...
-       (grub_vsnprintf_real): ...this. New argument max_len.
+       to use calloc(Y, Z) instead.
 
-2010-01-20  BVK Chaitanya  <bvk.groups@gmail.com>
+       Among other issues, this fixes:
+         - allocation of integer overflow in grub_png_decode_image_header()
+           reported by Chris Coulson,
+         - allocation of integer overflow in luks_recover_key()
+           reported by Chris Coulson,
+         - allocation of integer overflow in grub_lvm_detect()
+           reported by Chris Coulson.
 
-       * include/grub/script_sh.h (sourcecode): Remove const qualifier to
-       fix grub-script-check warning.
+       Fixes: CVE-2020-14308
 
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/font.h (grub_font_load): Fix prototype.
+2020-07-29  Peter Jones  <pjones@redhat.com>
 
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       calloc: Make sure we always have an overflow-checking calloc() available
+       This tries to make sure that everywhere in this source tree, we always have
+       an appropriate version of calloc() (i.e. grub_calloc(), xcalloc(), etc.)
+       available, and that they all safely check for overflow and return NULL when
+       it would occur.
 
-       * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-07-29  Peter Jones  <pjones@redhat.com>
 
-       * include/grub/x86_64/at_keyboard.h: New file.
+       safemath: Add some arithmetic primitives that check for overflow
+       This adds a new header, include/grub/safemath.h, that includes easy to
+       use wrappers for __builtin_{add,sub,mul}_overflow() declared like:
 
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
+         bool OP(a, b, res)
 
-       * loader/mips/linux.c: Include missing grub/i18n.h.
+       where OP is grub_add, grub_sub or grub_mul. OP() returns true in the
+       case where the operation would overflow and res is not modified.
+       Otherwise, false is returned and the operation is executed.
 
-2009-12-20  Robert Millan  <rmh.grub@aybabtu.com>
+       These arithmetic primitives require newer compiler versions. So, bump
+       these requirements in the INSTALL file too.
 
-       * normal/menu.c (notify_execution_failure): Clarify error message.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-12-20  Robert Millan  <rmh.grub@aybabtu.com>
+2020-07-29  Peter Jones  <pjones@redhat.com>
 
-       * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
-       return value (and revert all return statements).  Update users.
+       yylex: Make lexer fatal errors actually be fatal
+       When presented with a command that can't be tokenized to anything
+       smaller than YYLMAX characters, the parser calls YY_FATAL_ERROR(errmsg),
+       expecting that will stop further processing, as such:
 
-2010-01-20  Dan Merillat  <debian@dan.merillat.org>
+         #define YY_DO_BEFORE_ACTION \
+               yyg->yytext_ptr = yy_bp; \
+               yyleng = (int) (yy_cp - yy_bp); \
+               yyg->yy_hold_char = *yy_cp; \
+               *yy_cp = '\0'; \
+               if ( yyleng >= YYLMAX ) \
+                       YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \
+               yy_flex_strncpy( yytext, yyg->yytext_ptr, yyleng + 1 , yyscanner); \
+               yyg->yy_c_buf_p = yy_cp;
 
-       * kern/device.c (grub_device_iterate): Allocate new part_ent
-       structure based on sizeof (*p) rather than sizeof (p->next), to
-       account for structure padding.
+       The code flex generates expects that YY_FATAL_ERROR() will either return
+       for it or do some form of longjmp(), or handle the error in some way at
+       least, and so the strncpy() call isn't in an "else" clause, and thus if
+       YY_FATAL_ERROR() is *not* actually fatal, it does the call with the
+       questionable limit, and predictable results ensue.
 
-       * util/grub-probe.c (probe_raid_level): Return -1 immediately if
-       disk is NULL, which might happen for LVM physical volumes with no
-       LVM signature.
+       Unfortunately, our implementation of YY_FATAL_ERROR() is:
 
-2009-12-20  Robert Millan  <rmh.grub@aybabtu.com>
+          #define YY_FATAL_ERROR(msg)                     \
+            do {                                          \
+              grub_printf (_("fatal error: %s\n"), _(msg));     \
+            } while (0)
 
-       * loader/mips/linux.c (grub_cmd_initrd)
-       (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
+       The same pattern exists in yyless(), and similar problems exist in users
+       of YY_INPUT(), several places in the main parsing loop,
+       yy_get_next_buffer(), yy_load_buffer_state(), yyensure_buffer_stack,
+       yy_scan_buffer(), etc.
 
-2009-12-20  Robert Millan  <rmh.grub@aybabtu.com>
+       All of these callers expect YY_FATAL_ERROR() to actually be fatal, and
+       the things they do if it returns after calling it are wildly unsafe.
 
-       * kern/mips/yeeloong/init.c (grub_video_sm712_init)
-       (grub_video_video_init, grub_video_bitmap_init)
-       (grub_font_manager_init, grub_term_gfxterm_init)
-       (grub_at_keyboard_init): New extern declarations.
-       (grub_machine_init): Initialize gfxterm and at_keyboard.
-
-       * kern/main.c (grub_main): Revert grub_printf delay kludge.
-
-       * util/grub-install.in: Revert embed of `at_keyboard.mod' and
-       `gfxterm.mod' into core image.
-
-       * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
-       (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
-       (kernel_img_FORMAT): Copy to ...
-
-       * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
-       (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
-       (kernel_img_FORMAT): ... here, and ...
-
-       * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
-       (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
-       (kernel_img_FORMAT): ... here.
-
-       (kernel_img_SOURCES): Add files necessary for output (gfxterm)
-       and input (at_keyboard) terminals in kernel.
-       (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
-
-       (pkglib_MODULES): Remove `pci.mod'.
-       (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
-       (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
-       (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
-       (at_keyboard_mod_LDFLAGS): Remove variables.
-
-2010-01-11  Felix Zielcke <fzielcke@z-51.de>
-
-       * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
-
-2009-12-10  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/grub/mips/libgcc.h: Only export symbols for functions
-       that libgcc provides.
-
-2009-12-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       MIPS support.
-
-       * bus/bonito.c: New file.
-       * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
-       GRUB_PCI_NUM_DEVICES.
-       * term/i386/pc/serial.c: Move to ...
-       * term/serial.c: ... here. All users updated.
-       * util/i386/pc/grub-mkimage.c: Move to ...
-       * util/grub-mkrawimage.c: ... here. All users updated.
-       * term/i386/pc/at_keyboard.c: Move to ...
-       * term/at_keyboard.c: ... here. All users updated.
-       * conf/mips-qemu-mips.rmk: New file.
-       * conf/mips-yeeloong.rmk: Likewise.
-       * conf/mips.rmk: Likewise.
-       * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
-       mipsel-qemu-mips.
-       * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
-       to port addresses.
-       (grub_ata_pciinit): Support CS5536.
-       * font/font.c (grub_font_load): Use grub_file_t instead of filename.
-       * font/font_cmd.c (loadfont_command): Open file before passing it to
-       grub_font_load.
-       (pseudo_file_read): New function.
-       (pseudo_file_close): Likewise.
-       (pseudo_fs): New structure.
-       (load_font_module): New function.
-       (GRUB_MOD_INIT(font_manager)): Load embedded font.
-       * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
-       * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
-       * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
-       * include/grub/i386/at_keyboard.h: Split into ...
-       * include/grub/at_keyboard.h: ... this ...
-       * include/grub/i386/at_keyboard.h: ... and this.
-       * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
-       New prototype.
-       * include/grub/elfload.h (grub_elf32_size): New parameter. All users
-       updated.
-       (grub_elf64_size): Likewise.
-       * include/grub/font.h (grub_font_load): Use grub_file_t instead of
-       filename.
-       * include/grub/i386/io.h (grub_port_t): New type. All users updated.
-       * include/grub/i386/coreboot/serial.h: Rewritten.
-       * include/grub/i386/ieee1275/serial.h: Include
-       grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
-       * include/grub/i386/pc/serial.h: Moved from here ...
-       * include/grub/serial.h: ... to here. All users updated.
-       * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
-       (GRUB_PCI_NUM_BUS): Likewise.
-       (GRUB_PCI_NUM_DEVICES): Likewise.
-       (grub_pci_device_map_range): Add missing volatile keyword.
-       * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
-       * include/grub/mips/at_keyboard.h: New file.
-        * include/grub/mips/cache.h: Likewise.
-        * include/grub/mips/io.h: Likewise.
-        * include/grub/mips/kernel.h: Likewise.
-        * include/grub/mips/libgcc.h: Likewise.
-        * include/grub/mips/pci.h: Likewise.
-        * include/grub/mips/qemu-mips/boot.h: Likewise.
-        * include/grub/mips/qemu-mips/kernel.h: Likewise.
-        * include/grub/mips/qemu-mips/loader.h: Likewise.
-        * include/grub/mips/qemu-mips/memory.h: Likewise.
-        * include/grub/mips/qemu-mips/serial.h: Likewise.
-        * include/grub/mips/qemu-mips/time.h: Likewise.
-        * include/grub/mips/relocator.h: Likewise.
-        * include/grub/mips/time.h: Likewise.
-        * include/grub/mips/types.h: Likewise.
-        * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
-        * include/grub/mips/yeeloong/boot.h: Likewise.
-        * include/grub/mips/yeeloong/kernel.h: Likewise.
-        * include/grub/mips/yeeloong/loader.h: Likewise.
-        * include/grub/mips/yeeloong/memory.h: Likewise.
-        * include/grub/mips/yeeloong/pci.h: Likewise.
-        * include/grub/mips/yeeloong/serial.h: Likewise.
-        * include/grub/mips/yeeloong/time.h: Likewise.
-       * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
-       * kern/elf.c (grub_elf32_size): New parameter. All users
-       updated.
-       (grub_elf64_size): Likewise.
-       * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
-       Load modules before saying "Welcome to GRUB!".
-       Call grub_refresh after saying "Welcome to GRUB!".
-        * kern/mips/cache.S: New file.
-        * kern/mips/cache_flush.S: Likewise.
-        * kern/mips/dl.c: Likewise.
-        * kern/mips/init.c: Likewise.
-        * kern/mips/qemu-mips/init.c: Likewise.
-        * kern/mips/startup.S: Likewise.
-        * kern/mips/yeeloong/init.c: Likewise.
-       * kern/term.c (grub_putcode): Handle NULL terminal.
-       (grub_getcharwidth): Likewise.
-       (grub_getkey): Likewise.
-       (grub_checkkey): Likewise.
-       (grub_getkeystatus): Likewise.
-       (grub_getxy): Likewise.
-       (grub_getwh): Likewise.
-       (grub_gotoxy): Likewise.
-       (grub_cls): Likewise.
-       (grub_setcolorstate): Likewise.
-       (grub_setcolor): Likewise.
-       (grub_getcolor): Likewise.
-       (grub_refresh): Likewise.
-       * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
-       (write_jump): Add hatch nop.
-       * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
-        * lib/mips/setjmp.S: New file.
-        * loader/mips/linux.c: Likewise.
-       * term/i386/pc/at_keyboard.c: Move from here ...
-       * term/at_keyboard.c: ... to here.
-       * term/i386/pc/serial.c: Moved from here ...
-       * term/serial.c: ... to here. All users updated.
-       (TEXT_HEIGHT): Set to 24 to fit linux terminal.
-       (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
-       (serial_translate_key_sequence): Avoid deadlock.
-       (grub_serial_getkey): Handle backspace.
-       (grub_serial_putchar): Fix newline handling.
-       * util/i386/pc/grub-mkimage.c: Move from here ...
-       * util/grub-mkrawimage.c: ... to here. All users updated.
-       (generate_image): New parameters 'font_path' and 'format'.
-       Support embedding font.
-       Use grub_host_to_target* instead of grub_cpu_to_le*.
-       (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
-       (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
-       (options): New option "--font".
-       (usage): Likewise.
-       (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
-       (main): Handle "--font".
-       * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
-       (grub_virtual_screen_setup): Set bg_color_display.
-       (redraw_screen_rect): Use bg_color_display instead of incorrect
-       bg_color.
-       (grub_gfxterm_cls): Likewise.
-       * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
-       Support embedding config file.
-       (add_segments): Likewise.
-       (options): New option "--config".
-       (main): Handle "--config".
-       * video/sm712.c: New file.
-
-2010-01-18  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Fix parallel builds.
-
-       * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
-       font.c depend on ascii.h).
-
-2010-01-12  Carles Pina i Estany  <carles@pina.cat>
-
-       * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
-
-2010-01-11  Carles Pina i Estany  <carles@pina.cat>
-
-       * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
-       By default: disabled.
-       * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
-       parameter.
-
-2010-01-10  Carles Pina i Estany  <carles@pina.cat>
-
-       * font/font.c: Update copyright years.
-       * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
-
-2010-01-10  Carles Pina i Estany  <carles@pina.cat>
-
-       * font/font.c: Include `ascii.h'.
-       (ASCII_BITMAP_SIZE): New macro.
-       (ascii_font_glyph): Define.
-       (ascii_glyph_lookup): New function.
-       (grub_font_get_string_width): Change comment. If glyph not found, use
-       ascii_glyph_lookup.
-       (grub_font_get_glyph_with_fallback): If glyph not available returns
-       ascii_glyph_lookup.
-       * util/grub-mkfont.c (file_formats): New enum.
-       (options): Add `ascii-bitmaps' new option.
-       (usage): Add `asii-bitmaps' new option.
-       (write_font_ascii_bitmap): New function.
-       (write_font): Rename to ...
-       (write_font_p2): ... this. Remove print_glyphs call.
-       (main): Use file_format. Implement code for ranges if ascii-bitmaps is
-       used. Call print_glyphs.
-       * Makefile.in (pkgdata_DATA): Add `ascii.h'.
-
-2010-01-14  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
-       (grub_bin2h_SOURCES): New variable.
-       * util/bin2h.c: New file.
-
-2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/multiboot.h: Resynced with spec.
-       * include/multiboot2.h: Likewise.
-       * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
-       GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
-
-2010-01-18  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/grub/term.h (grub_term_register_input,
-       grub_term_register_output): Check return of terminal init()
-       routines, and abort if errors are raised.
+       Fixes: CVE-2020-10713
 
-       * commands/terminal.c: Update copyright year.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-18  Robert Millan  <rmh.grub@aybabtu.com>
+2020-05-25  Marc Zyngier  <maz@kernel.org>
 
-       * commands/terminal.c (grub_cmd_terminal_input)
-       (grub_cmd_terminal_output): Check return of terminal init()
-       routines, and abort if errors are raised.
+       arm: Fix 32-bit ARM handling of the CTR register
+       When booting on an ARMv8 core that implements either CTR.IDC or CTR.DIC
+       (indicating that some of the cache maintenance operations can be
+       removed when dealing with I/D-cache coherency, GRUB dies with a
+       "Unsupported cache type 0x........" message.
 
-2010-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       This is pretty likely to happen when running in a virtual machine
+       hosted on an arm64 machine (I've triggered it on a system built around
+       a bunch of Cortex-A55 cores, which implements CTR.IDC).
 
-       * include/grub/i386/bsd.h: Fix include pathes.
+       It turns out that the way GRUB deals with the CTR register is a bit
+       harsh for anything from ARMv7 onwards. The layout of the register is
+       backward compatible, meaning that nothing that gets added is allowed to
+       break earlier behaviour. In this case, ignoring IDC is completely fine,
+       and only results in unnecessary cache maintenance.
 
-2010-01-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       We can thus avoid being paranoid, and align the 32bit behaviour with
+       its 64bit equivalent.
 
-       Add missing *BSD copyright headers.
+       This patch has the added benefit that it gets rid of a (gnu-specific)
+       case range too.
 
-       * include/grub/aout.h: Add BSD licence.
-       * include/grub/i386/bsd.h: Parts under different licences moved to ...
-       * include/grub/i386/freebsd_linker.h: ... here,
-       * include/grub/i386/freebsd_reboot.h: ... here,
-       * include/grub/i386/netbsd_bootinfo.h: ... here,
-       * include/grub/i386/netbsd_reboot.h: ... here,
-       * include/grub/i386/openbsd_bootarg.h: ... here,
-       * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
-       licence to each file.
+       Reviewed-by: Leif Lindholm <leif@nuviainc.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-18  Robert Millan  <rmh.grub@aybabtu.com>
+2020-05-25  Ian Jackson  <ian.jackson@eu.citrix.com>
 
-       * acinclude.m4: Remove `nop' assembly instruction; it's not
-       implemented by all architectures.
+       templates/20_linux_xen: Support Xen Security Modules (XSM/FLASK)
+       XSM is enabled by adding "flask=enforcing" as a Xen command line
+       argument, and providing the policy file as a grub module.
 
-2010-01-18  Robert Millan  <rmh.grub@aybabtu.com>
+       We make entries for both with and without XSM. If XSM is not compiled
+       into Xen, then there are no policy files, so no change to the boot
+       options.
 
-       * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
-       ELILO.  This is no longer necessary.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-18  BVK Chaitanya  <bvk.groups@gmail.com>
+2020-05-25  Ian Jackson  <ian.jackson@eu.citrix.com>
 
-       Added new tool, grub-scrit-check to verify grub.cfg syntax.
+       templates/20_linux_xen: Ignore xenpolicy and config files too
+       file_is_not_sym() currently only checks for xen-syms. Extend it to
+       disregard xenpolicy (XSM policy files) and files ending .config (which
+       are built by the Xen upstream build system in some configurations and
+       can therefore end up in /boot).
 
-       * util/grub-script-check.c: grub-script-check tool.
-       * conf/common.rmk: Make rules for grub-script-check.
+       Rename the function accordingly, to file_is_not_xen_garbage().
 
-2010-01-18  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Fix annoying UI bug in rescue mode.  Thanks to Tristan Gingold for
-       spotting it back in 2008.  Shame on me for forgetting he did.
-
-       * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
-
-2010-01-18  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
-       (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this.  Update all users.
-       (GRUB_VIDEO_TYPE_VLFB): Rename to ...
-       (GRUB_VIDEO_LINUX_TYPE_VESA): ... this.  Update all users.
-       (GRUB_VIDEO_TYPE_EFI): Rename to ...
-       (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this.  Update all users.
-
-2010-01-17  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/grub/test.h: Add license header.
-       * tests/example_functional_test.c: Likewise.
-       * tests/example_unit_test.c: Likewise.
-       * tests/lib/functional_test.c: Likewise.
-       * tests/lib/test.c: Likewise.
-       * tests/lib/unit_test.c: Likewise.
-
-2010-01-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use flag-based instead of hook-based video mode selection and "auto"
-       keyword.
-
-       * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
-       (grub_video_set_mode): Changed prototype. All users updated.
-       (grub_video_check_mode_flag): New inline function.
-       * video/video.c (parse_modespec): New function.
-       (grub_video_set_mode): Parse flags and keywords.
-
-2010-01-17  Carles Pina i Estany  <carles@pina.cat>
-
-       * util/misc.c (grub_util_info): Fix the order of the parameters in a
-       fprintf call.
-
-2010-01-16  Grégoire Sutre <gregoire.sutre@gmail.com>
-
-       * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
-
-2010-01-16  Carles Pina i Estany  <carles@pina.cat>
-
-       * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
-       string.
-       * util/grub-emu.c (usage): Likewise.
-       * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
-       * util/i386/efi/grub-mkimage.c (usage): Likewise.
-       * util/i386/pc/grub-mkimage.c (usage): Likewise.
-       * util/i386/pc/grub-setup.c (usage): Likewise.
-
-2010-01-16  Carles Pina i Estany  <carles@pina.cat>
-
-       * util/misc.c (grub_util_warn): Gettextizze, print full stop after
-       the message.
-       (grub_util_info): Likewise.
-       (grub_util_error): Likewise.
-       * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
-       and/or new lines in `grub_util_warna', `grub_util_info',
-       `grub_util_error' calls.
-       * util/getroot.c: Likewise.
-       * util/grub-editenv.c: Likewise.
-       * util/grub-emu.c: Likewise.
-       * util/grub-fstest.c: Likewise.
-       * util/grub-mkdevicemap.c: Likewise.
-       * util/grub-mkfont.c: Likewise.
-       * util/grub-mkpasswd-pbkdf2.c: Likewise.
-       * util/grub-mkrelpath.c: Likewise.
-       * util/grub-pe2elf.c: Likewise.
-       * util/grub-probe.c: Likewise.
-       * util/hostdisk.c: Likewise.
-       * util/i386/efi/grub-mkimage.c: Likewise.
-       * util/i386/pc/grub-mkimage.c: Likewise.
-       * util/i386/pc/grub-setup.c: Likewise.
-       * util/ieee1275/ofpath.c: Likewise.
-       * util/mkisofs/eltorito.c: Likewise.
-       * util/mkisofs/rock.c: Likewise.
-       * util/mkisofs/write.c: Likewise.
-       * util/raid.c: Likewise.
-       * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
-       * util/sparc64/ieee1275/grub-setup.c: Likewise.
-
-2010-01-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Enable multiboot on non-pc.
-
-       * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
-       multiboot.mod and multiboot2.mod to ...
-       * conf/i386.rmk (pkglib_MODULES): ... here.
-       * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
-       Moved to ...
-       * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
-       * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
-       Moved to ...
-       * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
-       * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
-       Moved to ...
-       * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
-       * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
-       Moved to ...
-       * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
-       * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
-       relocator.mod.
-       (ata_mod_SOURCES): Removed.
-       (ata_mod_CFLAGS): Likewise.
-       (ata_mod_LDFLAGS): Likewise.
-       (relocator_mod_SOURCES): Removed.
-       (relocator_mod_CFLAGS): Likewise.
-       (relocator_mod_ASFLAGS): Likewise.
-       (relocator_mod_LDFLAGS): Likewise.
-       Include i386.mk.
-       * include/grub/x86_64/multiboot.h: New file.
-       * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
-       Terminate EFI.
-
-2010-01-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Video multiboot support.
-
-       * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
-       New prototype.
-       * include/multiboot.h: Resynced with multiboot specification.
-       * include/multiboot2.h: Likewise.
-       * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
-       (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
-       * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
-       (HAS_VGA_TEXT): Likewise.
-       (accepts_video): New variable.
-       (grub_multiboot_set_accepts_video): New function.
-       (grub_multiboot_get_mbi_size): Account for video structures.
-       (set_video_mode): New function.
-       (retrieve_video_parameters): Likewise.
-       (grub_multiboot_make_mbi): Fill video fields.
-
-2010-01-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Video driver ids.
-
-       * include/grub/video.h (grub_video_driver_id): New type.
-       (grub_video_adapter): New member 'id'. All users updated.
-       (grub_video_get_driver_id): New proto.
-       * video/video.c (grub_video_get_driver_id): New function.
-
-2010-01-14  Carles Pina i Estany  <carles@pina.cat>
-
-       * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
-       `var=val'.
-
-2010-01-14  Carles Pina i Estany  <carles@pina.cat>
-
-       * normal/cmdline.c (print_completion): Gettextizze.
-
-2001-01-14  Carles Pina i Estany  <carles@pina.cat>
-
-       * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
-
-2010-01-14  Carles Pina i Estany  <carles@pina.cat>
-
-       * gettext/gettext.c (grub_gettext_translate): Push and pop
-       grub_errno.
-       (grub_gettext_delete_list): Change comment style.
-       * kern/err.c (grub_error): Gettextizze.
-       (grub_fatal): Gettextizze.
-
-2010-01-14  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
-       (grub_linux16_real_boot): ... this.
-       * kern/i386/loader.S: Likewise.
-       * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
-       (grub_linux16_boot): New function.  Switches to text mode and calls
-       grub_linux16_real_boot().
-
-       * loader/i386/bsd.c: Include `<grub/video.h>'.
-       (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
-       text mode before calling grub_unix_real_boot().
-
-       * loader/i386/multiboot.c: Include `<grub/video.h>'.
-       (grub_multiboot_boot): Switch to text mode before calling
-       grub_relocator32_boot().
+2020-05-25  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
-       (grub_chainloader_boot): Switch to text mode before calling
-       grub_chainloader_real_boot().
-
-2010-01-05  Jordan Uggla  <jordan.uggla@gmail.com>
-2010-01-05  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-reboot.in: Make sure prev_saved_entry always gets a
-       non-empty value.
-
-2010-01-05  Jordan Uggla  <jordan.uggla@gmail.com>
-2010-01-05  Colin Watson  <cjwatson@ubuntu.com>
+       net: Break out nested function
+       Nested functions are not supported in C, but are permitted as an extension
+       in the GNU C dialect. Commit cb2f15c5448 ("normal/main: Search for specific
+       config files for netboot") added a nested function which caused the build
+       to break when compiling with clang.
 
-       * util/grub.d/00_header.in: Define a "savedefault" function for use
-       in menu entries.
-       * util/grub-mkconfig_lib.in (save_default_entry): Use it.
+       Break that out into a static helper function to make the code portable again.
 
-2010-01-05  Jordan Uggla  <jordan.uggla@gmail.com>
-2010-01-05  Colin Watson  <cjwatson@ubuntu.com>
+       Reported-by: Daniel Axtens <dja@axtens.net>
+       Tested-by: Daniel Axtens <dja@axtens.net>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mkconfig_lib.in (save_default_entry): Only set
-       saved_entry if boot_once is unset.
-       * util/grub.d/00_header.in: Set boot_once to "true" if there was a
-       previous saved entry (i.e. grub-reboot).
+2020-05-25  Javier Martinez Canillas  <javierm@redhat.com>
 
-2009-12-08  Colin Watson  <cjwatson@ubuntu.com>
+       tpm: Enable module for all EFI platforms
+       The module is only enabled for x86_64, but there's nothing specific to
+       x86_64 in the implementation and can be enabled for all EFI platforms.
 
-       * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-12-08  Colin Watson  <cjwatson@ubuntu.com>
+2020-05-25  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * util/grub.d/00_header.in: Use `set var=val' rather than plain
-       `var=val'.
-       * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
-
-2009-12-08  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-reboot.in: Fix --version output.
-       * util/grub-set-default.in: Likewise.
-
-2009-12-08  Colin Watson  <cjwatson@ubuntu.com>
+       INSTALL/configure: Update install doc and configure comment
+       ..to reflect the GRUB build reality in them.
 
-       * util/grub.d/00_header.in: Silently ignore zero-sized environment
-       blocks.
+       Additionally, fix text formatting a bit.
 
-2009-12-08  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Leif Lindholm <leif@nuviainc.com>
 
-       * util/grub.d/00_header.in: Quote the value assigned to `default',
-       in case it contains spaces.
+2020-05-25  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2009-12-08  Colin Watson  <cjwatson@ubuntu.com>
+       configure: Set gnu99 C language standard by default
+       Commit d5a32255d (misc: Make grub_strtol() "end" pointers have safer
+       const qualifiers) introduced "restrict" keyword into some functions
+       definitions. This keyword was introduced in C99 standard. However, some
+       compilers by default may use C89 or something different. This behavior
+       leads to the breakage during builds when c89 or gnu89 is in force. So,
+       let's set gnu99 C language standard for all compilers by default. This
+       way a bit random build issue will be fixed and the GRUB source will be
+       build consistently regardless of type and version of the compiler.
 
-       * util/grub.d/30_os-prober.in: Fix merge error that moved a
-       `save_default_entry' call from the macosx case to the linux case.
+       It was decided to use gnu99 C language standard because it fixes the
+       issue mentioned above and also provides some useful extensions which are
+       used here and there in the GRUB source. Potentially we can use gnu11
+       too. However, this may reduce pool of older compilers which can be used
+       to build the GRUB. So, let's live with gnu99 until we discover that we
+       strongly require a feature from newer C standard.
 
-2009-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
-2009-10-25  Colin Watson  <cjwatson@ubuntu.com>
+       The user is still able to override C language standard using relevant
+       *_CFLAGS variables.
 
-       * normal/menu.c (grub_menu_execute_entry): Save selected entry title
-       in `chosen' environment variable.
-       * normal/menu_text.c (get_entry_number): Check if the variable
-       matches the title of a menu entry.
-       (run_menu): Pass menu to get_entry_number.
+       Reviewed-by: Leif Lindholm <leif@nuviainc.com>
 
-       * util/grub-reboot.in: New file.
-       * util/grub-set-default.in: New file.
-       * conf/common.rmk (grub-reboot): New utility.
-       (grub-set-default): New utility.
+2020-05-15  Tianjia Zhang  <tianjia.zhang@linux.alibaba.com>
 
-       * util/grub-mkconfig_lib.in (save_default_entry): New function.
-       * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
-       default to `${saved_entry}'.  If `${prev_saved_entry}' is non-empty,
-       move it to `saved_entry' for the next boot.  Load environment on
-       initialisation.
-       * util/grub.d/10_kfreebsd.in: Call save_default_entry.
-       * util/grub.d/10_hurd.in: Likewise.
-       * util/grub.d/10_linux.in (linux_entry): Likewise.
-       * util/grub.d/10_windows.in: Likewise.
-       * util/grub.d/30_os-prober.in: Likewise.
+       tpm: Rename function grub_tpm_log_event() to grub_tpm_measure()
+       grub_tpm_log_event() and grub_tpm_measure() are two functions that
+       have the same effect. So, keep grub_tpm_log_event() and rename it
+       to grub_tpm_measure(). This way we get also a more clear semantics.
 
-       * util/grub-install.in: Create environment block.
-       * util/i386/efi/grub-install.in: Likewise.
-       * util/ieee1275/grub-install.in: Likewise.
-       * util/sparc64/ieee1275/grub-install.in: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2010-01-14  BVK Chaitanya  <bvk.groups@gmail.com>
+2020-05-15  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       Unit testing framework for GRUB.
+       autogen: Replace -iname with -ipath in find command
+       ..because -iname cannot be used to match paths.
 
-       * Makefile.in: Test framework build rules for 'make check'.
-       * conf/tests.rmk: Build rules for individual tests and framework.
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
+       Reviewed-by: Leif Lindholm <leif@nuviainc.com>
+       Reviewed-by: Daniel Axtens <dja@axtens.net>
 
-       * include/grub/test.h: Header file for whitebox tests.
-       * tests/lib/functional_test.c: Framework support for whitebox
-       functional tests.
-       * tests/lib/test.c: Common whitebox testing code for unit and
-       functional tests.
-       * tests/lib/unit_test.c: Framework support for whitebox unit
-       tests.
+2020-05-15  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * tests/util/grub-shell-tester.in: Support utility for grub-script
-       tests.
-       * tests/util/grub-shell.in: Utility to execute grub-script
-       commands in a Qemu instance.
+       INSTALL: Update configure example
+       ..to make it more relevant.
 
-       * tests/example_functional_test.c: Example whitebox functional
-       test.
-       * tests/example_grub_script_test.in: Example grub-script test.
-       * tests/example_scripted_test.in: Example scripted test.
-       * tests/example_unit_test.c: Example whitebox unit test.
+       Reviewed-by: Leif Lindholm <leif@nuviainc.com>
 
-2010-01-14  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-05-15  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
-       Add loader/i386/multiboot_mbi.c.
-       (multiboot2_mod_SOURCES): Likewise.
-       * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
-       (multiboot2_mod_SOURCES): Likewise.
-       * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
-       (grub_multiboot_make_mbi): Likewise.
-       (grub_multiboot_free_mbi): Likewise.
-       (grub_multiboot_init_mbi): Likewise.
-       (grub_multiboot_add_module): Likewise.
-       (grub_multiboot_set_bootdev): Likewise.
-       * loader/i386/multiboot.c (mbi): Removed.
-       (mbi_dest): Likewise.
-       (alloc_mbi): New variable.
-       (grub_multiboot_payload_size): Removed. All users updated.
-       (grub_multiboot_pure_size): New variable.
-       (grub_multiboot_boot): Use grub_multiboot_make_mbi.
-       (grub_multiboot_unload): Use grub_multiboot_free_mbi.
-       (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
-       (grub_fill_multiboot_mmap): Likewise.
-       (grub_multiboot_get_bootdev): Likewise.
-       (grub_multiboot): Use multiboot_mbi functions.
-       * loader/i386/multiboot_mbi.c: New file.
-
-2010-01-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
-       it would result in module crash.
-
-2010-01-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
-       (grub_ofconsole_getwh): Split to ...
-       (grub_ofconsole_getwh): ... this.
-       (grub_ofconsole_dimensions): ...and this.
-       (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
-
-2010-01-13  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
-
-2010-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * loader/i386/pc/multiboot2.c: Removed stalled file.
-
-2010-01-12  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
-       Reported by: Grégoire Sutre
-
-2010-01-11  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/misc.c (canonicalize_file_name): New function.
-       (make_system_path_relative_to_its_root): Use canonicalize_file_name()
-       instead of realpath().
-
-2010-01-11  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-install.in (usage): Clarify meaning of --root-directory,
-       and make it clearer that it's optional.  Based on confusion
-       witnessed on IRC.
-
-2010-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
-       in premature implicit newline.
-
-2010-01-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
-       which resulted in garbled command line at the end of screen.
-
-2010-01-10  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
-       initialization with similar approach as with other Linux loaders.
-
-2010-01-10  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Fix i386-ieee1275 build.
-
-       * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
-       and grub_term_height() for video_{width,height} initialization.
-
-2010-01-10  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Fix grub-emu build.
-
-       * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
-
-2010-01-07  Vladimir Serbinenko  <phcoder@gmail.com>
-2010-01-09  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Support for multiple terminals.
-
-       * Makefile.in (pkglib_DATA): terminal.lst.
-       (terminal.lst): New target.
-       * commands/handler.c (grub_cmd_handler): Don't handle terminals.
-       (GRUB_MOD_INIT(handler)): Likewise.
-       (GRUB_MOD_FINI(handler)): Likewise.
-       * commands/help.c (grub_cmd_help): Handle multiple terminals.
-       * commands/keystatus.c (grub_cmd_keystatus): Likewise.
-       * commands/sleep.c (do_print): Use grub_term_restore_pos.
-       (grub_cmd_sleep): Use grub_term_save_pos.
-       * commands/terminal.c: New file.
-       * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
-       commands/terminal.c and lib/charset.c.
-       * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
-       (pkglib_MODULES): Add terminal.mod.
-       (terminal_mod_SOURCES): New variable.
-       (terminal_mod_CFLAGS): Likewise.
-       (terminal_mod_LDFLAGS): Likewise.
-       * genhandlerlist.sh: Don't handle terminals.
-       * genmk.rb: Generate terminal-*.lst.
-       * genterminallist.sh: New file.
-       * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
-       (grub_is_valid_utf8): Likewise.
-       (grub_utf8_to_ucs4_alloc): Likewise.
-       * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
-       (grub_menu_register_viewer): Changed argument.
-       (grub_menu_try_text): New proto.
-       (grub_gfxmenu_try_hook): New declaration.
-       * include/grub/normal.h (grub_normal_exit_level): New declaration.
-       (grub_menu_init_page): Additional argument term.
-       (grub_normal_init_page): Likewise.
-       (grub_cmdline_get): Arguments simplified.
-       (grub_utf8_to_ucs4_alloc): Removed.
-       (grub_print_ucs4): Additional argument term.
-       (grub_getstringwidth): Likewise.
-       (grub_print_message_indented): Likewise.
-       (grub_menu_text_register_instances): New proto.
-       (grub_show_menu): Likewise.
-       (read_terminal_list): Likewise.
-       (grub_set_more): Likewise.
-       * include/grub/parser.h: Include handler.h.
-       * include/grub/reader.h: Rewritten.
-       * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
-       (GRUB_TERM_WIDTH): Changed to function.
-       (GRUB_TERM_HEIGHT): Likewise.
-       (GRUB_TERM_BORDER_WIDTH): Likewise.
-       (GRUB_TERM_BORDER_HEIGHT): Likewise.
-       (GRUB_TERM_NUM_ENTRIES): Likewise.
-       (GRUB_TERM_ENTRY_WIDTH): Likewise.
-       (GRUB_TERM_CURSOR_X): Likewise.
-       (grub_term_input_class): Likewise.
-       (grub_term_output_class): Likewise.
-       (grub_term_outputs_disabled): New declaration.
-       (grub_term_inputs_disabled): Likewise.
-       (grub_term_outputs): Likewise.
-       (grub_term_inputs): Likewise.
-       (grub_term_register_input): Rewritten.
-       (grub_term_register_output): Likewise.
-       (grub_term_unregister_input): Likewise.
-       (grub_term_unregister_output): Likewise.
-       (FOR_ACTIVE_TERM_INPUTS): New macro.
-       (FOR_DISABLED_TERM_INPUTS): Likewise.
-       (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
-       (FOR_DISABLED_TERM_OUTPUTS): Likewise.
-       * include/grub/terminfo.h: Add oterm argument to all protypes.
-       * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
-       Use grub_rescue_run.
-       * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
-       All users updated.
-       * kern/reader.c: Removed. All users updated.
-       * kern/rescue_reader.c (grub_rescue_init): Removed.
-       (grub_rescue_reader): Likewise.
-       (grub_register_rescue_reader): Likewise.
-       (grub_rescue_run): New function based on kern/reader.c.
-       * kern/term.c: Adapted for multiterm.
-       * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
-       (grub_is_valid_utf8): Likewise.
-       (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
-       * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
-       right terminal.
-       * loader/i386/linux.c (grub_linux_boot): Likewise.
-       * normal/auth.c (grub_username_get): New function.
-       (grub_auth_check_authentication): Use grub_username_get.
-       * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
-       * normal/color.c: Adapt for multiterm.
-       * normal/main.c (read_config_file): Don't use grub_reader_loop.
-       (grub_normal_init_page): Additional argument term.
-       (read_lists): Call read_terminal_lists.
-       (grub_enter_normal_mode): Call grub_cmdline_run.
-       Handle grub_normal_exit_level.
-       (grub_cmd_normal): Make reentrant.
-       (grub_cmd_normal_exit): New function.
-       (grub_normal_reader_init): Additional argument nested. Handle multiterm.
-       * normal/menu.c: Adapt for multiterm.
-       * normal/menu_entry.c: Likewise.
-       * normal/menu_text.c: Likewise.
-       * normal/menu_viewer.c: Removed. All users updated.
-       * normal/term.c: New file.
-       * util/console.c: Change order of includes to workaround a bug in
-       ncurses headers.
-       * term/terminfo.c: New argument oterm on all exported functions.
-       All users updated.
-       * util/grub-editenv.c (grub_term_input_class): Removed.
-       (grub_term_output_class): Likewise.
-
-2010-01-09  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Make loader output a bit more user-friendly.
-
-       * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
-       is being loaded.  Likewise for the Hurd.
-
-       * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
-       that kernel of FreeBSD ${version} is being loaded.
-
-       * loader/i386/linux.c (grub_cmd_linux): Move debug info to
-       grub_dprintf().
-       (grub_cmd_initrd): Likewise.
-       * util/grub.d/10_linux.in (linux_entry): Print message indicating
-       that Linux ${version} is being loaded.  Likewise for initrd.
-
-2010-01-09  Carles Pina i Estany  <carles@pina.cat>
-
-       * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
-
-2010-01-08  Carles Pina i Estany  <carles@pina.cat>
-
-       * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
-       (GRUB_MOD_INIT): Gettextizze.
-       * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
-       (GRUB_MOD_INIT): Gettextizze.
-       * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
-       (grub_cmd_linux): Capitalise Linux.
-       (GRUB_MOD_INIT): Gettextizze.
-       * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
-       (grub_cmd_linux): Capitalise Linux.
-       (GRUB_MOD_INIT): Gettextizze.
-       * loader/i386/linux.c: Include `<grub/i18n.h>'.
-       (grub_cmd_linux): Capitalise Linux.
-       (GRUB_MOD_INIT): Gettextizze.
-       * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
-       (GRUB_MOD_INIT): Gettextizze.
-       * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
-       (grub_cmd_linux): Capitalise Linux.
-       (GRUB_MOD_INIT): Gettextizze.
-       * loader/i386/xnu.c: Include `<grub/i18n.h>'.
-       (grub_cpu_xnu_init): Gettextizze.
-       * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
-       (GRUB_MOD_INIT): Gettextizze.
-       * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
-       (GRUB_MOD_INIT): Gettextizze.
-       * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
-       (grub_linux_load64): Capitalise Linux.
-       (GRUB_MOD_INIT): Gettextizze.
-       * loader/xnu.c: Include `<grub/i18n.h>'.
-       (GRUB_MOD_INIT): Gettextizze.
-       * po/POTFILES: Add `loader/efi/appleloader.c',
-       `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
-       `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
-       `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
-       `loader/i386/xnu.c', `loader/multiboot_loader.c',
-       `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
-       and `loader/xnu.c'.
-
-2010-01-08  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * src/mkisofs.c: Remove `ifdef linux' portability kludge.
-
-2010-01-08  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
-       (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
-       * util/mkisofs/mkisofs.c (main): Readjust --version output.
-
-2010-01-07  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Reset Multiboot 2 support.  New loader implements the draft in
-       /branches/multiboot2 and shares as much code as possible with the
-       production Multiboot 1 implementation.
-
-       * loader/ieee1275/multiboot2.c: Remove file.  Update all users.
-       * loader/multiboot2.c: Likewise.
-       * loader/i386/multiboot_helper.S: Likewise.
-       * include/multiboot2.h: Replace with latest version from the draft
-       in /branches/multiboot2.
-
-       * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
-       `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
-       and `loader/multiboot2.c'.
-       (pkglib_MODULES): Add `multiboot2.mod'.
-       (multiboot2_mod_SOURCES): New variable.
-       (multiboot2_mod_LDFLAGS): Likewise.
-       (multiboot2_mod_CFLAGS): Likewise.  Define `GRUB_USE_MULTIBOOT2'.
-
-       * conf/i386-pc.rmk: Likewise.
-
-       * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
-       (multiboot_mod_SOURCES): Remove variable.
-       (multiboot_mod_LDFLAGS): Likewise.
-       (multiboot_mod_CFLAGS): Likewise.
-
-       * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
-       `<multiboot2.h>' instead of `<multiboot.h>'.
-       [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
-       (MULTIBOOT_HEADER_MAGIC): New macros.
-
-       * loader/multiboot_loader.c (module_version_status): Remove variable.
-       (find_multi_boot2_header): Remove function.
-       (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
-       logic.  Always check for the Multiboot version we're compiling for.
-       (grub_cmd_module_loader): Likewise.
-       [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
-       command instead of `multiboot'.
-
-2010-01-07  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
-       * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here.  Update
-       all users.
-
-2010-01-07  Robert Millan  <rmh.grub@aybabtu.com>
-2010-01-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix breakage introduced with previous commit.
-
-       * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
-       commands.
-       * normal/handler.c (read_handler_list): Revert part of previous commit
-       affecting this file.
-       * normal/main.c (read_lists): Move read_handler_list() call back to ...
-       (grub_normal_execute): ... here.
-
-2010-01-07  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Merge prefix-redefinition-fix branch.
-
-       * normal/autofs.c (read_fs_list): Make function capable of being
-       run multiple times, gracefuly replacing the previous data
-       structures.
-       * normal/dyncmd.c (read_command_list): Likewise.
-       * normal/handler.c (read_handler_list): Likewise.
-       * normal/main.c (read_lists): New function.  Calls all the
-       list reading functions.
-       (grub_normal_execute): Use read_lists() instead of calling all
-       list reading functions explicitly.  Register read_lists() as a
-       variable hook attached to ${prefix}.
-
-2010-01-07  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Merge crypto branch.
-
-       * Makefile.in (pkglib_DATA):  Add crypto.lst.
-       (crypto.lst): New target.
-       * commands/hashsum.c: New file.
-       * commands/password.c (check_password): Use grub_crypto_memcmp.
-       * commands/password_pbkdf2.c: New file.
-       * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
-       * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
-       normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
-       (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
-       -I$(srcdir)/lib/libgcrypt_wrap.
-       * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
-       (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
-       password_pbkdf2.mod.
-       (crypto_mod_SOURCES): New variable.
-       (crypto_mod_CFLAGS): Likewise.
-       (crypto_mod_LDFLAGS): Likewise.
-       (hashsum_mod_SOURCES): New variable.
-       (hashsum_mod_CFLAGS): Likewise.
-       (hashsum_mod_LDFLAGS): Likewise.
-       (pbkdf2_mod_SOURCES): New variable.
-       (pbkdf2_mod_CFLAGS): Likewise.
-       (pbkdf2_mod_LDFLAGS): Likewise.
-       (password_pbkdf2_mod_SOURCES): New variable.
-       (password_pbkdf2_mod_CFLAGS): Likewise.
-       (password_pbkdf2_mod_LDFLAGS): Likewise.
-       (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
-       (grub_mkpasswd_pbkdf2_SOURCES): New variable.
-       (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
-       Include conf/gcry.rmk.
-       * include/grub/auth.h: Rewritten.
-       * include/grub/crypto.h: New file.
-       * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
-       * include/grub/normal.h (read_crypto_list): New prototype.
-       * lib/crypto.c: New file.
-       * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
-       * lib/pbkdf2.c: Likewise.
-       * normal/auth.c (grub_auth_strcmp): Removed.
-       (grub_iswordseparator): Likewise.
-       (grub_auth_strword): Likewise.
-       (is_authenticated): Use grub_strword.
-       (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
-       and grub_strword. Pass entered password to authentication callback.
-       * normal/crypto.c: New file.
-       * normal/main.c: Call read_crypto_list.
-       * util/grub-mkpasswd-pbkdf2.c: New file.
-       * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
-
-2010-01-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix descent and ascent calculation.
-
-       * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
-       (options): New option "asce".
-       (usage): Likewise.
-       (add_char): Ignore invalid glyphs for descent calculation.
-       Calculate ascent from actual content.
-       (print_glyphs): Use 'asce'.
-       (write_font): Likewise. Allow ascent override.
-       (main): Handle "asce" option.
-
-2010-01-06  Carles Pina i Estany  <carles@pina.cat>
-
-       * kern/err.c: Include `<grub/i18n.h>'.
-       (grub_print_error): Add full stop. Gettextizze.
-       * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
-       (grub_bsd_load_elf): Capitalise ELF.
-       (grub_cmd_freebsd_loadenv): Add `s' in error string.
-       (grub_cmd_freebsd_module): Likewise.
-       (grub_cmd_freebsd_module_elf): Likewise.
-       * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
-
-2010-01-06  Carles Pina i Estany  <carles@pina.cat>
-
-       * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
-       * commands/search_file.c (HELP_MESSAGE): New macro.
-       * commands/search_label.c (HELP_MESSAGE): Likewise.
-       * commands/search_uuid.c (HELP_MESSAGE): Likewise.
-       * po/POTFILES: Add `commands/search_file.c',
-       `commands/search_label.c', `commands_uuid.c'. Remove duplicate
-       `commands/search.c'.
-
-2010-01-05  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * config.rpath: Update from Gnulib.
-
-2010-01-05  Yves Blusseau  <blusseau@zetam.org>
-
-       * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
-
-2010-01-05  Yves Blusseau  <yves.blusseau@zetam.org>
-
-       * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
-
-2010-01-05  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/mkisofs/write.c (padblock_write): Switch size and nmemb
-       arguments to fread so that we get a return value in bytes, rather
-       than something that will normally be rounded down to 0.
-       Adjust error handling to avoid producing garbage when size_t is not
-       the same size as long long.
-
-2010-01-05  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/mkisofs/write.c (padblock_write): Check return value of
-       fread.
-
-2010-01-05  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Remove grub-mkfloppy.  Images produced by grub-mkrescue are valid
-       floppy images now.
-
-       * util/i386/pc/grub-mkfloppy.in: Remove.  Update all users.
-
-2010-01-04  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
-       instead of manual alignment.
-       * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
-       verbose).  Avoid attempts to read past end of the device
-       (grub_disk_adjust_range() guarantees that we can read `size' bytes,
-       but GRUB_DISK_CACHE_SIZE may exceed that).
-
-2010-01-04  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * commands/crc.c (grub_cmd_crc): Abort on read errors.
-       * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
-       it to upper layer.
-
-2010-01-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
-       New constant.
-       (grub_efi_piwg_device_path): New structure
-       (grub_efi_piwg_device_path_t): New type.
-       * loader/efi/appleloader.c (piwg_full_device_path): New structure.
-       (devpath_1): Transform to a structure. All users updated.
-       (devpath_2): Likewise.
-       (devpath_3): Likewise.
-       (devpath_4): Likewise.
-       (devpath_5): Likewise.
-
-2010-01-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * loader/efi/appleloader.c: Restored. Update all users.
-
-2010-01-03  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * boot/i386/pc/diskboot.S: Fix inaccurate comment.
-
-       * util/i386/pc/grub-setup.c: Include `<assert.h>'.
-       (struct boot_blocklist): Move from here ...
-       * include/grub/i386/pc/boot.h [ASM_FILE]
-       (struct grub_boot_blocklist): ... to here.  Update all users.
-       (setup): Only initialize `start' member of `first_block'
-       structure.  Add assert() calls to verify the other members.
-
-       * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
-       (generate_image): Fix broken blocklist length initialization.
-       Add assert() call to verify blocklist `segment' field.
-
-2010-01-03  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * loader/efi/appleloader.c: Remove.  Update all users.
-
-2010-01-03  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * boot/i386/pc/boot.S: Update copyright year.
-       * boot/i386/pc/cdboot.S: Likewise.
-       * boot/i386/pc/diskboot.S: Likewise.
-       * boot/i386/pc/lnxboot.S: Likewise.
-       * boot/i386/pc/pxeboot.S: Likewise.
-       * bus/pci.c: Likewise.
-       * commands/cmp.c: Likewise.
-       * commands/help.c: Likewise.
-       * commands/hexdump.c: Likewise.
-       * commands/i386/pc/halt.c: Likewise.
-       * commands/i386/pc/play.c: Likewise.
-       * commands/i386/pc/vbeinfo.c: Likewise.
-       * commands/ls.c: Likewise.
-       * commands/test.c: Likewise.
-       * disk/dmraid_nvidia.c: Likewise.
-       * disk/i386/pc/biosdisk.c: Likewise.
-       * disk/ieee1275/nand.c: Likewise.
-       * disk/ieee1275/ofdisk.c: Likewise.
-       * disk/lvm.c: Likewise.
-       * disk/raid.c: Likewise.
-       * disk/raid6_recover.c: Likewise.
-       * disk/scsi.c: Likewise.
-       * fs/affs.c: Likewise.
-       * fs/cpio.c: Likewise.
-       * fs/ext2.c: Likewise.
-       * fs/hfs.c: Likewise.
-       * fs/iso9660.c: Likewise.
-       * fs/ntfs.c: Likewise.
-       * fs/sfs.c: Likewise.
-       * fs/udf.c: Likewise.
-       * fs/ufs.c: Likewise.
-       * fs/xfs.c: Likewise.
-       * gencmdlist.sh: Likewise.
-       * genmk.rb: Likewise.
-       * include/grub/disk.h: Likewise.
-       * include/grub/efi/api.h: Likewise.
-       * include/grub/efi/efi.h: Likewise.
-       * include/grub/efi/pe32.h: Likewise.
-       * include/grub/elf.h: Likewise.
-       * include/grub/fs.h: Likewise.
-       * include/grub/i386/at_keyboard.h: Likewise.
-       * include/grub/i386/pc/memory.h: Likewise.
-       * include/grub/i386/pc/vbe.h: Likewise.
-       * include/grub/i386/pci.h: Likewise.
-       * include/grub/i386/tsc.h: Likewise.
-       * include/grub/ieee1275/ieee1275.h: Likewise.
-       * include/grub/ntfs.h: Likewise.
-       * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
-       * include/grub/sparc64/libgcc.h: Likewise.
-       * include/grub/symbol.h: Likewise.
-       * include/grub/types.h: Likewise.
-       * include/multiboot2.h: Likewise.
-       * io/gzio.c: Likewise.
-       * kern/device.c: Likewise.
-       * kern/disk.c: Likewise.
-       * kern/efi/efi.c: Likewise.
-       * kern/efi/mm.c: Likewise.
-       * kern/elf.c: Likewise.
-       * kern/file.c: Likewise.
-       * kern/i386/dl.c: Likewise.
-       * kern/i386/pc/init.c: Likewise.
-       * kern/i386/pc/startup.S: Likewise.
-       * kern/ieee1275/ieee1275.c: Likewise.
-       * kern/ieee1275/init.c: Likewise.
-       * kern/main.c: Likewise.
-       * kern/mm.c: Likewise.
-       * kern/powerpc/dl.c: Likewise.
-       * kern/sparc64/dl.c: Likewise.
-       * kern/x86_64/dl.c: Likewise.
-       * lib/hexdump.c: Likewise.
-       * loader/efi/appleloader.c: Likewise.
-       * loader/i386/ieee1275/linux.c: Likewise.
-       * loader/i386/pc/chainloader.c: Likewise.
-       * loader/i386/pc/linux.c: Likewise.
-       * loader/i386/pc/multiboot2.c: Likewise.
-       * loader/ieee1275/multiboot2.c: Likewise.
-       * loader/multiboot2.c: Likewise.
-       * loader/multiboot_loader.c: Likewise.
-       * loader/powerpc/ieee1275/linux.c: Likewise.
-       * normal/completion.c: Likewise.
-       * normal/menu_entry.c: Likewise.
-       * partmap/apple.c: Likewise.
-       * util/grub.d/10_hurd.in: Likewise.
-       * util/hostfs.c: Likewise.
-       * video/readers/png.c: Likewise.
-
-2010-01-03  Colin Watson  <cjwatson@ubuntu.com>
-
-       * include/grub/misc.h (GNUC_PREREQ): New macro.
-       (ATTRIBUTE_ERROR): New macro.
-       * include/grub/list.h (grub_bad_type_cast_real): Use
-       ATTRIBUTE_ERROR.
-
-2010-01-03  Carles Pina i Estany  <carles@pina.cat>
-
-       * normal/menu_text.c (print_message): Change messages.
-
-2010-01-03  Carles Pina i Estany  <carles@pina.cat>
-
-       * normal/menu_entry.c (store_completion): Gettextizze.
-
-2010-01-03  Carles Pina i Estany  <carles@pina.cat>
-
-       * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
-
-2010-01-03  Carles Pina i Estany  <carles@pina.cat>
-
-       * po/POTFILES: Sort correctly.
-
-2010-01-03  Carles Pina i Estany  <carles@pina.cat>
-
-       * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
-       * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
-       * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
-       full stop.
-       * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
-       summary. Gettextizze the strings.
-       * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
-       * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
-       * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
-       full stop.
-       (GRUB_MOD_INIT): Remove command name from summary.
-       * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
-       summary.
-       * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
-       * term/i386/pc/serial.c (options): Add full stops.
-       (GRUB_MOD_INIT): Remove command name from the summary.
-
-2010-01-03  Carles Pina i Estany  <carles@pina.cat>
-
-       * commands/acpi.c: Gettextizze help strings and/or options. Include
-       `grub/i18n.h' if needed.
-       * commands/blocklist.c: Likewise.
-       * commands/boot.c: Likewise.
-       * commands/cat.c: Likewise.
-       * commands/cmp.c: Likewise.
-       * commands/configfile.c: Likewise.
-       * commands/crc.c: Likewise.
-       * commands/date.c: Likewise.
-       * commands/echo.c: Likewise.
-       * commands/efi/fixvideo.c: Likewise.
-       * commands/efi/loadbios.c: Likewise.
-       * commands/gptsync.c: Likewise.
-       * commands/halt.c: Likewise.
-       * commands/handler.c: Likewise.
-       * commands/hdparm.c: Likewise.
-       * commands/hexdump.c: Likewise.
-       * commands/i386/cpuid.c: Likewise.
-       * commands/i386/pc/drivemap.c: Likewise.
-       * commands/i386/pc/halt.c: Likewise.
-       * commands/i386/pc/pxecmd.c: Likewise.
-       * commands/i386/pc/vbeinfo.c: Likewise.
-       * commands/i386/pc/vbetest.c: Likewise.
-       * commands/ieee1275/suspend.c: Likewise.
-       * commands/keystatus.c: Likewise.
-       * commands/loadenv.c: Likewise.
-       * commands/ls.c: Likewise.
-       * commands/lsmmap.c: Likewise.
-       * commands/lspci.c: Likewise.
-       * commands/memrw.c: Likewise.
-       * commands/minicmd.c: Likewise.
-       * commands/parttool.c: Likewise.
-       * commands/password.c: Likewise.
-       * commands/probe.c: Likewise.
-       * commands/read.c: Likewise.
-       * commands/reboot.c: Likewise.
-       * commands/search.c: Likewise.
-       * commands/sleep.c: Likewise.
-       * commands/test.c: Likewise.
-       * commands/true.c: Likewise.
-       * commands/usbtest.c: Likewise.
-       * commands/videotest.c: Likewise.
-       * commands/xnu_uuid.c: Likewise.
-       * disk/loopback.c: Likewise.
-       * hello/hello.c: Likewise.
-       * loader/i386/bsd.c: Likewise.
-       * term/i386/pc/serial.c: Likewise.
-       * po/POTFILES: Add new files.
-
-2010-01-02  Colin Watson  <cjwatson@ubuntu.com>
-
-       * term/i386/pc/at_keyboard.c
-       (keyboard_controller_wait_untill_ready): Rename to ...
-       (keyboard_controller_wait_until_ready): ... this. Update all users.
-
-2010-01-01  Carles Pina i Estany  <carles@pina.cat>
-
-       * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
-       (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
-       string using string width.
-       * normal/menu_text.c (grub_print_message_indented): Use
-       grub_print_spaces and not print_spaces.
-       (print_timeout): Likewise.
-       (print_spaces): Move to...
-       * include/grub/term.h: ... here. Change the name to grub_print_spaces.
-
-2010-01-01  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Import from Gnulib.
-
-       * gnulib/getdelim.c: New file.
-       * gnulib/getline.c: Likewise.
-
-2009-12-31 BVK Chaitanya  <bvk.groups@gmail.com>
-
-       * include/grub/list.h (grub_assert_fail): Removed.
-       (grub_bad_type_cast_real): New function.
-       (grub_bad_type_cast): New macro.
-       (GRUB_AS_LIST): Use grub_bad_type_cast.
-       (GRUB_AS_LIST_P): Likewise.
-       (GRUB_AS_NAMED_LIST): Likewise.
-       (GRUB_AS_NAMED_LIST_P): Likewise.
-       (GRUB_AS_PRIO_LIST): Likewise.
-       (GRUB_AS_PRIO_LIST_P): Likewise.
-       * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
-
-2009-12-29 Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
-       Fix syntax error.
-
-2009-12-29  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * configure.ac: Check for TARGET_CFLAGS initialization before we
-       initialize it ourselves (sigh).
-       Move a few modifications to TARGET_CFLAGS to be unconditional
-       (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
-       eh_frame)
-
-       * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
-       * term/i386/pc/at_keyboard.c
-       (keyboard_controller_wait_untill_ready): Likewise.
-       (keyboard_controller_led): Rename `led_status' paramter to avoid
-       name conflict.
-
-2009-12-28  Carles Pina i Estany  <carles@pina.cat>
-
-       * normal/misc.c (grub_normal_print_device_info): Add spaces and double
-       quotes.
-
-2009-12-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
-
-2009-12-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * normal/menu_text.c (grub_print_message_indented): Prevent
-       past-the-end-of-array dereference.
-
-2009-12-27  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
-       (GRUB_MOD_FINI (video_reader_jpeg)): ...this
-
-2009-12-27  Carles Pina i Estany  <carles@pina.cat>
-
-       * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
-       * normal/main.c (grub_normal_read_line): Remove a space from the
-       default prompt.
-
-2009-12-27  Carles Pina i Estany  <carles@pina.cat>
-
-       * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
-       * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
-       * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
-       * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
-       * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
-       * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
-       * loader/xnu.c (GRUB_MOD_INIT): Likewise.
-
-2009-12-26  Carles Pina i Estany  <carles@pina.cat>
-
-       * video/readers/jpeg.c (cmd): Declare.
-       (grub_cmd_jpegtest): Use `grub_command_t' type.
-       (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
-       Assign to `cmd'.
-       (GRUB_MOD_FINI): Use `cmd' to unregister.
-       * video/readers/png.c (cmd): Declare.
-       (grub_cmd_pngtest): Use `grub_command_t' type.
-       (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
-       Assign to `cmd'.
-       (GRUB_MOD_FINI): Use `cmd' to unregister.
-       * video/readers/tga.c (cmd): Declare.
-       (grub_cmd_tgatest): Use `grub_command_t' type.
-       (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
-       Assign to `cmd'.
-       (GRUB_MOD_FINI): Use `cmd' to unregister.
-
-2009-12-26  Carles Pina i Estany  <carles@pina.cat>
-
-       * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
-       stops.
-       * kern/corecmd.c (grub_register_core_commands): Likewise.
-       * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
-       * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
-       * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
-       * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
-       * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
-       * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
-       * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
-       * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
-       * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
-       * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
-       * loader/xnu.c (GRUB_MOD_INIT): Likewise.
-       * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
-       * normal/handler.c (insert_handler): Likewise.
-       * normal/main.c (GRUB_MOD_INIT): Likewise.
-       * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
-
-2009-12-26  Carles Pina i Estany  <carles@pina.cat>
-
-       * commands/help.c (grub_cmd_help): Print the command name before the
-       summary.
-       (GRUB_MOD_INIT): Remove command name from the summary.
-       * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
-       string as summary.
-       * lib/arg.c (find_long): Print the command name before the summary.
-       * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
-       summary.
-       * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
-       * commands/cat.c (GRUB_MOD_INIT): Likewise.
-       * commands/cmp.c (GRUB_MOD_INIT): Likewise.
-       * commands/configfile.c (GRUB_MOD_INIT): Likewise.
-       * commands/crc.c (GRUB_MOD_INIT): Likewise.
-       * commands/date.c (GRUB_MOD_INIT): Likewise.
-       * commands/echo.c (GRUB_MOD_INIT): Likewise.
-       * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
-       * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
-       * commands/handler.c (GRUB_MOD_INIT): Likewise.
-       * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
-       * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
-       * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
-       * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
-       * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
-       * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
-       * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
-       * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
-       * commands/ls.c (GRUB_MOD_INIT): Likewise.
-       * commands/lspci.c (GRUB_MOD_INIT): Likewise.
-       * commands/memrw.c (GRUB_MOD_INIT): Likewise.
-       * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
-       * commands/parttool.c (GRUB_MOD_INIT): Likewise.
-       * commands/password.c (GRUB_MOD_INIT): Likewise.
-       * commands/probe.c (GRUB_MOD_INIT): Likewise.
-       * commands/read.c (GRUB_MOD_INIT): Likewise.
-       * commands/search.c (GRUB_MOD_INIT): Likewise.
-       * commands/sleep.c (GRUB_MOD_INIT): Likewise.
-       * commands/test.c (GRUB_MOD_INIT): Likewise.
-       * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
-       * efiemu/main.c (GRUB_MOD_INIT): Likewise.
-       * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
-       * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
-       * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
-       * lib/arg.c (GRUB_MOD_INIT): Likewise.
-       * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
-       * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
-       * loader/xnu.c (GRUB_MOD_INIT): Likewise.
-       * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
-       * term/terminfo.c (GRUB_MOD_INIT): Likewise.
-       * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
-       * video/readers/png.c (GRUB_MOD_INIT): Likewise.
-       * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
-
-2009-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use search command for preliminar UUID search.
-
-       * commands/search.c: Split into ...
-       * commands/search_wrap.c: ...this
-       * commands/search.c: ...and this.
-       * commands/search_file.c: New file.
-       * commands/search_label.c: New file.
-       * commands/search_uuid.c: New file.
-       * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
-       Add commands/search_wrap.c, commands/search_file.c,
-       commands/search_label.c and commands/search_uuid.c.
-       * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
-       (search_mod_SOURCES): Set to commands/search_wrap.c.
-       (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
-       search_label.mod.
-       (search_fs_file_mod_SOURCES): New variable.
-       (search_fs_file_mod_CFLAGS): Likewise.
-       (search_fs_file_mod_LDFLAGS): Likewise.
-       (search_label_mod_SOURCES): Likewise.
-       (search_label_mod_CFLAGS): Likewise.
-       (search_label_mod_LDFLAGS): Likewise.
-       (search_fs_uuid_mod_SOURCES): New variable.
-       (search_fs_uuid_mod_CFLAGS): Likewise.
-       (search_fs_uuid_mod_LDFLAGS): Likewise.
-       (fs_file_mod_SOURCES): Removed.
-       (fs_file_mod_CFLAGS): Likewise.
-       (fs_file_mod_LDFLAGS): Likewise.
-       (fs_uuid_mod_SOURCES): Removed.
-       (fs_uuid_mod_CFLAGS): Likewise.
-       (fs_uuid_mod_LDFLAGS): Likewise.
-       * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
-       Set to util/grub-install.in.
-       * disk/fs_file.c: Removed.
-       * disk/fs_uuid.c: Likewise.
-       * include/grub/search.h: New file.
-       * util/grub-install.in: Handle sparc64.
-       Create and use load.cfg.
-       * util/sparc64/ieee1275/grub-install.in: Removed.
-
-2009-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
-       Ignore return status if CF is cleared.
-       (grub_biosdisk_get_diskinfo_standard): Likewise.
-
-2009-12-25  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * term/i386/pc/at_keyboard.c
-       (keyboard_controller_wait_untill_ready): New function.
-       (grub_keyboard_controller_write, grub_keyboard_controller_read)
-       (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
-       for keyboard polling, rather than duplicate the same loop.  This
-       saves a few bytes in code size.
-
-2009-12-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support for (pxe[:server[:gateway]]) syntax and
-       use environment variable for PXE.
-
-       * commands/i386/pc/pxecmd.c (options): Removed.
-       (print_ip): Removed.
-       (grub_cmd_pxe): Removed
-       (grub_cmd_pxe_unload): New function.
-       * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
-       (grub_pxe_your_ip): Made static.
-       (grub_pxe_default_server_ip): Likewise.
-       (grub_pxe_default_gateway_ip): Likewise.
-       (grub_pxe_blksize): Likewise.
-       (parse_ip): New function.
-       (grub_pxe_open): Support server and gateway specification.
-       (grub_pxe_close): Free disk->data.
-       (grub_pxefs_open): Use disk->data.
-       (grub_pxefs_read): Likewise.
-       (grub_env_write_readonly): New function.
-       (set_mac_env): Likewise.
-       (set_env_limn_ro): Likewise.
-       (parse_dhcp_vendor): Likewise.
-       (grub_pxe_detect): Set the environment variables.
-       (set_ip_env): New function.
-       (write_ip_env): Likewise.
-       (grub_env_write_pxe_default_server): Likewise.
-       (grub_env_write_pxe_default_gateway): Likewise.
-       (grub_env_write_pxe_blocksize): Likewise.
-       (GRUB_MOD_INIT(pxe)): Set environment variables.
-       * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
-       (grub_pxe_mac_addr_t): ... this. All users updated.
-       (grub_pxe_your_ip): Removed.
-       (grub_pxe_server_ip): Likewise.
-       (grub_pxe_gateway_ip): Likewise.
-       (grub_pxe_blksize): Likewise.
-
-2009-12-25  Carles Pina i Estany  <carles@pina.cat>
-
-       * commands/help.c: Include `<grub/i18n.h>'.
-       (grub_cmd_help): Gettextizze.
-       (GRUB_MOD_INIT): Likewise.
-       * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
-       (GRUB_MOD_INIT): Gettextizze.
-       * commands/search.c: Include `<grub/i18n.h>'.
-       (options): Gettextizze.
-       (GRUB_MOD_INIT): Gettextizze.
-       * lib/arg.c: Include `<grub/i18n.h>'.
-       (help_options): Gettextizze.
-       (find_long): Likewise.
-       (grub_arg_show_help): Likewise.
-       * normal/dyncmd.c: Include `<grub/i18n.h>'.
-       (read_command_list): Gettextizze.
-       * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
-       `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
-
-2009-12-25  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
-       * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
-       (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
-       (led_status): New variable.
-       (keyboard_controller_led): New function.
-       (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
-       update led status for caps lock, num lock and scroll lock.
-
-2009-12-25  Felix Zielcke <fzielcke@z-51.de>
-
-       * util/hostdisk.c (open_device): Fix a comment.
-
-2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/grub-install.in (host_os): New variable.
-       * util/i386/efi/grub-install.in (host_os): Likewise.
-
-2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/mkisofs/write.c (padblock_write): Abort when given an
-       excedingly large embed image, instead of silently truncating it.
-
-2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/multiboot.h: Indentation fixes.
-
-2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/multiboot.h (struct multiboot_aout_symbol_table)
-       (struct multiboot_elf_section_header_table): New structure
-       declarations (stolen from GRUB Legacy).
-       (struct multiboot_info): Replace opaque `syms' with a.out and ELF
-       table information.
-
-       (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
-       (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
-       type aliases.
-
-2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/multiboot.h: Make comments src2texi-friendly.
-
-2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>
-
-       For consistency with [multiboot]/docs/boot.S.
-
-       * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
-       (MULTIBOOT_HEADER_MAGIC): ... to this.  Update all users.
-       (MULTIBOOT_MAGIC2): Rename from this ...
-       (MULTIBOOT_BOOTLOADER_MAGIC): ... to this.  Update all users.
-
-2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/multiboot.h: Remove `<grub/types.h>'.
-       (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
-       types.  Update all users.
-
-2009-12-25  Carles Pina i Estany  <carles@pina.cat>
-
-       * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
-       `couldn't' and `can not' by `cannot'.
-       * commands/i386/pc/drivemap.c: Likewise.
-       * disk/ata.c: Likewise.
-       * disk/ieee1275/nand.c: Likewise.
-       * fs/affs.c: Likewise.
-       * fs/fat.c: Likewise.
-       * fs/hfs.c: Likewise.
-       * fs/hfsplus.c: Likewise.
-       * fs/iso9660.c: Likewise.
-       * fs/jfs.c: Likewise.
-       * fs/minix.c: Likewise.
-       * fs/reiserfs.c: Likewise.
-       * fs/sfs.c: Likewise.
-       * fs/udf.c: Likewise.
-       * fs/ufs.c: Likewise.
-       * fs/xfs.c: Likewise.
-       * loader/powerpc/ieee1275/linux.c: Likewise.
-       * loader/sparc64/ieee1275/linux.c: Likewise.
-       * util/grub-probe.c: Likewise.
-       * util/misc.c: Likewise.
-
-2009-12-24  Carles Pina i Estany  <carles@pina.cat>
-
-       * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
-       grub_errno calls.
-       * commands/acpi.c: Likewise.
-       * commands/blocklist.c: Likewise.
-       * commands/efi/loadbios.c: Likewise.
-       * commands/i386/pc/drivemap.c: Likewise.
-       * commands/loadenv.c: Likewise.
-       * commands/memrw.c: Likewise.
-       * commands/password.c: Likewise.
-       * commands/videotest.c: Likewise.
-       * disk/ata.c: Likewise.
-       * disk/ata_pthru.c: Likewise.
-       * disk/dmraid_nvidia.c: Likewise.
-       * disk/ieee1275/nand.c: Likewise.
-       * disk/ieee1275/ofdisk.c: Likewise.
-       * disk/loopback.c: Likewise.
-       * disk/lvm.c: Likewise.
-       * disk/mdraid_linux.c: Likewise.
-       * disk/raid.c: Likewise.
-       * disk/raid6_recover.c: Likewise.
-       * disk/scsi.c: Likewise.
-       * efiemu/main.c: Likewise.
-       * efiemu/mm.c: Likewise.
-       * efiemu/pnvram.c: Likewise.
-       * efiemu/symbols.c: Likewise.
-       * font/font.c: Likewise.
-       * fs/cpio.c: Likewise.
-       * fs/hfsplus.c: Likewise.
-       * fs/iso9660.c: Likewise.
-       * fs/jfs.c: Likewise.
-       * fs/minix.c: Likewise.
-       * fs/ntfs.c: Likewise.
-       * fs/ntfscomp.c: Likewise.
-       * fs/reiserfs.c: Likewise.
-       * fs/ufs.c: Likewise.
-       * fs/xfs.c: Likewise.
-       * gettext/gettext.c: Likewise.
-       * include/grub/auth.h: Likewise.
-       * kern/elf.c: Likewise.
-       * kern/file.c: Likewise.
-       * kern/ieee1275/init.c: Likewise.
-       * kern/ieee1275/mmap.c: Likewise.
-       * kern/ieee1275/openfw.c: Likewise.
-       * kern/powerpc/dl.c: Likewise.
-       * kern/sparc64/dl.c: Likewise.
-       * lib/arg.c: Likewise.
-       * loader/i386/bsd.c: Likewise.
-       * loader/i386/bsdXX.c: Likewise.
-       * loader/i386/efi/linux.c: Likewise.
-       * loader/i386/efi/xnu.c: Likewise.
-       * loader/i386/ieee1275/linux.c: Likewise.
-       * loader/i386/linux.c: Likewise.
-       * loader/i386/multiboot.c: Likewise.
-       * loader/i386/pc/linux.c: Likewise.
-       * loader/i386/pc/multiboot2.c: Likewise.
-       * loader/i386/xnu.c: Likewise.
-       * loader/ieee1275/multiboot2.c: Likewise.
-       * loader/macho.c: Likewise.
-       * loader/machoXX.c: Likewise.
-       * loader/multiboot2.c: Likewise.
-       * loader/multiboot_loader.c: Likewise.
-       * loader/powerpc/ieee1275/linux.c: Likewise.
-       * loader/sparc64/ieee1275/linux.c: Likewise.
-       * loader/xnu.c: Likewise.
-       * loader/xnu_resume.c: Likewise.
-       * mmap/i386/pc/mmap.c: Likewise.
-       * normal/menu_viewer.c: Likewise.
-       * partmap/acorn.c: Likewise.
-       * partmap/amiga.c: Likewise.
-       * partmap/apple.c: Likewise.
-       * script/lexer.c: Likewise.
-       * term/gfxterm.c: Likewise.
-       * term/i386/pc/serial.c: Likewise.
-       * term/i386/pc/vga.c: Likewise.
-       * term/ieee1275/ofconsole.c: Likewise.
-       * term/terminfo.c: Likewise.
-       * video/bitmap.c: Likewise.
-       * video/efi_gop.c: Likewise.
-       * video/efi_uga.c: Likewise.
-       * video/fb/video_fb.c: Likewise.
-       * video/i386/pc/vbe.c: Likewise.
-       * video/readers/tga.c: Likewise.
-       * video/video.c: Likewise.
-
-2009-12-23  Felix Zielcke <fzielcke@z-51.de>
-
-       * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
-       * commands/lspci.c: Likewise.
-       * commands/probe.c: Likewise.
-       * commands/xnu_uuid.c: Likewise.
-       * conf/i386-coreboot.rmk: Likewise.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-       * fs/i386/pc/pxe.c: Likewise.
-       * gettext/gettext.c: Likewise.
-       * include/grub/efi/graphics_output.h: Likewise.
-       * include/grub/i386/pc/memory.h: Likewise.
-       * kern/env.c: Likewise.
-       * kern/i386/qemu/startup.S: Likewise.
-       * lib/i386/pc/biosnum.c: Likewise.
-       * lib/i386/relocator.c: Likewise.
-       * lib/i386/relocator_asm.S: Likewise.
-       * lib/relocator.c: Likewise.
-       * loader/i386/bsd.c: Likewise.
-       * loader/i386/multiboot.c: Likewise.
-       * loader/i386/pc/chainloader.c: Likewise.
-       * loader/i386/xnu.c: Likewise.
-       * loader/xnu.c: Likewise.
-       * normal/main.c: Likewise.
-       * normal/menu_text.c: Likewise.
-       * util/getroot.c: Likewise.
-       * util/grub-mkconfig_lib.in: Likewise.
-       * util/grub.d/00_header.in: Likewise.
-       * util/i386/pc/grub-mkimage.c: Likewise.
-       * util/mkisofs/eltorito.c: Likewise.
-       * util/mkisofs/exclude.h: Likewise.
-       * util/mkisofs/hash.c: Likewise.
-       * util/mkisofs/iso9660.h: Likewise.
-       * util/mkisofs/joliet.c: Likewise.
-       * util/mkisofs/mkisofs.c: Likewise.
-       * util/mkisofs/mkisofs.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.
-       * video/efi_gop.c: Likewise.
-
-2009-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
-       size counting.
-
-2009-12-22  Felix Zielcke <fzielcke@z-51.de>
-
-       * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
-       * genmk.rb (class SCRIPT): Modify the target file instead of source.
-
-2009-12-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * commands/memrw.c (grub_cmd_write): Support for mask parameter.
-       (GRUB_MOD_INIT(memrw)): Update help line.
-
-2009-12-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
-       Use grub_extcmd_t. All users updated.
-       (options): New variable.
-       (grub_cmd_read): Restructure for readability. Support "-v" option.
-       (grub_cmd_write): Restructure for readability.
-
-2009-12-22  Felix Zielcke <fzielcke@z-51.de>
-
-       * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
-
-2009-12-22  Felix Zielcke <fzielcke@z-51.de>
-
-       * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
-       with the actual contents of the correspondending make variable.
-       * util/grub-mkrescue.in (pkglib_DATA): New variable.
-       (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
-       specifying `*.lst' and `efiemu??.o'
-
-2009-12-22  Felix Zielcke <fzielcke@z-51.de>
-
-       * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
-       after function name.
-       Noticed by Rene Engelhard <rene@debian.org>.
-
-2009-12-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * commands/lspci.c (grub_pci_classes): Add "USB Controller".
-       (options): New variable.
-       (iospace): Likewise.
-       (grub_lspci_iter): List IO spaces if "-i" was given.
-       (grub_cmd_lspci): Parse options.
-       (GRUB_MOD_INIT(lspci)): Use extcmd.
-       (GRUB_MOD_FINI(lspci)): Likewise.
-
-2009-12-22  Felix Zielcke <fzielcke@z-51.de>
-
-       * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
-       `function' keyword.
-       Patch by Tony Mancill <tmancill@debian.org>.
-
-2009-12-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
-       (grub_uhci_portstatus): Likewise.
-       (grub_uhci_portstatus): Add necessary delay.
-       * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
-
-2009-12-21  Carles Pina i Estany  <carles@pina.cat>
-
-       * commands/acpi.c (options): Fix capitalizations and/or full stops.
-       (GRUB_MOD_INIT): Likewise.
-       * commands/boot.c (GRUB_MOD_INIT): Likewise.
-       * commands/cmp.c (grub_cmd_cmp): Improve the help message.
-       * commands/echo.c (options): Fix capitalizations and/or full stops.
-       * commands/efi/loadbios.c (enable_rom_area): Likewise.
-       (enable_rom_area): Likewise.
-       (GRUB_MOD_INIT): Likewise.
-       * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
-       * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
-       * commands/handler.c (GRUB_MOD_INIT): Likewise.
-       * commands/hdparm.c (options): Fix capitalizations and/or full stops.
-       * commands/hexdump.c (options): Likewise.
-       * commands/i386/cpuid.c (options): Likewise.
-       (GRUB_MOD_INIT): Likewise.
-       * commands/i386/pc/drivemap.c (options): Likewise.
-       (GRUB_MOD_INIT): Likewise.
-       * commands/i386/pc/halt (options): Likewise.
-       (GRUB_MOD_INIT): Likewise.
-       * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
-       * commands/i386/pc/pxecmd.c (options): Likewise.
-       * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
-       * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
-       * commands/keystatus.c (options): Likewise.
-       (GRUB_MOD_INIT): Likewise.
-       * commands/loadenv.c (options): Likewise.
-       * commands/ls.c (options): Likewise.
-       * commands/lspci.c (GRUB_MOD_INIT): Likewise.
-       * commands/memrw.c (GRUB_MOD_INIT): Likewise.
-       * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
-       * commands/parttool.c (helpmsg): Likewise.
-       * commands/probe.c (options): Likewise.
-       * commands/read.c (GRUB_MOD_INIT): Likewise.
-       * commands/reboot.c (GRUB_MOD_INIT): Likewise.
-       * commands/search.c (options): Likewise.
-       * commands/sleep.c (options): Likewise.
-       * commands/test.c (GRUB_MOD_INIT): Likewise.
-       * commands/true.c (GRUB_MOD_INIT): Likewise.
-       * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
-       * commands/videotest.c (GRUB_MOD_INIT): Likewise.
-       * lib/arg.c (help_options): Likewise.
-       * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
-       `$(XGETTEXT)'.
-       * po/POTFILES: Add `commands/loadenv.c'.
-
-2009-12-21  Felix Zielcke <fzielcke@z-51.de>
-
-       * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
-       instead of specifying them explicit.
-
-2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * NEWS: Add grub-probe support for GNU/Hurd.
-
-2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * NEWS: gettext was added after 1.97.
-
-2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/mkisofs/msdos_partition.h: New file (based on
-       include/grub/msdos_partition.h).
-       * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
-       (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
-       (ld_options, main): Recognize --protective-msdos-label.
-       * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
-       * util/mkisofs/write.c: Include `"msdos_partition.h"'.
-       (padblock_write): If `use_protective_msdos_label' is set, patch a
-       protective DOS-style label in the output image.
-
-       * util/grub-mkrescue.in: Use --protective-msdos-label.
-
-2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
-       boot.
+       configure: Drop unneeded TARGET_CFLAGS expansion
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
+       Reviewed-by: Leif Lindholm <leif@nuviainc.com>
 
-2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>
+2020-05-15  Jacob Kroon  <jacob.kroon@gmail.com>
 
-       * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
-       variables.
-       (ld_options, main): Recognize `--embedded-boot'.
-       * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
-       declarations.
-       * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
-       (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
-       (padblock_write): Likewise.  Rewrite to support embedded boot image.
-
-       * util/grub-mkrescue.in: When building i386-pc images, embed core.img
-       for BIOS-based disk boot instead of only ElTorito.
-
-2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
-       build (not needed for bootstrap).
+       docs/grub: Support for probing partition UUID on MSDOS disks
+       Support was implemented in commit c7cb11b21 (probe: Support probing for
+       msdos PARTUUID).
 
-2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
-       from i386-pc build (not needed for bootstrap).
-       Rewrite a pair of strings.
+2020-05-15  Tianjia Zhang  <tianjia.zhang@linux.alibaba.com>
 
-2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>
+       verifiers: Add verify string debug message
+       Like grub_verifiers_open(), the grub_verify_string() should also
+       display this debug message, which is very helpful for debugging.
 
-       * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-05-15  Javier Martinez Canillas  <javierm@redhat.com>
 
-       * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
+       envblk: Fix buffer overrun when attempting to shrink a variable value
+       If an existing variable is set with a value whose length is smaller than
+       the current value, a memory corruption can happen due copying padding '#'
+       characters outside of the environment block buffer.
 
-2009-12-21 Andreas Born  <futur.andy@googlemail.com>
+       This is caused by a wrong calculation of the previous free space position
+       after moving backward the characters that followed the old variable value.
 
-       * kern/env.c (grub_env_context_open): Mark exported variable for
-       reexport.
+       That position is calculated to fill the remaining of the buffer with the
+       padding '#' characters. But since isn't calculated correctly, it can lead
+       to copies outside of the buffer.
 
-2009-12-21 Andreas Born  <futur.andy@googlemail.com>
+       The issue can be reproduced by creating a variable with a large value and
+       then try to set a new value that is much smaller:
 
-       * kern/env.c (grub_env_export): Create nonexistent variables before
-       exporting.
-
-2009-12-20 Carles Pina i Estany  <carles@pina.cat>
-
-       * include/grub/auth.h: Include `<grub/i18n.h>'.
-       (GRUB_GET_PASSWORD): Gettextizze string.
-       * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
-       menu_text.c.
-       (grub_utf8_to_ucs4_alloc): Fix indentation.
-       (grub_print_ucs4): Likewise.
-       (grub_getstringwidth): Likewise.
-       (print_message_indented): New declaration.
-       * normal/auth.c: Include `<grub/i18n.h>'.
-       (grub_auth_check_authentication): Gettexttize string.
-       * normal/cmdline.c: Include `<grub/i18n.h>'.
-       (grub_cmdline_get): Gettextizze.
-       * normal/color.c: Include `<grub/i18n.h>'.
-       (grub_parse_color_name_pair): Gettexttize strings.
-       * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
-       string (use `print_message_indented').
-       * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
-       `include/grub/normal.h'.
-       (print_message_indented): Renamed to ...
-       (grub_print_message_indented): ... this. Remove `static' qualifer (now
-       used in normal/main.c).
-       (print_message): Use `grub_print_message_indented' instead of
-       `print_message_indented'.
-       (print_timeout): Likewise.
-       * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
-       (grub_normal_print_device_info): Gettexttize strings.
-       * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
-
-2009-12-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
-       of arguments. Return number of tokens and not arguments. All users
-       updated.
-
-2009-12-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
-       non-MSDOS paritions.
-
-2009-12-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * include/grub/types.h (UNUSED): Removed since it conflicts with
-       NetBSD headers. All users changed to direct __attribute__ ((unused)).
-       Reported by Grégoire Sutre.
-
-2009-12-19  Carles Pina i Estany  <carles@pina.cat>
-
-       * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
-       (grub_print_ucs4_alloc): Likewise.
-       (grub_getstringwidth): Likewise.
-       * normal/main.c (grub_normal_init_page): Gettextize version string.
-       * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
-       (getstringwidth): Renamed to ...
-       (grub_getstringwidth): ... this. Remove `static' qualifier (now used
-       in normal/main.c).  Use `grub_utf8_to_ucs4_alloc'.
-       (grub_print_ucs4): Remove `static' qualifer (now used in
-       normal/main.c).
-       * po/POTFILES: Add normal/main.c.
-
-2009-12-19  Carles Pina i Estany  <carles@pina.cat>
-
-       * normal/menu_text.c (STANDARD_MARGIN): New macro.
-       (print_message_indented): Add `margin_left' and `margin_right'
-       parameters.
-       (print_message): Update `print_message_indented' calls. Adds '\n' to the
-       strings.
-       (print_timeout): Use `print_message_indented' to print the message.
-       Deletes `second_stage' parameter.
-       (run_menu): Update `print_timeout' calls.
-
-2009-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix console palette on OpenFirmware.
-
-       * term/ieee1275/ofconsole.c (MAX): Removed.
-       (colors): Redone based on VGA palette.
-       (grub_ofconsole_setcolor): Discard brightness bit since only 8
-       colors are supported.
-       (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
-
-2009-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix potential EfiEmu double prepare.
-
-       * efiemu/main.c (prepared): New variable
-       (grub_efiemu_unload): Set prepare to '0'.
-       (grub_efiemu_prepare): Return if already prepared. Set prepared.
-
-       set_virtual_address_map support.
-
-       * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
-       prototype.
-       * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
-       prototype.
-       (grub_efiemu_crc32): Likewise.
-       (grub_efiemu_crc64): Likewise.
-       (grub_efiemu_set_virtual_address_map): Likewise.
-       * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
-       New definition.
-       (grub_autoefi_set_virtual_address_map): Likewise.
-       * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
-       * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
-       Restructure flow to accomodate it.
-       * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
-       (grub_efiemu_crc): Recompute CRC32.
-       * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
-       (efiemu_ptv_relocated): ... this. Made global. All users updated.
-       * efiemu/symbols.c (relocated_handle): New variable.
-       (grub_efiemu_free_syms): Free relocated_handle.
-       (grub_efiemu_alloc_syms): Allocate relocated_handle.
-       (grub_efiemu_write_sym_markers): New function.
-       (grub_efiemu_set_virtual_address_map): Likewise.
-
-       Newer XNU parameters.
-
-       * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
-       * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
-       (grub_xnu_fill_devicetree): New prototype.
-       (grub_xnu_heap_real_start): New variable.
-       * loader/xnu.c (get_name_ptr): New function.
-       (grub_xnu_load_driver): Fill namelen and name.
-
-       64-bit xnu support.
-
-       * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
-       and 'loader/macho64.c'.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-       * include/grub/i386/macho.h (grub_macho_thread64): New structure.
-       * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
-       * include/grub/macho.h (grub_macho_segment64): New structure.
-       * include/grub/machoload.h (grub_macho32_size): Renamed from ...
-       (grub_macho_size32): ... to this.
-       (grub_macho32_get_entry_point): Renamed from ...
-       (grub_macho_get_entry_point32): ... to this.
-       (grub_macho_contains_macho64): New prototype.
-       (grub_macho_size64): Likewise.
-       (grub_macho_get_entry_point64): Likewise.
-       (grub_macho32_load): Renamed from ...
-       (grub_macho_load32): ... to this.
-       (grub_macho32_filesize): Renamed from ...
-       (grub_macho_filesize32): ... to this.
-       (grub_macho32_readfile): Renamed from ...
-       (grub_macho_readfile32): ... to this.
-       (grub_macho_filesize64): New prototype.
-       (grub_macho_readfile64): Likewise.
-       (grub_macho_parse32): Likewise.
-       (grub_macho_parse64): Likewise.
-       * loader/macho.c: Split into ...
-       * loader/machoXX.c: ... and this. Replace 32 with XX.
-       * loader/macho32.c: New file.
-       * loader/macho64.c: Likewise.
-       * loader/xnu.c (grub_xnu_is_64bit): New variable.
-       (grub_cmd_xnu_kernel): Make 32-bit only.
-       (grub_cmd_xnu_kernel64): New function.
-       (grub_xnu_load_driver): Support Mach-O 64.
-       (grub_cmd_xnu_mkext): Likewise.
-       * util/grub.d/30_os-prober.in (osx_entry): New function.
-       Generate entries for 64-bit boot too.
-
-       Eliminate ad-hoc tree format in XNU and EfiEmu.
-
-       * efiemu/main.c (grub_efiemu_prepare): Update comment.
-       * efiemu/pnvram.c: Rewritten to use environment variables.
-       All users updated.
-
-       Inline utf16_to_utf8.
-
-       * kern/misc.c (grub_utf16_to_utf8): Move from here ...
-       * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
-       All users updated.
-       * include/grub/misc.h (grub_utf16_to_utf8): Removed.
-
-       * bus/usb/usb.c (grub_usb_get_string): Move from here ...
-       * commands/usbtest.c (grub_usb_get_string): ... move here.
-       (usb_print_str): Fix error handling.
-       * include/grub/usb.h (grub_usb_get_string): Remove.
-
-       UTF-8 to UTF-16 transformation.
-
-       * conf/common.rmk (pkglib_MODULES): Add charset.mod
-       (charset_mod_SOURCES): New variable.
-       (charset_mod_CFLAGS): Likewise.
-       (charset_mod_LDFLAGS): Likewise.
-       * include/grub/utf.h: New file.
-       * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
-
-       Support for device properties.
-
-       * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
-       (grub_xnu_devprop_device_header): Likewise.
-       (grub_xnu_devprop_device_descriptor): Likewise.
-       (grub_xnu_devprop_add_device): New prototype.
-       (grub_xnu_devprop_remove_device): Likewise.
-       (grub_xnu_devprop_remove_property): Likewise.
-       (grub_xnu_devprop_add_property_utf8): Likewise.
-       (grub_xnu_devprop_add_property_utf16): Likewise.
-       (grub_cpu_xnu_init): Likewise.
-       (grub_cpu_xnu_fini): Likewise.
-       (grub_cpu_xnu_unload): Likewise.
-       * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
-       (property_descriptor): Likewise.
-       (devices): New variable.
-       (grub_xnu_devprop_remove_property): New function.
-       (grub_xnu_devprop_add_device): Likewise.
-       (grub_xnu_devprop_remove_device): Likewise.
-       (grub_xnu_devprop_add_property): Likewise.
-       (grub_xnu_devprop_add_property_utf8): Likewise.
-       (grub_xnu_devprop_add_property_utf16): Likewise.
-       (hextoval): Likewise.
-       (grub_cpu_xnu_fill_devprop): Likewise.
-       (grub_cmd_devprop_load): Likewise.
-       (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
-       grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
-       (cmd_devprop_load): New variable.
-       (grub_cpu_xnu_init): New function.
-       (grub_cpu_xnu_fini): Likewise.
-       * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
-       * loader/xnu.c (grub_xnu_parse_devtree): Remove.
-       (grub_cmd_xnu_devtree): Likewise.
-       (hextoval): New function.
-       (unescape): Likewise.
-       (grub_xnu_fill_devicetree): Likewise.
-
-       * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
-       * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
-
-2009-12-18  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Workaround for broken ATI VBE.
-
-       * video/i386/pc/vbe.c (last_set_mode): New variable.
-       (grub_vbe_set_video_mode): Set 'last_set_mode'.
-       (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
-       (grub_video_vbe_setup): Don't check for reserved flag.
-
-2009-12-17  Felix Zielcke <fzielcke@z-51.de>
-
-       * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
-       the `find' command.
-
-2009-12-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       UUID support for HFS.
-
-       * fs/hfs.c (grub_hfs_uuid): New function.
-       (grub_hfs_fs): New value .uuid.
-       * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
-
-2009-12-14  Felix Zielcke <fzielcke@z-51.de>
-
-       Fix a segfault with parsing unknown long options.
-
-       * util/grub-mkrelpath.c (options): Zero terminate it.
-
-2009-12-13  Carles Pina i Estany  <carles@pina.cat>
-
-       * include/grub/misc.h (grub_puts): New declaration.
-       (grub_puts_): Likewise.
-       * kern/misc.c (grub_puts): New definition.
-       (grub_puts_): Likewise.
-
-2009-12-13  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/grub-probe.c (probe): Improve error message.
-
-2009-12-13  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * loader/i386/multiboot_elfxx.c
-       (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
-       initialization.
-
-2009-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Relocator framework
-
-       * loader/i386/xnu_helper.S: Removed. All users updated.
-       * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
-       (relocator_mod_SOURCES): New variable.
-       (relocator_mod_CFLAGS): Likewise.
-       (relocator_mod_LDFLAGS): Likewise.
-       (relocator_mod_ASFLAGS): Likewise.
-       * conf/x86_64.rmk: Likewise.
-       * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
-       (grub_multiboot_payload_entry_offset): Likewise.
-       (grub_multiboot_forward_relocator): Likewise.
-       (grub_multiboot_forward_relocator_end): Likewise.
-       (grub_multiboot_backward_relocator): Likewise.
-       (grub_multiboot_backward_relocator_end): Likewise.
-       (grub_multiboot_payload_eip): New variable.
-       (grub_multiboot_payload_orig): Likewise.
-       * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
-       (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
-       * include/grub/i386/memory.h
-       (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
-       (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
-       (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
-       (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
-       (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
-       * include/grub/i386/relocator.h: New file.
-       * include/grub/x86_64/relocator.h: Likewise.
-       * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
-       (XNU_RELOCATOR): New macro.
-       (grub_xnu_launcher_start): Remove.
-       (grub_xnu_launcher_end): Likewise.
-       * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
-       (grub_xnu_heap_real_start): Remove.
-       (grub_xnu_heap_start): Change to void *. All users updated.
-       * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
-       * lib/i386/relocator.c: New file.
-       * lib/i386/relocator_asm.S: Likewise.
-       * lib/i386/relocator_backward.S: Likewise.
-       * lib/mips/relocator.c: Likewise.
-       * lib/mips/relocator_asm.S: Likewise.
-       * lib/relocator.c: Likewise.
-       * loader/i386/multiboot.c: Include grub/i386/relocator.h.
-       (entry): Removed.
-       (playground): Likewise.
-       (grub_multiboot_payload_orig): New variable.
-       (grub_multiboot_payload_dest): Likewise.
-       (grub_multiboot_payload_size): Likewise.
-       (grub_multiboot_payload_eip): Likewise.
-       (grub_multiboot_payload_esp): Likewise.
-       (grub_multiboot_boot): Use grub_relocator32_boot.
-       (grub_multiboot_unload): Free relocators.
-       (grub_multiboot): Setup stack. Use relocators.
-       * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
-       (grub_multiboot_load_elfXX): Use relocators.
-       * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
-       (grub_multiboot_payload_size): Likewise.
-       (grub_multiboot_payload_dest): Likewise.
-       (grub_multiboot_payload_entry_offset): Likewise.
-       (grub_multiboot_forward_relocator): Likewise.
-       (grub_multiboot_backward_relocator): Likewise.
-       (grub_multiboot_real_boot): Likewise.
-       * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
-       (grub_xnu_entry_point): Likewise.
-       (grub_xnu_arg1): Likewise.
-       (grub_xnu_stack): Likewise.
-       (grub_xnu_launch): Removed.
-       (grub_xnu_boot_resume): New function.
-       (grub_xnu_boot): Use relocators.
-       * loader/i386/xnu_helper.S: Removed.
-       * loader/xnu.c (grub_xnu_heap_start): New variable.
-       (grub_xnu_heap_size): Likewise.
-       (grub_xnu_heap_malloc): Use relocators.
-       * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
-
-2009-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
-       anything.
-
-2009-12-13  Carles Pina i Estany  <carles@pina.cat>
-
-       * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
-       GRUB_ERR_NONE before calling grub_env_set.
-
-2009-12-12  Robert Millan  <rmh@aybabtu.com>
-
-       * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
-       * genmk.rb (video): New variable.
-       (CLEANFILES, VIDEOFILES): Add #{video}.
-       (#{video}): New target rule.
-       * genvideolist.sh: New file.
-       * Makefile.in (pkglib_DATA): Add video.lst.
-       (video.lst): New target rule.
-       * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
-       `video.lst'.
-       * util/grub.d/30_os-prober.in: Replace `vbe' with
-       ${GRUB_VIDEO_BACKEND}.
-
-2009-12-11  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * THANKS: Add David Miller.
-
-2009-12-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       libpciaccess support.
-
-       * Makefile.in (LIBPCIACCESS): New variable.
-       (enable_grub_emu_pci): Likewise.
-       * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
-       util/pci.c and commands/lspci.c.
-       (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
-       * configure.ac (grub-emu-pci): New option.
-       * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
-       (grub_pci_device_unmap_range): Likewise.
-       * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
-       (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
-       (grub_pci_address_t) [!GRUB_UTIL]: New type.
-       (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
-       (grub_pci_get_bus) [!GRUB_UTIL]: New function.
-       (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
-       (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
-       * include/grub/pciutils.h: New file.
-       * util/pci.c: Likewise.
-
-2009-12-11  Felix Zielcke <fzielcke@z-51.de>
-
-       * util/misc.c: Don't include <errno.h> twice.
-
-2009-12-10  Felix Zielcke <fzielcke@z-51.de>
-
-       * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
-       name in an error message.
-       (grub_biosdisk_rw): Likewise.
-
-2009-12-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Eliminate NTFS 4Gib barrier.
-
-       * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
-       (read_run_data): Likewise.
-       (grub_ntfs_read_run_list): Likewise.
-       (grub_ntfs_read_block): Likewise.
-       (grub_ntfs_iterate_dir): Likewise.
-       (read_mft): Likewise.
-       (read_data): Likewise.
-       Use COM_LOG_LEN.
-       * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
-       to avoid 64-bit division
-       * include/grub/ntfs.h (COM_LOG_LEN): New definition.
-       (grub_ntfs_rlst): Use grub_disk_addr_t.
-
-2009-12-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Eliminate grub-fstest 4Gib barrier.
-
-       * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
-       (read_file): Fix error reporting.
-
-2009-12-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Eliminate hexdump 4Gib barrier.
-
-       * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
-       * lib/arg.c (grub_arg_parse): Use grub_strtoull.
-
-2009-12-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * kern/device.c (grub_device_iterate): Ignore errors during first scan.
-       Fixes amarsh bug.
-
-2009-12-09  Bruce Dubbs  <bruce.dubbs@gmail.com>
-
-       Remove miscellaneous files in distclean target.
-
-       * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
-
-2009-12-09  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
-       if they're already set.  This resolves the conflict between my
-       grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
-       fixing the --grub-probe option again.
-       * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
-       change on 2009-10-06, so that we now once again source
-       `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
-
-2009-12-08  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
-       `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
-       `util/devicemap.c'.
-
-2009-12-08  Carles Pina i Estany  <carles@pina.cat>
-
-       * include/grub/misc.h (grub_printf_): New declaration.
-       * kern/misc.c (grub_printf_): New definition.
-       * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
-       instead of `grub_printf' and `_'.
-       * normal/menu_entry.c (store_completion): Likewise.
-       (run): Likewise.
-       (grub_menu_entry_run): Likewise.
-       * normal/menu_text.c (grub_wait_after_message): Likewise.
-       (notify_booting): Likewise.
-       (notify_fallback): Likewise.
-       (notify_execution_failure): Likewise.
-
-2009-12-07  Colin Watson  <cjwatson@ubuntu.com>
-
-       * configure.ac: Check for vasprintf.
-       * util/misc.c (asprintf): Move allocation from here ...
-       (vasprintf): ... to here.  New function.
-       (xasprintf): New function.
-       * include/grub/util/misc.h (vasprintf, xasprintf): Add
-       prototypes.
-       * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
-       * util/grub-mkfont.c (write_font): Likewise.
-       * util/grub-probe.c (probe): Likewise.
-       * util/hostdisk.c (make_device_name): Likewise.
-
-2009-12-06  David S. Miller  <davem@sunset.davemloft.net>
-
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
-       anything even prefixed with 'cdrom' as a cdrom.
+       $ grub2-editenv --version
+       grub2-editenv (GRUB) 2.04
 
-2009-12-06  Felix Zielcke <fzielcke@z-51.de>
-
-       * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
-       mount points.
-
-2009-12-05  Carles Pina i Estany <carles@pina.cat>
-
-       * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
-       grub_gettext_msg_list.
-       (grub_gettext_gettranslation_from_position): Return const char *
-       and not char *.
-       (grub_gettext_translate): Add the translated strings into a list,
-       returns from the list if existing there.
-       (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
-       (grub_gettext_delete_list): Delete the list.
-       (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
-       lang environment variable is changed.
-       (GRUB_MOD_FINI): Call grub_gettext_delete_list.
-
-2009-12-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Rename kernel.mod to kernel.img.
-
-       * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
-       (kernel_mod_EXPORTS): Rename to ...
-       (kernel_img_EXPORTS): ... this.
-       (kernel_mod_SOURCES): Rename to ...
-       (kernel_img_SOURCES): ... this.
-       (kernel_mod_HEADERS): Rename to ...
-       (kernel_img_HEADERS): ... this. All users updated.
-       (kernel_mod_CFLAGS): Rename to ...
-       (kernel_img_CFLAGS): ... this.
-       (kernel_mod_ASFLAGS): Rename to ...
-       (kernel_img_ASFLAGS): ... this.
-       (kernel_mod_LDFLAGS): Rename to ...
-       (kernel_img_LDFLAGS): ... this.
-       * conf/x86_64-efi.rmk: Likewise.
-       * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
-       (read_kernel_image): ... this. All users updated.
-       (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
-
-2009-12-05  Carles Pina i Estany  <carles@pina.cat>
-
-       * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
-       (print_spaces): New function.
-       (grub_print_ucs4): New function.
-       (getstringwidth): New function.
-       (print_message_indented): New function.
-       (print_message): Gettexttize strings using print_message_indented.
-       (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
-       width.
-       (get_entry_number): Gettextize and uses dynamic terminal width.
-       (notify_booting, notify_fallback, notify_execution_failure):
-       Gettextize.
-       * normal/menu_entry.c (store_completion): Cleanup the gettextized
-       string.
-       (run): Likewise.
-       (grub_menu_entry_run): Likewise.
-       * PO/POTFILES: Add normal/menu_entry.c.
+       $ grub2-editenv env create
 
-2009-12-05  Vladimir Serbinenko  <phcoder@gmail.com>
+       $ grub2-editenv env set a="$(for i in {1..500}; do var="b$var"; done; echo $var)"
 
-       * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
+       $ wc -c env
+       1024 grubenv
 
-2009-12-05  Carles Pina i Estany  <carles@pina.cat>
+       $ grub2-editenv env set a="$(for i in {1..50}; do var="b$var"; done; echo $var)"
+       malloc(): corrupted top size
+       Aborted (core dumped)
 
-       * util/grub-install.in: Install gettext .mo files.
-       * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
+       $ wc -c env
+       0 grubenv
 
-2009-12-05  Carles Pina i Estany  <carles@pina.cat>
+       Reported-by: Renaud Métrich <rmetrich@redhat.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
-       grub_dprintf.
+2020-05-15  Hans Ulrich Niedermann  <hun@n-dimensional.de>
 
-2009-12-05  Robert Millan  <rmh.grub@aybabtu.com>
+       docs: Remove docs for non-existing uppermem command
+       Remove all documentation of and mentions of the uppermem
+       command from the docs/grub.texi file.
 
-       * kern/ieee1275/openfw.c (grub_reboot): Disable for i386.  The
-       non-firmware-dependant one in realmode.S takes precedence.
+       The uppermem command is not implemented in the GRUB source
+       at all and appears to never have been implemented despite
+       former plans to add an uppermem command.
 
-2009-12-04  Robert Millan  <rmh.grub@aybabtu.com>
+       To reduce user confusion, this even removes the paragraph
+       describing how GRUB's uppermem command was supposed to
+       complement the Linux kernel's mem= parameter.
 
-       * commands/halt.c: Replace misc arch-specific headers with
-       `<grub/misc.h>'.
-       * commands/reboot.c: Likewise.
-       * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
-       `<grub/misc.h>'.
-       * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
-       (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
-       (kernel_img_SOURCES): ... to here.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
-       * include/grub/i386/pc/init.h: Likewise.
-       * include/grub/powerpc/ieee1275/kernel.h: Likewise.
-       * include/grub/sparc64/ieee1275/kernel.h: Likewise.
+2020-05-15  Hans Ulrich Niedermann  <hun@n-dimensional.de>
 
-       * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
+       docs: Remove docs for non-existing pxe_unload command
+       Remove the documentation of the pxe_unload command from the
+       docs/grub.texi file.
 
-       * include/grub/i386/halt.h: Remove.
-       * include/grub/i386/reboot.h: Likewise.
+       The pxe_unload command is not implemented in the grub source
+       at this time at all. It appears to have been removed in commit
+       671a78acb (cleanup pxe and efi network release).
 
-       * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-12-03  David S. Miller  <davem@sunset.davemloft.net>
+2020-05-15  Hans Ulrich Niedermann  <hun@n-dimensional.de>
 
-       * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
-       grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
-       * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
-       "progname.h"
-       * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
-       * util/sparc64/ieee1275/grub-setup.c: Likewise.
-       (usage): Add missing comma in printf.
+       gitignore: Add a few forgotten file patterns
+       Add a few patterns to .gitignore to cover files which are generated
+       by building grub ("make", "make check", "make dist") but which have
+       been forgotten to add to .gitignore in the past.
 
-2009-12-02  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Use the same reboot approach on i386 coreboot and qemu as we do on
-       BIOS.
+2020-05-15  Hans Ulrich Niedermann  <hun@n-dimensional.de>
 
-       * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
-       (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
-       * kern/i386/reboot.c: Remove.
-       * include/grub/i386/reboot.h (grub_reboot): Export function.
-       * kern/i386/pc/startup.S (grub_reboot): Move from here ...
-       * kern/i386/realmode.S (grub_reboot): ... to here.  Jump to
-       0xf000:0xfff0 instead of 0xffff:0x0000.
-       [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
-       * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
+       gitignore: Add leading slashes where appropriate
+       Going through the list of gitignore patterns without a leading slash,
+       this adds a leading slash where it appears to have been forgotten.
 
-2009-11-30  Robert Millan  <rmh.grub@aybabtu.com>
+       Some gitignore patterns like ".deps/" or "Makefile" clearly should
+       match everywhere, so those definitively need no leading slash.
 
-       Fix $srcdir != $objdir build.
+       For some patterns like "ascii.bitmaps", it is unclear where in the
+       source tree they should match. Those patterns are kept as they are,
+       matching the patterns in the whole tree of subdirectories.
 
-       * Makefile.in (po/%.po):  Rewrite as ...
-       ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-29  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+2020-05-15  Hans Ulrich Niedermann  <hun@n-dimensional.de>
 
-       Fix GNU/Hurd grub-install crash.
-       * util/grub-probe.c (probe): Try to access `path' only when it is not
-       NULL.
+       gitignore: Add trailing slashes for directories
+       Add trailing slashes for all patterns matching directories.
 
-2009-11-28  Vladimir Serbinenko  <phcoder@gmail.com>
+       Note that we do *not* add trailing slashes for *symlinks*
+       to directories.
 
-       Correct module naming.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
-       (GRUB_MOD_INIT(efi_uga)): ... to this
-       (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
-       (GRUB_MOD_FINI(efi_uga)): ... to this
-       * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
-       (GRUB_MOD_INIT(efi_gop)): ... to this
-       (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
-       (GRUB_MOD_FINI(efi_gop)): ... to this
+2020-05-15  Hans Ulrich Niedermann  <hun@n-dimensional.de>
 
-2009-11-28  Robert Millan  <rmh.grub@aybabtu.com>
+       gitignore: Sort both pattern groups alphabetically
+       Alphabetically sort the two groups of gitignore patterns:
 
-       * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
-       translatable.
-       (usage): Translate `arg' strings using gettext().
-       Thanks to Jordi Mallach for the suggestion.
+         * The group of patterns without slashes, matching anywhere
+           in the directory subtree.
 
-2009-11-28  Vladimir Serbinenko  <phcoder@gmail.com>
+         * The group of patterns with slashes, matching relative to the
+           .gitignore file's directory
 
-       GOP support. Based on patch from Bean
-       (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * video/efi_gop.c: New file.
-       * include/grub/efi/graphics_output.h: Likewise.
-       * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
-       (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
-       variables.
-       * conf/x86_64-efi.rmk: Likewise.
-
-2009-11-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Rename efi_fb to efi_uga.
-
-       * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
-       'efi_uga.mod'.
-       (efi_fb_mod_SOURCES): Rename this ...
-       (efi_uga_mod_SOURCES): ... to this.
-       (efi_fb_mod_CFLAGS): Rename this ...
-       (efi_uga_mod_CFLAGS): ... to this.
-       (efi_fb_mod_LDFLAGS): Rename this ...
-       (efi_uga_mod_LDFLAGS): ... to this.
-       * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
-       'efi_uga.mod'.
-       (efi_fb_mod_SOURCES): Rename this ...
-       (efi_uga_mod_SOURCES): ... to this.
-       (efi_fb_mod_CFLAGS): Rename this ...
-       (efi_uga_mod_CFLAGS): ... to this.
-       (efi_fb_mod_LDFLAGS): Rename this ...
-       (efi_uga_mod_LDFLAGS): ... to this.
-       * video/efi_fb.c: Move this ...
-       * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
+2020-05-15  Hans Ulrich Niedermann  <hun@n-dimensional.de>
 
-2009-11-27  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * po/README: New file.  Explain our PO file workflow.
-
-2009-11-27  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * po/ChangeLog: Remove.  Move relevant entries back to ...
-       * ChangeLog: ... here.
-       * po/ca.po: Remove (now handled by TLP).
-       * po/id.po: Likewise.
-       * po/zh_CN.po: Likewise.
-       * Makefile.in (LINGUAS): Initialize in a way that supports
-       empty set.
+       gitignore: Group patterns with and without slash
+       Group the .gitignore patterns into two groups:
 
-2009-11-27  Robert Millan  <rmh.grub@aybabtu.com>
+         * Pattern not including a slash, i.e. matching files anywhere in
+           the .gitignore file's directory and all of its subdirectories.
 
-       * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
-       reliing on po/LINGUAS.
-       ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
-       (po/%.po): ... this.
-
-2009-11-26  Felix Zielcke <fzielcke@z-51.de>
-
-       * util/i386/efi/grub-mkimage.c: Include "progname.h".
-       (main): Use `program_name' instead of nonexistent `progname'.
-
-2009-11-26  Felix Zielcke  <fzielcke@z-51.de>
-
-       * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
-       * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
-
-2009-11-26  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
-       commit.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-
-2009-11-26  Felix Zielcke  <fzielcke@z-51.de>
-
-       * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
-
-2009-11-26  Felix Zielcke  <fzielcke@z-51.de>
-
-       * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
-
-2009-11-26  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
-       (grub_mkdevicemap_SOURCES): New variable.
-       (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
-       (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
-       (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
-       * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
-       (grub_mkdevicemap_SOURCES): Remove.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-       * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
-       (usage): Fix strings to use `program_name'.
-       (main): Initialize gettext.
-       * util/grub-editenv.c: Likewise.
-       * util/grub-emu.c: Likewise.
-       * util/grub-fstest.c: Likewise.
-       * util/grub-mkdevicemap.c: Likewise.
-       * util/grub-mkfont.c: Likewise.
-       * util/grub-mkrelpath.c: Likewise.
-       * util/grub-pe2elf.c: Likewise.
-       * util/grub-probe.c: Likewise.
-       * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
-       * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
-       * util/sparc64/ieee1275/grub-setup.c: Likewise.
+         * Patterns including a slash, i.e. matching only relative to the
+           .gitignore file's directory.
 
-       * util/misc.c: Include `"progname.h"'.
-       (progname): Remove variable.
-       (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-25  Felix Zielcke  <fzielcke@z-51.de>
+2020-05-15  Hans Ulrich Niedermann  <hun@n-dimensional.de>
 
-       * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
-       printf and print a newline after the menuentry header line.
-       * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
+       gitignore: Consistent leading slash is easier to read
+       As all gitignore patterns containing a left or middle slash match
+       only relative to the .gitignore file's directory, we write them
+       all in the same manner with a leading slash.
 
-2009-11-25  Felix Zielcke  <fzielcke@z-51.de>
+       This makes the file significantly easier to read.
 
-       autoconf >= 2.60 support $(localedir).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * INSTALL: Note that autoconf 2.60 is required.
-       * configure.ac (AC_PREREQ): Bump to 2.60.
-       * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
-       * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
+2020-05-15  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2009-11-25  Yves Blusseau  <yves.blusseau@zetam.org>
+       mips/cache: Add missing nop's in delay slots
+       Lack of them causes random instructions to be executed before the
+       jump really happens.
 
-       * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
-       aclocal is run.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-25  Robert Millan  <rmh.grub@aybabtu.com>
+2020-04-21  Patrick Steinhardt  <ps@pks.im>
 
-       * normal/main.c (grub_normal_read_line): Fix off-by-one
-       buffer overflow.
+       luks2: Propagate error when reading area key fails
+       When decrypting a given keyslot, all error cases except for one set up
+       an error and return the error code. The only exception is when we try to
+       read the area key: instead of setting up an error message, we directly
+       print it via grub_dprintf().
 
-2009-11-25  Robert Millan  <rmh.grub@aybabtu.com>
+       Convert the outlier to use grub_error() to allow more uniform handling
+       of errors.
 
-       * normal/main.c (grub_normal_execute): Replace "parser.sh" with
-       "parser.grub" in grub_command_execute() call.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-24  Carles Pina i Estany <carles@pina.cat>
+2020-04-21  Patrick Steinhardt  <ps@pks.im>
 
-       * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-       * gettext/gettex.c: Include <grub/i18n.h>.
-       * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
-         here ...
-       * include/grub/i18n.h: ... to here
-       * include/grub/i18n.h: ... to here.
-       * kern/misc.c: Include <grub/i18n.h>
-       (grub_gettext_dummy): Move above user.
-
-2009-11-24  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/Makefile.in (install-local): Convert a `for' into a normal
-       shell expansion.
-
-2009-11-24  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * autogen.sh: Add automake call.
-       * config.guess: Remove.
-       * config.sub: Likewise.
-       * install-sh: Likewise.
-
-2009-11-24  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/Makefile.in (install-local): Fix the use of $lang shell variable.
-
-2009-11-24  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/Makefile.in (install-local): Convert a make `$(foreach)'
-       function to a normal shell `for'.
-
-2009-11-24  Felix Zielcke  <fzielcke@z-51.de>
-
-       * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
-
-2009-11-24  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/grub-mkrelpath.c: New file.
-       * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
-       (grub_mkrelpath_SOURCES): New variable.
-       * include/grub/util/misc.h: New function prototype.
-       * util/misc.c (make_system_path_relative_to_its_root): New function.
-
-       * util/grub-mkconfig_lib.in (bindir): New variable.
-       (grub_mkrelpath): Likewise.
-       (make_system_path_relative_to_its_root): Use grub-mkrelpath.
-
-       * util/probe.c (probe): Make the file path relative to its root.
-       Change a info message to use the GRUB path.  Enable again the
-       check if we can read the file with GRUB facilities.
-
-       * util/i386/pc/grub-setup.c (setup): Make core.img path relative
-       to its root.
-
-2009-11-24  Felix Zielcke  <fzielcke@z-51.de>
-
-       * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
-       platform.
-
-2009-11-24  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/getroot.c (grub_util_get_dev_abstraction): Properly use
-       strncmp().
-
-2009-11-24  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/getroot.c (grub_util_is_dmraid): New function.
-       (grub_util_get_dev_abstraction): Treat dmraid and multipath
-       devices as normal ones, not as LVM.
-
-2009-11-23  Carles Pina i Estany <carles@pina.cat>
-
-       * conf/common.rmk: Add grub-gettext_lib target and updates
-         lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
-         LDFLAGS.
-       * gettext/gettext.c: New file. (Reads mo files).
-       * include/grub/file.h (grub_file_pread): New prototype.
-       * include/grub/i18n.h (_): New prototype.
-       * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
-         prototypes.
-       * kern/misc.c (grub_gettext_dummy): New function.
-       * normal/menu_text.c: Include <grub/i18n.h>.
-       * normal/menu_text.c (print_timeout): Gettexttize string.
-       * normal/menu_text.c (print_message): Gettexttize string.
-       * po/POTFILES: Add `normal/menu_text.c'.
-       * po/ca.po: Add new translations.
-       * util/grub.d/00_header.in: Define locale_dir and lang. insmod
-         gettext module and defines locale_dir and lang in grub.cfg.
-       * NEWS: Add gettext support.
-
-2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/hostdisk.c: Include `<grub/i18n.h>'.
-       (find_grub_drive): Use ARRAY_SIZE for map size calculation.
-       (make_device_name): Rewrite using asprintf.
-       (convert_system_partition_to_system_disk): Replace 0 with NULL.
-       (find_system_device): If a device is not found, generate one just
-       by reusing the OS path name.
-       (read_device_map): Make it permissible for device.map not to exist.
-
-2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * script/sh/execute.c: Move from here ...
-       * script/execute.c: ... to here.  Update all users.
-       * script/sh/function.c: Move from here ...
-       * script/function.c: ... to here.  Update all users.
-       * script/sh/lexer.c: Move from here ...
-       * script/lexer.c: ... to here.  Update all users.
-       * script/sh/main.c: Move from here ...
-       * script/main.c: ... to here.  Update all users.
-       * script/sh/parser.y: Move from here ...
-       * script/parser.y: ... to here.  Update all users.
-       * script/sh/script.c: Move from here ...
-       * script/script.c: ... to here.  Update all users.
-
-2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * configure.ac: Detect all `emu' platforms.  Define
-       GRUB_MACHINE_* macros in TARGET_CFLAGS.  Remove
-       --enable-grub-emu logic.  Disable include/grub/machine
-       symlink on `emu' platforms.
-
-       * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
-       * gensymlist.sh.in: Likewise.
-
-       * include/grub/i386/coreboot/machine.h: Remove file.
-       * include/grub/i386/efi/machine.h: Likewise.
-       * include/grub/i386/ieee1275/machine.h: Likewise.
-       * include/grub/i386/pc/machine.h: Likewise.
-       * include/grub/i386/qemu/machine.h: Likewise.
-       * include/grub/powerpc/ieee1275/machine.h: Likewise.
-       * include/grub/sparc64/ieee1275/machine.h: Likewise.
-       * include/grub/x86_64/efi/machine.h: Likewise.
-
-       * commands/acpi.c: Remove `<grub/machine/machine.h>'.
-       * commands/halt.c: Likewise.
-       * commands/reboot.c: Likewise.
-       * include/grub/autoefi.h: Likewise.
-       * include/grub/i386/at_keyboard.h: Likewise.
-       * include/grub/i386/kernel.h: Likewise.
-       * include/grub/i386/loader.h: Likewise.
-       * include/grub/i386/pc/memory.h: Likewise.
-        * kern/dl.c: Likewise.
-       * kern/i386/coreboot/init.c: Likewise.
-       * loader/i386/bsd.c: Likewise.
-       * loader/i386/linux.c: Likewise.
-       * loader/multiboot_loader.c: Likewise.
-       * term/i386/pc/serial.c: Likewise.
-       * term/usb_keyboard.c: Likewise.
-
-       * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
-       `<grub/machine/machine.h>'
-       [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
-       * util/misc.c: Remove `<grub/machine/machine.h>' and
-       `<grub/machine/time.h>'.
-
-       * Makefile.in (enable_grub_emu): Remove variable.
-       Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
-
-       * conf/any-emu.rmk: New file.
-       * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
-       (grub_emu_init.c): Move from here ...
-       * conf/any-emu.rmk: ... to here.
-
-       * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
-       (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
-       * conf/any-emu.rmk: ... to here.
-
-2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/grub/parser.h (grub_parser_register): Document need
-       of `name' parameter.
-       * normal/main.c (grub_normal_read_line): Simplify prompt string.
-       * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
-       "sh" to "grub".
-
-2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
-       `$(XGETTEXT)'.
-       * include/grub/i18n.h (N_): New macro.
-       * util/mkisofs/mkisofs.h: Likewise.
-       * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
-       around N_().
-       (usage): Use gettext() to translate help strings when printing them.
+       json: Get rid of casts for "jsmntok_t"
+       With the upstream change having landed that adds a name to the
+       previously anonymous "jsmntok" typedef, we can now add a forward
+       declaration for that struct in our code. As a result, we no longer have
+       to store the "tokens" member of "struct grub_json" as a void pointer but
+       can instead use the forward declaration, allowing us to get rid of casts
+       of that field.
 
-2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Based on patch from Bean
-       (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
+2020-04-21  Patrick Steinhardt  <ps@pks.im>
 
-       * video/efi_fb.c: New file.
-       * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
-       (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
-       variables.
-       * conf/x86_64-efi.rmk: Likewise.
+       json: Update jsmn library to upstream commit 053d3cd
+       Update our embedded version of the jsmn library to upstream commit
+       053d3cd (Merge pull request #175 from pks-t/pks/struct-type,
+       2020-04-02).
 
-2009-11-22  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
-       * util/i386/pc/grub-setup.c: Likewise.
+2020-04-21  Steve Langasek  <steve.langasek@ubuntu.com>
 
-2009-11-21  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+       templates: Output a menu entry for firmware setup on UEFI FastBoot systems
+       The fwsetup command allows to reboot into the EFI firmware setup menu, add
+       a template to include a menu entry on EFI systems that makes use of that
+       command to reboot into the EFI firmware settings.
 
-       * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
-       <hurd/fs.h>
-       [__GNU__] (grub_guess_root_device): Call file_name_lookup and
-       file_get_storage_info to implement grub_guess_root_device.
+       This is useful for users since the hotkey to enter into the EFI setup menu
+       may not be the same on all systems so users can use the menu entry without
+       needing to figure out what key needs to be pressed.
 
-2009-11-21  Felix Zielcke  <fzielcke@z-51.de>
+       Also, if fastboot is enabled in the BIOS then often it is not possible to
+       enter the firmware setup menu. So the entry is again useful for this case.
 
-       * Makefile.in (target): Use make's builtin $(shell) function
-       instead of calling directly $(SHELL) to create the locale directories,
-       inside the $(foreach) function.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-21  Felix Zielcke  <fzielcke@z-51.de>
+2020-04-21  Hans de Goede  <hdegoede@redhat.com>
 
-       * util/grub-mkrescue.in: Print an error and usage if output option
-       has not been given.
+       kern/term: Accept ESC, F4 and holding SHIFT as user interrupt keys
+       On some devices the ESC key is the hotkey to enter the BIOS/EFI setup
+       screen, making it really hard to time pressing it right. Besides that
+       ESC is also pretty hard to discover for a user who does not know it
+       will unhide the menu.
 
-2009-11-21  Felix Zielcke  <fzielcke@z-51.de>
+       This commit makes F4, which was chosen because is not used as a hotkey
+       to enter the BIOS setup by any vendor, also interrupt sleeps / stop the
+       menu countdown.
 
-       Patch from Loïc Minier <loic.minier@ubuntu.com>.
-       * util/grub.d/30_os-prober.in: Cope with Linux entries where
-       root and /boot are on different devices.
+       This solves the ESC gets into the BIOS setup and also somewhat solves
+       the discoverability issue, but leaves the timing issue unresolved.
 
-2009-11-21  Robert Millan  <rmh.grub@aybabtu.com>
+       This commit fixes the timing issue by also adding support for keeping
+       SHIFT pressed during boot to stop the menu countdown. This matches
+       what Ubuntu is doing, which should also help with discoverability.
 
-       Fix build for srcdir != objdir.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * Makefile.in (po/$(PACKAGE).pot): Rename to ...
-       ($(srcdir)/po/$(PACKAGE).pot): ... this.  Run $(XGETTEXT) from
-       $(srcdir).
-       ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
-       ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
-       reference for input.
+2020-04-21  Hans de Goede  <hdegoede@redhat.com>
 
-2009-11-21  Robert Millan  <rmh.grub@aybabtu.com>
+       efi/console: Do not set text-mode until we actually need it
+       If we're running with a hidden menu we may never need text mode, so do not
+       change the video-mode to text until we actually need it.
 
-       * util/grub-mkrescue.in: Use source directory direcly (without copiing
-       or hardlinking it).  Remove -J option, Joliet is not compatible with
-       multiple source directories.
+       This allows to boot a machine without unnecessary graphical transitions and
+       provide a seamless boot experience to users.
 
-2009-11-21  Carles Pina i Estany <carles@pina.cat>
-2009-11-21  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mkrescue.in: Recognize `--override-directory' option.
-       (process_input_dir): New function.  Process an arbitrary input
-       directory.
-       Misc adjustments to support both "override mode" and system-wide mode.
+2020-04-21  Hans de Goede  <hdegoede@redhat.com>
 
-2009-11-20  Felix Zielcke  <fzielcke@z-51.de>
+       efi/console: Implement getkeystatus() support
+       Implement getkeystatus() support in the EFI console driver.
 
-       * configure.ac (UNIFONT_BDF): Rename to ...
-       (FONT_SOURCE): ... this.  Update all users.
+       This is needed because the logic to determine if a key was pressed to make
+       the menu countdown stop will be changed by a later patch to also take into
+       account the SHIFT key being held down.
 
-2009-11-20  Felix Zielcke  <fzielcke@z-51.de>
+       For this reason the EFI console driver has to support getkeystatus() to
+       allow detecting that event.
 
-       * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
-       to the list of unifont files to look for.
+       Note that if a non-modifier key gets pressed and repeated calls to
+       getkeystatus() are made then it will return the modifier status at the
+       time of the non-modifier key, until that key-press gets consumed by a
+       getkey() call.
 
-2009-11-19  Robert Millan  <rmh.grub@aybabtu.com>
+       This is a side-effect of how the EFI simple-text-input protocol works
+       and cannot be avoided.
 
-       Patch from Joe Auricchio <jauricchio@gmail.com>
-       * commands/minicmd.c (grub_mini_cmd_clear): New function.
-       (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
-       (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-19  Felix Zielcke  <fzielcke@z-51.de>
+2020-04-21  Hans de Goede  <hdegoede@redhat.com>
 
-       * Makefile.in (install-local): Add a missing backslash.
+       efi/console: Add grub_console_read_key_stroke() helper function
+       This is a preparatory patch for adding getkeystatus() support to the
+       EFI console driver.
 
-2009-11-19  Felix Zielcke  <fzielcke@z-51.de>
+       We can get modifier status through the simple_text_input read_key_stroke()
+       method, but if a non-modifier key is (also) pressed the read_key_stroke()
+       call will consume that key from the firmware's queue.
 
-       * include/grub/x86_64/io.h: New file.
+       The new grub_console_read_key_stroke() helper buffers upto 1 key-stroke.
+       If it has a non-modifier key buffered, it will return that one, if its
+       buffer is empty, it will fills its buffer by getting a new key-stroke.
 
-2009-11-19  Robert Millan  <rmh.grub@aybabtu.com>
+       If called with consume=1 it will empty its buffer after copying the
+       key-data to the callers buffer, this is how getkey() will use it.
 
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
-       * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
-       Include `"progname.h"'.
-       (main): Initialize gettext.
-       * util/i386/pc/grub-setup.c: Gettexttize.
-       * util/i386/pc/grub-mkimage.c: Likewise.
+       If called with consume=0 it will keep the last key-stroke buffered, this
+       is how getkeystatus() will call it. This means that if a non-modifier
+       key gets pressed, repeated getkeystatus() calls will return the modifiers
+       of that key-press until it is consumed by a getkey() call.
 
-       * Makefile.in (po/*.po): Redefine as ...
-       ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
+2020-04-21  Hans de Goede  <hdegoede@redhat.com>
 
-2009-11-19  Robert Millan  <rmh.grub@aybabtu.com>
+       kern/term: Make grub_getkeystatus() helper function available everywhere
+       Move grub_getkeystatushelper() function from grub-core/commands/keystatus.c
+       to grub-core/kern/term.c and export it so that it can be used outside of
+       the keystatus command code too.
 
-       * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
-       * util/mkisofs/mkisofs.c: Include `"progname.h"'.
-       (program_name): Remove.
-       (main): Initialize gettext support.
-       * util/mkisofs/mkisofs.h: Include `<locale.h>'.
-       Include `<libintl.h>'.
-       (_): New macro.
+       There's no logic change in this patch. The function definition is moved so
+       it can be called from grub-core/kern/term.c in a subsequent patch. It will
+       be used to determine if a SHIFT key has was held down and use that also to
+       interrupt the countdown, without the need to press a key at the right time.
 
-       * util/mkisofs/eltorito.c: Gettexttize.
-       * util/mkisofs/joliet.c: Likewise.
-       * util/mkisofs/mkisofs.c: Likewise.
-       * util/mkisofs/multi.c: Likewise.
-       * util/mkisofs/rock.c: Likewise.
-       * util/mkisofs/tree.c: Likewise.
-       * util/mkisofs/write.c: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * po/POTFILES: Update with new files.
+2020-04-21  Javier Martinez Canillas  <javierm@redhat.com>
 
-2009-11-18  Robert Millan  <rmh.grub@aybabtu.com>
+       efi/console: Move grub_console_set{colorstate,cursor} higher in the file
+       This is just a preparatory patch to move the functions higher in the file,
+       since these will be called by the grub_prepare_for_text_output() function
+       that will be introduced in a later patch.
 
-       * util/mkisofs/eltorito.c: Fix minor mistake in license text.
-       * util/mkisofs/iso9660.h: Likewise.
-       * util/mkisofs/joliet.c: Likewise.
-       * util/mkisofs/mkisofs.c: Likewise.
-       * util/mkisofs/mkisofs.h: Likewise.
-       * util/mkisofs/rock.c: Likewise.
-       * util/mkisofs/tree.c: Likewise.
-       * util/mkisofs/write.c: Likewise.
+       The logic is unchanged by this patch. Functions definitions are just moved
+       to avoid a forward declaration in a later patch, keeping the code clean.
 
-       * util/mkisofs/eltorito.c (rcsid): Remove.
-       * util/mkisofs/hash.c: Likewise.
-       * util/mkisofs/joliet.c: Likewise.
-       * util/mkisofs/name.c: Likewise.
-       * util/mkisofs/rock.c: Likewise.
-       * util/mkisofs/tree.c: Likewise.
-       * util/mkisofs/write.c: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-18  Robert Millan  <rmh.grub@aybabtu.com>
+2020-04-21  Paul Menzel  <pmenzel@molgen.mpg.de>
 
-       * util/mkisofs/match.c: Rewrite from scratch, using a linked list
-       instead of static allocation.
-       * util/mkisofs/match.h: Likewise.
+       docs/grub: Fix typo in *preferred*
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-18  Robert Millan  <rmh.grub@aybabtu.com>
+2020-04-21  Daniel Axtens  <dja@axtens.net>
 
-       * po/POTFILES-shell: New file.  List `util/grub.d/10_kfreebsd.in'
-       and `util/grub.d/10_linux.in'.
-       * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
-       translatable Shell files.
-
-2009-11-18  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * Makefile.in ($(srcdir)/aclocal.m4): New target.
-
-2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * INSTALL: Document Automake is needed for bootstrap.
-       * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
-       * util/grub.d/10_kfreebsd.in (bindir): New variable.
-       Add gettext initialization.
-       (kfreebsd_entry): Make menuentry output translatable.
-
-2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
-       (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
-       (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
-       (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
-       (LINGUAS): Auto-generate using `po/LINGUAS'.
-       * po/LINGUAS: New file.
-
-2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
-       other things).
-       * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
-       * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
-       bindtextdomain() calls for gettext initialization.
-
-2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * gnulib/progname.c: New file (imported from Gnulib).
-       * gnulib/progname.h: Likewise.
-       * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
-       * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
-       (usage): Replace `progname' with `program_name'.
-       (main): Use set_program_name() for program name initialization.
-
-2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
-       from here ...
-       * Makefile.in (CPPFLAGS): ... to here.
-
-2009-11-16  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * aclocal.m4: Move from here ...
-       * acinclude.m4: ... to here.
-       * autogen.sh: Add call to `aclocal'.
-       * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
-
-2009-11-16  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * Makefile.in (CLEANFILES): Add `po/*.mo'.
-       (LINGUAS): New variable.
-       (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
-       (install-local): Install MO files.
-       (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
-       * include/grub/i18n.h: New file.
-       * po/POTFILES: New file.
-       * po/ca.po: New file.
-       * util/grub.d/10_linux.in (bindir): New variable.
-       Add gettext initialization.
-       (linux_entry): Make menuentry output translatable.
-       * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
-       (usage): Make --help output translatable.
-       (main): Initialize gettext.
-
-2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * import_gcry.py: New file (written by Vladimir with minor
-       adjustments).
-       * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
-       ciphers.
-       * INSTALL: Document that Python is required for bootstrap.
-
-2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Import ciphers from libgcrypt 1.4.4.
-
-        * lib/libgcrypt/cipher/ChangeLog
-        * lib/libgcrypt/cipher/ac.c
-        * lib/libgcrypt/cipher/arcfour.c
-        * lib/libgcrypt/cipher/bithelp.h
-        * lib/libgcrypt/cipher/blowfish.c
-        * lib/libgcrypt/cipher/camellia-glue.c
-        * lib/libgcrypt/cipher/camellia.c
-        * lib/libgcrypt/cipher/camellia.h
-        * lib/libgcrypt/cipher/cast5.c
-        * lib/libgcrypt/cipher/cipher.c
-        * lib/libgcrypt/cipher/crc.c
-        * lib/libgcrypt/cipher/des.c
-        * lib/libgcrypt/cipher/dsa.c
-        * lib/libgcrypt/cipher/ecc.c
-        * lib/libgcrypt/cipher/elgamal.c
-        * lib/libgcrypt/cipher/hash-common.c
-        * lib/libgcrypt/cipher/hash-common.h
-        * lib/libgcrypt/cipher/hmac-tests.c
-        * lib/libgcrypt/cipher/md.c
-        * lib/libgcrypt/cipher/md4.c
-        * lib/libgcrypt/cipher/md5.c
-        * lib/libgcrypt/cipher/primegen.c
-        * lib/libgcrypt/cipher/pubkey.c
-        * lib/libgcrypt/cipher/rfc2268.c
-        * lib/libgcrypt/cipher/rijndael-tables.h
-        * lib/libgcrypt/cipher/rijndael.c
-        * lib/libgcrypt/cipher/rmd.h
-        * lib/libgcrypt/cipher/rmd160.c
-        * lib/libgcrypt/cipher/rsa.c
-        * lib/libgcrypt/cipher/seed.c
-        * lib/libgcrypt/cipher/serpent.c
-        * lib/libgcrypt/cipher/sha1.c
-        * lib/libgcrypt/cipher/sha256.c
-        * lib/libgcrypt/cipher/sha512.c
-        * lib/libgcrypt/cipher/tiger.c
-        * lib/libgcrypt/cipher/twofish.c
-        * lib/libgcrypt/cipher/whirlpool.c
-
-2009-11-16  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Fix build for systems without error().
-
-       * gnulib/error.c: New file (imported from Gnulib).
-       * gnulib/error.h: Likewise.
-       * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
-       * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
-       (this variable is now used by error()).
-
-2009-11-16  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
-       instead of relying that char is signed.
-
-2009-11-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
-       blocksize different from specified.
-       (grub_pxefs_read): Likewise.
-
-2009-11-16  Felix Zielcke  <fzielcke@z-51.de>
-
-       Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
-
-       * disk/ata.c (grub_ata_dumpinfo): Add a cast.
-       (grub_ata_readwrite): Likewise.  Update 2 format strings.
-       (grub_atapi_read): Likewise.
-
-       * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
-       * conf/i386.rmk (pkglib_MODULES): ... to here ...
-       * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
-       * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
-       (ata_mod_LDFLAGS): Move from here ...
-       * conf/i386.rmk: ... to here ...
-       * conf/x86_64-efi.rmk: ... and here.
-       * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
-       (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
-
-2009-11-16  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Relicense multiboot.h, with RMS' blessing.
-
-       * include/multiboot.h: Change to X11 license.
-
-2009-11-15  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Support --version in grub-mkisofs.
-
-       * util/mkisofs/mkisofs.c (rcsid): Remove variable.
-       (OPTION_VERSION): New macro.
-       (ld_options): Recognize --version.
-       (usage): Move `program_name' from here ...
-       (program_name): ... to here.  Add `static' qualifier.
-       (main): Recognize `OPTION_VERSION'.
-
-2009-11-15  Felix Zielcke  <fzielcke@z-51.de>
-
-       * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
-       with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
-
-2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Fix help2man generation for mkisofs.
-
-       * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
-       (usage): Send output to stdout (rather than stderr).
-
-2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
-       `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
-       * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
-       `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
-       (bin_SCRIPTS): Add `grub-mkfloppy'.
-       (grub_mkfloppy_SOURCES): New variable.
-
-       * util/grub-mkrescue.in: New file.
-       * util/i386/pc/grub-mkfloppy.in: New file.
-
-       * util/i386/coreboot/grub-mkrescue.in: Remove.
-       * util/i386/pc/grub-mkrescue.in: Remove.
-
-2009-11-13  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/grub/multiboot.h (struct grub_multiboot_header): Move
-       from here ...
-       * include/multiboot.h (struct multiboot_header): ... to here.  Update
-       all users.
-       * include/grub/multiboot.h (struct grub_multiboot_info): Move
-       from here ...
-       * include/multiboot.h (struct multiboot_info): ... to here.  Update
-       all users.
-       * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
-       from here ...
-       * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
-       Update all users.
-       * include/grub/multiboot.h (struct grub_mod_list): Move
-       from here ...
-       * include/multiboot.h (struct multiboot_mod_list): ... to here.
-       Update all users.
-
-2009-11-13  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/multiboot2.h (multiboot_word): Rename from this ...
-       (multiboot2_word): ... to this.  Update all users.
-       (multiboot_header): Rename from this ...
-       (multiboot2_header): ... to this.  Update all users.
-       (multiboot_tag_header): Rename from this ...
-       (multiboot2_tag_header): ... to this.  Update all users.
-       (multiboot_tag_start): Rename from this ...
-       (multiboot2_tag_start): ... to this.  Update all users.
-       (multiboot_tag_name): Rename from this ...
-       (multiboot2_tag_name): ... to this.  Update all users.
-       (multiboot_tag_module): Rename from this ...
-       (multiboot2_tag_module): ... to this.  Update all users.
-       (multiboot_tag_memory): Rename from this ...
-       (multiboot2_tag_memory): ... to this.  Update all users.
-       (multiboot_tag_unused): Rename from this ...
-       (multiboot2_tag_unused): ... to this.  Update all users.
-       (multiboot_tag_end): Rename from this ...
-       (multiboot2_tag_end): ... to this.  Update all users.
-
-2009-11-13  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Disable Multiboot2 in i386-ieee1275.  It didn't actually work, and on
-       this platform we should support Multiboot1 first.
-
-       * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
-       (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
-       (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
-
-2009-11-12  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
-       of write calls (converting them to fwrite() if they aren't already).
-       (get_torito_desc): Likewise.
-       * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
-
-2009-11-12  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/i386/pc/grub-install.in: Move from here ...
-       * util/grub-install.in: ... to here.  Update all users.
-
-2009-11-11  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
-
-2009-11-11  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Support for El Torito without floppy emulation.
-
-       * util/mkisofs/eltorito.c: Include `<errno.h>'.
-       (init_boot_catalog): Improve error handling.
-       (get_torito_desc): Don't use floppy emulation unless requested by
-       user. Patch boot information table when requested via
-       `-boot-info-table'.
-       * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
-       * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
-       (use_boot_info_table): New variables.
-       (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
-       (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
-       (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
-       `--eltorito-emul-floppy'.
-       (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
-       and `OPTION_ELTORITO_EMUL_FLOPPY'.
-       * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
-       (use_boot_info_table, get_731): New prototypes.
-       * util/mkisofs/write.c (get_731): New function.
-
-2009-11-11  Felix Zielcke  <fzielcke@z-51.de>
-
-       Fix the generation of the man page.
-
-       * util/pc/i386/grub-install.in: Source
-       `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
-
-2009-11-11  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Large file support for grub-mkisofs.
-
-       * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
-       * util/mkisofs/mkisofs.c (next_extent, last_extent)
-       (session_start): Upgrade type to `uint64_t'.  Update all users.
-       * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
-       (struct directory_entry): Upgrade type of `starting_block' and
-       `size' to `uint64_t'.  Update all users.
-       (struct deferred): Remove unused structure.
-       (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
-       Update all users.
-       * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
-       file is larger than `UINT32_MAX'.
-       * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
-       `size' to `uint64_t'.  Update all users.  Fix handling of fwrite()
-       return value.
-       (struct deferred_write): Upgrade type of `extent' and `size' to
-       `uint64_t'.  Update all users.
-       (last_extent_written): Upgrade type to `uint64_t'.  Update all
-       users.
-       (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
-       Update all users.  Upgrade type of `remain' to `int64_t' and
-       `use' to `size_t'.  Use error() to handle fread() errors.
-       (write_files): Rely on write_one_file() rather than calling
-       xfwrite() directly.
-
-2009-11-09  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
+       powerpc/mkimage: Fix CHRP note descsz
+       Currently, an image generated with 'grub-mkimage -n' causes an error when
+       read with 'readelf -a':
 
-2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>
+       Displaying notes found at file offset 0x000106f0 with length 0x0000002c:
+         Owner                Data size        Description
+       readelf: Warning: note with invalid namesz and/or descsz found at offset 0x0
+       readelf: Warning:  type: 0x1275, namesize: 0x00000008, descsize: 0x0000002c, alignment: 4
 
-       * util/mkisofs/fnmatch.c: Remove.
-       * util/mkisofs/getopt1.c: Likewise.
-       * util/mkisofs/getopt.c: Likewise.
-       * conf/common.rmk (grub_mkisofs_SOURCES): Replace
-       `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
-       `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
-       `gnulib/getopt1.c' and `gnulib/getopt.c'.
-       (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
+       This is because the descsz of the CHRP note is set to
+        sizeof (struct grub_ieee1275_note)
+       which is the size of the entire note, including name and elf header. The
+       desczs should contain only the contents, not the name and header sizes.
 
-       * configure.ac: Detect `mingw32msvc' host_os.
-       Check for lstat(), getuid() and getgid().
+       Set the descsz instead to 'sizeof (struct grub_ieee1275_note_desc)'
 
-       * util/mkisofs/joliet.c: Include `<stdint.h>'.  Replace all
-       instances of `u_char' with `uint8_t'.
+       Resultant readelf output:
 
-       * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
-       [!HAVE_GETUID] (getuid): New function (stub).
-       [!HAVE_GETGID] (getgid): Likewise.
-       [!HAVE_LSTAT] (lstat): Likewise.
-       [!S_IROTH] (S_IROTH): New macro (dummy).
-       [!S_IRGRP] (S_IRGRP): Likewise.
+       Displaying notes found at file offset 0x00010710 with length 0x0000002c:
+         Owner                Data size        Description
+         PowerPC              0x00000018       Unknown note type: (0x00001275)
+          description data: ff ff ff ff 00 c0 00 00 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 40 00
 
-2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>
+       So far as I can tell this issue has existed for as long as the note
+       generation code has existed, but I guess nothing really checks descsz.
 
-       * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
-       conditional expression).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>
+2020-03-31  Flavio Suligoi  <f.suligoi@asem.it>
 
-       Import from Gnulib.
+       efi: Add missed space in GRUB_EFI_GLOBAL_VARIABLE_GUID
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * gnulib/fnmatch.c: New file.
-       * gnulib/fnmatch.h: Likewise.
-       * gnulib/fnmatch_loop.c: Likewise.
-       * gnulib/getopt.c: Likewise.
-       * gnulib/getopt.h: Likewise.
-       * gnulib/getopt1.c: Likewise.
-       * gnulib/getopt_int.h: Likewise.
-       * gnulib/gettext.h: Likewise.
-
-2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
-       * normal/handler.c (read_handler_list): Likewise.
-
-2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>
+2020-03-31  Michael Chang  <mchang@suse.com>
 
-       Misc cleanup.
+       zfs: Fix gcc10 error -Werror=zero-length-bounds
+       We bumped into the build error while testing gcc-10 pre-release.
 
-       * kern/command.c (grub_register_command_prio): Use
-       grub_zalloc() instead of explicitly zeroing data.
-       * kern/list.c: Include `<grub/mm.h>'.
-       (grub_named_list_find): Replace `0' with `NULL'.
-       * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
-       (fs_module_list): Change type to `grub_named_list_t'.  Update all
-       users.
-       * normal/dyncmd.c (read_command_list): Add space between function
-       call and parenthesis.
-       * normal/handler.c (read_handler_list): Likewise.
+       In file included from ../../include/grub/file.h:22,
+                       from ../../grub-core/fs/zfs/zfs.c:34:
+       ../../grub-core/fs/zfs/zfs.c: In function 'zap_leaf_lookup':
+       ../../grub-core/fs/zfs/zfs.c:2263:44: error: array subscript '<unknown>' is outside the bounds of an interior zero-length array 'grub_uint16_t[0]' {aka 'short unsigned int[0]'} [-Werror=zero-length-bounds]
+       2263 |   for (chunk = grub_zfs_to_cpu16 (l->l_hash[LEAF_HASH (blksft, h, l)], endian);
+       ../../include/grub/types.h:241:48: note: in definition of macro 'grub_le_to_cpu16'
+        241 | # define grub_le_to_cpu16(x) ((grub_uint16_t) (x))
+            |                                                ^
+       ../../grub-core/fs/zfs/zfs.c:2263:16: note: in expansion of macro 'grub_zfs_to_cpu16'
+       2263 |   for (chunk = grub_zfs_to_cpu16 (l->l_hash[LEAF_HASH (blksft, h, l)], endian);
+            |                ^~~~~~~~~~~~~~~~~
+       In file included from ../../grub-core/fs/zfs/zfs.c:48:
+       ../../include/grub/zfs/zap_leaf.h:72:16: note: while referencing 'l_hash'
+         72 |  grub_uint16_t l_hash[0];
+            |                ^~~~~~
 
-2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>
+       Here I'd like to quote from the gcc document [1] which seems best to
+       explain what is going on here.
 
-       * normal/auth.c (punishment_delay): Moved from here ...
-       (grub_auth_strcmp): ... to here (inside function).
+       "Although the size of a zero-length array is zero, an array member of
+       this kind may increase the size of the enclosing type as a result of
+       tail padding. The offset of a zero-length array member from the
+       beginning of the enclosing structure is the same as the offset of an
+       array with one or more elements of the same type. The alignment of a
+       zero-length array is the same as the alignment of its elements.
 
-2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>
+       Declaring zero-length arrays in other contexts, including as interior
+       members of structure objects or as non-member objects, is discouraged.
+       Accessing elements of zero-length arrays declared in such contexts is
+       undefined and may be diagnosed."
 
-       * include/grub/list.h (struct grub_named_list): Remove `const'
-       qualifier from `name'.
-       (struct grub_prio_list): Likewise.
+       The l_hash[0] is apparnetly an interior member to the enclosed structure
+       while l_entries[0] is the trailing member. And the offending code tries
+       to access members in l_hash[0] array that triggers the diagnose.
 
-2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>
+       Given that the l_entries[0] is used to get proper alignment to access
+       leaf chunks, we can accomplish the same thing through the ALIGN_UP macro
+       thus eliminating l_entries[0] from the structure. In this way we can
+       pacify the warning as l_hash[0] now becomes the last member to the
+       enclosed structure.
 
-       * normal/auth.c: Include `<grub/time.h>'.
-       (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
+       [1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
 
-2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * normal/auth.c (punishment_delay): New variable.
-       (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
-       (grub_auth_check_authentication): Punish failed login attempts with
-       an incremental (2^N) delay.
+2020-03-31  Michael Chang  <mchang@suse.com>
 
-2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>
+       mdraid1x_linux: Fix gcc10 error -Werror=array-bounds
+       We bumped into the build error while testing gcc-10 pre-release.
 
-       * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
-       path with $(srcdir).
+       ../../grub-core/disk/mdraid1x_linux.c: In function 'grub_mdraid_detect':
+       ../../grub-core/disk/mdraid1x_linux.c:181:15: error: array subscript <unknown> is outside array bounds of 'grub_uint16_t[0]' {aka 'short unsigned int[0]'} [-Werror=array-bounds]
+         181 |      (char *) &sb.dev_roles[grub_le_to_cpu32 (sb.dev_number)]
+             |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+       ../../grub-core/disk/mdraid1x_linux.c:98:17: note: while referencing 'dev_roles'
+          98 |   grub_uint16_t dev_roles[0]; /* Role in array, or 0xffff for a spare, or 0xfffe for faulty.  */
+             |                 ^~~~~~~~~
+       ../../grub-core/disk/mdraid1x_linux.c:127:33: note: defined here 'sb'
+         127 |       struct grub_raid_super_1x sb;
+             |                                 ^~
+       cc1: all warnings being treated as errors
 
-2009-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
+       Apparently gcc issues the warning when trying to access sb.dev_roles
+       array's member, since it is a zero length array as the last element of
+       struct grub_raid_super_1x that is allocated sparsely without extra
+       chunks for the trailing bits, so the warning looks legitimate in this
+       regard.
 
-       * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
+       As the whole thing here is doing offset computation, it is undue to use
+       syntax that would imply array member access then take address from it
+       later. Instead we could accomplish the same thing through basic array
+       pointer arithmetic to pacify the warning.
 
-2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/i386/coreboot/grub-mkrescue.in: New file.
-       * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
-       variables.
+2020-03-31  Simon Hardy  <simon.hardy@itdev.co.uk>
 
-       * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
-       (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
-       * configure.ac: Add header and function checks to satisfy grub-mkisofs
-       requirements.
-       * util/mkisofs/defaults.h: New file.
-       * util/mkisofs/eltorito.c: Likewise.
-       * util/mkisofs/exclude.h: Likewise.
-       * util/mkisofs/fnmatch.c: Likewise.
-       * util/mkisofs/getopt.c: Likewise.
-       * util/mkisofs/getopt1.c: Likewise.
-       * util/mkisofs/hash.c: 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/multi.c: Likewise.
-       * util/mkisofs/name.c: Likewise.
-       * util/mkisofs/rock.c: Likewise.
-       * util/mkisofs/tree.c: Likewise.
-       * util/mkisofs/write.c: Likewise.
+       build: Fix GRUB i386-pc build with Ubuntu gcc
+       With recent versions of gcc on Ubuntu a very large lzma_decompress.img file is
+       output. (e.g. 134479600 bytes instead of 2864.) This causes grub-mkimage to
+       fail with: "error: Decompressor is too big."
 
-2009-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
+       This seems to be caused by a section .note.gnu.property that is placed at an
+       offset such that objcopy needs to pad the img file with zeros.
 
-       * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
-       being insecure.
+       This issue is present on:
+       Ubuntu 19.10 with gcc (Ubuntu 8.3.0-26ubuntu1~19.10) 8.3.0
+       Ubuntu 19.10 with gcc (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008
 
-2009-11-08  Robert Millan  <rmh.grub@aybabtu.com>
+       This issue is not present on:
+       Ubuntu 19.10 with gcc (Ubuntu 7.5.0-3ubuntu1~19.10) 7.5.0
+       RHEL 8.0 with gcc 8.3.1 20190507 (Red Hat 8.3.1-4)
+
+       The issue can be fixed by removing the section using objcopy as shown in
+       this patch.
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-03-31  Tianjia Zhang  <tianjia.zhang@linux.alibaba.com>
+
+       efi/tpm: Fix memory leak in grub_tpm1/2_log_event()
+       The memory requested for the event is not released here,
+       causing memory leaks. This patch fixes this problem.
+
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-03-31  Michael Chang  <mchang@suse.com>
 
-       * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
-       `grub-mkimage' (and use $0 when possible).
+       docs: Document notes on LVM cache booting
+       Add notes on LVM cache booting to the GRUB manual to help user understanding
+       the outstanding issue and status.
 
-2009-11-08  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
-       error message for excessively large memory map.
+2020-03-31  Michael Chang  <mchang@suse.com>
 
-2009-11-08  Robert Millan  <rmh.grub@aybabtu.com>
+       lvm: Add LVM cache logical volume handling
+       The LVM cache logical volume is the logical volume consisting of the original
+       and the cache pool logical volume. The original is usually on a larger and
+       slower storage device while the cache pool is on a smaller and faster one. The
+       performance of the original volume can be improved by storing the frequently
+       used data on the cache pool to utilize the greater performance of faster
+       device.
 
-       * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
-       executable bit.
+       The default cache mode "writethrough" ensures that any data written will be
+       stored both in the cache and on the origin LV, therefore grub can be straight
+       to read the original lv as no data loss is guarenteed.
+
+       The second cache mode is "writeback", which delays writing from the cache pool
+       back to the origin LV to have increased performance. The drawback is potential
+       data loss if losing the associated cache device.
+
+       During the boot time grub reads the LVM offline i.e. LVM volumes are not
+       activated and mounted, hence it should be fine to read directly from original
+       lv since all cached data should have been flushed back in the process of taking
+       it offline.
+
+       It is also not much helpful to the situation by adding fsync calls to the
+       install code. The fsync did not force to write back dirty cache to the original
+       device and rather it would update associated cache metadata to complete the
+       write transaction with the cache device. IOW the writes to cached blocks still
+       go only to the cache device.
+
+       To write back dirty cache, as LVM cache did not support dirty cache flush per
+       block range, there'no way to do it for file. On the other hand the "cleaner"
+       policy is implemented and can be used to write back "all" dirty blocks in a
+       cache, which effectively drain all dirty cache gradually to attain and last in
+       the "clean" state, which can be useful for shrinking or decommissioning a
+       cache. The result and effect is not what we are looking for here.
+
+       In conclusion, as it seems no way to enforce file writes to the original
+       device, grub may suffer from power failure as it cannot assemble the cache
+       device and read the dirty data from it. However since the case is only
+       applicable to writeback mode which is sensitive to data lost in nature, I'd
+       still like to propose my (relatively simple) patch and treat reading dirty
+       cache as improvement.
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-03-10  Patrick Steinhardt  <ps@pks.im>
+
+       gnulib: Fix build of base64 when compiling with memory debugging
+       When building GRUB with memory management debugging enabled, then the
+       build fails because of `grub_debug_malloc()` and `grub_debug_free()`
+       being undefined in the luks2 module. The cause is that we patch
+       "base64.h" to unconditionaly include "config-util.h", which shouldn't be
+       included for modules at all. As a result, `MM_DEBUG` is defined when
+       building the module, causing it to use the debug memory allocation
+       functions. As these are not built into modules, we end up with a linker
+       error.
 
-2009-11-08  Robert Millan  <rmh.grub@aybabtu.com>
+       Fix the issue by removing the <config-util.h> include altogether. The
+       sole reason it was included was for the `_GL_ATTRIBUTE_CONST` macro,
+       which we can simply define as empty in case it's not set.
 
-       * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
-       message for coreboot users.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-07  Robert Millan  <rmh.grub@aybabtu.com>
+2020-03-10  Patrick Steinhardt  <ps@pks.im>
+
+       build: Fix option to explicitly disable memory debugging
+       The memory management system supports a debug mode that can be enabled
+       at build time by passing "--enable-mm-debug" to the configure script.
+       Passing the option will cause us define MM_DEBUG as expected, but in
+       fact the reverse option "--disable-mm-debug" will do the exact same
+       thing and also set up the define. This currently causes the build of
+       "lib/gnulib/base64.c" to fail as it tries to use `grub_debug_malloc()`
+       and `grub_debug_free()` even though both symbols aren't defined.
+
+       Seemingly, `AC_ARG_ENABLE()` will always execute the third argument if
+       either the positive or negative option was passed. Let's thus fix the
+       issue by moving the call to`AC_DEFINE()` into an explicit `if test
+       $xenable_mm_debug` block, similar to how other defines work.
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
+
+2020-03-10  David Michael  <fedora.dm0@gmail.com>
+
+       fat: Support file modification times
+       This allows comparing file ages on EFI system partitions.
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-03-10  David Michael  <fedora.dm0@gmail.com>
+
+       exfat: Save the matching directory entry struct when searching
+       This provides the node's attributes outside the iterator function
+       so the file modification time can be accessed and reported.
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-03-10  Mike Gilbert  <floppym@gentoo.org>
+
+       datetime: Enable the datetime module for the emu platform
+       Fixes a build failure:
+
+         grub-core/commands/date.c:49: undefined reference to `grub_get_weekday_name'
+         grub-core/commands/ls.c:155: undefined reference to `grub_unixtime2datetime'
+
+       Bug: https://bugs.gentoo.org/711512
+
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
+       Tested-by: Javier Martinez Canillas <javierm@redhat.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-03-10  John Paul Adrian Glaubitz  <glaubitz@physik.fu-berlin.de>
+
+       build: Add soft-float handling for SuperH (sh4)
+       While GRUB has no platform support for SuperH (sh4) yet, this change
+       adds the target-specific handling of soft-floats such that the GRUB
+       utilities can be built on this target.
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-03-10  Peter Jones  <pjones@redhat.com>
+
+       efi: Fix the type of grub_efi_status_t
+       Currently, in some builds with some checkers, we see:
+
+       1. grub-core/disk/efi/efidisk.c:601: error[shiftTooManyBitsSigned]: Shifting signed 64-bit value by 63 bits is undefined behaviour
+
+       This is because grub_efi_status_t is defined as grub_efi_intn_t, which is
+       signed, and shifting into the sign bit is not defined behavior.  UEFI fixed
+       this in the spec in 2.3:
+
+       2.3 | Change the defined type of EFI_STATUS from INTN to UINTN | May 7, 2009
+
+       And the current EDK2 code has:
+       MdePkg/Include/Base.h-//
+       MdePkg/Include/Base.h-// Status codes common to all execution phases
+       MdePkg/Include/Base.h-//
+       MdePkg/Include/Base.h:typedef UINTN RETURN_STATUS;
+       MdePkg/Include/Base.h-
+       MdePkg/Include/Base.h-/**
+       MdePkg/Include/Base.h-  Produces a RETURN_STATUS code with the highest bit set.
+       MdePkg/Include/Base.h-
+       MdePkg/Include/Base.h-  @param  StatusCode    The status code value to convert into a warning code.
+       MdePkg/Include/Base.h-                        StatusCode must be in the range 0x00000000..0x7FFFFFFF.
+       MdePkg/Include/Base.h-
+       MdePkg/Include/Base.h-  @return The value specified by StatusCode with the highest bit set.
+       MdePkg/Include/Base.h-
+       MdePkg/Include/Base.h-**/
+       MdePkg/Include/Base.h-#define ENCODE_ERROR(StatusCode)     ((RETURN_STATUS)(MAX_BIT | (StatusCode)))
+       MdePkg/Include/Base.h-
+       MdePkg/Include/Base.h-/**
+       MdePkg/Include/Base.h-  Produces a RETURN_STATUS code with the highest bit clear.
+       MdePkg/Include/Base.h-
+       MdePkg/Include/Base.h-  @param  StatusCode    The status code value to convert into a warning code.
+       MdePkg/Include/Base.h-                        StatusCode must be in the range 0x00000000..0x7FFFFFFF.
+       MdePkg/Include/Base.h-
+       MdePkg/Include/Base.h-  @return The value specified by StatusCode with the highest bit clear.
+       MdePkg/Include/Base.h-
+       MdePkg/Include/Base.h-**/
+       MdePkg/Include/Base.h-#define ENCODE_WARNING(StatusCode)   ((RETURN_STATUS)(StatusCode))
+       MdePkg/Include/Base.h-
+       MdePkg/Include/Base.h-/**
+       MdePkg/Include/Base.h-  Returns TRUE if a specified RETURN_STATUS code is an error code.
+       MdePkg/Include/Base.h-
+       MdePkg/Include/Base.h-  This function returns TRUE if StatusCode has the high bit set.  Otherwise, FALSE is returned.
+       MdePkg/Include/Base.h-
+       MdePkg/Include/Base.h-  @param  StatusCode    The status code value to evaluate.
+       MdePkg/Include/Base.h-
+       MdePkg/Include/Base.h-  @retval TRUE          The high bit of StatusCode is set.
+       MdePkg/Include/Base.h-  @retval FALSE         The high bit of StatusCode is clear.
+       MdePkg/Include/Base.h-
+       MdePkg/Include/Base.h-**/
+       MdePkg/Include/Base.h-#define RETURN_ERROR(StatusCode)     (((INTN)(RETURN_STATUS)(StatusCode)) < 0)
+       ...
+       Uefi/UefiBaseType.h:typedef RETURN_STATUS             EFI_STATUS;
 
-       Fix build with GNU gold.
+       This patch makes grub's implementation match the Edk2 declaration with regards
+       to the signedness of the type.
 
-       * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
-       (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
-       (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
-       link addresses.
-       * aclocal.m4: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-04  Felix Zielcke  <fzielcke@z-51.de>
+2020-03-10  Peter Jones  <pjones@redhat.com>
 
-       * configure.ac (AC_PREREQ): Bump to 2.59d.
-       * INSTALL: Make it more clear when Autoconf and Ruby are
-       needed and when to run `./autogen.sh'.
+       efi/gop: Add debug output on GOP probing
+       Add debug information to EFI GOP video driver probing function.
 
-2009-11-03  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
-       OSes.
+2020-03-10  Peter Jones  <pjones@redhat.com>
 
-2009-11-02  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+       efi/uga: Use video instead of fb as debug condition
+       All other video drivers use "video" as the debug condition instead of "fb"
+       so change this in the efi/uga driver to make it consistent with the others.
 
-       * util/grub.d/30_os-prober.in: Add GNU/Hurd support
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-02  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+2020-03-10  Peter Jones  <pjones@redhat.com>
 
-       * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
-       giving it to GNU Mach.
+       efi: Print error messages to grub_efi_allocate_pages_real()
+       No messages were printed in this function, add some to ease debugging.
 
-2009-11-02  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+       Also, the function returns a void * pointer so return NULL instead of
+       0 to make the code more readable.
 
-       * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
-       GNU partition number to get internal GRUB partition number.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-02  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+2020-03-10  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
-       ${GRUB_DEVICE_BOOT} before loading /boot kernel.
+       efi/uga: Use 64 bit for fb_base
+       We get 64 bit from PCI BAR but then truncate by assigning to 32 bit.
+       Make sure to check that pointer does not overflow on 32 bit platform.
 
-2009-11-01  Robert Millan  <rmh.grub@aybabtu.com>
+       Closes: 50931
 
-       Based on patch from BVK Chaitanya  <bvk.groups@gmail.com>
-       * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
-       case.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-11-01  Felix Zielcke  <fzielcke@z-51.de>
+2020-03-10  Alexander Graf  <agraf@suse.de>
 
-       * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
+       efi/gop: Add support for BLT_ONLY adapters
+       EFI GOP has support for multiple different bitness types of frame buffers
+       and for a special "BLT only" type which is always defined to be RGBx.
 
-2009-10-30  Robert Millan  <rmh.grub@aybabtu.com>
+       Because grub2 doesn't ever directly access the frame buffer but instead
+       only renders graphics via the BLT interface anyway, we can easily support
+       these adapters.
 
-       Fix build problem.
+       The reason this has come up now is the emerging support for virtio-gpu
+       in OVMF. That adapter does not have the notion of a memory mapped frame
+       buffer and thus is BLT only.
 
-       * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
-       `-isystem=$(srcdir)/include'.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-10-30  Robert Millan  <rmh.grub@aybabtu.com>
+2020-03-10  Peter Jones  <pjones@redhat.com>
 
-       * util/i386/pc/grub-install.in: Remove hint that device.map should be
-       checked (grub-install doesn't currently rely on it).
+       normal/completion: Fix possible NULL pointer dereference
+       Coverity Scan reports that the grub_strrchr() function can return NULL if
+       the character is not found. Check if that's the case for dirfile pointer.
 
-2009-10-29  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Revert SVN r2660.
+2020-03-10  Peter Jones  <pjones@redhat.com>
 
-       * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
-       * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
-       * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
+       kern: Add grub_debug_enabled()
+       Add a grub_debug_enabled() helper function instead of open coding it.
 
-2009-10-28  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
+2020-03-10  Peter Jones  <pjones@redhat.com>
 
-2009-10-28  Robert Millan  <rmh.grub@aybabtu.com>
+       Makefile: Make libgrub.pp depend on config-util.h
+       If you build with "make -j48" a lot, sometimes you see:
 
-       * include/grub/misc.h: Stop checking for APPLE_CC.
+       gcc -E -DHAVE_CONFIG_H -I. -I..  -Wall -W -DGRUB_UTIL=1 -D_FILE_OFFSET_BITS=64 -I./include -DGRUB_FILE=\"grub_script.tab.h\" -I. -I.. -I. -I.. -I../include -I./include -I../grub-core/lib/libgcrypt-grub/src/  -I../grub-core/lib/minilzo -I../grub-core/lib/xzembed -DMINILZO_HAVE_CONFIG_H -Wall -W -DGRUB_UTIL=1 -D_FILE_OFFSET_BITS=64 -I./include -DGRUB_FILE=\"grub_script.tab.h\" -I. -I.. -I. -I.. -I../include -I./include -I../grub-core/lib/libgcrypt-grub/src/  -I./grub-core/gnulib -I../grub-core/gnulib -I/builddir/build/BUILD/grub-2.02/grub-aarch64-efi-2.02 -D_FILE_OFFSET_BITS=64 \
+         -D'GRUB_MOD_INIT(x)=@MARKER@x@' grub_script.tab.h grub_script.yy.h ../grub-core/commands/blocklist.c ../grub-core/commands/macbless.c ../grub-core/commands/xnu_uuid.c ../grub-core/commands/testload.c ../grub-core/commands/ls.c ../grub-core/disk/dmraid_nvidia.c ../grub-core/disk/loopback.c ../grub-core/disk/lvm.c ../grub-core/disk/mdraid_linux.c ../grub-core/disk/mdraid_linux_be.c ../grub-core/disk/mdraid1x_linux.c ../grub-core/disk/raid5_recover.c ../grub-core/disk/raid6_recover.c ../grub-core/font/font.c ../grub-core/gfxmenu/font.c ../grub-core/normal/charset.c ../grub-core/video/fb/fbblit.c ../grub-core/video/fb/fbutil.c ../grub-core/video/fb/fbfill.c ../grub-core/video/fb/video_fb.c ../grub-core/video/video.c ../grub-core/video/capture.c ../grub-core/video/colors.c ../grub-core/unidata.c ../grub-core/io/bufio.c ../grub-core/fs/affs.c ../grub-core/fs/afs.c ../grub-core/fs/bfs.c ../grub-core/fs/btrfs.c ../grub-core/fs/cbfs.c ../grub-core/fs/cpio.c ../grub-core/fs/cpio_be.c ../grub-core/fs/odc.c ../grub-core/fs/newc.c ../grub-core/fs/ext2.c ../grub-core/fs/fat.c ../grub-core/fs/exfat.c ../grub-core/fs/fshelp.c ../grub-core/fs/hfs.c ../grub-core/fs/hfsplus.c ../grub-core/fs/hfspluscomp.c ../grub-core/fs/iso9660.c ../grub-core/fs/jfs.c ../grub-core/fs/minix.c ../grub-core/fs/minix2.c ../grub-core/fs/minix3.c ../grub-core/fs/minix_be.c ../grub-core/fs/minix2_be.c ../grub-core/fs/minix3_be.c ../grub-core/fs/nilfs2.c ../grub-core/fs/ntfs.c ../grub-core/fs/ntfscomp.c ../grub-core/fs/reiserfs.c ../grub-core/fs/romfs.c ../grub-core/fs/sfs.c ../grub-core/fs/squash4.c ../grub-core/fs/tar.c ../grub-core/fs/udf.c ../grub-core/fs/ufs2.c ../grub-core/fs/ufs.c ../grub-core/fs/ufs_be.c ../grub-core/fs/xfs.c ../grub-core/fs/zfs/zfscrypt.c ../grub-core/fs/zfs/zfs.c ../grub-core/fs/zfs/zfsinfo.c ../grub-core/fs/zfs/zfs_lzjb.c ../grub-core/fs/zfs/zfs_lz4.c ../grub-core/fs/zfs/zfs_sha256.c ../grub-core/fs/zfs/zfs_fletcher.c ../grub-core/lib/envblk.c ../grub-core/lib/hexdump.c ../grub-core/lib/LzFind.c ../grub-core/lib/LzmaEnc.c ../grub-core/lib/crc.c ../grub-core/lib/adler32.c ../grub-core/lib/crc64.c ../grub-core/normal/datetime.c ../grub-core/normal/misc.c ../grub-core/partmap/acorn.c ../grub-core/partmap/amiga.c ../grub-core/partmap/apple.c ../grub-core/partmap/sun.c ../grub-core/partmap/plan.c ../grub-core/partmap/dvh.c ../grub-core/partmap/sunpc.c ../grub-core/partmap/bsdlabel.c ../grub-core/partmap/dfly.c ../grub-core/script/function.c ../grub-core/script/lexer.c ../grub-core/script/main.c ../grub-core/script/script.c ../grub-core/script/argv.c ../grub-core/io/gzio.c ../grub-core/io/xzio.c ../grub-core/io/lzopio.c ../grub-core/kern/ia64/dl_helper.c ../grub-core/kern/arm/dl_helper.c ../grub-core/kern/arm64/dl_helper.c ../grub-core/lib/minilzo/minilzo.c ../grub-core/lib/xzembed/xz_dec_bcj.c ../grub-core/lib/xzembed/xz_dec_lzma2.c ../grub-core/lib/xzembed/xz_dec_stream.c ../util/misc.c ../grub-core/kern/command.c ../grub-core/kern/device.c ../grub-core/kern/disk.c ../grub-core/lib/disk.c ../util/getroot.c ../grub-core/osdep/unix/getroot.c ../grub-core/osdep/getroot.c ../grub-core/osdep/devmapper/getroot.c ../grub-core/osdep/relpath.c ../grub-core/kern/emu/hostdisk.c ../grub-core/osdep/devmapper/hostdisk.c ../grub-core/osdep/hostdisk.c ../grub-core/osdep/unix/hostdisk.c ../grub-core/osdep/exec.c ../grub-core/osdep/sleep.c ../grub-core/osdep/password.c ../grub-core/kern/emu/misc.c ../grub-core/kern/emu/mm.c ../grub-core/kern/env.c ../grub-core/kern/err.c ../grub-core/kern/file.c ../grub-core/kern/fs.c ../grub-core/kern/list.c ../grub-core/kern/misc.c ../grub-core/kern/partition.c ../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 ../grub-core/disk/ldm.c ../grub-core/disk/diskfilter.c ../grub-core/partmap/gpt.c ../grub-core/partmap/msdos.c ../grub-core/fs/proc.c ../grub-core/fs/archelp.c > libgrub.pp || (rm -f libgrub.pp; exit 1)
+       rm -f stamp-h1
+       touch ../config-util.h.in
+       cd . && /bin/sh ./config.status config-util.h
+       config.status: creating config-util.h
+       In file included from ../include/grub/mm.h:25:0,
+                        from ../include/grub/disk.h:29,
+                        from ../include/grub/file.h:26,
+                        from ../grub-core/fs/btrfs.c:21:
+       ./config.h:38:10: fatal error: ./config-util.h: No such file or directory
+        #include <config-util.h>
+                 ^~~~~~~~~~~~~~~
+       compilation terminated.
+       make: *** [Makefile:13098: libgrub.pp] Error 1
 
-2009-10-28  Robert Millan  <rmh.grub@aybabtu.com>
+       This is because libgrub.pp is built with -DGRUB_UTIL=1, which means
+       it'll try to include config-util.h, but a parallel make is actually
+       building that file.  I think.
 
-       * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
-       doesn't cause an infinite call loop.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-10-28  Felix Zielcke  <fzielcke@z-51.de>
+2020-03-10  Peter Jones  <pjones@redhat.com>
 
-       * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
-       strings.
+       efi: Print more debug info in our module loader
+       The function that searches the mods section base address does not have
+       any debug information. Add some debugging outputs that could be useful.
 
-2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
-       variable.
-       * Makefile.in: Likewise.
+2020-03-10  Peter Jones  <pjones@redhat.com>
 
-2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>
+       linux/getroot: Handle rssd storage device names
+       The Micron PCIe SSDs Linux driver (mtip32xx) exposes block devices
+       as /dev/rssd[a-z]+[0-9]*. Add support for these rssd device names.
 
-       * gendistlist.sh: Simplify .svn check.  Skip .bzr as well.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>
+2020-03-10  Julian Andres Klode  <julian.klode@canonical.com>
 
-       * Makefile.in (RMKFILES): Rewrite using $(wildcard).
+       smbios: Add a --linux argument to apply linux modalias-like filtering
+       Linux creates modalias strings by filtering out non-ASCII, space,
+       and colon characters. Provide an option that does the same filtering
+       so people can create a modalias string in GRUB, and then match their
+       modalias patterns against it.
 
-2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
+2020-03-10  Mike Gilbert  <floppym@gentoo.org>
 
-2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>
+       po: Fix replacement of %m in sed programs
+       When running make dist, I hit this error:
 
-       * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
-       from here ...
-       * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
+         rm -f en@arabic.gmo && /usr/bin/gmsgfmt -c --statistics --verbose -o en@arabic.gmo en@arabic.po
+         en@arabic.po:5312: 'msgstr' is not a valid C format string, unlike 'msgid'.
+         Reason: The character that terminates the directive number 3 is not a valid conversion specifier.
+         /usr/bin/gmsgfmt: found 1 fatal error
 
-2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>
+       This was caused by "%m" being replaced with foreign Unicode characters.
+       For example:
 
-       * Makefile.in (docs/grub.info): Use make syntax to ignore errors
-       in $(MAKEINFO) invocation.  This makes it clear in output that
-       errors are being ignored.
+         msgid "cannot rename the file %s to %s: %m"
+         msgstr "ﺹﺎﻨﻧﻮﺗ ﺮﻌﻧﺎﻤﻋ ﺖﻬﻋ ﻒִﻴﻠﻋ %s ﺕﻭ %s: %ﻡ"
 
-2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>
+       Mimic the workaround used for "%s" by reversing the replacement of "%m" at
+       the end of the sed programs.
 
-       * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
-       from here ...
-       * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
-       * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-10-26  Colin Watson  <cjwatson@ubuntu.com>
+2020-03-10  Colin Watson  <cjwatson@ubuntu.com>
 
-       * util/grub-editenv.c (main): If only a command is given, use
-       DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
-       (usage): FILENAME is now optional and has a default.
+       gettext: Restore patches to po/Makefile.in.in
+       These were inadvertently lost during the conversion to Gnulib (gnulib:
+       Upgrade Gnulib and switch to bootstrap tool; commit 35b909062). The
+       files in po/gettext-patches/ can be imported using "git am" on top of
+       the gettext tag corresponding to AM_GNU_GETTEXT_VERSION in configure.ac
+       (currently 0.18.3). They handle translation of messages in shell files,
+       make msgfmt output in little-endian format, and arrange to use @SHELL@
+       rather than /bin/sh.
 
-2009-10-26  Colin Watson  <cjwatson@ubuntu.com>
+       There were some changes solely for the purpose of distributing extra
+       files; for ease of maintenance, I've added these to
+       conf/Makefile.extra-dist instead.
 
-       Improve grub-mkconfig performance when there are several menu
-       entries on a single filesystem.
+       Fixes: https://savannah.gnu.org/bugs/?57298
 
-       * util/grub.d/10_linux.in (linux_entry): Cache the output of
-       prepare_grub_to_access_device.
-       * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
-       * util/grub.d/30_os-prober.in: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>
+2020-02-28  Peter Jones  <pjones@redhat.com>
 
-       * util/grub.d/10_freebsd.in: Remove.
-       * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
-       * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
+       misc: Make grub_strtol() "end" pointers have safer const qualifiers
+       Currently the string functions grub_strtol(), grub_strtoul(), and
+       grub_strtoull() don't declare the "end" pointer in such a way as to
+       require the pointer itself or the character array to be immutable to the
+       implementation, nor does the C standard do so in its similar functions,
+       though it does require us not to change any of it.
 
-2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>
+       The typical declarations of these functions follow this pattern:
+
+       long
+       strtol(const char * restrict nptr, char ** restrict endptr, int base);
+
+       Much of the reason for this is historic, and a discussion of that
+       follows below, after the explanation of this change.  (GRUB currently
+       does not include the "restrict" qualifiers, and we name the arguments a
+       bit differently.)
+
+       The implementation is semantically required to treat the character array
+       as immutable, but such accidental modifications aren't stopped by the
+       compiler, and the semantics for both the callers and the implementation
+       of these functions are sometimes also helped by adding that requirement.
 
-       * docs/grub.cfg: Fix example usage of *BSD loaders.
+       This patch changes these declarations to follow this pattern instead:
 
-2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>
+       long
+       strtol(const char * restrict nptr,
+              const char ** const restrict endptr,
+              int base);
+
+       This means that if any modification to these functions accidentally
+       introduces either an errant modification to the underlying character
+       array, or an accidental assignment to endptr rather than *endptr, the
+       compiler should generate an error.  (The two uses of "restrict" in this
+       case basically mean strtol() isn't allowed to modify the character array
+       by going through *endptr, and endptr isn't allowed to point inside the
+       array.)
+
+       It also means the typical use case changes to:
+
+         char *s = ...;
+         const char *end;
+         long l;
+
+         l = strtol(s, &end, 10);
+
+       Or even:
+
+         const char *p = str;
+         while (p && *p) {
+                 long l = strtol(p, &p, 10);
+                 ...
+         }
+
+       This fixes 26 places where we discard our attempts at treating the data
+       safely by doing:
+
+         const char *p = str;
+         long l;
+
+         l = strtol(p, (char **)&ptr, 10);
+
+       It also adds 5 places where we do:
+
+         char *p = str;
+         while (p && *p) {
+                 long l = strtol(p, (const char ** const)&p, 10);
+                 ...
+                 /* more calls that need p not to be pointer-to-const */
+         }
+
+       While moderately distasteful, this is a better problem to have.
+
+       With one minor exception, I have tested that all of this compiles
+       without relevant warnings or errors, and that /much/ of it behaves
+       correctly, with gcc 9 using 'gcc -W -Wall -Wextra'.  The one exception
+       is the changes in grub-core/osdep/aros/hostdisk.c , which I have no idea
+       how to build.
+
+       Because the C standard defined type-qualifiers in a way that can be
+       confusing, in the past there's been a slow but fairly regular stream of
+       churn within our patches, which add and remove the const qualifier in many
+       of the users of these functions.  This change should help avoid that in
+       the future, and in order to help ensure this, I've added an explanation
+       in misc.h so that when someone does get a compiler warning about a type
+       error, they have the fix at hand.
+
+       The reason we don't have "const" in these calls in the standard is
+       purely anachronistic: C78 (de facto) did not have type qualifiers in the
+       syntax, and the "const" type qualifier was added for C89 (I think; it
+       may have been later).  strtol() appears to date from 4.3BSD in 1986,
+       which means it could not be added to those functions in the standard
+       without breaking compatibility, which is usually avoided.
+
+       The syntax chosen for type qualifiers is what has led to the churn
+       regarding usage of const, and is especially confusing on string
+       functions due to the lack of a string type.  Quoting from C99, the
+       syntax is:
+
+        declarator:
+         pointer[opt] direct-declarator
+        direct-declarator:
+         identifier
+         ( declarator )
+         direct-declarator [ type-qualifier-list[opt] assignment-expression[opt] ]
+         ...
+         direct-declarator [ type-qualifier-list[opt] * ]
+         ...
+        pointer:
+         * type-qualifier-list[opt]
+         * type-qualifier-list[opt] pointer
+        type-qualifier-list:
+         type-qualifier
+         type-qualifier-list type-qualifier
+        ...
+        type-qualifier:
+         const
+         restrict
+         volatile
+
+       So the examples go like:
+
+       const char foo;                 // immutable object
+       const char *foo;                // mutable pointer to object
+       char * const foo;               // immutable pointer to mutable object
+       const char * const foo;         // immutable pointer to immutable object
+       const char const * const foo;   // XXX extra const keyword in the middle
+       const char * const * const foo; // immutable pointer to immutable
+                                       //   pointer to immutable object
+       const char ** const foo;        // immutable pointer to mutable pointer
+                                       //   to immutable object
+
+       Making const left-associative for * and right-associative for everything
+       else may not have been the best choice ever, but here we are, and the
+       inevitable result is people using trying to use const (as they should!),
+       putting it at the wrong place, fighting with the compiler for a bit, and
+       then either removing it or typecasting something in a bad way.  I won't
+       go into describing restrict, but its syntax has exactly the same issue
+       as with const.
+
+       Anyway, the last example above actually represents the *behavior* that's
+       required of strtol()-like functions, so that's our choice for the "end"
+       pointer.
 
-       * util/i386/pc/grub-setup.c (setup): Add missing parameter to
-       grub_util_error() call.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>
+2020-02-28  Mike Gilbert  <floppym@gentoo.org>
 
-       * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
-       `reserved_first_sector' member.
-       * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
-       `reserved_first_sector' to 1.
-       * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
-       * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
-       * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
-       * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
-       filesystems which begin at first sector.
-       (options): New option --skip-fs-probe.
-       (main): Handle --skip-fs-probe and pass it to setup().
+       build: Disable PIE in TARGET_CCASFLAGS if needed
+       PIE should be disabled in assembly sources as well, or else GRUB will
+       fail to boot.
 
-2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>
+       Bug: https://bugs.gentoo.org/667852
 
-       * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
-       (memset): Fix function prototype.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
 
-2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>
-2009-10-25  Vasily Averin  <vvs@parallels.com>
+2020-02-28  Mike Gilbert  <floppym@gentoo.org>
 
-       * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
-       `dirent.direntlen == 0'.
+       build: Move TARGET_* assignments earlier
+       On a 32-bit SPARC userland, configure fails to compile assembly and the
+       build fails:
 
-2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>
+           checking for options to compile assembly... configure: error: could not compile assembly
 
-       * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
-       `cpio'.
-       [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
+       config.log shows:
 
-2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>
+           asm-tests/sparc64.S: Assembler messages:
+           asm-tests/sparc64.S:5: Error: Architecture mismatch on "lduw [%o4+4],%o4".
+           asm-tests/sparc64.S:5: (Requires v9|v9a|v9b|v9c|v9d|v9e|v9v|v9m|m8; requested architecture is sparclite.)
+           asm-tests/sparc64.S:7: Error: Architecture mismatch on "stw %o5,[%o3]".
+           asm-tests/sparc64.S:7: (Requires v9|v9a|v9b|v9c|v9d|v9e|v9v|v9m|m8; requested architecture is sparclite.)
+           asm-tests/sparc64.S:8: Error: Architecture mismatch on "bne,pt %icc,1b ,pt %icc,1b".
+           asm-tests/sparc64.S:8: (Requires v9|v9a|v9b|v9c|v9d|v9e|v9v|v9m|m8; requested architecture is sparclite.)
 
-       * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
-       `__trampoline_setup' and `__ucmpdi2'.
-       * include/grub/powerpc/libgcc.h: Only export symbols for functions
-       that libgcc provides.
+       Simply moving these blocks earlier in configure.ac is sufficient to
+       ensure that the tests are executed with the appropriate flags
+       (specifically -m64 in this case).
 
-2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>
+       Bug: https://bugs.gentoo.org/667850
 
-       * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
-       * include/grub/sparc64/libgcc.h (memset): Likewise.
-       * include/grub/misc.h (memset, memcmp): New function prototypes.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
 
-2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>
+2020-02-28  Patrick Steinhardt  <ps@pks.im>
 
-       * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
-       `cpio'.
-       [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
+       luks2: Add missing newline to debug message
+       The debug message printed when decryption with a keyslot fails is
+       missing its trailing newline. Add it to avoid mangling it with
+       subsequent output.
 
-2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
-       * docs/grub.cfg: Compensate for recent change in multiboot
-       loader (since 2009-08-14 it won't pass filename to payload).
-       * util/grub.d/10_hurd.in: Likewise.
+2020-02-18  Michael Chang  <mchang@suse.com>
 
-2009-10-21  Felix Zielcke  <fzielcke@z-51.de>
+       verifiers: Fix calling uninitialized function pointer
+       The necessary check for NULL before use of function ver->close is not
+       taking place in the failure path. This patch simply adds the missing
+       check and fixes the problem that GRUB hangs indefinitely after booting
+       rogue image without valid signature if secure boot is turned on.
 
-       * config.guess: Update to latest version from config git
-       repository.
-       * config.sub: Likewise.
+       Now it displays like this for booting rogue UEFI image:
 
-2009-10-20  Robert Millan  <rmh.grub@aybabtu.com>
+         error: bad shim signature
+         error: you need to load the kernel first
 
-       Fix build on sparc64.
+         Press any key to continue...
 
-       * configure.ac: Perform checks for libgcc symbols before
-       adding `-nostdlib' to LDFLAGS.
+       and then you can go back to boot menu by pressing any key or after a few
+       seconds expired.
 
-2009-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Let user specify OpenBSD root device.
+2020-02-18  Peter Jones  <pjones@redhat.com>
 
-       * loader/i386/bsd.c (openbsd_root): New variable.
-       (openbsd_opts): New option 'root'.
-       (OPENBSD_ROOT_ARG): New macro.
-       (grub_openbsd_boot): Use 'openbsd_root'.
-       (grub_cmd_openbsd): Fill 'openbsd_root'.
+       grub-editenv: Make grub-editenv chase symlinks including those across devices
+       The grub-editenv create command will wrongly overwrite /boot/grub2/grubenv
+       with a regular file if grubenv is a symbolic link. But instead, it should
+       create a new file in the path the symlink points to.
 
-2009-10-16  Robert Millan  <rmh.grub@aybabtu.com>
+       This lets /boot/grub2/grubenv be a symlink to /boot/efi/EFI/fedora/grubenv
+       even when they're different mount points, which allows grub2-editenv to be
+       the same across platforms (i.e. UEFI vs BIOS).
 
-       * NEWS: Misc adjustments.
+       For example, in Fedora the GRUB EFI builds have prefix set to /EFI/fedora
+       (on the EFI System Partition), but for BIOS machine it'll be /boot/grub2
+       (which may or may not be its own mountpoint).
 
-2009-10-16  Vladimir Serbinenko  <phcoder@gmail.com>
+       With this patch, on EFI machines we can make /boot/grub2/grubenv a symlink
+       to /boot/efi/EFI/fedora/grubenv, and the same copy of grub-set-default will
+       work on both kinds of systems.
 
-       * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
+       Windows doesn't implement a readlink primitive, so the current behaviour is
+       maintained for this operating system.
 
-2009-10-16  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Adam Jackson <ajax@redhat.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Bump version to 1.97.
+2020-02-18  Peter Jones  <pjones@redhat.com>
 
-2009-10-16  Colin Watson  <cjwatson@ubuntu.com>
+       grub-editenv: Add grub_util_readlink()
+       Currently grub-editenv and related tools are not able to follow symbolic
+       links when finding their config file. For example the grub-editenv create
+       command will wrongly overwrite a symlink in /boot/grub2/grubenv with a new
+       regular file, instead of creating a file in the path the symlink points to.
 
-       * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
-       -mno-3dnow on x86 architectures.  Some toolchains enable these
-       features by default, but they rely on registers that aren't enabled
-       in GRUB.  Thanks to Vladimir Serbinenko for the suggestion.
+       A following patch will change that and add support in grub-editenv to
+       follow symbolic links when finding the grub environment variables file.
 
-2009-10-15  Robert Millan  <rmh.grub@aybabtu.com>
+       Add a grub_util_readlink() helper function that is just a wrapper around
+       the platform specific function to read the value of a symbolic link. This
+       helper function will be used by the following patch for grub-editenv.
 
-       Make entry text a bit more readable.
+       The helper function is not added for Windows, since this operating system
+       doesn't have a primitive to read the contents of a symbolic link.
 
-       * util/grub.d/10_linux.in: Add `with' before `Linux'.
+       Reviewed-by: Adam Jackson <ajax@redhat.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-02-18  Robert Marshall  <rmarshall@redhat.com>
 
-       * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
+       docs: Update info with grub.cfg netboot selection order
+       Add documentation to the GRUB manual that specifies the order netboot
+       clients use to select a GRUB configuration file.
 
-2009-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
+       Also explain that the feature is enabled by default but can be disabled
+       by setting the "feature_net_search_cfg" environment variable to "n" in
+       an embedded configuration file.
 
-       * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
-       operations.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
+2020-02-18  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
 
-       * configure.ac: Add missing dollar.
+       normal/main: Search for specific config files for netboot
+       This patch implements a search for a specific configuration when the config
+       file is on a remoteserver. It uses the following order:
+          1) DHCP client UUID option.
+          2) MAC address (in lower case hexadecimal with dash separators);
+          3) IP (in upper case hexadecimal) or IPv6;
+          4) The original grub.cfg file.
 
-2009-10-15  Vladimir Serbinenko  <phcoder@gmail.com>
+       This procedure is similar to what is used by pxelinux and yaboot:
+       http://www.syslinux.org/wiki/index.php/PXELINUX#config
 
-        Revert 2009-06-10  Pavel Roskin  <proski@gnu.org>
+       It is enabled by default but can be disabled by setting the environment
+       variable "feature_net_search_cfg" to "n" in an embedded configuration.
 
-       * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
-       * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
-       exports.
-       * include/grub/sparc64/libgcc.h: Likewise.  Use
-       preprocessor conditionals.
+       Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=873406
 
-2009-10-14  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/common.rmk (grub-dumpbios): Remove rule.
-       (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
-       * util/grub-dumpbios.in: Remove file.
+2020-02-18  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
 
-2009-10-14  Robert Millan  <rmh.grub@aybabtu.com>
+       net/dhcp: Set net_<interface>_client{id, uuid} variables from DHCP options
+       This patch sets a net_<interface>_clientid and net_<interface>_clientuuid
+       GRUB environment variables, using the DHCP client ID and UUID options if
+       these are found.
 
-       Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
-       the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
+       In the same way than net_<interface>_<option> variables are set for other
+       options such domain name, boot file, next server, etc.
 
-       * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
-       from "kFreeBSD" namespace (rather than "FreeBSD").  Update all
-       users.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
-       "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
-       to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
-       and "freebsd_module_elf" to "kfreebsd_module_elf".  Update all
-       users.
+2020-02-18  Javier Martinez Canillas  <javierm@redhat.com>
 
-2009-10-12  Robert Millan  <rmh.grub@aybabtu.com>
+       net/dhcp: Consistently use decimal numbers for DHCP/BOOTP options enum
+       The DHCP Options and BOOTP Vendor Extensions enum values are a mixture of
+       decimal and hexadecimal numbers. Change this to consistently use decimal
+       numbers for all since that is how these values are defined by RFC 2132.
 
-       * term/tparm.c: Switch to GPLv3.
+       Suggested-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-10-09  Robert Millan  <rmh.grub@aybabtu.com>
+2020-02-18  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
 
-       * include/grub/i386/cpuid.h: Add header protection.
+       kern: Add %X option to printf functions
+       The printf(3) function has support for the %X format specifier, to output
+       an unsigned hexadecimal integer in uppercase.
 
-2009-10-09  Robert Millan  <rmh.grub@aybabtu.com>
+       This can be achived in GRUB using the %x format specifier in grub_printf()
+       and calling grub_toupper(), but it is more convenient if there is support
+       for %X in grub_printf().
 
-       Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/i386/cpuid.h: New file.
-       * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
-       (has_longmode): Rename to ...
-       (grub_cpuid_has_longmode): ... this.  Update all users.  Remove
-       `static' attribute.
-       * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
-       (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
-       on a CPU that doesn't implement AMD64 instruction set.
+2020-02-18  Javier Martinez Canillas  <javierm@redhat.com>
 
-2009-10-06  Colin Watson  <cjwatson@ubuntu.com>
+       normal: Move common datetime functions out of the normal module
+       The common datetime helper functions are currently included in the normal
+       module, but this makes any other module that calls these functions to have
+       a dependency with the normal module only for this reason.
 
-       * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
-       that version.texi is rebuilt on version number changes.
+       Since the normal module does a lot of stuff, it calls functions from other
+       modules. But since other modules may depend on it for calling the datetime
+       helpers, this could lead to circular dependencies between modules.
 
-2009-10-06  Colin Watson  <cjwatson@ubuntu.com>
+       As an example, when platform == xen the grub_get_datetime() function from
+       the datetime module calls to the grub_unixtime2datetime() helper function
+       from the normal module. Which leads to the following module dependency:
 
-       * Makefile.in: Don't set info_INFOS unless makeinfo was found.
-       Fixes bug #27602.
+           datetime -> normal
 
-2009-10-06  Colin Watson  <cjwatson@ubuntu.com>
+       and send_dhcp_packet() from the net module calls the grub_get_datetime()
+       function, which leads to the following module dependency:
 
-       * util/i386/pc/grub-install.in: Source
-       ${libdir}/grub/grub-mkconfig_lib before option processing, in order
-       that the --grub-probe option will work.
-       * util/sparc64/ieee1275/grub-install.in: Likewise.
+           net -> datetime -> normal
 
-2009-10-05  Robert Millan  <rmh.grub@aybabtu.com>
+       but that means that the normal module is not allowed to depend on net or
+       any other module that depends on it due the transitive dependency caused
+       by datetime. A recent patch attempted to add support to fetch the config
+       file over the network, which leads to the following circular dependency:
 
-       * configure.ac: Bump version to 1.97~beta4.
+           normal -> net -> datetime -> normal
 
-2009-10-03  Robert Millan  <rmh.grub@aybabtu.com>
+       So having the datetime helpers in the normal module makes it quite fragile
+       and easy to add circular dependencies like these, that break the build due
+       the genmoddep.awk script catching the issues.
 
-       Resync grub-mkdevicemap in x86_64-efi.
+       Fix this by taking the datetime helper functions out of the normal module
+       and instead add them to the datetime module itself. Besides fixing these
+       issues, it makes more sense to have these helper functions there anyways.
 
-       * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
-       (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
-       `util/devicemap.c'.
+       Reported-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-10-01  Colin Watson  <cjwatson@ubuntu.com>
+2020-02-11  Peter Jones  <pjones@redhat.com>
 
-       * util/grub-editenv.c (create_envblk_file): Write new block with a
-       .new suffix and then rename it into place, to ensure atomic
-       creation.
+       minilzo: Update to minilzo-2.08
+       This patch updates the miniLZO library to a newer version, which among other
+       things fixes "CVE-2014-4607 - lzo: lzo1x_decompress_safe() integer overflow"
+       that is present in the current used in GRUB.
 
-2009-09-28  Robert Millan  <rmh.grub@aybabtu.com>
+       It also updates the "GRUB Developers Manual", to mention that the library is
+       used and describes the process to update it to a newer release when needed.
 
-       Do not automatically install headers.
+       Resolves: http://savannah.gnu.org/bugs/?42635
 
-       * Makefile.in (include_DATA): Remove.  Update all users.
-
-2009-09-26  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
-       (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
-
-       * util/osdetect.lua: Remove.
-       * script/lua/lauxlib.c: Likewise.
-       * script/lua/ldebug.c: Likewise.
-       * script/lua/grub_main.c: Likewise.
-       * script/lua/lauxlib.h: Likewise.
-       * script/lua/ldebug.h: Likewise.
-       * script/lua/ltablib.c: Likewise.
-       * script/lua/liolib.c: Likewise.
-       * script/lua/lstrlib.c: Likewise.
-       * script/lua/lualib.h: Likewise.
-       * script/lua/ldo.c: Likewise.
-       * script/lua/ldump.c: Likewise.
-       * script/lua/ldo.h: Likewise.
-       * script/lua/loslib.c: Likewise.
-       * script/lua/lundump.c: Likewise.
-       * script/lua/grub_lib.c: Likewise.
-       * script/lua/ldblib.c: Likewise.
-       * script/lua/lundump.h: Likewise.
-       * script/lua/lmem.c: Likewise.
-       * script/lua/grub_lib.h: Likewise.
-       * script/lua/lmathlib.c: Likewise.
-       * script/lua/lstate.c: Likewise.
-       * script/lua/ltm.c: Likewise.
-       * script/lua/lvm.c: Likewise.
-       * script/lua/lmem.h: Likewise.
-       * script/lua/lstate.h: Likewise.
-       * script/lua/ltm.h: Likewise.
-       * script/lua/ltable.c: Likewise.
-       * script/lua/lvm.h: Likewise.
-       * script/lua/llex.c: Likewise.
-       * script/lua/lgc.c: Likewise.
-       * script/lua/grub_lua.h: Likewise.
-       * script/lua/loadlib.c: Likewise.
-       * script/lua/lfunc.c: Likewise.
-       * script/lua/lopcodes.c: Likewise.
-       * script/lua/lparser.c: Likewise.
-       * script/lua/ltable.h: Likewise.
-       * script/lua/llex.h: Likewise.
-       * script/lua/lgc.h: Likewise.
-       * script/lua/lfunc.h: Likewise.
-       * script/lua/lbaselib.c: Likewise.
-       * script/lua/lopcodes.h: Likewise.
-       * script/lua/lparser.h: Likewise.
-       * script/lua/lzio.c: Likewise.
-       * script/lua/linit.c: Likewise.
-       * script/lua/lobject.c: Likewise.
-       * script/lua/llimits.h: Likewise.
-       * script/lua/lstring.c: Likewise.
-       * script/lua/lzio.h: Likewise.
-       * script/lua/lapi.c: Likewise.
-       * script/lua/lcode.c: Likewise.
-       * script/lua/lua.h: Likewise.
-       * script/lua/lobject.h: Likewise.
-       * script/lua/lstring.h: Likewise.
-       * script/lua/lapi.h: Likewise.
-       * script/lua/lcode.h: Likewise.
-       * script/lua/luaconf.h: Likewise.
-
-2009-09-26  Colin Watson  <cjwatson@ubuntu.com>
-
-       * docs/grub.texi (Command-line and menu entry commands): Document
-       date and echo commands.
-
-2009-09-24  Pavel Roskin  <proski@gnu.org>
-
-       * include/grub/kernel.h (struct grub_module_header): Remove
-       `grub_module_header_types'.  Make `type' unsigned.  Make `size'
-       32-bit on all platforms.
-       * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
-       8-bit field.  Use grub_host_to_target32() for `size'.
-       * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
-       * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
-       * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
-
-2009-09-24  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Fix "lost keypress" bug in at_keyboard.
-
-       * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
-       Checks for readyness of input buffer (without flushing it).
-       (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
-       than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
-
-2009-09-24  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
-       size check within GRUB_MACHINE_PCBIOS section.
-
-2009-09-24  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
-       return value.
-       * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
-       KEYBOARD_ISREADY check.
-       (grub_at_keyboard_checkkey): Rename to ...
-       (grub_at_keyboard_getkey_noblock): ... this.  Update all users.
-       Remove gratuitous cast.
-
-2009-09-23  Colin Watson  <cjwatson@ubuntu.com>
-
-       * configure.ac: Call AC_PROG_MKDIR_P.
-       * Makefile.in (docs/stamp-vti): Create docs directory.  Create
-       version.texi in $(builddir) rather than $(srcdir).
-       (docs/grub.info): Create docs directory.  Prepend $(builddir)/docs
-       to makeinfo's @include search path.
-
-2009-09-23  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
-
-2009-09-23  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
-       for `*.dpkg-new'.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-09-21  Colin Watson  <cjwatson@ubuntu.com>
+2020-01-28  Peter Jones  <pjones@redhat.com>
 
-       Build info documentation.  Some code borrowed from Automake.
+       squash4: Fix an uninitialized variable
+       gcc says:
 
-       * configure.ac: Check for makeinfo.
-       * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
-       (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
-       docs/version.texi.
-       (MOSTLYCLEANFILES): Add vti.tmp.
-       (docs/version.texi, docs/stamp-vti): Update automatically.
-       (docs/grub.info): Build info documentation.  Use --force and ignore
-       errors for now.
-       (all-local): Add $(INFOS).
-       (install-local): Install info files.
-       (uninstall): Uninstall info files.
-       * docs/version.texi: Remove from revision control.  This file is
-       automatically generated on build now.
-       * gendistlist.sh: Add `*.info'.
+       grub-core/fs/squash4.c: In function ‘direct_read’:
+       grub-core/fs/squash4.c:868:10: error: ‘err’ may be used uninitialized in
+       this function [-Werror=maybe-uninitialized]
+         868 |       if (err)
+             |          ^
+       cc1: all warnings being treated as errors
 
-2009-09-21  Felix Zielcke  <fzielcke@z-51.de>
+       This patch initializes it to GRUB_ERR_NONE.
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-01-28  C. Masloch  <pushbx@ulukai.org>
+
+       freedos: Fix FreeDOS command booting large files (near or above 64 KiB)
+       While testing the 86-DOS lDebug [1] booting from GRUB2, newer versions of the
+       debugger would fail to load when booted using GRUB's freedos command. The
+       behaviour observed in a qemu i386 machine was that the ROM-BIOS's boot load
+       would start anew, instead of loading the selected debugger as kernel.
+
+       It came to light that there was a size limit: Kernel files that were 58880
+       bytes (E600h) long or shorter succeeded to boot, while files that were 64000
+       bytes or longer failed in the manner described.
+
+       Eventually it turned out that the relocator16 stub succeeded whenever it was
+       placed completely within the first 64 KiB of the Low Memory Area. The chunk
+       for the relocator is allocated with a minimum address of 0x8010 and a maximum
+       address just below 0xA0000 [2]. That means if the kernel is, for instance,
+       E600h bytes long, then the kernel will be allocated memory starting at 00600h
+       (the fixed FreeDOS kernel load address) up to E600h + 00600h = 0EC00h, which
+       leaves 1400h (5120) bytes for the relocator to stay in the first 64 KiB.
+       If the kernel is 64000 bytes (FA00h) long, then the relocator must go to
+       FA00h + 00600h = 10000h at least which is outside the first 64 KiB.
+
+       The problem is that the relocator16 initialises the DS register with a
+       "pseudo real mode" descriptor, which is defined with a segment limit of
+       64 KiB and a segment base of zero. After that, the relocator addressed
+       parts of itself (implicitly) using the DS register, with an offset from
+       ESI, which holds the linear address of the relocator's base [3]. With the
+       larger kernel files this would lead to accessing data beyond the 64 KiB
+       segment limit, presumably leading to a fault and perhaps a subsequent
+       triple-fault or such.
+
+       This patch fixes the relocator to set the segment base of the descriptors
+       to the base address of the relocator; then, the subsequent accesses to
+       the relocator's variables are done without the ESI register as an index.
+       This does not interfere with the relocator's or its target's normal
+       operation; the segment limits are still loaded with 64 KiB and all the
+       segment bases are subsequently reset by the relocator anyway.
+
+       Current versions of the debugger to test are uploaded to [4]. The file
+       ldebugnh.com (LZ4-compressed and built with -D_EXTHELP=0) at 58368 bytes
+       loads successfully, whereas ldebug.com at 64000 bytes fails. Loading one
+       of these files requires setting root to a FAT FS partition and using the
+       freedos command to specify the file as kernel:
+
+       set root='(hd0,msdos1)'
+       freedos /ldebug.com
+       boot
+
+       Booting the file using the multiboot command (which uses a WIP entrypoint
+       of the debugger) works, as it does not use GRUB's relocator16 but instead
+       includes a loader in the kernel itself, which drops it back to 86 Mode.
+
+       [1]: https://hg.ulukai.org/ecm/ldebug
+       [2]: http://git.savannah.gnu.org/cgit/grub.git/tree/grub-core/lib/i386/relocator.c?id=495781f5ed1b48bf27f16c53940d6700c181c74c#n127
+       [3]: http://git.savannah.gnu.org/cgit/grub.git/tree/grub-core/lib/i386/relocator16.S?id=495781f5ed1b48bf27f16c53940d6700c181c74c#n97
+       [4]: https://ulukai.org/ecm/lDebug-5479a7988d21-nohelp.zip
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-01-10  Patrick Steinhardt  <ps@pks.im>
+
+       disk: Implement support for LUKS2
+       With cryptsetup 2.0, a new version of LUKS was introduced that breaks
+       compatibility with the previous version due to various reasons. GRUB
+       currently lacks any support for LUKS2, making it impossible to decrypt
+       disks encrypted with that version. This commit implements support for
+       this new format.
+
+       Note that LUKS1 and LUKS2 are quite different data formats. While they
+       do share the same disk signature in the first few bytes, representation
+       of encryption parameters is completely different between both versions.
+       While the former version one relied on a single binary header, only,
+       LUKS2 uses the binary header only in order to locate the actual metadata
+       which is encoded in JSON. Furthermore, the new data format is a lot more
+       complex to allow for more flexible setups, like e.g. having multiple
+       encrypted segments and other features that weren't previously possible.
+       Because of this, it was decided that it doesn't make sense to keep both
+       LUKS1 and LUKS2 support in the same module and instead to implement it
+       in two different modules luks and luks2.
+
+       The proposed support for LUKS2 is able to make use of the metadata to
+       decrypt such disks. Note though that in the current version, only the
+       PBKDF2 key derival function is supported. This can mostly attributed to
+       the fact that the libgcrypt library currently has no support for either
+       Argon2i or Argon2id, which are the remaining KDFs supported by LUKS2. It
+       wouldn't have been much of a problem to bundle those algorithms with
+       GRUB itself, but it was decided against that in order to keep down the
+       number of patches required for initial LUKS2 support. Adding it in the
+       future would be trivial, given that the code structure is already in
+       place.
 
-       * kern/term.c: Fix indentation.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-09-21  Felix Zielcke  <fzielcke@z-51.de>
+2020-01-10  Patrick Steinhardt  <ps@pks.im>
 
-       * util/hostdisk.c: Fix a comment.
+       luks: Move configuration of ciphers into cryptodisk
+       The luks module contains quite a lot of logic to parse cipher and
+       cipher-mode strings like aes-xts-plain64 into constants to apply them
+       to the grub_cryptodisk_t structure. This code will be required by the
+       upcoming luks2 module, as well, which is why this commit moves it into
+       its own function grub_cryptodisk_setcipher in the cryptodisk module.
+       While the strings are probably rather specific to the LUKS modules, it
+       certainly does make sense that the cryptodisk module houses code to set
+       up its own internal ciphers instead of hosting that code in the luks
+       module.
 
-2009-09-20  Robert Millan  <rmh.grub@aybabtu.com>
+       Except for necessary adjustments around error handling, this commit does
+       an exact move of the cipher configuration logic from luks.c to
+       cryptodisk.c. Any behavior changes are unintentional.
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-01-10  Patrick Steinhardt  <ps@pks.im>
+
+       afsplitter: Move into its own module
+       While the AFSplitter code is currently used only by the luks module,
+       upcoming support for luks2 will add a second module that depends on it.
+       To avoid any linker errors when adding the code to both modules because
+       of duplicated symbols, this commit moves it into its own standalone
+       module afsplitter as a preparatory step.
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-01-10  Patrick Steinhardt  <ps@pks.im>
+
+       bootstrap: Add gnulib's base64 module
+       The upcoming support for LUKS2 disc encryption requires us to include a
+       parser for base64-encoded data, as it is used to represent salts and
+       digests. As gnulib already has code to decode such data, we can just
+       add it to the boostrapping configuration in order to make it available
+       in GRUB.
+
+       The gnulib module makes use of booleans via the <stdbool.h> header. As
+       GRUB does not provide any POSIX wrapper header for this, but instead
+       implements support for bool in <sys/types.h>, we need to patch
+       base64.h to not use <stdbool.h> anymore. We unfortunately cannot include
+       <sys/types.h> instead, as it would then use gnulib's internal header
+       while compiling the gnulib object but our own <sys/types.h> when
+       including it in a GRUB module. Because of this, the patch replaces the
+       include with a direct typedef.
+
+       A second fix is required to make available _GL_ATTRIBUTE_CONST, which
+       is provided by the configure script. As base64.h does not include
+       <config.h>, it is thus not available and results in a compile error.
+       This is fixed by adding an include of <config-util.h>.
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-01-10  Patrick Steinhardt  <ps@pks.im>
+
+       json: Implement wrapping interface
+       While the newly added jsmn library provides the parsing interface, it
+       does not provide any kind of interface to act on parsed tokens. Instead,
+       the caller is expected to handle pointer arithmetics inside of the token
+       array in order to extract required information. While simple, this
+       requires users to know some of the inner workings of the library and is
+       thus quite an unintuitive interface.
+
+       This commit adds a new interface on top of the jsmn parser that provides
+       convenience functions to retrieve values from the parsed json type, grub_json_t.
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2020-01-10  Patrick Steinhardt  <ps@pks.im>
+
+       json: Import upstream jsmn-1.1.0
+       The upcoming support for LUKS2 encryption will require a JSON parser to
+       decode all parameters required for decryption of a drive. As there is
+       currently no other tool that requires JSON, and as gnulib does not
+       provide a parser, we need to introduce a new one into the code base. The
+       backend for the JSON implementation is going to be the jsmn library [1].
+       It has several benefits that make it a very good fit for inclusion in
+       GRUB:
+
+           - It is licensed under MIT.
+           - It is written in C89.
+           - It has no dependencies, not even libc.
+           - It is small with only about 500 lines of code.
+           - It doesn't do any dynamic memory allocation.
+           - It is testen on x86, amd64, ARM and AVR.
+
+       The library itself comes as a single header, only, that contains both
+       declarations and definitions. The exposed interface is kind of
+       simplistic, though, and does not provide any convenience features
+       whatsoever. Thus there will be a separate interface provided by GRUB
+       around this parser that is going to be implemented in the following
+       commit. This change only imports jsmn.h from tag v1.1.0 and adds it
+       unmodified to a new json module with the following command:
+
+       curl -L https://raw.githubusercontent.com/zserge/jsmn/v1.1.0/jsmn.h \
+           -o grub-core/lib/json/jsmn.h
+
+       Upstream jsmn commit hash: fdcef3ebf886fa210d14956d3c068a653e76a24e
+       Upstream jsmn commit name: Modernize (#149), 2019-04-20
+
+       [1]: https://github.com/zserge/jsmn
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2019-12-20  Lukasz Hawrylko  <lukasz.hawrylko@linux.intel.com>
+
+       multiboot2: Set min address for mbi allocation to 0x1000
+       In some cases GRUB2 allocates multiboot2 structure at 0 address, that is
+       a confusing behavior. Consumers of that structure can have internal NULL-checks
+       that will throw an error when get a pointer to data allocated at address 0.
+       To prevent that, define min address for mbi allocation on x86 and x86_64
+       platforms.
 
-       Fix regression introduced in r2539.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
-       to 0xA1.
+2019-12-20  Paul Menzel  <pmenzel@molgen.mpg.de>
 
-2009-09-19  Colin Watson  <cjwatson@ubuntu.com>
+       docs: Export "superusers" variable to apply to submenus
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub.d/30_os-prober.in: Don't throw away stderr from
-       os-prober. Under normal operation, it does not print anything to
-       stderr; if it does, we need to debug it, and throwing away stderr
-       makes that excessively difficult.
+2019-12-20  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2009-09-16  Vladimir Serbinenko  <phcoder@gmail.com>
+       loader/i386/linux: Fix an underflow in the setup_header length calculation
+       Recent work around x86 Linux kernel loader revealed an underflow in the
+       setup_header length calculation and another related issue. Both lead to
+       the memory overwrite and later machine crash.
 
-       * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
+       Currently when the GRUB copies the setup_header into the linux_params
+       (struct boot_params, traditionally known as "zero page") it assumes the
+       setup_header size as sizeof(linux_i386_kernel_header/lh). This is
+       incorrect. It should use the value calculated accordingly to the Linux
+       kernel boot protocol. Otherwise in case of pretty old kernel, to be
+       exact Linux kernel boot protocol, the GRUB may write more into
+       linux_params than it was expected to. Fortunately this is not very big
+       issue. Though it has to be fixed. However, there is also an underflow
+       which is grave. It happens when
 
-2009-09-16  Robert Millan  <rmh.grub@aybabtu.com>
+         sizeof(linux_i386_kernel_header/lh) > "real size of the setup_header".
 
-       * aclocal.m4 (AC_LANG_PROGRAM): New macro.  Overrides stock
-       AC_LANG_PROGRAM from autoconf.
-       (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
-       prototypes (fixes warning).
+       Then len value wraps around and grub_file_read() reads whole kernel into
+       the linux_params overwriting memory past it. This leads to the GRUB
+       memory allocator breakage and finally to its crash during boot.
 
-       * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
-       `--disable-werror' was used.
+       The patch fixes both issues. Additionally, it moves the code not related to
+       grub_memset(linux_params)/grub_memcpy(linux_params)/grub_file_read(linux_params)
+       section outside of it to not confuse the reader.
 
-2009-09-16  Robert Millan  <rmh.grub@aybabtu.com>
+       Fixes: e683cfb0cf5 (loader/i386/linux: Calculate the setup_header length)
 
-       * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
-       uninitialized `lastaddr'.
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
+       Reviewed-by: Krystian Hebel <krystian.hebel@3mdeb.com>
 
-2009-09-15  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-12-06  David Sterba  <dave@jikos.cz>
 
-       * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
+       btrfs: Add support for new RAID1C34 profiles
+       New 3- and 4-copy variants of RAID1 were merged into Linux kernel 5.5.
+       Add the two new profiles to the list of recognized ones. As this builds
+       on the same code as RAID1, only the redundancy level needs to be
+       adjusted, the rest is done by the existing code.
 
-2009-09-14  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * commands/test.c (get_fileinfo): Return immediately if
-       grub_fs_probe fails.
+2019-12-06  Lenny Szubowicz  <lszubowi@redhat.com>
 
-2009-09-14  José Martínez  <xosemp@gmail.com>
+       tftp: Normalize slashes in TFTP paths
+       Some TFTP servers do not handle multiple consecutive slashes correctly.
+       This patch avoids sending TFTP requests with non-normalized paths.
 
-       * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-09-14  Colin Watson  <cjwatson@ubuntu.com>
+2019-11-18  Michael Chang  <MChang@suse.com>
 
-       * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
-       output.
+       grub-editenv: Warn a user against editing environment block
+       The environment block is a preallocated 1024-byte file which serves as
+       persistent storage for environment variables. It has its own format
+       which is sensitive to corruption if an editor does not know how to
+       process it. Besides that the editor may inadvertently change grubenv
+       file size and/or make it sparse which can lead to unexpected results.
 
-2009-09-13  Robert Millan  <rmh.grub@aybabtu.com>
+       This patch adds a message to the grubenv file to warn a user against
+       editing it by tools other than grub-editenv.
 
-       * configure.ac: Remove --enable-grub-pe2elf.  Only build
-       grub-pe2elf when needed by the build system itself.
-       * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
+       Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-09-12  Robert Millan  <rmh.grub@aybabtu.com>
+2019-11-18  Michael Chang  <MChang@suse.com>
 
-       * configure.ac: Bump version to 1.97~beta3.
-       * docs/version.texi: Likewise.
+       hostdisk: Set linux file descriptor to O_CLOEXEC as default
+       We are often bothered by this sort of lvm warning while running grub-install
+       every now and then:
 
-2009-09-12  Robert Millan  <rmh.grub@aybabtu.com>
+         File descriptor 4 (/dev/vda1) leaked on vgs invocation. Parent PID 1991: /usr/sbin/grub2-install
 
-       * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
-       mode special handling (grub_vbe_bios_set_dac_palette_width() call)
-       from here ...
-       * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
-       (grub_linux_setup_video): ... to here (with some adjustments).
+       The requirement related to the warning is dictated in the lvm man page:
 
-2009-09-12  Robert Millan  <rmh.grub@aybabtu.com>
+         "On invocation, lvm requires that only the standard file descriptors stdin,
+         stdout and stderr are available.  If others are found, they get closed and
+         messages are issued warning about the leak.  This warning can be suppressed by
+         setting the environment variable LVM_SUPPRESS_FD_WARNINGS."
 
-       Fix memory corruption issue (spotted by Colin Watson).
+       While it could be disabled through settings, most Linux distributions seem to
+       enable it by default and the justification provided by the developer looks to
+       be valid to me: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=466138#15
 
-       * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
-       causing returned size to be stored in an incorrect memory location.
-       Fix use of uninitialized value when storing the returned size.
+       Rather than trying to close and reopen the file descriptor to the same file
+       multiple times, which is rather cumbersome, for the sake of no vgs invocation
+       could happen in between. This patch enables the close-on-exec flag (O_CLOEXEC)
+       for new file descriptor returned by the open() system call, making it closed
+       thus not inherited by the child process forked and executed by the exec()
+       family of functions.
 
-2009-09-12  Yves Blusseau  <blusseau@zetam.org>
+       Fixes Debian bug #466138.
 
-       Change clean rules to properly remove files
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * genmk.rb: add new clean rules
-       * Makefile.in (clean): add the new targets
-       (mostlyclean): likewise
+2019-10-28  Eli Schwartz  <eschwartz@archlinux.org>
 
-2009-09-11  Colin Watson  <cjwatson@ubuntu.com>
+       grub-mkconfig: Use portable "command -v" to detect installed programs
+       The "which" utility is not guaranteed to be installed either, and if it
+       is, its behavior is not portable either.
 
-       * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
-       to grub_uint64_t.
-       * fs/ntfs.c (init_file): Understand 64-bit sizes for
-       non-resident files.
+       Conversely, the "command -v" shell builtin is required to exist in all
+       POSIX 2008 compliant shells, and is thus guaranteed to work everywhere.
 
-2009-09-11  Colin Watson  <cjwatson@ubuntu.com>
+       Examples of open-source shells likely to be installed as /bin/sh on
+       Linux, which implement the 11-year-old standard: ash, bash, busybox,
+       dash, ksh, mksh and zsh.
 
-       * configure.ac: Don't look for help2man when cross-compiling.  Fixes
-       part of bug #27349.
+       A side benefit of using the POSIX portable option is that it requires
+       neither an external disk executable, nor (because unlike "which", the
+       exit code is reliable) a subshell fork. This therefore represents a mild
+       speedup.
 
-2009-09-10  Felix Zielcke  <fzielcke@z-51.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mkconfig.in: Make the created config mode 400 and
-       print a warning if it fails.
+2019-10-28  Peter Jones  <pjones@redhat.com>
 
-2009-09-10  Robert Millan  <rmh.grub@aybabtu.com>
+       templates: Add GRUB_DISABLE_UUID
+       The grub-mkconfig and 10_linux scripts by default attempt to use a UUID to
+       set the root kernel command line parameter and the $root GRUB environment
+       variable.
 
-       * util/grub.d/40_custom.in: Ask user to type custom entries below
-       comment, rather than below 'exec tail' line.
+       The former can be disabled by setting the GRUB_DISABLE_LINUX_UUID variable
+       to "true", but there is currently no way to disable the latter.
 
-2009-09-10  Colin Watson  <cjwatson@ubuntu.com>
+       The generated grub config uses the search command with the --fs-uuid option
+       to find the device that has to be set as $root, i.e:
 
-       * util/grub.d/40_custom.in: Make sure that the explanatory text is
-       visible in grub.cfg.
+        search --no-floppy --fs-uuid --set=root ...
 
-2009-09-10  Colin Watson  <cjwatson@ubuntu.com>
+       This is usually more reliable but in some cases it may not be appropriate,
+       so this patch introduces a new GRUB_DISABLE_UUID variable that can be used
+       to disable searching for the $root device by filesystem UUID.
 
-       * util/grub.d/40_custom.in: Make it a little clearer how to use this
-       file.
+       When disabled, the $root device will be set to the value specified in the
+       device.map as found by the grub-probe --target=compatibility_hint option.
 
-2009-09-10  Felix Zielcke  <fzielcke@z-51.de>
+       When setting GRUB_DISABLE_UUID=true, the GRUB_DISABLE_LINUX_UUID and
+       GRUB_DISABLE_LINUX_PARTUUID variables will also be set to "true" unless
+       these have been explicitly set to "false".
 
-       * docs/grub.cfg: Add an example menu entry for memtest86+.
+       That way, the GRUB_DISABLE_UUID variable can be used to force using the
+       device names for both GRUB and Linux.
 
-2009-09-09  Felix Zielcke  <fzielcke@z-51.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Reviewed-by: Nicholas Vinson <nvinson234@gmail.com>
 
-       * config.guess: Update to latest version from config git.
-       * config.sub: Likewise.
+2019-10-21  Michael Bideau  <mica.devel@gmail.com>
 
-2009-09-08  Colin Watson  <cjwatson@ubuntu.com>
+       at_keyboard: Fix unreliable key presses
+       This patch fixes an issue that prevented the at_keyboard module to work
+       (for me). The cause was a bad/wrong return value in the
+       grub_at_keyboard_getkey() function in grub-core/term/at_keyboard.c file
+       at line 237. My symptoms were to have an unresponsive keyboard. Keys
+       needed to be pressed 10x and more to effectively be printed sometimes
+       generating multiple key presses (after 1 or 2 sec of no printing). It
+       was very problematic when typing passphrase in early stage (with
+       GRUB_ENABLE_CRYPTODISK). When switched to "console" terminal input
+       keyboard worked perfectly. It also worked great with the GRUB 2.02
+       packaged by Debian (2.02+dfsg1-20). It was not an output issue but an
+       input one.
 
-       * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
-       unknown-command case.  Fixes bug #27320.
+       I've managed to analyze the issue and found that it came from the commit
+       216950a4e (at_keyboard: Split protocol from controller code.). Three
+       lines where moved from the fetch_key() function in
+       grub-core/term/at_keyboard.c file to the beginning of
+       grub_at_keyboard_getkey() function (same file). However, returning -1
+       made sense when it happened in fetch_key() function but not anymore in
+       grub_at_keyboard_getkey() function which should return GRUB_TERM_NO_KEY.
+       I think it was just an incomplete cut-paste missing a small manual
+       correction. Let's fix it.
 
-2009-09-08  Felix Zielcke  <fzielcke@z-51.de>
+       Note: Commit message updated by Daniel Kiper.
 
-       * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
-       `help' if the command exists.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-09-06  Robert Millan  <rmh.grub@aybabtu.com>
+2019-10-21  Prarit Bhargava  <prarit@redhat.com>
 
-       * INSTALL: Require GCC 4.1.3 or later.
+       templates: Fix bad test on GRUB_DISABLE_SUBMENU
+       The GRUB_DISABLE_SUBMENU option is different than the others in the sense
+       that it has to be set to "y" instead of "true" to be enabled.
 
-2009-09-06  Yves Blusseau  <blusseau@zetam.org>
+       That causes a lot of confusion to users, some may wrongly set it to "true"
+       expecting that will work the same than with most options, and some may set
+       it to "yes" since for other options the value to set is a word and not a
+       single character.
 
-       * Makefile.in (RMKFILES): add i386-qemu.rmk
-       (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
-       $(srcdir)/stamp-h.in
+       This patch changes all the grub.d scripts using the GRUB_DISABLE_SUBMENU
+       option, so they check if it was set to "true" instead of "y", making it
+       consistent with all the other options.
 
-2009-09-05  Robert Millan  <rmh.grub@aybabtu.com>
+       But to keep backward compatibility for users that set the option to "y" in
+       /etc/default/grub file, keep testing for this value. And also do it for
+       "yes", since it is a common mistake made by users caused by this option
+       being inconsistent with the others.
 
-       * util/grub-probe.c (probe): Comment out buggy codepath, which
-       was unexpectedly enabled by Colin Watson's 2009-09-02 fix.  This
-       should be re-enabled after 1.97.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-09-05  Felix Zielcke  <fzielcke@z-51.de>
+2019-10-21  Nicholas Vinson  <nvinson234@gmail.com>
 
-       * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
-       find searches for.
+       probe: Support probing for msdos PARTUUID
+       Extend partition UUID probing support in GRUB core to display pseudo
+       partition UUIDs for MBR (MSDOS) partitions.
 
-2009-09-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
-       unnecessary calls to grub_error.
+2019-09-23  Colin Watson  <cjwatson@ubuntu.com>
 
-2009-09-04  Colin Watson  <cjwatson@ubuntu.com>
+       grub-mkconfig: Fix typo in --help output
+       The short form of "--version" that grub-mkconfig accepts is "-V", not "-v".
 
-       * NEWS: Mention `keystatus' and Unicode fonts.
+       Fixes Debian bug #935504.
 
-2009-09-04  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Bump version to 1.97~beta2.
-       * docs/version.texi: Likewise.
+2019-09-23  Andreas Schwab  <schwab@suse.de>
 
-2009-09-03  Colin Watson  <cjwatson@ubuntu.com>
+       grub-install: Define default platform for RISC-V
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Reviewed-by: Alexander Graf <agraf@csgraf.de>
 
-       * configure.ac: By default, GCC 4.4 generates .eh_frame sections
-       containing unwind information in some cases where it previously did
-       not. Use -fno-dwarf2-cfi-asm if available to restore the old
-       behaviour. See http://patchwork.kernel.org/patch/8555/ for related
-       discussion.
+2019-09-23  Andreas Schwab  <schwab@suse.de>
 
-2009-09-02  Yves BLUSSEAU  <blusseau@zetam.org>
+       RISC-V: Add __clzdi2 symbol
+       This is needed for the zstd module build for riscv64-emu.
 
-       Embedding loadenv module into grub-emu
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
-       commands/loadenv.c
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
-       * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
+2019-09-23  Peter Jones  <pjones@redhat.com>
 
-2009-09-03  Magnus Granberg  <zorry@ume.nu>
+       gitattributes: Mark po/exclude.pot as binary so git won't try to diff nonprintables
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
-       include -fPIE in the default specs.
-       * configure.ac: Check if pie_possible is yes and add -fno-PIE
-       to TARGET_CFLAGS.
+2019-09-23  Marcel Kolaja  <mkolaja@redhat.com>
 
-2009-09-03  Felix Zielcke  <fzielcke@z-51.de>
+       grub-mkconfig: Honor a symlink when generating configuration by grub-mkconfig
+       Honor a symlink when generating configuration by grub-mkconfig, so that
+       the -o option follows it rather than overwriting it with a regular file.
 
-       * INSTALL: Note that GNU Bison 2.3 or later is required.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-09-03  Colin Watson  <cjwatson@ubuntu.com>
+2019-09-23  Gustavo Luiz Duarte  <gustavold@linux.vnet.ibm.com>
 
-       * kern/i386/pc/startup.S: Fix typo.
+       net: Fix crash on http
+       Don't free file->data on receiving FIN flag since it is used all over
+       without checking. http_close() will be called later to free that memory.
 
-2009-09-02  Vladimir Serbinenko  <phcoder@gmail.com>
+       Fixes bug: https://bugzilla.redhat.com/show_bug.cgi?id=860834
 
-       * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
-       according to GCS.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-09-02  Colin Watson  <cjwatson@ubuntu.com>
+2019-09-23  Andre Przywara  <andre.przywara@arm.com>
 
-       * docs/grub.texi (Naming convention): Describe one-based partition
-       numbering.
-       (Device syntax): Likewise.
-       (File name syntax): Likewise.
-       (Block list syntax): Likewise.
-       (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
-       menu.lst.
-       (File name syntax): Likewise.
-       (Command-line and menu entry commands): Document acpi, blocklist,
-       crc, export, insmod, keystatus, ls, set, and unset commands.
+       docs: Document newly introduced net_dhcp command
+       Commit 5bc41db756c5 ("net/dhcp: Add explicit net_dhcp command")
+       introduced the new command "net_dhcp", which (for now) is an alias for
+       the existing "net_bootp". Unfortunately the TEXI documentation was not
+       adjusted accordingly.
 
-2009-09-02  Colin Watson  <cjwatson@ubuntu.com>
+       Rename the existing paragraph about net_bootp to read net_dhcp instead,
+       and make the net_bootp stanza point to this new command.
 
-       * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
-       to avoid implying that only one of --shift, --ctrl, or --alt may be
-       used.
+       On the way add the newly parsed TFTP_SERVER_NAME and BOOTFILE_NAME
+       packets to the list of supported DHCP options.
 
-2009-09-02  Colin Watson  <cjwatson@ubuntu.com>
+       Fixes bug: https://savannah.gnu.org/bugs/?56725
 
-       * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
-       rather than comparing against S_IFREG, which will almost never work.
+       Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-09-01  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-07-18  James Clarke  <jrtc27@jrtc27.com>
 
-       * commands/loadenv.c (check_blocklists): Fix off-by-one error.
-       (write_blocklists): Likewise.
+       [PATCH] sparc64: Fix BIOS Boot Partition support
+       Currently, gpt_offset is uninitialised when using a BIOS Boot Partition
+       but is used unconditionally inside save_blocklists. Instead, ensure it
+       is always initialised to 0 (note that there is already separate code to
+       do the equivalent adjustment after we call save_blocklists on this code
+       path).
 
-2009-09-01  Colin Watson  <cjwatson@ubuntu.com>
+       This patch has been tested on a T5-2 LDOM.
 
-       * script/lua/grub_lua.h (fputs): Supply a format string as the first
-       argument to grub_printf.
+       Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
+       Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
+       Reviewed-by: Eric Snowberg <eric.snowberg@oracle.com>
 
-2009-09-01  Felix Zielcke  <fzielcke@z-51.de>
+       ---
+        util/setup.c | 4 +++-
+        1 file changed, 3 insertions(+), 1 deletion(-)
 
-       * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
-        non GNU test.
+2019-07-11  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2009-08-30  Vladimir Serbinenko  <phcoder@gmail.com>
+       configure: Add -fno-ident when available
+       MinGW for i386-pc without this option generates a .rdata$zzz symbol that is
+       page-aligned and hence lzma_decompress no longer fits in its allocated space.
+       Additionally, MinGW with -fno-ident also saves a bit of space in modules. In
+       case of other compilers we already strip the relevant sections, so, this
+       option has no effect.
 
-       * kern/file.c (grub_file_read): Spelling fix
+       More info can be found at https://github.com/msys2/MINGW-packages/issues/21
 
-2009-08-30  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
-       loading of headers in some cases.
+2019-07-11  Heinrich Schuchardt  <xypron.glpk@gmx.de>
 
-2009-08-30  Robert Millan  <rmh.grub@aybabtu.com>
+       lsefisystab: Add support for device tree table
+       The device tree may passed by the firmware as UEFI configuration
+       table. Let lsefisystab display a short text and not only the GUID
+       for the device tree.
 
-       * configure.ac: Bump version to 1.97~beta1.
-       * docs/version.texi: Likewise.
+       Here is an example output:
 
-2009-08-29  Vladimir Serbinenko  <phcoder@gmail.com>
+         grub> lsefisystab
+         Address: 0xbff694d8
+         Signature: 5453595320494249 revision: 00020046
+         Vendor: Das U-Boot, Version=20190700
+         2 tables:
+         0xbe741000  eb9d2d31-2d88-11d3-9a160090273fc14d   SMBIOS
+         0x87f00000  b1b621d5-f19c-41a5-830bd9152c69aae0   DEVICE TREE
 
-       * include/grub/i386/xnu.h: Add license header.
-       include grub/err.h explicitly.
+       Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-08-29  Robert Millan  <rmh.grub@aybabtu.com>
+2019-07-11  David Michael  <fedora.dm0@gmail.com>
 
-       * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
-       to `ufs' in the vfs.root.mountfrom kernel parameter.
+       smbios: Add a module for retrieving SMBIOS information
+       The following are two use cases from Rajat Jain <rajatjain@juniper.net>:
 
-2009-08-29  Robert Millan  <rmh.grub@aybabtu.com>
+         1) We have a board that boots Linux and this board itself can be plugged
+            into one of different chassis types. We need to pass different
+            parameters to the kernel based on the "CHASSIS_TYPE" information
+            that is passed by the bios in the DMI/SMBIOS tables.
 
-       * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
+         2) We may have a USB stick that can go into multiple boards, and the
+            exact kernel to be loaded depends on the machine information
+            (PRODUCT_NAME etc) passed via the DMI.
 
-       [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
-       value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
-       `ARRAY_SIZE' macro.
+2019-07-11  David Michael  <fedora.dm0@gmail.com>
 
-2009-08-28  Vladimir Serbinenko  <phcoder@gmail.com>
+       lsefisystab: Define SMBIOS3 entry point structures for EFI
+       This adds the GUID and includes it in lsefisystab output.
 
-       * kern/file.c (grub_file_read): Check offset.
-       * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
-       * fs/jfs.c (grub_jfs_read_file): Likewise.
-       * fs/ntfs.c (grub_ntfs_read): Likewise.
-       * fs/reiserfs.c (grub_reiserfs_read): Likewise.
-       * fs/minix.c (grub_minix_read_file): Correct offset check.
-       * fs/ufs.c (grub_ufs_read_file): Likewise.
+       Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-08-28  Colin Watson  <cjwatson@ubuntu.com>
+2019-07-11  David Michael  <fedora.dm0@gmail.com>
 
-       * term/i386/pc/console.c (bios_data_area): Cast
-       GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
+       verifiers: Blocklist fallout cleanup
+       Blocklist fallout cleanup after commit 5c6f9bc15 (generic/blocklist: Fix
+       implicit declaration of function grub_file_filter_disable_compression()).
 
-2009-08-28  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       1-bit optimised blitters.
+2019-07-11  Andreas Schwab  <schwab@suse.de>
 
-       * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
-       prototype.
-       (grub_video_fbblit_replace_24bit_1bit): Likewise.
-       (grub_video_fbblit_replace_16bit_1bit): Likewise.
-       (grub_video_fbblit_replace_8bit_1bit): Likewise.
-       (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
-       (grub_video_fbblit_blend_XXX888_1bit): Likewise.
-       (grub_video_fbblit_blend_XXX565_1bit): Likewise.
-       * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
-       function.
-       (grub_video_fbblit_replace_24bit_1bit): Likewise.
-       (grub_video_fbblit_replace_16bit_1bit): Likewise.
-       (grub_video_fbblit_replace_8bit_1bit): Likewise.
-       (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
-       (grub_video_fbblit_blend_XXX888_1bit): Likewise.
-       (grub_video_fbblit_blend_XXX565_1bit): Likewise.
-       * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
-       when possible.
-       * video/video.c (grub_video_get_blit_format): Return
-       GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
-
-2009-08-28  Colin Watson  <cjwatson@ubuntu.com>
-
-       * normal/cmdline.c (grub_cmdline_get): Supply a format string as
-       the first argument to grub_printf.
-
-2009-08-28  Colin Watson  <cjwatson@ubuntu.com>
-2009-08-28  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Add `getkeystatus' terminal method.  Add a new `keystatus' command
-       to query it.
-
-       * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
-       GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
-       modifier key bitmasks.
-       (struct grub_term_input): Add `getkeystatus' member.
-       (grub_getkeystatus): Add prototype.
-       * kern/term.c (grub_getkeystatus): New function.
-
-       * include/grub/i386/pc/memory.h
-       (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
-       (struct grub_machine_bios_data_area): Define necessary parts of BIOS
-       Data Area layout.
-       * term/i386/pc/console.c (grub_console_getkeystatus): New function.
-       (grub_console_term_input): Set `getkeystatus' member.
-       * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
-       constants.
-       (grub_usb_keyboard_getreport): Likewise.
-       (grub_usb_keyboard_checkkey): Likewise.
-       (grub_usb_keyboard_getkeystatus): New function.
-       (grub_usb_keyboard_term): Set `getkeystatus' member.
-
-       * commands/keystatus.c: New file.
-       * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
-       (keystatus_mod_SOURCES): New variable.
-       (keystatus_mod_CFLAGS): Likewise.
-       (keystatus_mod_LDFLAGS): Likewise.
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
-       commands/keystatus.c.
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
-
-2009-08-28  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Split befs.mod and afs.mod into *_be.mod and *.mod
-
-       * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
-       (grub_fstest_SOURCES): Likewise.
-       (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
-       (afs_be_mod_SOURCES): New variable.
-       (afs_be_mod_CFLAGS): Likewise.
-       (afs_be_mod_LDFLAGS): Likewise.
-       (befs_be_mod_SOURCES): Likewise.
-       (befs_be_mod_CFLAGS): Likewise.
-       (befs_be_mod_LDFLAGS): Likewise.
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
-       (grub_emu_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
-       * fs/afs_be.c: New file.
-       * fs/befs_be.c: New file.
-       * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
-       (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
-       (U16): Replaced with ...
-       (grub_afs_to_cpu16): ...this. All users updated.
-       (U32): Replaced with ...
-       (grub_afs_to_cpu32): ...this. All users updated.
-       (U64): Replaced with ...
-       (grub_afs_to_cpu64): ...this. All users updated.
-       (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
-       (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
-       (grub_afs_validate_sblock): Check only one endianness.
-       (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
-       (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
-       (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
-       (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
-       (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
-       (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
-       (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
-       (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
-
-2009-08-26  Bean  <bean123ch@gmail.com>
-
-       * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
-       64-bit number.
-       (GRUB_XFS_FSB_TO_BLOCK): Likewise.
-       (grub_xfs_inode_block): Change return type to grub_uint64_t.
-       (grub_xfs_read_inode): Change type of block to grub_uint64_t.
-
-2009-08-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       NetBSD memory map support.
-
-       * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
-       (grub_netbsd_btinfo_mmap_header): New structure.
-       (grub_netbsd_btinfo_mmap_entry): Likewise.
-       * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
-
-2009-08-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Enable bsd.mod on coreboot.
-
-       * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
-       (bsd_mod_SOURCES): New variable.
-       (bsd_mod_CFLAGS): Likewise.
-       (bsd_mod_LDFLAGS): Likewise.
-       (bsd_mod_ASFLAGS): Likewise.
-       * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
-       (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
-
-2009-08-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Cleanup NetBSD root support.
-
-       * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
-       grub_bsd_get_device.
-       Fix typo.
-
-2009-08-25  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/grub.d/00_header.in: Move check for the video backend of
-       gfxterm from here ...
-       * util/grub-mkconfig.in: ... to here.  Enable gfxterm if there's
-       a suitable video backend.
-
-2009-08-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix breakage in grub-setup.
-
-       * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
-       "msdos_partition_map".
-
-2009-08-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix breakage in normal/auth.c.
-
-       * normal/auth.c (grub_iswordseparator): New function.
-
-2009-08-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Authentication support.
-
-       * commands/password.c: New file.
-       * conf/common.rmk (pkglib_MODULES): Add password.mod.
-       (password_mod_SOURCES): New variable.
-       (password_mod_CFLAGS): Likewise.
-       (password_mod_LDFLAGS): Likewise.
-       (normal_mod_SOURCES): Add normal/auth.c.
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
-       normal/auth.c.
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
-       * include/grub/auth.h: New file.
-       * include/grub/err.h (grub_err_t): New enum value
-       GRUB_ERR_ACCESS_DENIED.
-       * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
-       'users'.
-       * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
-       * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
-       users updated.
-       * normal/auth.c: New file.
-       * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
-       (grub_cmdline_run): Don't allow to go to command line without
-       authentication.
-       * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
-       * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
-       menuentry without superuser rights.
-       * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
-       user isn't a superuser.
-
-2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Save space by inlining misc.c functions.
-
-       * kern/misc.c (grub_iswordseparator): Made static.
-       * kern/misc.c (grub_strcat): Moved from here ...
-       * include/grub/misc.h (grub_strcat): ... here. Inlined.
-       * kern/misc.c (grub_strncat): Moved from here ...
-       * include/grub/misc.h (grub_strncat): ... here. Inlined.
-       * kern/misc.c (grub_strcasecmp): Moved from here ...
-       * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
-       * kern/misc.c (grub_strncasecmp): Moved from here ...
-       * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
-       * kern/misc.c (grub_isalpha): Moved from here ...
-       * include/grub/misc.h (grub_isalpha): ... here. Inlined.
-       * kern/misc.c (grub_isdigit): Moved from here ...
-       * include/grub/misc.h (grub_isdigit): ... here. Inlined.
-       * kern/misc.c (grub_isgraph): Moved from here ...
-       * include/grub/misc.h (grub_isgraph): ... here. Inlined.
-       * kern/misc.c (grub_tolower): Moved from here ...
-       * include/grub/misc.h (grub_tolower): ... here. Inlined.
-
-2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>
+       RISC-V: Fix computation of pc-relative relocation offset
+       The offset calculation was missing the relocation addend.
 
-       * script/sh/function.c (grub_script_function_find): Cut error message
-       not to flood terminal.
-       * script/sh/lexer.c (grub_script_yylex): Remove command line length
-       limit.
-       * script/sh/script.c (grub_script_arg_add): Duplicate string.
-
-2009-08-24  Colin Watson  <cjwatson@ubuntu.com>
-
-       * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
-       `report' grub_uint8_t *.
-       (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
-       Use a 50-millisecond timeout rather than just repeating
-       grub_usb_keyboard_getreport 50 times.
-       (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
-
-2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Rename *_partition_map to part_*
-
-       * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
-       * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
-       * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
-       * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
-       All users updated.
-       * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
-       All users updated.
-       * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
-       * util/grub-probe.c (probe_partmap): Don't transform partition name
-       to get module name.
-
-2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix OpenBSD and NetBSD support.
-
-       * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
-       memory address conflict.
-       (OPENBSD_MMAP_ACPI): New definition.
-       (OPENBSD_MMAP_NVS): Likewise.
-       * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
-       and OPENBSD_MMAP_NVS.
-       Add memory map terminator
-       Explicit cast when calling grub_unix_real_boot.
-       (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
-
-2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Let user specify NetBSD root device.
-
-       * loader/i386/bsd.c (netbsd_root): New variable.
-       (netbsd_opts): New option 'root'.
-       (NETBSD_ROOT_ARG): New macro.
-       (grub_netbsd_boot): Use 'netbsd_root'.
-       (grub_bsd_unload): Free 'netbsd_root'.
-       (grub_cmd_netbsd): Fill 'netbsd_root'.
-
-2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support for 64-bit NetBSD.
-
-       * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
-       point when booting non-FreeBSD.
-
-2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support --no-smp and --no-acpi for NetBSD.
-
-       * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
-       (NETBSD_AB_NOACPI): Likewise.
-       * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
-       (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
-
-2009-08-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
-       errors.
-       (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
-       errors. Call grub_error when needed.
-
-2009-08-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * commands/search.c (search_fs): Try searching without autoload first.
-       * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
-       filesystem module explicitly for faster booting.
-
-2009-08-23  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
-
-2009-08-23  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub.d/30_os-prober.in: Disable os-prober if
-       `GRUB_DISABLE_OS_PROBER' was set to true.
-
-2009-08-23  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * partmap/pc.c: Rename to ...
-       * partmap/msdos.c: ... this.  Update all users.
-       (grub_pc_partition_map): Rename to ...
-       (grub_msdos_partition_map): ... this.  Update all users.
-
-       * parttool/pcpart.c: Rename to ...
-       * parttool/msdospart.c: ... this.  Update all users.
-
-       * include/grub/pc_partition.h: Rename to ...
-       * include/grub/msdos_partition.h: ... this.  Update all users.
-       (grub_pc_partition_bsd_entry): Rename to ...
-       (grub_msdos_partition_bsd_entry): ... this.  Update all users.
-       (grub_pc_partition_disk_label): Rename to ...
-       (grub_msdos_partition_disk_label): ... this.  Update all users.
-       (grub_pc_partition_entry): Rename to ...
-       (grub_msdos_partition_entry): ... this.  Update all users.
-       (grub_pc_partition_mbr): Rename to ...
-       (grub_msdos_partition_mbr): ... this.  Update all users.
-       (grub_pc_partition): Rename to ...
-       (grub_msdos_partition): ... this.  Update all users.
-       (grub_pc_partition_is_empty): Rename to ...
-       (grub_msdos_partition_is_empty): ... this.  Update all users.
-       (grub_pc_partition_is_extended): Rename to ...
-       (grub_msdos_partition_is_extended): ... this.  Update all users.
-       (grub_pc_partition_is_bsd): Rename to ...
-       (grub_msdos_partition_is_bsd): ... this.  Update all users.
-
-       * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
-       (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
-       (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
-       (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
-       (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
-       (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
-       (gpt_mod_LDFLAGS): Rename to ...
-       (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
-       (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
-       (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
-       (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
-       (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
-       (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
-       (part_gpt_mod_LDFLAGS): ... this.
-       (pkglib_MODULES): Prefix partition modules with `part_'.  Rename
-       `pcpart.mod' to `msdospart.mod'.
-       (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
-       to ...
-       (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
-       (msdospart_mod_LDFLAGS): ... this.
-
-2009-08-23  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
-       (openbsd_opts): Likewise.
-       (netbsd_opts): Likewise.
-       (freebsd_flags): Added 0 terminator.
-       (openbsd_flags): Likewise.
-       (netbsd_flags): Likewise.
-       (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
-       (grub_cmd_freebsd): Transformed into extended command.
-       (grub_cmd_openbsd): Likewise.
-       (grub_cmd_netbsd): Likewise.
-       (cmd_freebsd): Changed type to grub_extcmd_t.
-       (cmd_openbsd): Likewise.
-       (cmd_netbsd): Likewise.
-       (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
-       grub_cmd_openbsd as extended commands.
-       (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
-       cmd_netbsd and cmd_openbsd
-
-2009-08-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
-
-2009-08-21  Pavel Roskin  <proski@gnu.org>
-
-       * Makefile.in (install-local): When checking if a file is in the
-       build directory, use "test -e" to detect symlinks.
-
-       * Makefile.in (install-local): Remove all files in
-       $(DESTDIR)$(pkglibdir) before installing new files there.
-
-2009-08-18  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
-       grub-mkelfimage.
-
-2009-08-18  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/grub-mkconfig.in: Don't use gfxterm by default if not
-       explicitly specified by the user.
-
-2009-08-18  Pavel Roskin  <proski@gnu.org>
-
-       * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
-       grub_uint8_t pointer for data.
-       * include/grub/fbutil.h (struct grub_video_fbblit_info):
-       Likewise.
-       * video/fb/fbutil.c: Remove unnecessary casts.
-
-2009-08-17  Michal Suchanek  <hramrach@centrum.cz>
-
-       VBE cleanup.
-
-       * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
-       (grub_vbe_set_video_mode): Save active mode info
-       only after setting the mode.
-       (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
-       second argument.
-
-2009-08-17  Michal Suchanek  <hramrach@centrum.cz>
-
-       Rename variables for clarity.
-
-       * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
-       (active_vbe_mode_info): ... this. All users updated.
-       (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
-       All users updated.
-       (initial_mode): Rename to ...
-       (initial_vbe_mode): ... this. All users updated.
-       (mode_in_use): Rename to ..
-       (vbe_mode_in_use): ... this. All users updated.
-       (mode_list): Rename to ..
-       (vbe_mode_list): ... this. All users updated.
-       (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
-       'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
-       (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
-       'mode_list_size' to 'vbe_mode_list_size'.
-       (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
-       'best_mode_info' to 'best_vbe_mode_info' and
-       'best_mode' to 'best_vbe_mode'
-
-2009-08-17  Michal Suchanek  <hramrach@centrum.cz>
-
-       Remove duplicate grub_video_fb_get_video_ptr.
-
-       * include/grub/fbutil.h (get_data_ptr): Rename to ...
-       (grub_video_fb_get_video_ptr): ... this.
-       * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
-       * video/fb/fbutil.c: Add comment about addressing.
-       (get_data_ptr): Rename to ...
-       (grub_video_fb_get_video_ptr): ... this. All users updated.
-       * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
-
-2009-08-17  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
-       grub_dprintf() that was just added.
-
-2009-08-17  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
-       (DEFAULT_VIDEO_MODE): Remove macros.
-       (grub_linux_boot): Remove assumption that Linux has FB support,
-       and use "text" as default video mode.
-
-2009-08-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
-       grub_dprintf.
-       * fs/fat.c (grub_fat_read_data): Likewise.
-
-2009-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
-       payload.
-       (grub_module): Likewise.
-
-2009-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
-       mbi->cmdline but free playground.
-
-2009-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Handle group offset on UFS1.
-
-       * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
-       (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
-
-2009-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Split ufs.mod into ufs1.mod and ufs2.mod.
-
-       * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
-       (grub_fstest_SOURCES): Likewise.
-       (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
-       (ufs_mod_SOURCES): Remove.
-       (ufs_mod_CFLAGS): Likewise.
-       (ufs_mod_LDFLAGS): Likewise.
-       (ufs1_mod_SOURCES): New variable.
-       (ufs1_mod_CFLAGS): Likewise.
-       (ufs1_mod_LDFLAGS): Likewise.
-       (ufs2_mod_SOURCES): New variable.
-       (ufs2_mod_CFLAGS): Likewise.
-       (ufs2_mod_LDFLAGS): Likewise.
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
-       * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
-       Likewise.
-       (grub_emu_SOURCES): Likewise.
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
-       (grub_setup_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
-       (grub_setup_SOURCES): Likewise.
-       * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
-       Likewise.
-       * fs/ufs2.c: New file.
-       * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
-
-2009-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Framebuffer split.
-
-       * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
-       subsystem at the end.
-       * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
-       (video_fb_mod_SOURCES): New variable.
-       (video_fb_mod_CFLAGS): Likewise.
-       (video_fb_mod_LDFLAGS): Likewise.
-       * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
-       video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
-       * video/i386/pc/vbeblit.c: Moved from here ...
-       * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
-       * video/i386/pc/vbefill.c: Moved from here ...
-       * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
-       * video/i386/pc/vbeutil.c: Moved from here ...
-       * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
-       * include/grub/i386/pc/vbeblit.h: Moved from here ...
-       * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
-       * include/grub/i386/pc/vbefill.h: Moved from here ...
-       * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
-       * include/grub/i386/pc/vbeutil.h: Moved from here ...
-       * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
-       * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
-       * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
-       * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
-       (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
-       (grub_video_adapter): Added 'get_info_and_fini'.
-       (grub_video_get_info_and_fini): New prototype.
-       (grub_video_set_mode): make modestring const char *.
-       * loader/i386/linux.c (grub_linux_setup_video): Use
-       grub_video_get_info_and_fini.
-       (grub_linux_boot): Move modesetting just before booting.
-       * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
-       grub_video_get_info_and_fini.
-       * video/i386/pc/vbe.c: Moved framebuffer part ...
-       * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
-       * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
-       grub_video_fbstd_colors and grub_video_fb_set_palette.
-       (grub_video_vbe_init): Clear 'framebuffer' variable and use
-       grub_video_fb_init.
-       (grub_video_vbe_fini): Use grub_video_fb_fini.
-       (grub_video_vbe_setup): Use framebuffer.render_target instead of
-       render_target and use grub_video_fb_set_active_render_target and
-       grub_video_fb_set_palette.
-       (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
-       (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
-       (grub_video_vbe_adapter): Use framebuffer.
-       * video/video.c (grub_video_get_info_and_fini): New function.
-       (grub_video_set_mode): Make modestring const char *.
-       (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
-       values are already initialised.
-
-2009-08-14  Pavel Roskin  <proski@gnu.org>
-
-       * boot/i386/pc/cdboot.S: Use LOCAL for local labels.  Eliminate
-       ABS and APPLE_CC.
-       * boot/i386/pc/diskboot.S: Likewise.
-       * boot/i386/pc/lnxboot.S: Likewise.  Hardcode the number of code
-       sectors allow compilation on MacOSX.
-       * conf/i386-pc.rmk: Enable unconditional compilation of
-       lnxboot.img.
-
-2009-08-13  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
-       * util/grub.d/00_header.in: Enter interruptible sleep if
-       GRUB_HIDDEN_TIMEOUT is set.
-
-2009-08-13  Yves Blusseau  <blusseau@zetam.org>
-
-       * include/grub/symbol.h: Add the LOCAL macro.
-       * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
-       starting with "L_".
-
-2009-08-13  Pavel Roskin  <proski@gnu.org>
-
-       * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
-       any modern compilers we support.
-
-       * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
-       Use local labels starting with "L_" so that Apple assembler
-       knows they are local.
-
-2009-08-10  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
-       (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
-       (bsd_kernel_types): ... this enum.
-
-       * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
-       (grub_cmd_freebsd_module_elf): Abort with "You need to load the
-       kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
-
-       (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
-       (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
-       (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
-       messages.
+       Tested-by: Chester Lin <clin@suse.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-08-08  Robert Millan  <rmh.grub@aybabtu.com>
+2019-07-11  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * util/grub-dumpdevtree: Moved from here ...
-       * util/i386/efi/grub-dumpdevtree: ... to here.
-       (hexify): New function.  Converts a string to its hex version.
-       Generate hex versions of "efi" and "device-properties" by calling
-       hexify() on the ASCII strings rather than by hardcoding numbers.
+       configure: Disable arm movw/movt relocations for GCC
+       When building for arm, we already disable movw/movt relocations for clang,
+       since they are incompatible with PE.
 
-2009-08-08  Robert Millan  <rmh.grub@aybabtu.com>
+       When building with bare metal GCC toolchains (like the one used in the
+       travis ci scripts), we end up with these relocations again. So add an
+       additional test for the '-mword-relocations' flag used by GCC.
 
-       * fs/jfs.c: Update copyright year.
+       Reported-by: Alexander Graf <agraf@csgraf.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-08-08  Felix Zielcke  <fzielcke@z-51.de>
+2019-07-11  Jacob Kroon  <jacob.kroon@gmail.com>
 
-       * util/grub.d/00_header.in: Fix a comment.
-       * util/grub.d/10_linux.in: Likewise.
-       * util/grub.d/10_windows.in: Likewise.
-       * util/grub.d/10_hurd.in: Likewise.
+       probe: Support probing for partition UUID with --part-uuid
+       Linux supports root=PARTUUID=<partuuid> boot argument, so add
+       support for probing it. Compared to the fs UUID, the partition
+       UUID does not change when reformatting a partition.
 
-2009-08-08  Felix Zielcke  <fzielcke@z-51.de>
+       For now, only disks using a GPT partition table are supported.
 
-       * util/grub-mkconfig.in: Allow the user to specify the used font
-       with GRUB_FONT.
+       Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-08-08  Pavel Roskin  <proski@gnu.org>
+2019-07-05  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
-       available, xfs.mod needs it now.
+       Bump version to 2.05
 
-       * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
-       the "g" modifier in sed when the intention is to strip something
-       once.  This fixes comparison of kernels with multiple dashes.
+2019-07-04  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * util/grub-mkconfig.in: Define datarootdir, datadir may depend
-       on it.  Add missing space before closing bracket.  Fix
-       misleading formatting.
+       Release 2.04
 
-2009-08-07  Robert Millan  <rmh.grub@aybabtu.com>
+2019-06-24  Thomas Schmitt  <scdbackup@gmx.net>
 
-       * docs/grub.texi: Major overhaul.  Remove all sections that are
-       specific to GRUB Legacy, or mostly composed of Legacy-specific
-       information.
+       docs: Document workaround for grub-mkrescue with older MacBooks
+       Add a description of the workaround for firmware of older MacBooks
+       which stalls with a grub-mkrescue ISO image for x86_64-efi target
+       on an USB stick.
 
-2009-08-07  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * docs/version.texi: New file.  Provides version information for
-       grub.texi.
+2019-06-24  Eric Snowberg  <eric.snowberg@oracle.com>
 
-2009-08-07  Robert Millan  <rmh.grub@aybabtu.com>
+       docs: Bootstrap changes required for older distros
+       Some older distros do not contain gettext 0.18. Document the workaround
+       to use the bootstrap utility on these systems.
 
-       * docs/grub.texi: Update CVS information to SVN.
-       Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-08-07  Felix Zielcke  <fzielcke@z-51.de>
+2019-06-07  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * util/grub-mkconfig.in: Remove a wrong `fi'.
+       ia64: build fix in cache.h
+       Add IA64 to the architectures excluding a declaration for
+       grub_arch_sync_dma_caches().
 
-2009-08-07  Felix Zielcke  <fzielcke@z-51.de>
+       IA64 does not include any of the source files that require the function,
+       but was overlooked for d8901e3ba115 ("cache: Fix compilation for ppc,
+       sparc and arm64").
 
-       * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
-       (grub_jfs_uuid): New function.
-       (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
+       Add it to the list of excluding architectures in order to not get
+       missing symbol errors when running grub-mkimage.
 
-2009-08-07  Felix Zielcke  <fzielcke@z-51.de>
+       Reported-by: Alexander Graf <agraf@csgraf.de>
+       Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mkconfig_lib.in (font_path): Move the functionality
-       of it to ...
-       * util/grub-mkconfig.in: ... here.  Prefer unicode.pf2 and
-       unifont.pf2 over ascii.pf2.  Export LANG=C in case ascii.pf2 gets used.
+2019-06-07  Vladimir 'phcoder' Serbinenko  <phcoder@gmail.com>
 
-2009-08-07  Robert Millan  <rmh.grub@aybabtu.com>
+       hostfs: #undef open and close.
+       Unlike in case of disks in this case it's just a single place, so it's easier
+       to just #undef
 
-       * util/grub.d/10_linux.in (test_numeric): Moved from here ...
-       * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
-       Update all users.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
-       not just "vmlinu[zx]".
-       Moved from here ...
-       * util/grub-mkconfig_lib.in (version_test_gt): ... to here.  Update
-       all users.
+2019-06-03  John Paul Adrian Glaubitz  <glaubitz@physik.fu-berlin.de>
 
-       * util/grub.d/10_linux.in (find_latest): Moved from here ...
-       * util/grub-mkconfig_lib.in (version_find_latest): ... to here.  Update
-       all users.
+       f2fs: Disable gcc9 -Waddress-of-packed-member
+       Disable the -Wadress-of-packaed-member diagnostic for the grub_f2fs_label
+       function since the result is found to be false postive.
 
-2009-08-07  Robert Millan  <rmh.grub@aybabtu.com>
+       A pointer to the 'volume_name' member of 'struct grub_f2fs_superblock' is
+       guaranteed to be aligned as the offset of 'volume_name' within the struct
+       is dividable by the natural alignment on both 32- and 64-bit targets.
 
-       * util/grub.d/10_freebsd.in: Use an absolute device path for
-       `vfs.root.mountfrom'.  Set `vfs.root.mountfrom.options=rw'.
+       grub-core/fs/f2fs.c: In function ‘grub_f2fs_label’:
+       grub-core/fs/f2fs.c:1253:60: error: taking address of packed member of ‘struct grub_f2fs_superblock’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
+        1253 |     *label = (char *) grub_f2fs_utf16_to_utf8 (data->sblock.volume_name);
+             |                                                ~~~~~~~~~~~~^~~~~~~~~~~~
+       cc1: all warnings being treated as errors
 
-2009-08-06  Felix Zielcke  <fzielcke@z-51.de>
+       Reported-by: Neil MacLeod <neil@nmacleod.com>
+       Tested-by: Neil MacLeod <neil@nmacleod.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
-       handling of multiple abstraction modules.
+2019-05-20  Vincent Legoll  <vincent.legoll@gmail.com>
 
-2009-08-04  Robert Millan  <rmh.grub@aybabtu.com>
+       grub-mkrescue: Fix error message about the wrong command having failed: mformat instead of mcopy
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Fix a bug resulting in black screen when loading Linux using a
-       packed video mode.
+2019-05-20  Mathieu Trudel-Lapierre  <mathieu.tl@gmail.com>
 
-       * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
-       function.
+       video: skip 'text' gfxpayload if not supported, to fallback to default
+       On UEFI, 'text' gfxpayload is not supported, but we still reach parse_modespec()
+       with it, which will obviously fail. Fortunately, whatever gfxpayload is set,
+       we still still have the 'auto' default to fall back to. Allow getting to this
+       fallback by not trying to parse 'text' as a modespec.
 
-       * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
-       (grub_vbe_bios_getset_dac_palette_width): New function.
-       (grub_vbe_bios_get_dac_palette_width)
-       (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
-       grub_vbe_bios_getset_dac_palette_width()).
+       This is because 'text' correctly doesn't parse as a modespec, and ought to have
+       been ignored before we got to that point, just like it is immediately picked if
+       we're running on a system where 'text' is a supported video mode.
 
-       * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
-       check for return status.
-       (grub_vbe_get_video_mode_info): When getting information for a packed
-       mode (<= 8 bpp), obtain DAC palette width using
-       grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
-       {red,green,blue}_mark_size.
+       Bug: https://savannah.gnu.org/bugs/index.php?56217
 
-2009-08-04  Felix Zielcke  <fzielcke@z-51.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * commands/search.c (options): Fix help output to match actual code.
+2019-05-20  Ovidiu Panait  <ovidiu.panait@windriver.com>
 
-2009-08-02  Vladimir Serbinenko  <phcoder@gmail.com>
+       grub-mkconfig: Use -c instead of --printf for stat
+       "--printf" only works with the stat variant provided by coreutils.
 
-       * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
-       of homegrown code.
+       With busybox, stat will fail with the following error:
+       stat: unrecognized option '--printf=%T'
 
-2009-08-01  Vladimir Serbinenko  <phcoder@gmail.com>
+       Usage: stat [OPTIONS] FILE...
 
-       * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
-       on XFS or ReiserFS.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-08-01  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-05-20  Michael Chang  <mchang@suse.com>
 
-       Support Apple partition map with sector size different from 512 bytes.
+       f2fs: Fix gcc9 error -Werror=maybe-uninitialized
+       The function grub_get_node_path() could return uninitialized offset with
+       level == 0 if the block is greater than direct_index + 2 * direct_blks +
+       2 * indirect_blks + dindirect_blks. The uninitialized offset is then used
+       by function grub_f2fs_get_block() because level == 0 is valid and
+       meaningful return to be processed.
 
-       * partmap/apple.c (grub_apple_header): New field 'blocksize'.
-       (apple_partition_map_iterate): Respect 'aheader.blocksize'
-       and 'apart.partmap_size'.
+       The fix is to set level = -1 as return value by grub_get_node_path() to
+       signify an error that the input block cannot be handled. Any caller
+       should therefore check level is negative or not before processing the
+       output.
 
-2009-08-01  Vladimir Serbinenko  <phcoder@gmail.com>
-2009-08-01  Robert Millan  <rmh.grub@aybabtu.com>
+       Reported-by: Neil MacLeod <neil@nmacleod.com>
+       Tested-by: Neil MacLeod <neil@nmacleod.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Fix cpuid command.
+2019-05-06  Alexander Graf  <agraf@csgraf.de>
 
-       * commands/i386/cpuid.c (options): New variable.
-       (grub_cmd_cpuid): Return real error.
-       (GRUB_MOD_INIT(cpuid)): Declare options.
+       arm: Align section alignment with manual relocation offset code
+       The arm relocation code has a manual special case for EFI binaries to
+       add the natural alignment to its own relocation awareness.
 
-2009-07-31  Vladimir Serbinenko  <phcoder@gmail.com>
+       Since commit a51f953f4ee87 ("mkimage: Align efi sections on 4k
+       boundary") we changed that alignment from 0x400 to 0x1000 bytes. Reflect
+       the change in that branch that we forgot as well.
 
-       * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
-       valid.
+       This fixes running 32bit arm grub efi binaries for me again.
+
+       Fixes: a51f953f4ee87 ("mkimage: Align efi sections on 4k boundary")
+       Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
+       Reported-by: Steve McIntyre <steve@einval.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Julien ROBIN <julien.robin28@free.fr>
+       Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
+       Tested-by: Leif Lindholm <leif.lindholm@linaro.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2019-05-06  Alexander Graf  <agraf@csgraf.de>
+
+       arm: Move trampolines into code section
+       When creating T32->A32 transition jumps, the relocation code in grub
+       will generate trampolines. These trampolines live in the .data section
+       of our PE binary which means they are not marked as executable.
+
+       This misbehavior was unmasked by commit a51f953f4ee87 ("mkimage: Align
+       efi sections on 4k boundary") which made the X/NX boundary more obvious
+       because everything became page aligned.
+
+       To put things into proper order, let's move the arm trampolines into the
+       .text section instead. That way everyone knows they are executable.
+
+       Fixes: a51f953f4ee87 ("mkimage: Align efi sections on 4k boundary")
+       Reported-by: Julien ROBIN <julien.robin28@free.fr>
+       Reported-by: Leif Lindholm <leif.lindholm@linaro.org>
+       Tested-by: Julien ROBIN <julien.robin28@free.fr>
+       Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
+       Tested-by: Leif Lindholm <leif.lindholm@linaro.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2019-04-23  Michael Chang  <mchang@suse.com>
+
+       efi: Fix gcc9 error -Waddress-of-packed-member
+       The address of fp->path_name could be unaligned since seeking into the
+       device path buffer for a given node could end in byte boundary.
+
+       The fix is allocating aligned buffer by grub_malloc for holding the
+       UTF16 string copied from fp->path_name, and after using that buffer as
+       argument for grub_utf16_to_utf8 to convert it to UTF8 string.
+
+       [  255s] ../../grub-core/kern/efi/efi.c: In function 'grub_efi_get_filename':
+       [  255s] ../../grub-core/kern/efi/efi.c:410:60: error: taking address of packed member of 'struct grub_efi_file_path_device_path' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [  255s]   410 |    p = (char *) grub_utf16_to_utf8 ((unsigned char *) p, fp->path_name, len);
+       [  255s]       |                                                          ~~^~~~~~~~~~~
+       [  255s] ../../grub-core/kern/efi/efi.c: In function 'grub_efi_print_device_path':
+       [  255s] ../../grub-core/kern/efi/efi.c:900:33: error: taking address of packed member of 'struct grub_efi_file_path_device_path' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [  255s]   900 |     *grub_utf16_to_utf8 (buf, fp->path_name,
+       [  255s]       |                               ~~^~~~~~~~~~~
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2019-04-23  Michael Chang  <mchang@suse.com>
+
+       chainloader: Fix gcc9 error -Waddress-of-packed-member
+       The address of fp->path_name could be unaligned since seeking into the
+       device path buffer for a given node could end in byte boundary.
+
+       The fix is using aligned buffer allocated by grub_malloc for receiving
+       the converted UTF16 string by grub_utf8_to_utf16 and also the processing
+       after. The resulting string then gets copied to fp->path_name.
+
+       [  243s] ../../grub-core/loader/efi/chainloader.c: In function 'copy_file_path':
+       [  243s] ../../grub-core/loader/efi/chainloader.c:136:32: error: taking address of packed member of 'struct grub_efi_file_path_device_path' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [  243s]   136 |   size = grub_utf8_to_utf16 (fp->path_name, len * GRUB_MAX_UTF16_PER_UTF8,
+       [  243s]       |                              ~~^~~~~~~~~~~
+       [  243s] ../../grub-core/loader/efi/chainloader.c:138:12: error: taking address of packed member of 'struct grub_efi_file_path_device_path' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [  243s]   138 |   for (p = fp->path_name; p < fp->path_name + size; p++)
+       [  243s]       |            ^~
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2019-04-23  Michael Chang  <mchang@suse.com>
+
+       usbtest: Disable gcc9 -Waddress-of-packed-member
+       Disable the -Wadress-of-packaed-member diagnostic for the
+       grub_usb_get_string function since the result is false postive. The
+       descstrp->str is found to be aligned in the buffer allocated for 'struct
+       grub_usb_desc_str'.
+
+       [  229s] ../../grub-core/commands/usbtest.c: In function 'grub_usb_get_string':
+       [  229s] ../../grub-core/commands/usbtest.c:104:58: error: taking address of packed member of 'struct grub_usb_desc_str' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [  229s]   104 |   *grub_utf16_to_utf8 ((grub_uint8_t *) *string, descstrp->str,
+       [  229s]       |                                                  ~~~~~~~~^~~~~
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2019-04-23  Michael Chang  <mchang@suse.com>
+
+       acpi: Fix gcc9 error -Waddress-of-packed-member
+       Simply adds the missing packed attribute to 'struct grub_acpi_madt'.
+
+       [  233s] ../../grub-core/commands/lsacpi.c: In function 'disp_acpi_xsdt_table':
+       [  233s] ../../grub-core/commands/lsacpi.c:201:27: error: converting a packed 'struct grub_acpi_table_header' pointer (alignment 1) to a 'struct grub_acpi_madt' pointer (alignment 4) may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [  233s]   201 |  disp_madt_table ((struct grub_acpi_madt *) t);
+       [  233s]       |                           ^~~~~~~~~~~~~~
+       [  233s] In file included from ../../grub-core/commands/lsacpi.c:23:
+       [  233s] ../../include/grub/acpi.h:50:8: note: defined here
+       [  233s]    50 | struct grub_acpi_table_header
+       [  233s]       |        ^~~~~~~~~~~~~~~~~~~~~~
+       [  233s] ../../include/grub/acpi.h:90:8: note: defined here
+       [  233s]    90 | struct grub_acpi_madt
+       [  233s]       |        ^~~~~~~~~~~~~~
+       [  233s] ../../grub-core/commands/lsacpi.c: In function 'disp_acpi_rsdt_table':
+       [  233s] ../../grub-core/commands/lsacpi.c:225:27: error: converting a packed 'struct grub_acpi_table_header' pointer (alignment 1) to a 'struct grub_acpi_madt' pointer (alignment 4) may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [  233s]   225 |  disp_madt_table ((struct grub_acpi_madt *) t);
+       [  233s]       |                           ^~~~~~~~~~~~~~
+       [  233s] In file included from ../../grub-core/commands/lsacpi.c:23:
+       [  233s] ../../include/grub/acpi.h:50:8: note: defined here
+       [  233s]    50 | struct grub_acpi_table_header
+       [  233s]       |        ^~~~~~~~~~~~~~~~~~~~~~
+       [  233s] ../../include/grub/acpi.h:90:8: note: defined here
+       [  233s]    90 | struct grub_acpi_madt
+       [  233s]       |        ^~~~~~~~~~~~~~
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2019-04-23  Michael Chang  <mchang@suse.com>
+
+       hfsplus: Fix gcc9 error with -Waddress-of-packed-member
+       The catkey->name could be unaligned since the address of 'void* record'
+       is calculated as offset in bytes to a malloc buffer.
+
+       The fix is using aligned buffer allocated by grub_malloc for holding
+       the UTF16 string copied from catkey->name. And use that buffer as
+       argument for grub_utf16_to_utf8 to convert to UTF8 strings.
+
+       In addition, using a new copy of buffer rather than catkey->name itself
+       for processing the endianess conversion, we can also get rid of the hunk
+       restoring byte order of catkey->name to what it was previously.
+
+       [   59s] ../grub-core/fs/hfsplus.c: In function 'list_nodes':
+       [   59s] ../grub-core/fs/hfsplus.c:738:57: error: taking address of packed member of 'struct grub_hfsplus_catkey' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   59s]   738 |   *grub_utf16_to_utf8 ((grub_uint8_t *) filename, catkey->name,
+       [   59s]       |                                                   ~~~~~~^~~~~~
+       [   59s] ../grub-core/fs/hfsplus.c: In function 'grub_hfsplus_label':
+       [   59s] ../grub-core/fs/hfsplus.c:1019:57: error: taking address of packed member of 'struct grub_hfsplus_catkey' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   59s]  1019 |   *grub_utf16_to_utf8 ((grub_uint8_t *) (*label), catkey->name,
+       [   59s]       |                                                   ~~~~~~^~~~~~
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2019-04-23  Michael Chang  <mchang@suse.com>
+
+       hfs: Fix gcc9 error -Waddress-of-packed-member
+       Simply adds the missing packed attribute to 'struct grub_hfs_extent'.
+
+       [   83s] ../grub-core/fs/hfs.c: In function 'grub_hfs_iterate_records':
+       [   83s] ../grub-core/fs/hfs.c:699:9: error: taking address of packed member of 'struct grub_hfs_sblock' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   83s]   699 |      ? (&data->sblock.catalog_recs)
+       [   83s]       |        ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
+       [   83s] ../grub-core/fs/hfs.c:700:9: error: taking address of packed member of 'struct grub_hfs_sblock' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   83s]   700 |      : (&data->sblock.extent_recs));
+       [   83s]       |        ~^~~~~~~~~~~~~~~~~~~~~~~~~~
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2019-04-23  Michael Chang  <mchang@suse.com>
+
+       jfs: Disable gcc9 -Waddress-of-packed-member
+       Disable the -Wadress-of-packaed-member diagnostic for the
+       grub_jfs_getent function since the result is found to be false postive.
+
+       The leaf is read into memory as continous chunks in size of 32 bytes and
+       the pointer to its base is aligned, which also guarentee its member
+       leaf->namepart is aligned.
+
+       [   60s] ../grub-core/fs/jfs.c: In function 'grub_jfs_getent':
+       [   60s] ../grub-core/fs/jfs.c:557:44: error: taking address of packed member of 'struct grub_jfs_leaf_dirent' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   60s]   557 |   le_to_cpu16_copy (filename + strpos, leaf->namepart, len < diro->data->namecomponentlen ? len
+       [   60s]       |                                        ~~~~^~~~~~~~~~
+       [   60s] ../grub-core/fs/jfs.c:570:48: error: taking address of packed member of 'struct grub_jfs_leaf_next_dirent' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   60s]   570 |  le_to_cpu16_copy (filename + strpos, next_leaf->namepart, len < 15 ? len : 15);
+       [   60s]       |                                       ~~~~~~~~~^~~~~~~~~~
+       [   60s] cc1: all warnings being treated as errors
+
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+2019-04-23  Michael Chang  <mchang@suse.com>
+
+       cpio: Disable gcc9 -Waddress-of-packed-member
+       Disable the -Wadress-of-packaed-member diagnostic for the
+       grub_cpio_find_file function since the result is found to be false
+       postive. Any pointers to member of the 'struct head hd' is aligned even
+       if the structure is packed without paddings.
+
+       [   59s] In file included from ../grub-core/fs/cpio.c:51:
+       [   59s] ../grub-core/fs/cpio_common.c: In function 'grub_cpio_find_file':
+       [   59s] ../grub-core/fs/cpio_common.c:58:31: error: taking address of packed member of 'struct head' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   59s]    58 |   data->size = read_number (hd.filesize, ARRAY_SIZE (hd.filesize));
+       [   59s]       |                             ~~^~~~~~~~~
+       [   59s] ../grub-core/fs/cpio_common.c:60:29: error: taking address of packed member of 'struct head' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   59s]    60 |     *mtime = read_number (hd.mtime, ARRAY_SIZE (hd.mtime));
+       [   59s]       |                           ~~^~~~~~
+       [   59s] ../grub-core/fs/cpio_common.c:61:28: error: taking address of packed member of 'struct head' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   59s]    61 |   modeval = read_number (hd.mode, ARRAY_SIZE (hd.mode));
+       [   59s]       |                          ~~^~~~~
+       [   59s] ../grub-core/fs/cpio_common.c:62:29: error: taking address of packed member of 'struct head' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   59s]    62 |   namesize = read_number (hd.namesize, ARRAY_SIZE (hd.namesize));
+       [   59s]       |                           ~~^~~~~~~~~
+       [   59s] In file included from ../grub-core/fs/cpio_be.c:51:
+       [   59s] ../grub-core/fs/cpio_common.c: In function 'grub_cpio_find_file':
+       [   59s] ../grub-core/fs/cpio_common.c:58:31: error: taking address of packed member of 'struct head' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   59s]    58 |   data->size = read_number (hd.filesize, ARRAY_SIZE (hd.filesize));
+       [   59s]       |                             ~~^~~~~~~~~
+       [   59s] ../grub-core/fs/cpio_common.c:60:29: error: taking address of packed member of 'struct head' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   59s]    60 |     *mtime = read_number (hd.mtime, ARRAY_SIZE (hd.mtime));
+       [   59s]       |                           ~~^~~~~~
+       [   59s] ../grub-core/fs/cpio_common.c:61:28: error: taking address of packed member of 'struct head' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   59s]    61 |   modeval = read_number (hd.mode, ARRAY_SIZE (hd.mode));
+       [   59s]       |                          ~~^~~~~
+       [   59s] ../grub-core/fs/cpio_common.c:62:29: error: taking address of packed member of 'struct head' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+       [   59s]    62 |   namesize = read_number (hd.namesize, ARRAY_SIZE (hd.namesize));
+       [   59s]       |                           ~~^~~~~~~~~
 
-2009-07-31  Bean  <bean123ch@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
-       log2_inode.
-       (grub_fshelp_node): Move inode field to the end.
-       (grub_xfs_data): Remove inode field.
-       (grub_xfs_inode_block): Calculate inode size using sblock.
-       (grub_xfs_inode_offset): Likewise.
-       (grub_xfs_read_inode): Calculate inode size using sblock.
-       (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
-       (grub_xfs_iterate_dir): Calculate inode size using sblock.
-       (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
-       to match inode size.
-       (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
-       not accessible when data is null.
-       (grub_xfs_open): Likewise.
+2019-04-23  Heinrich Schuchardt  <xypron.glpk@gmx.de>
 
-2009-07-31  Bean  <bean123ch@gmail.com>
+       efi: Avoid NULL dereference if FilePath is NULL
+       The UEFI specification allows LoadImage() to be called with a memory
+       location only and without a device path. In this case FilePath will not be
+       set in the EFI_LOADED_IMAGE_PROTOCOL.
+
+       So in function grub_efi_get_filename() the device path argument may be
+       NULL. As we cannot determine the device path in this case just return NULL
+       from the function.
 
-       * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
-       Don't change pv->disk if it's already set.
+       Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * disk/raid.c (grub_raid_scan_device): Merge this function into ...
-       (grub_raid_register): ... here.
-       (grub_raid_rescan): Removed.
+2019-04-23  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * include/grub/raid.h (grub_raid_rescan): Removed.
+       x86/msr: Fix build with older GCC versions
+       Some older GCC versions produce following error when x86 MSR modules are build:
 
-       * util/grub-fstest.c: Remove include file <grub/raid.h>.
-       (fstest): Replace grub_raid_rescan with module fini function followed
-       by init function.
+         In file included from commands/i386/rdmsr.c:29:0:
+         ../include/grub/i386/rdmsr.h:27:29: error: no previous prototype for ‘grub_msr_read’ [-Werror=missing-prototypes]
+          extern inline grub_uint64_t grub_msr_read (grub_uint32_t msr_id)
+                                      ^
+         cc1: all warnings being treated as errors
 
-       * util/grub-probe.c: Add include file <grub/raid.h>.
-       (probe_raid_level): New function.
-       (probe): Detect abstraction by walking the disk device, support two
-       level of abstraction (LVM on RAID) when detecting partition map.
+       This happens due to lack of support for a such usage of extern keyword
+       in older GCCs. Additionally, this usage is not consistent with the rest
+       of codebase. So, replace it with static keyword.
 
-2009-07-31  Pavel Roskin  <proski@gnu.org>
+       Additionally, fix incorrect coding style.
 
-       * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
-       to grub_zalloc(), it was erroneous.
-       Reported by Bean <bean123ch@gmail.com>
+       Reported-by: Eric Snowberg <eric.snowberg@oracle.com>
+       Reported-by: adrian15 <adrian15sgd@gmail.com>
+       Reviewed-by: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
+       Reviewed-by: Eric Snowberg <eric.snowberg@oracle.com>
+       Tested-by: adrian15 <adrian15sgd@gmail.com>
 
-2009-07-30  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-04-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/i386/pc/grub-setup.c (setup): Check that no partition is in
-       embedding zone, not only the first one.
+       Release 2.04~rc1
 
-2009-07-29  Joe Auricchio  <jauricchio@gmail.com>
+2019-04-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * term/gfxterm.c (clear_char): New function.
-       (grub_virtual_screen_setup): Use clear_char.
-       (scroll_up): Likewise.
-       (grub_virtual_screen_cls): Likewise.
+       Change fs functions to add fs_ prefix
+       This avoid conflict with gnulib
 
-2009-07-29  Felix Zielcke  <fzielcke@z-51.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/deviceiter.c (get_acceleraid_disk_name): New static
-       function.
-       (grub_util_iterate_devices): Handle Accelraid devices.
-       * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
+2019-04-08  Vladimir Serbinenko  <phcoder@google.com>
 
-2009-07-28  Robert Millan  <rmh.grub@aybabtu.com>
+       A workaround for clang problem assembling startup_raw.S
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
-       separator for the suggested gfxpayload string (';' collides with the
-       parser and needs escaping).
+2019-04-04  Eric Snowberg  <eric.snowberg@oracle.com>
 
-2009-07-28  Vladimir Serbinenko  <phcoder@gmail.com>
+       ieee1275: NULL pointer dereference in grub_ieee1275_encode_devname()
+       Function grub_strndup() may return NULL, this is called from
+       function grub_ieee1275_get_devname() which is then called from
+       function grub_ieee1275_encode_devname() to set device. The device
+       variable could then be used with a NULL pointer.
 
-       * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
-       Clear direction flag before jumping to OS.
-       (grub_multiboot2_real_boot): Likewise.
+       Reviewed-by: Colin Watson <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-07-28  Felix Zielcke  <fzielcke@z-51.de>
+2019-04-02  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * util/i386/pc/grub-install: Fix parsing of --disk-module
-       option.
+       docs/grub-dev: Change comments rules
+       Current comments forms are annoying, so, some of them are disallowed
+       starting from now. New rules are more flexible and mostly aligned
+       with, e.g., Linux kernel comments rules.
 
-2009-07-28  Felix Zielcke  <fzielcke@z-51.de>
+       Reviewed-by: Vladimir Serbinenko <phcoder@google.com>
 
-       * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
-       when embedding.
+2019-04-02  Andrew Jeddeloh  <andrew.jeddeloh@coreos.com>
 
-2009-07-26  Felix Zielcke  <fzielcke@z-51.de>
+       loader/i386/linux: Calculate the setup_header length
+       Previously the setup_header length was just assumed to be the size of the
+       linux_kernel_params struct. The linux x86 32-bit boot protocol says that the
+       end of the linux_i386_kernel_header is at 0x202 + the byte value at 0x201 in
+       the linux_i386_kernel_header. So, calculate the size of the header using the
+       end of the linux_i386_kernel_header, rather than assume it is the size of the
+       linux_kernel_params struct.
 
-       * util/grub-mkconfig.in (package_version): New variable.
-       Use it do display the version.
+       Additionally, add some required members to the linux_kernel_params
+       struct and align the content of linux_i386_kernel_header struct with
+       it. New members naming was taken directly from Linux kernel source.
 
-2009-07-25  Felix Zielcke  <fzielcke@z-51.de>
+       linux_kernel_params and linux_i386_kernel_header structs require more
+       cleanup. However, this is not urgent, so, let's do this after release.
+       Just in case...
 
-       * kern/file.c (grub_file_open): Revert to previous check with
-       grub_errno.
+       Reviewed-by: Vladimir Serbinenko <phcoder@google.com>
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-2009-07-25  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-04-02  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
-       from help line. It's out of sync with code.
+       efidisk: NULL pointer dereference in grub_efidisk_get_device_name()
+       Function grub_efi_find_last_device_path() may return NULL when called
+       from grub_efidisk_get_device_name().
 
-2009-07-25  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
-       entries on failed boot.
+2019-04-02  Eric Snowberg  <eric.snowberg@oracle.com>
 
-2009-07-25  Felix Zielcke  <fzielcke@z-51.de>
+       efidisk: NULL pointer dereference in is_child()
+       Function grub_efi_find_last_device() path may return NULL when called
+       from is_child().
 
-       * kern/file.c (grub_file_open): Fix an error check.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-07-24  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-04-02  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
-       partition map couldn't be identified.
+       efidisk: Write to NULL pointer ldp
+       Function grub_efi_find_last_device_path() may return constant NULL when
+       called from find_parent_device().
 
-2009-07-23  Pavel Roskin  <proski@gnu.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
-       instead of WORDS_BIGENDIAN.  Use grub_le_to_cpu32(), so that the
-       case of little endian words becomes just an optimization.
-       Respect const modifier.
-       (md5_final): Use code that doesn't depend on endianness.
+2019-04-02  Vladimir Serbinenko  <phcoder@google.com>
 
-       * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
-       to avoid loss of upper bits if align is unsigned and shorter
-       than addr.
+       clang: Pair -Qn with -Qunused-arguments.
+       When assembling module wirh clang -Qn ends up on command line but later ignored
+       To avoid it breaking the compile, add -Qunused-arguments.
 
-2009-07-21  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       UUID support for UFS
+2019-03-28  John Paul Adrian Glaubitz  <glaubitz@physik.fu-berlin.de>
 
-       * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
-       (grub_ufs_uuid): New function.
-       (grub_ufs_fs): add .uuid
+       ieee1275: Fix path reference in comment of sparc64 boot loader code
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-07-21  Pavel Roskin  <proski@gnu.org>
+2019-03-28  John Paul Adrian Glaubitz  <glaubitz@physik.fu-berlin.de>
 
-       * kern/dl.c (grub_dl_check_header): Make static.
+       ieee1275: Include a.out header in assembly of sparc64 boot loader
+       Recent versions of binutils dropped support for the a.out and COFF
+       formats on sparc64 targets. Since the boot loader on sparc64 is
+       supposed to be an a.out binary and the a.out header entries are
+       rather simple to calculate in our case, we just write the header
+       ourselves instead of relying on external tools to do that.
 
-2009-07-21  Felix Zielcke  <fzielcke@z-51.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub.d/30_os-prober.in: Remove unused CHAINROOT.  Don't
-       add drivemap for Vista.  It breaks Windows 7.
+2019-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2009-07-21  Vladimir Serbinenko  <phcoder@gmail.com>
+       Propagate GNU_PRINTF from gnulib vfprintf
+       gnulib now replaces vfprintf and hence its format becomes GNU_PRINTF format
 
-       * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
-       128 bytes
+       This also fixes matching definitions to always use GNU format
 
-2009-07-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Add BFS support
+2019-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
-       (grub_fstest_SOURCES): Likewise.
-       (pkglib_MODULES): Add befs.mod.
-       (befs_mod_SOURCES): New variable.
-       (befs_mod_CFLAGS): Likewise.
-       (befs_mod_LDFLAGS): Likewise.
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
-       (grub_setup_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       (grub_setup_SOURCES): Likewise.
-       * fs/befs.c: New file.
-       * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
-       (GRUB_AFS_SBLOCK_SECTOR): Likewise.
-       (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
-       (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
-       (B_KEY_INDEX_ALIGN): New declaration.
-       (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
-       (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
-       (grub_afs_btree) [MODE_BFS]: New conditional declaration.
-       (grub_afs_sblock) [MODE_BFS]: Remove link_count.
-       (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
-       (grub_afs_mount) [MODE_BFS]: Likewise.
-       (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
-       (grub_afs_fs): Use GRUB_AFS_FSNAME
-       (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
-       (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
-       (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
-       (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
+       efi/tpm.c: Add missing casts
+       Without those casts we get a warning about implicit conversion of pointer
+       to integer.
 
-2009-07-19  Yves BLUSSEAU  <yves.grub-devel@zetam.org>
+2019-03-26  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/getroot.c (find_root_device): Add support for MacOSX.
-       * util/hostdisk.c: Likewise.
-
-2009-07-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * font/font.c (find_glyph): Check whether a font is present to avoid
-       segmentation fault.
-
-2009-07-20  Joe Auricchio  <jauricchio@gmail.com>
-
-       * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
-
-2009-07-20  Pavel Roskin  <proski@gnu.org>
-
-       * configure.ac: Trim excessively wordy excuses.
-
-2009-07-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add symlink, mtime and label support to AtheFS.
-
-       * fs/afs.c (grub_afs_sblock): Declare `name' as char.
-       (grub_afs_iterate_dir): Handle symlinks.
-       (grub_afs_open): Use grub_afs_read_symlink.
-       (grub_afs_dir): Likewise.
-       Pass mtime.
-       (grub_afs_label): New function.
-       (grub_afs_fs): Add grub_afs_label.
-       (grub_afs_read_symlink): New function.
-
-2009-07-20  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix AtheFS support.
-
-       * fs/afs.c: Fix comments style.
-       (grub_afs_blockrun): Declare as packed.
-       (grub_afs_datastream): Likewise.
-       (grub_afs_bnode): Likewise.
-       (grub_afs_btree): Likewise.
-       (grub_afs_sblock): Likewise.
-       Declare `name' as char.
-       (grub_afs_inode): Declare as packed.
-       Change void *vnode to grub_uint32_t unused.
-       (grub_afs_iterate_dir): Check that key_size is positive.
-       (grub_afs_mount): Don't read superblock twice.
-       (grub_afs_dir): Don't free node in case of error,
-       grub_fshelp_find_file already handles this.
-       (grub_afs_open): Likewise.
-
-2009-07-19  Pavel Roskin  <proski@gnu.org>
-
-       * Makefile.in: Remove LIBLZO and enable_lzo.
-       * conf/i386-pc.rmk: Remove lzo support.
-       * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
-       * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA.  Remove lzo
-       support.
-       * kern/i386/pc/lzo1x.S: Remove.
-       * kern/i386/pc/startup.S: Remove lzo support.
-       * util/i386/pc/grub-mkimage.c: Likewise.
-
-2009-07-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
-       * fs/xfs.c (grub_xfs_dir): Likewise.
-       * fs/afs.c (grub_afs_dir): Likewise.
-       * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
-       (grub_iso9660_open): Likewise.
-       * fs/jfs.c (grub_jfs_open): Likewise.
-       * fs/ext2.c (grub_ext2_dir): Likewise.
-       * include/grub/macho.h (grub_macho_fat_arch): Likewise.
-       * script/sh/lexer.c (grub_script_yylex): Likewise.
-
-2009-07-16  Pavel Roskin  <proski@gnu.org>
-
-       * configure.ac: Never add "-c" to CFLAGS.
-
-       * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
-
-       * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
-       grub_cv_cc_efiemu should be used.
-
-       * configure.ac: Typo fixes.
-
-       * kern/mm.c (grub_zalloc): New function.
-       (grub_debug_zalloc): Likewise.
-       * include/grub/mm.h: Declare grub_zalloc() and
-       grub_debug_zalloc().
-       * util/misc.c (grub_zalloc): New function.
-       * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
-       instead of grub_malloc(), remove unneeded initializations.
-       * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
-       * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
-       * commands/parttool.c (grub_cmd_parttool): Likewise.
-       * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
-       * disk/raid5_recover.c (grub_raid5_recover): Likewise.
-       * disk/raid6_recover.c (grub_raid6_recover): Likewise.
-       * disk/usbms.c (grub_usbms_finddevs): Likewise.
-       * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
-       * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
-       (grub_cmd_efiemu_pnvram): Likewise.
-       * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
-       * fs/iso9660.c (grub_iso9660_mount): Likewise.
-       (grub_iso9660_iterate_dir): Likewise.
-       * fs/jfs.c (grub_jfs_opendir): Likewise.
-       * fs/ntfs.c (list_file): Likewise.
-       (grub_ntfs_mount): Likewise.
-       * kern/disk.c (grub_disk_open): Likewise.
-       * kern/dl.c (grub_dl_load_core): Likewise.
-       * kern/elf.c (grub_elf_file): Likewise.
-       * kern/env.c (grub_env_context_open): Likewise.
-       (grub_env_set): Likewise.
-       (grub_env_set_data_slot): Likewise.
-       * kern/file.c (grub_file_open): Likewise.
-       * kern/fs.c (grub_fs_blocklist_open): Likewise.
-       * loader/i386/multiboot.c (grub_module): Likewise.
-       * loader/xnu.c (grub_xnu_create_key): Likewise.
-       (grub_xnu_create_value): Likewise.
-       * normal/main.c (grub_normal_add_menu_entry): Likewise.
-       (read_config_file): Likewise.
-       * normal/menu_entry.c (make_screen): Likewise.
-       * partmap/sun.c (sun_partition_map_iterate): Likewise.
-       * script/sh/lexer.c (grub_script_lexer_init): Likewise.
-       * script/sh/script.c (grub_script_parse): Likewise.
-       * video/bitmap.c (grub_video_bitmap_create): Likewise.
-       * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
-       * video/readers/png.c (grub_png_output_byte): Likewise.
-       (grub_video_reader_png): Likewise.
-
-2009-07-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Enable all targets that can be built by default
-
-       * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
-       grub-mkfont and grub-fstest if they can be built
-
-2009-07-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix hang and segmentation fault in grub-emu-usb
-
-       * disk/scsi.c (grub_scsi_open): return err and not grub_errno
-       * util/usb.c (grub_libusb_devices): likewise
-       (grub_libusb_init): rename to ...
-       (GRUB_MOD_INIT (libusb)):...this
-       (grub_libusb_fini): rename to ..
-       (GRUB_MOD_FINI (libusb)):...this
-       * disk/usbms.c (grub_usbms_transfer): fix retry logic
-       * include/grub/disk.h (grub_raid_init): removed, it's useless
-       (grub_raid_fini): likewise
-       (grub_lvm_init): likewise
-       (grub_lvm_fini): likewise
-       * util/grub-emu.c (main): don't call grub_libusb_init, it's done
-       by grub_init_all
-
-2009-07-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix libusb
-
-       * Makefile.in (LIBUSB): new macro
-       * genmk.rb (Utility/print_tail): new method
-       (Utility/rule): use intermediary variable #{prefix}_OBJECTS
-       (top level): call util.print_tail at the end.
-
-2009-07-16  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Make FreeBSD accept zpool.cache
-
-       * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
-       type is /boot/zfs/zpool.cache
-
-2009-07-16  Vladimir Serbinenko  <phcoder@gmail.com>
+       POTFILES: Don't include gnulib in grub.pot
+       They're translated as a separate project, so we
+       don't want to submit them again.
 
-       Fix 64-bit efiemu
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
-       correct wrong typedef
-       * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
-
-2009-07-15  Pavel Roskin  <proski@gnu.org>
-
-       * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
-       * kern/disk.c (struct grub_disk_cache): Likewise.
-
-       * commands/probe.c (options): Typo fix.
-
-       * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
-       Increase to 0x5a to accommodate FAT32.  Adjust other offsets
-       accordingly.
-       Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
-
-       * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
-       the end of "Error" to make the message more readable.
-
-       * boot/i386/pc/boot.S (kernel_segment): Remove.
-       (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
-       for destination.
-
-       * boot/i386/pc/boot.S (boot_version): Remove.
-       * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
-       Remove.
-
-       * include/grub/i386/pc/boot.h: Sort all offsets.
-       (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
-       (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
-       * boot/i386/pc/boot.S: Assert location of every offset listed in
-       include/grub/i386/pc/boot.h.
-
-2009-07-13  Pavel Roskin  <proski@gnu.org>
+2019-03-26  Vladimir Serbinenko  <phcoder@google.com>
 
-       * include/grub/i386/coreboot/machine.h: Rename
-       GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
-       * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
-       multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
+       configure.ac: Use nostdlib when checking for nostdinc
+       With clang nostdinc behaviour is influenced by nostdlib. Since we
+       always add nostdlib, add it in test as well
 
-       * kern/dl.c: Force native word size to suppress warnings when
-       compiling grub-emu.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/device.c (grub_device_iterate): Change struct part_ent to
-       hold the name, not a pointer to it.  Use one grub_malloc() per
-       partition, not two.  Free partition_name if grub_malloc() fails.
-       Set ents to NULL only before grub_partition_iterate() is called.
+2019-03-25  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2009-07-11  Bean  <bean123ch@gmail.com>
+       efi/tpm.h: Fix hash_log_extend_event definition.
+       I didn't check the spec but pointer to address doesn't make much sense
+       and doesn't match the code.
 
-       * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
-       childname.
+       Rename grub_disk members
+       Otherwise it horribly clashes with gnulib when it's
+       replacing open/write/read/close
 
-2009-07-10  Bean  <bean123ch@gmail.com>
-2009-07-10  Robert Millan  <rmh.grub@aybabtu.com>
+       grub-mkimagexx: Fix RISCV error message
+       Outputting a raw pointer doesn't match the format and is
+       also useless. Output offset instead.
 
-       * kern/ieee1275/openfw.c (grub_children_iterate)
-       (grub_devalias_iterate): Fix size evaluation for property or path
-       strings, which was broken since r2132.
+       kern/emu/misc.c: Don't include config-util.h when running as GRUB_BUILD
 
-2009-07-07  Pavel Roskin  <proski@gnu.org>
+       Support R_PPC_PLTREL24
+       It's emitted by clang 7. It's the same as R_PPC_REL24.
 
-       * commands/search.c (search_file): Merge into ...
-       (search_fs): ... this.  Accept search type as argument.
-       (grub_cmd_search): Pass search type to search_fs().
+2019-03-20  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * include/grub/util/console.h: New file.
-       * util/console.c: Use it instead of grub/machine/console.h.
-       * util/grub-emu.c: Likewise.
+       sparc: Enable __clzsi2() and __clzdi2()
+       This patch is similiar to commit e795b9011 (RISC-V: Add libgcc helpers
+       for clz) but for SPARC target.
 
-       * lib/arg.c (find_long_option): Remove.
-       (find_long): Add `len' argument, make `s' const char *.
-       (grub_arg_parse): Parse long options in place, not in a
-       temporary buffer.
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-2009-07-06  Pavel Roskin  <proski@gnu.org>
+2019-03-20  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * commands/search.c (search_fs): Fix potential NULL pointer
-       dereference.
+       mips: Enable __clzsi2()
+       This patch is similiar to commit e795b9011 (RISC-V: Add libgcc helpers
+       for clz) but for MIPS target.
 
-       * commands/search.c (search_fs): Replace QUID macro with quid_fn
-       function pointer.
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-2009-07-06  Daniel Mierswa  <impulze@impulze.org>
+2019-03-20  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
-       comparison.
+       verifiers: MIPS fallout cleanup
+       MIPS fallout cleanup after commit 4d4a8c96e (verifiers: Add possibility
+       to verify kernel and modules command lines).
 
-2009-07-05  Pavel Roskin  <proski@gnu.org>
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-       * include/grub/i386/linux.h (struct linux_kernel_params):
-       Restore padding3, it's still needed.
+2019-03-20  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
-       FreeBSD.
-       * util/osdetect.lua: Likewise.
+       verifiers: PowerPC fallout cleanup
+       PowerPC fallout cleanup after commit 4d4a8c96e (verifiers: Add possibility
+       to verify kernel and modules command lines) and ca0a4f689 (verifiers: File
+       type for fine-grained signature-verification controlling).
 
-2009-07-05  Bean  <bean123ch@gmail.com>
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-       * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
+2019-03-20  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
-       (grub_lua_getenv): Likewise.
-       (grub_lua_setenv): Likewise.
-       (save_errno): New function.
-       (push_result): Likewise.
-       (grub_lua_enum_device): Likewise.
-       (grub_lua_enum_file): Likewise.
-       (grub_lua_file_open): Likewise.
-       (grub_lua_file_close): Likewise.
-       (grub_lua_file_seek): Likewise.
-       (grub_lua_file_read): Likewise.
-       (grub_lua_file_getline): Likewise.
-       (grub_lua_file_getsize): Likewise.
-       (grub_lua_file_getpos): Likewise.
-       (grub_lua_file_eof): Likewise.
-       (grub_lua_file_exist): Likewise.
-       (grub_lua_add_menu): Likewise.
+       verifiers: IA-64 fallout cleanup
+       IA-64 fallout cleanup after commit 4d4a8c96e (verifiers: Add possibility
+       to verify kernel and modules command lines).
 
-       * script/lua/grub_lua.h (isupper): New inline function.
-       (islower): Likewise.
-       (ispunct): Likewise.
-       (isxdigit): Likewise.
-       (strcspn): Change to normal function.
-       (strpbkr): New function declaration.
-       (memchr): Likewise.
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-       * script/lua/grub_main.c (scan_str): New function.
-       (strcspn): Likewise.
-       (strpbrk): Likewise.
-       (memchr): Likewise.
+2019-03-20  Colin Watson  <cjwatson@ubuntu.com>
 
-       * script/lua/linit.c (lualibs): Enable the string library.
+       posix_wrap: Flesh out posix_wrap/limits.h a little more
+       In addition to what was already there, Gnulib's <intprops.h> needs SCHAR_MIN,
+       SCHAR_MAX, SHRT_MIN, INT_MIN, LONG_MIN, and LONG_MAX. Fixes build on CentOS 7.
 
-       * util/osdetect.lua: New file.
+       Reported-by: "Chen, Farrah" <farrah.chen@intel.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-07-04  Robert Millan  <rmh.grub@aybabtu.com>
+2019-03-19  Marek Marczykowski-Górecki  <marmarek@invisiblethingslab.com>
 
-       * include/grub/i386/linux.h (struct linux_kernel_params): Add
-       `capabilities' member.
+       xen: Look for Xen notes in section headers too
+       Mirror behaviour of ELF loader in libxc: first look for Xen notes in
+       PT_NOTE segment, then in SHT_NOTE section and only then fallback to
+       a section with __xen_guest name. This fixes loading PV kernels that
+       Xen note have outside of PT_NOTE. While this may be result of a buggy
+       linker script, loading such kernel directly works fine, so make it work
+       with GRUB too. Specifically, this applies to binaries built from Unikraft.
 
-2009-07-02  Pavel Roskin  <proski@gnu.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * genparttoollist.sh: Add missing newline at the end.
+2019-03-19  Colin Watson  <cjwatson@ubuntu.com>
 
-2009-07-01  Pavel Roskin  <proski@gnu.org>
+       getroot: Save/restore CWD more reliably on Unix
+       Various GRUB utilities fail if the current directory doesn't exist,
+       because grub_find_device() chdirs to a different directory and then
+       fails when trying to chdir back.  Gnulib's save-cwd module uses fchdir()
+       instead when it can, avoiding this category of problem.
 
-       * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
+       Fixes Debian bug #918700.
 
-       * util/hostdisk.c (open_device): Remove `const' from
-       `sysctl_size', as sysctlbyname() can change it (in this case it
-       doesn't actually happen).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
-       using signed long int constants.
+2019-03-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
-       constant to avoid a warning on FreeBSD.
+       net/dhcp: Add explicit net_dhcp command
+       Mostly for cosmetic reasons, we add a "net_dhcp" command, which is (at the
+       moment) identical to the existing "net_bootp" command. Both actually trigger
+       a DHCP handshake now, and both should be able to deal with pure BOOTP servers.
+       We could think about dropping the DHCP options from the initial DISCOVER packet
+       when the user issues the net_bootp command, but it's unclear whether this is
+       really useful, as both protocols should be able to coexist.
 
-       * util/hostdisk.c (device_is_wholedisk): Compile only on systems
-       where it's needed.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * Makefile.in: Install include/grub/machine symlink.
+2019-03-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * Makefile.in: When installing symlinks, use "cp -fR", which
-       works on FreeBSD and MacOSX.
-       From Yves Blusseau <cl7m42e02@sneakemail.com>
+       net/dhcp: Actually send out DHCPv4 DISCOVER and REQUEST messages
+       Even though we were parsing some DHCP options sent by the server, so far
+       we are only using the BOOTP 2-way handshake, even when talking to a DHCP
+       server.
 
-       * kern/dl.c (grub_dl_resolve_symbol): Make static.
-       * include/grub/dl.h: Remove grub_dl_resolve_symbol().
+       Change this by actually sending out DHCP DISCOVER packets instead of the
+       generic (mostly empty) BOOTP BOOTREQUEST packets.
 
-       * util/misc.c: Move grub_reboot() and grub_halt() ...
-       * util/grub-emu.c: ... here.  Make main_env static.
-       * include/grub/util/misc.h: Remove main_env.
+       A pure BOOTP server would ignore the extra DHCP options in the DISCOVER
+       packet and would just reply with a BOOTREPLY packet, which we also
+       handle in the code.
 
-       * kern/mm.c: Use correct format to print size_t.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
-       * kern/i386/dl.c: Use ELF symbols without "32" or "64".
-       * kern/powerpc/dl.c: Likewise.
-       * kern/sparc64/dl.c: Likewise.
-       * kern/x86_64/dl.c: Likewise.
+2019-03-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2009-07-01  Robert Millan  <rmh.grub@aybabtu.com>
+       net/dhcp: Allow receiving DHCP OFFER and ACK packets
+       In respone to a BOOTREQUEST packet a BOOTP server would answer with a BOOTREPLY
+       packet, which ends the conversation for good. DHCP uses a 4-way handshake,
+       where the initial server respone is an OFFER, which has to be answered with
+       REQUEST by the client again, only to be completed by an ACKNOWLEDGE packet
+       from the server.
 
-       Fix grub-emu build on sparc64-ieee1275.
+       Teach the grub_net_process_dhcp() function to deal with OFFER packets,
+       and treat ACK packets the same es BOOTREPLY packets.
 
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-07-01  Robert Millan  <rmh.grub@aybabtu.com>
+2019-03-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
-       (grub_reboot, grub_halt): New functions.
+       net/dhcp: Use DHCP options for name and bootfile
+       The BOOTP RFC describes the boot file name and the server name as being part
+       of the integral BOOTP data structure, with some limits on the size of them.
+       DHCP extends this by allowing them to be separate DHCP options, which is more
+       flexible.
 
-       * util/i386/pc/misc.c: Delete.  Update all users.
-       * util/sparc64/ieee1275/misc.c: Likewise.
-       * util/powerpc/ieee1275/misc.c: Likewise.
+       Teach the code dealing with those fields to check for those DHCP options first
+       and use this information, if provided. We fall back to using the BOOTP
+       information if those options are not used.
 
-2009-07-01  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/i386.rmk (setjmp_mod_SOURCES)
-       (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
-       * conf/common.rmk (setjmp_mod_SOURCES)
-       (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
-       to use $(target_cpu).
-       * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
-       (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
+2019-03-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * conf/i386-pc.rmk (kernel_img_SOURCES): Use
-       $(target_cpu) for kern/$(target_cpu)/dl.c.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-       * conf/i386-coreboot.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
-       $(target_cpu) for kern/$(target_cpu)/dl.c and for
-       kern/$(target_cpu)/cache.S.
-       * conf/sparc64-ieee1275.rmk: Likewise.
+       net/dhcp: Introduce per-interface timeout
+       Currently we have a global timeout for all network cards in the BOOTP/DHCP
+       discovery process.
 
-2009-07-01  Robert Millan  <rmh.grub@aybabtu.com>
+       Make this timeout a per-interface one, so better accommodate the upcoming
+       4-way DHCP handshake and to also cover the lease time limit a DHCP offer
+       will come with.
 
-       * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
-       type to `grub_uint8_t', and adjust `padding9' accordingly.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-06-29  Robert Millan  <rmh.grub@aybabtu.com>
+2019-03-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
+       net/dhcp: Make grub_net_process_dhcp() take an interface
+       Change the interface of the function dealing with incoming BOOTP packets
+       to take an interface instead of a card, to allow more fine per-interface
+       state (timeout, handshake state) later on.
 
-       * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
-       assembly in final jump, using register constraints.
+       Use the opportunity to clean up the code a bit.
 
-       (grub_linux_boot): For text mode, initialize `have_vga' using
-       GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
-       right before the final jump.
+2019-03-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       Set `video_mode' to 0x3.
+       net/dhcp: Refactor DHCP packet transmission into separate function
+       In contrast to BOOTP, DHCP uses a 4-way handshake, so requires to send
+       packets more often.
 
-       Document initialization of `video_page', `video_mode' and
-       `video_ega_bx'.
+       Refactor the generation and sending of the BOOTREQUEST packet into
+       a separate function, so that future code can more easily reuse this.
 
-2009-06-29  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
-       * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
-       and set GRUB_LINUX_FLAG_QUIET appropriately.
+2019-03-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2009-06-29  Robert Millan  <rmh.grub@aybabtu.com>
+       net/dhcp: Allow overloading legacy bootfile and name field
+       DHCP specifies a special dummy option OVERLOAD, to allow DHCP options to
+       spill over into the (legacy) BOOTFILE and SNAME fields.
 
-       Fix build on Debian / sparc.
+       Parse and handle this option properly.
 
-       * configure.ac: Recognize `sparc' target_cpu (as sparc64).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-06-28  Pavel Roskin  <proski@gnu.org>
+2019-03-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
-       fix a warning.
+       net/dhcp: Replace parse_dhcp_vendor() with find_dhcp_option()
+       For proper DHCP support we will need to parse DHCP options from a packet
+       more often and at various places.
 
-       * util/grub.d/10_linux.in: Match SUSE style initrd names.
+       Refactor the option parsing into a new function, which will scan a packet to
+       find *a particular* option field. Use that new function in places where we
+       were dealing with DHCP options before.
 
-2009-06-27  Robert Millan  <rmh.grub@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
-       `err'.
+2019-03-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2009-06-27  Robert Millan  <rmh.grub@aybabtu.com>
+       net/dhcp: Remove dead code
+       The comment is right, the "giaddr" fields holds the IP address of the BOOTP
+       relay, not a general purpose router address. Just remove the commented code,
+       archeologists can find it in the git history.
 
-       Revert r2338.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
-       file can't be opened.  grub_file_open() is already supposed to set
-       grub_errno / grub_errmsg appropriately.
-       * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
+2019-03-12  Jesús Diéguez Fernández  <jesusdf@gmail.com>
 
-2009-06-27  Pavel Roskin  <proski@gnu.org>
-2009-06-27  Robert Millan  <rmh.grub@aybabtu.com>
+       msr: Add new MSR modules (rdmsr/wrmsr)
+       In order to be able to read from and write to model-specific registers,
+       two new modules are added. They are i386 specific, as the cpuid module.
 
-       * include/grub/dl.h: Include grub/elf.h.
-       (struct grub_dl): Add symtab field.
-       * kern/dl.c [GRUB_MACHINE_QEMU]: Define
-       GRUB_MODULES_MACHINE_READONLY.
-       (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
-       of the header for read-only modules.
-       (grub_dl_unload): Free mod->symtab for read-only modules.
-       * kern/i386/dl.c: Use mod->symtab.
-       * kern/powerpc/dl.c: Likewise.
-       * kern/sparc64/dl.c: Likewise.
-       * kern/x86_64/dl.c: Likewise.
+       rdmsr module registers the command rdmsr that allows reading from a MSR.
+       wrmsr module registers the command wrmsr that allows writing to a MSR.
 
-       * conf/i386-qemu.rmk: New file.
-       * kern/i386/qemu/startup.S: Likewise.
-       * kern/i386/qemu/mmap.c: Likewise.
-       * boot/i386/qemu/boot.S: Likewise.
-       * include/grub/i386/qemu/time.h: Likewise.
-       * include/grub/i386/qemu/serial.h: Likewise.
-       * include/grub/i386/qemu/kernel.h: Likewise.
-       * include/grub/i386/qemu/console.h: Likewise.
-       * include/grub/i386/qemu/boot.h: Likewise.
-       * include/grub/i386/qemu/init.h: Likewise.
-       * include/grub/i386/qemu/machine.h: Likewise.
-       * include/grub/i386/qemu/loader.h: Likewise.
-       * include/grub/i386/qemu/memory.h: Likewise.
-
-       * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
-       (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
-       [qemu] (pkglib_IMAGES): Add `boot.img'.
-       [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
-       [qemu] (boot_img_FORMAT): New variables.
-       [qemu] (bin_UTILITIES): Add `grub-mkimage'.
-       [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
-       [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
-       [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
-       [qemu] (kernel_img_FORMAT): New variables.
+       wrmsr module is disabled if UEFI secure boot is enabled.
 
-       * configure.ac: Recognise `i386-qemu'.
+       Please note that on SMP systems, interacting with a MSR that has a scope
+       per hardware thread, implies that the value only applies to the
+       particular cpu/core/thread that ran the command.
 
-       * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
-       (for no compression).
-       [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
-       a valid i386 ROM image.  Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
-       `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
-       `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
-       ifdefs).
+       Also, if you specify a reserved or unimplemented MSR address, it will
+       cause a general protection exception (which is not currently being
+       handled) and the system will reboot.
 
-2009-06-27  Pavel Roskin  <proski@gnu.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
-       read.
-       * efiemu/prepare32.c: Likewise.
-       * efiemu/prepare64.c: Likewise.
+2019-03-12  Jesús Diéguez Fernández  <jesusdf@gmail.com>
 
-2009-06-26  Pavel Roskin  <proski@gnu.org>
+       asm: Replace "__asm__ __volatile__" with "asm volatile"
+       In order to maintain the coding style consistency, it was requested to
+       replace the methods that use "__asm__ __volatile__" with "asm volatile".
 
-       * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
-       * include/grub/elf.h: Define symbols without "32" or "64" based
-       on GRUB_TARGET_WORDSIZE.
-       * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
-       * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
-       ELF definitions.
-       * efiemu/loadcore64.c: Likewise.
-       * loader/i386/bsd32.c: Likewise.
-       * loader/i386/bsd64.c: Likewise.
-       * kern/dl.c: Remove own ELF definitions.
-       * util/i386/efi/grub-mkimage.c: Likewise.
-
-2009-06-23  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
-       segment 0x0 unconditionally, because the reference generated by
-       GAS is an absolute address.
-
-2009-06-22  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
-       [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
-
-2009-06-22  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
-       indexes.  Check for -f explicitly.
-       (search_file): Improve error message.
-       (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
-
-2009-06-22  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
-       (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this.  Update all users.
-
-2009-06-22  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-coreboot.rmk: Likewise.
-
-       * kern/i386/pc/startup.S (grub_stop): Remove function.
-       * kern/i386/ieee1275/startup.S: Likewise.
-       * kern/i386/coreboot/startup.S: Likewise.
-       * kern/i386/misc.S (grub_stop): New function.
-
-2009-06-22  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * kern/i386/pc/startup.S (real_to_prot): Move from here ...
-       * kern/i386/realmode.S (real_to_prot): ... to here.
-
-2009-06-22  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
-       with `kernel.img'.
-       (kernel_elf_SOURCES): Rename to ...
-       (kernel_img_SOURCES): ... this.
-       (kernel_elf_HEADERS): Rename to ...
-       (kernel_img_HEADERS): ... this.  Update all users.
-       (kernel_elf_ASFLAGS): Rename to ...
-       (kernel_img_ASFLAGS): ... this.
-       (kernel_elf_CFLAGS): Rename to ...
-       (kernel_img_CFLAGS): ... this.
-       (kernel_elf_LDFLAGS): Rename to ...
-       (kernel_img_LDFLAGS): ... this.
-       * conf/i386-coreboot.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-
-       * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
-       with "kernel.img".
-
-2009-06-21  Pavel Roskin  <proski@gnu.org>
-
-       * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
-       to match nested functions.
-       * loader/sparc64/ieee1275/linux.c: Likewise.
-
-       * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
-
-2009-06-21  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
-       all i386 platforms.
-
-2009-06-21  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Fix asm file handling on ELF, and remove workarounds.
-
-       * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
-       and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
-       * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
-       * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
-
-2009-06-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Load BSD ELF modules
-
-       * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
-       and loader/i386/bsd64.c
-       * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
-       (FREEBSD_MODTYPE_ELF_MODULE): New definition
-       (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
-       (grub_freebsd_load_elfmodule32): New declaration
-       (grub_freebsd_load_elfmoduleobj64): Likewise
-       (grub_freebsd_load_elf_meta32): Likewise
-       (grub_freebsd_load_elf_meta64): Likewise
-       (grub_freebsd_add_meta): Likewise
-       (grub_freebsd_add_meta_module): Likewise
-       * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
-       (grub_freebsd_add_meta_module): Likewise and move module-specific
-       parts to grub_cmd_freebsd and grub_cmd_freebsd_module
-       (grub_cmd_freebsd): Add elf-kernel specific parts
-       based on grub_freebsd_add_meta_module
-       (grub_cmd_freebsd_module): Add type parsing moved from
-       grub_freebsd_add_meta_module
-       (grub_cmd_freebsd_module_elf): New function
-       (cmd_freebsd_module_elf): New variable
-       (GRUB_MOD_INIT): Register freebsd_module_elf
-       * loader/i386/bsd32.c: New file
-       * loader/i386/bsd64.c: Likewise
-       * loader/i386/bsdXX.c: Likewise
-       * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
-       (grub_elf64_load): Likewise
-       * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
-       All users updated
-       (grub_elf64_load_hook_t): Likewise
-
-2009-06-21  Colin Watson  <cjwatson@ubuntu.com>
-
-       * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
-       variable.
-       * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
-       don't write a menu entry for recovery mode.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-06-20  Robert Millan  <rmh.grub@aybabtu.com>
+2019-03-12  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
-       after it's no longer needed.
+       sparc64: Add bios boot partition support
+       Add BIOS Boot Partition support for sparc64 platforms.  This will work a
+       little different than x86.  With GPT, both the OBP "load" and "boot" commands
+       are partition aware and neither command can see the partition table.  Therefore
+       the entire boot-loader is stored within the BIOS Boot Partition and nothing
+       is stored within the bootstrap code area of MBR.
 
-2009-06-20  Robert Millan  <rmh.grub@aybabtu.com>
+       To use it, the end user will issue the boot command with the path pointing to
+       the BIOS Boot Partition.
 
-       * include/grub/i386/loader.h (grub_linux_prot_size)
-       (grub_linux_tmp_addr, grub_linux_real_addr)
-       (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
-       GRUB_MACHINE_PCBIOS.
-       * util/i386/pc/grub-mkimage.c (compress_kernel): Move
-       common grub_util_info() call to ...
-       (generate_image): ... here.
-       Fix use of uninitialized memory, comparison of signed with
-       unsigned integers and memory leak.
-       Remove bogus module address message.
+       For example with the disk below:
 
-2009-06-20  Vladimir Serbinenko  <phcoder@gmail.com>
+       Model: Unknown (unknown)
+       Disk /dev/nvme1n1: 1600GB
+       Sector size (logical/physical): 512B/512B
+       Partition Table: gpt
 
-       * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
-       grub_raid_register
-       * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
+       Number  Start   End     Size    File system  Name  Flags
+       1      1049kB  1075MB  1074MB   ext3
+       2      1075MB  1076MB  1049kB                     bios_grub
+       3      1076MB  1600GB  1599GB                     lvm
 
-2009-06-19  Pavel Roskin  <proski@gnu.org>
+       To boot grub2 from OBP, you would use:
 
-       * configure.ac: Remove stray AC_MSG_CHECKING.
+       boot /pci@302/pci@1/pci@0/pci@13/nvme@0/disk@1:b
 
-2009-06-19  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * disk/scsi.c (grub_scsi_open): use continue instead of big if
+2019-03-12  Eric Snowberg  <eric.snowberg@oracle.com>
 
-2009-06-18  Pavel Roskin  <proski@gnu.org>
+       ieee1275: obdisk driver
+       Add a new disk driver called obdisk for IEEE1275 platforms.  Currently
+       the only platform using this disk driver is SPARC, however other IEEE1275
+       platforms could start using it if they so choose.  While the functionality
+       within the current IEEE1275 ofdisk driver may be suitable for PPC and x86, it
+       presented too many problems on SPARC hardware.
 
-       * conf/common.rmk: Add fs_file.mod.
-       * disk/fs_file.c: New file.
-       * include/grub/disk.h (enum grub_disk_dev_id): Add
-       GRUB_DISK_DEVICE_FILE_ID.
+       Within the old ofdisk, there is not a way to determine the true canonical
+       name for the disk.  Within Open Boot, the same disk can have multiple names
+       but all reference the same disk.  For example the same disk can be referenced
+       by its SAS WWN, using this form:
 
-2009-06-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       /pci@302/pci@2/pci@0/pci@17/LSI,sas@0/disk@w5000cca02f037d6d,0
 
-       Fix build with Apple's toolchain. Part 2
+       It can also be referenced by its PHY identifier using this form:
 
-       * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
-       a fake start
+       /pci@302/pci@2/pci@0/pci@17/LSI,sas@0/disk@p0
 
-2009-06-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       It can also be referenced by its Target identifier using this form:
 
-       Fix build with Apple's toolchain. Part 1
+       /pci@302/pci@2/pci@0/pci@17/LSI,sas@0/disk@0
 
-       * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
-       for long calls
-       * configure.ac: remove a leftover AC_MSG_RESULT
-       (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
-       Apple's toolchain
+       Also, when the LUN=0, it is legal to omit the ,0 from the device name.  So with
+       the disk above, before taking into account the device aliases, there are 6 ways
+       to reference the same disk.
 
-2009-06-18  Vladimir Serbinenko  <phcoder@gmail.com>
+       Then it is possible to have 0 .. n device aliases all representing the same disk.
+       Within this new driver the true canonical name is determined using the the
+       IEEE1275 encode-unit and decode-unit commands when address_cells == 4.  This
+       will determine the true single canonical name for the device so multiple ihandles
+       are not opened for the same device.  This is what frequently happens with the old
+       ofdisk driver.  With some devices when they are opened multiple times it causes
+       the entire system to hang.
 
-       Fix warnings
+       Another problem solved with this driver is devices that do not have a device
+       alias can be booted and used within GRUB. Within the old ofdisk, this was not
+       possible, unless it was the original boot device.  All devices behind a SAS
+       or SCSI parent can be found.   Within the old ofdisk, finding these disks
+       relied on there being an alias defined.  The alias requirement is not
+       necessary with this new driver.  It can also find devices behind a parent
+       after they have been hot-plugged.  This is something that is not possible
+       with the old ofdisk driver.
 
-       * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
-       (decomp_block): initialize ch
-       use grub_memcpy instead of memcpy
+       The old ofdisk driver also incorrectly assumes that the device pointing to by a
+       device alias is in its true canonical form. This assumption is never made with
+       this new driver.
 
-2009-06-17  Pavel Roskin  <proski@gnu.org>
+       Another issue solved with this driver is that it properly caches the ihandle
+       for all open devices.  The old ofdisk tries to do this by caching the last
+       opened ihandle.  However this does not work properly because the layer above
+       does not use a consistent device name for the same disk when calling into the
+       driver.  This is because the upper layer uses the bootpath value returned within
+       /chosen, other times it uses the device alias, and other times it uses the
+       value within grub.cfg.  It does not have a way to figure out that these devices
+       are the same disk.  This is not a problem with this new driver.
 
-       * include/grub/i386/coreboot/console.h: Don't use the i386-pc
-       version, use declarations needed to use vga_text as the startup
-       console.
+       Due to the way GRUB repeatedly opens and closes the same disk. Caching the
+       ihandle is important on SPARC.  Without caching, some SAS devices can take
+       15 - 20 minutes to get to the GRUB menu. This ihandle caching is not possible
+       without correctly having the canonical disk name.
 
-       * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
-       term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
-       the kernel.
-       * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
-       and grub_at_keyboard_fini(), it's done on module load and
-       unload.
+       When available, this driver also tries to use the deblocker #blocks and
+       a way of determining the disk size.
 
-2009-06-17  Felix Zielcke  <fzielcke@z-51.de>
+       Finally and probably most importantly, this new driver is also capable of
+       seeing all partitions on a GPT disk.  With the old driver, the GPT
+       partition table can not be read and only the first partition on the disk
+       can be seen.
 
-       * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
-       file can't be found.
-       * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-06-17  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-03-12  Paul Menzel  <pmenzel@molgen.mpg.de>
 
-       Fix newline handling
+       Makefile: Allow to set file systems modules for default_payload.elf
+       By default all file system modules are added to the GRUB coreboot
+       payload `default_payload.elf`. This makes the image quite big,
+       especially as often not all modules are needed.
 
-       * include/grub/script_sh.h (grub_lexer_param): new field was_newline
-       * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
-       (grub_script_yylex): don't segfault on unterminated script
-       newline terminates command and variable
+       Introduce the variable `FS_PAYLOAD_MODULES`, which can be used to
+       explicitly set file systems modules to be added.
 
-2009-06-17  Vladimir Serbinenko  <phcoder@gmail.com>
+           $ make default_payload.elf
+           test -f default_payload.elf && rm default_payload.elf || true
+           pkgdatadir=. ./grub-mkstandalone --grub-mkimage=./grub-mkimage -O i386-coreboot -o default_payload.elf --modules='ahci pata ehci uhci ohci usb_keyboard usbms part_msdos ext2 fat at_keyboard part_gpt usbserial_usbdebug cbfs' --install-modules='ls linux search configfile normal cbtime cbls memrw iorw minicmd lsmmap lspci halt reboot hexdump pcidump regexp setpci lsacpi chain test serial multiboot cbmemc linux16 gzio echo help syslinuxcfg xnu affs afs bfs btrfs cbfs cpio cpio_be exfat ext2 f2fs fat hfs hfsplus iso9660 jfs minix minix2 minix2_be minix3 minix3_be minix_be newc nilfs2 ntfs odc procfs reiserfs romfs sfs squash4 tar udf ufs1 ufs1_be ufs2 xfs zfs password_pbkdf2 ' --fonts= --themes= --locales= -d grub-core/ /boot/grub/grub.cfg=./coreboot.cfg
+           $ ls -l default_payload.elf
+           -rw-rw---- 1 joey joey 1199568 Mar  6 13:58 default_payload.elf
 
-       avoid double grub_adjust_range call. Bug reported by David Simner
+           $ make default_payload.elf FS_PAYLOAD_MODULES="" # ext2 already in `--modules`
+           test -f default_payload.elf && rm default_payload.elf || true
+           pkgdatadir=. ./grub-mkstandalone --grub-mkimage=./grub-mkimage -O i386-coreboot -o default_payload.elf --modules='ahci pata ehci uhci ohci usb_keyboard usbms part_msdos ext2 fat at_keyboard part_gpt usbserial_usbdebug cbfs' --install-modules='ls linux search configfile normal cbtime cbls memrw iorw minicmd lsmmap lspci halt reboot hexdump pcidump regexp setpci lsacpi chain test serial multiboot cbmemc linux16 gzio echo help syslinuxcfg xnu  password_pbkdf2 ' --fonts= --themes= --locales= -d grub-core/ /boot/grub/grub.cfg=./coreboot.cfg
+           $ ls -l default_payload.elf
+           -rw-rw---- 1 joey joey 832976 Mar  7 12:13 default_payload.elf
 
-       * kern/disk.c (grub_disk_write): change to raw disk access before
-       calling disk_read
+       So, the resulting payload size is around 370 kB smaller. (Adding it to
+       the CBFS, it will be compressed, so the effective size difference will
+       be smaller.)
 
-2009-06-17  Colin Watson  <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/elf/grub-mkimage.c (usage): Prefix each option line with two
-       spaces, for the benefit of help2man.
-       * util/i386/efi/grub-mkimage.c (usage): Likewise.
+2019-03-07  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2009-06-16  Pavel Roskin  <proski@gnu.org>
+       windows/platform.c: Fix compilation errors
 
-       * kern/i386/halt.c: Include grub/machine/init.h.
-       * kern/i386/reboot.c: Include grub/cpu/reboot.h.
+2019-03-05  Colin Watson  <cjwatson@ubuntu.com>
 
-2009-06-16  Felix Zielcke  <fzielcke@z-51.de>
+       gnulib: Upgrade Gnulib and switch to bootstrap tool
+       Upgrade Gnulib files to 20190105.
 
-       * util/grub.d/30_os-prober.in: Use ${root} in the generated
-       drivemap menuentry.
+       It's much easier to maintain GRUB's use of portability support files
+       from Gnulib when the process is automatic and driven by a single
+       configuration file, rather than by maintainers occasionally running
+       gnulib-tool and committing the result.  Removing these
+       automatically-copied files from revision control also removes the
+       temptation to hack the output in ways that are difficult for future
+       maintainers to follow.  Gnulib includes a "bootstrap" program which is
+       designed for this.
 
-2009-06-16  James Jarvis  <James.Jarvis@ed.ac.uk>
+       The canonical way to bootstrap GRUB from revision control is now
+       "./bootstrap", but "./autogen.sh" is still useful if you just want to
+       generate the GRUB-specific parts of the build system.
 
-       * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
-       `echo' command.
+       GRUB now requires Autoconf >= 2.63 and Automake >= 1.11, in line with
+       Gnulib.
 
-2009-06-16  Pavel Roskin  <proski@gnu.org>
+       Gnulib source code is now placed in grub-core/lib/gnulib/ (which should
+       not be edited directly), and GRUB's patches are in
+       grub-core/lib/gnulib-patches/.  I've added a few notes to the developer
+       manual on how to maintain this.
 
-       * boot/i386/pc/boot.S: Remove root_drive.  Assert offset of
-       boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK.  Don't
-       save %dx, we only need %dl and we never change it.
-       * boot/i386/pc/cdboot.S: Don't set the root drive.
-       * boot/i386/pc/pxeboot.S: Likewise.
-       * include/grub/i386/pc/boot.h: Remove
-       GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
-       GRUB_BOOT_MACHINE_DRIVE_CHECK.
-       * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
-       * kern/i386/pc/init.c (make_install_device): Remove references
-       to grub_root_drive.
-       * kern/i386/pc/startup.S: Likewise.
-       * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-06-16  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-03-05  Colin Watson  <cjwatson@ubuntu.com>
 
-       xnu_uuid command
+       syslinux: Fix syslinux_test in out-of-tree builds
+       syslinux_parse simplifies some filenames by removing things like ".."
+       segments, but the tests assumed that @abs_top_srcdir@ would be
+       untouched, which is not true in the case of out-of-tree builds where
+       @abs_top_srcdir@ may contain ".." segments.
 
-       * commands/xnu_uuid.c: new file
-       * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
-       (xnu_uuid_mod_SOURCES): new variable
-       (xnu_uuid_mod_CFLAGS): likewise
-       (xnu_uuid_mod_LDFLAGS): likewise
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
-       * conf/i386-ieee1275.rmk: likewise
-       * conf/i386-pc.rmk: likewise
-       * conf/powerpc-ieee1275.rmk: likewise
-       * conf/sparc64-ieee1275.rmk: likewise
-       * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
+       Performing the substitution requires some awkwardness in Makefile.am due
+       to details of how config.status works.
 
-2009-06-16  Pavel Roskin  <proski@gnu.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Avoid '==' in test command, it's not portable.
+2019-03-05  Colin Watson  <cjwatson@ubuntu.com>
 
-2009-06-16  Vladimir Serbinenko  <phcoder@gmail.com>
+       util: Detect more I/O errors
+       Many of GRUB's utilities don't check anywhere near all the possible
+       write errors.  For example, if grub-install runs out of space when
+       copying a file, it won't notice.  There were missing checks for the
+       return values of write, fflush, fsync, and close (or the equivalents on
+       other OSes), all of which must be checked.
 
-       Probe command
+       I tried to be consistent with the existing logging practices of the
+       various hostdisk implementations, but they weren't entirely consistent
+       to start with so I used my judgement.  The result at least looks
+       reasonable on GNU/Linux when I provoke a write error:
 
-       * commands/probe.c: new file
-       * conf/common.rmk (pkglib_MODULES): add probe.mod
-       (probe_mod_SOURCES): new variable
-       (probe_mod_CFLAGS): likewise
-       (probe_mod_LDFLAGS): likewise
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
-       * conf/i386-ieee1275.rmk: likewise
-       * conf/i386-pc.rmk: likewise
-       * conf/powerpc-ieee1275.rmk: likewise
-       * conf/sparc64-ieee1275.rmk: likewise
+         Installing for x86_64-efi platform.
+         grub-install: error: cannot copy `/usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed' to `/boot/efi/EFI/debian/grubx64.efi': No space left on device.
 
-2009-06-15  Vladimir Serbinenko  <phcoder@gmail.com>
+       There are more missing checks in other utilities, but this should fix
+       the most critical ones.
 
-       Fix handling of string like \"hello\" and "a
-       b"
+       Fixes Debian bug #922741.
 
-       * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
-       (grub_script_yylex): fix parsing of quoting, escaping and newline
+       Reviewed-by: Steve McIntyre <93sam@debian.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-06-13  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-03-05  James Clarke  <jrtc27@jrtc27.com>
 
-       * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
-       handling
+       osdep/freebsd: Fix partition calculation for EBR entries
+       For EBR partitions, "start" is the relative starting sector of the EBR
+       header itself, whereas "offset" is the relative starting byte of the
+       partition's contents, excluding the EBR header and any padding. Thus we
+       must use "offset", and divide by the sector size to convert to sectors.
 
-2009-06-13  Jun Inoue  <jun.lambda@gmail.com>
+       Fixes Debian bug #923253.
 
-       * util/grub-mkconfig.in: Fix parsing of --output option.
+       Reviewed-by: Colin Watson <cjwatson@ubuntu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-06-12  Pavel Roskin  <proski@gnu.org>
+2019-02-26  Steve McIntyre  <93sam@debian.org>
 
-       * Makefile.in (pkgdata_SRCDIR): Remove.  genmodsrc.sh and
-       genmk.rb don't need to be generated or installed.
+       grub-install: Check for arm-efi as a default target
+       Much like on x86, we can work out if the system is running on top of EFI
+       firmware. If so, return "arm-efi". If not, fall back to "arm-uboot" as
+       previously.
 
-2009-06-12  Vladimir Serbinenko  <phcoder@gmail.com>
+       Split out the code to (maybe) load the efivar module and check for
+       /sys/firmware/efi into a common helper routine is_efi_system().
 
-       * commands/i386/pc/drivemap_int13h.S: add more comments
+       Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-06-11  Pavel Roskin  <proski@gnu.org>
+2019-02-26  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * Makefile.in (uninstall): Uninstall manuals.
+       Revert "grub-install: Check for arm-efi as a default target"
+       This reverts commit 082fd84d525f8d6602f892160b77c0a948308a78.
 
-       * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
-       PKGLIB to SCRIPTS.  This fixes installation of grub-mkconfig_lib
-       and update-grub_lib in two places.
-       * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
+       Incorrect version of the patch was pushed into the git repo.
 
-       * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
-       a compiler warning.
+       Reported-by: Leif Lindholm <leif.lindholm@linaro.org>
 
-       * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
-       `entry_lo' to fix variable shadowing.
+2019-02-25  Alexander Graf  <agraf@suse.de>
 
-2009-06-11  Christian Franke  <franke@computer.org>
+       travis: Add Travis CI config file
+       There is a really convenient service for open source project from Travis
+       CI: They allow for free CI testing using their infrastructure.
 
-       * kern/misc.c (__enable_execute_stack): Add missing return type
-       to prevent gcc warning.
+       GRUB has had issues with broken builds for various targets for a long time
+       already. The main reason is a lack of CI to just do smoke tests on whether
+       all targets still at least compile.
 
-2009-06-11  Felix Zielcke  <fzielcke@z-51.de>
+       This patch adds a Travis config file which builds (almost) all currently
+       available targets.
 
-       * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
+       On top of that, this Travis config also runs a small execution test on the
+       x86_64-efi target.
 
-2009-06-11  Pavel Roskin  <proski@gnu.org>
+       All of this config file can easily be extended further on. It probably
+       makes sense to do something similar to the u-boot test infrastructure
+       that communicates with the payload properly. Going forward, we also will
+       want to do more QEMU runtime checks for other targets.
 
-       * Makefile.in: Don't rely on any scripts being executable.
-       Always use $(SHELL) to run shell scripts.
+       Currently, with this config alone, I already see about half of the available
+       targets as broken. So it's definitely desperately needed :).
 
-       * configure.ac: Always define ___main if using -nostdlib.  This
-       fixes tests on Cygwin.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-06-11  Giuseppe Caizzone  <acaizzo@gmail.com>
+2019-02-25  Steve McIntyre  <93sam@debian.org>
 
-       UDF fix
+       grub-install: Check for arm-efi as a default target
+       Much like on x86, we can work out if the system is running on top
+       of EFI firmware. If so, return "arm-efi". If not, fall back to
+       "arm-uboot" as previously.
 
-       * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
-       is in bytes and not in blocks
+       Heavily inspired by the existing code for x86.
 
-2009-06-11  Pavel Roskin  <proski@gnu.org>
+       Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
-       warning.
+2019-02-25  Leif Lindholm  <leif.lindholm@linaro.org>
 
-2009-06-11  Felix Zielcke  <fzielcke@z-51.de>
+       arm64/efi: Fix grub_efi_get_ram_base()
+       grub_efi_get_ram_base() looks for the lowest available RAM address by
+       traversing the memory map, comparing lowest address found so far.
+       Due to a brain glitch, that "so far" was initialized to GRUB_UINT_MAX -
+       completely preventing boot on systems without RAM below 4GB.
 
-       * util/grub.d/30_os-prober.in: Fix a comment. Source
-       ${libdir}/grub/grub-mkconfig_lib.  Use prepare_grub_to_access_device
-       to set the root device.  Place drivemap command in the generated
-       chain entry.
+       Change the initial value to GRUB_EFI_MAX_USABLE_ADDRESS, as originally
+       intended.
 
-2009-06-11  Pavel Roskin  <proski@gnu.org>
+       Reported-by: Steve McIntyre <93sam@debian.org>
+       Tested-by: Steve McIntyre <93sam@debian.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Remove host_m32.  Issues with 64-bit utilities
-       have long been resolved.
+2019-02-25  Paul Menzel  <pmenzel@molgen.mpg.de>
 
-2009-06-11  Colin Watson  <cjwatson@ubuntu.com>
+       normal/menu: Do not treat error values as key presses
+       Some terminals, like `grub-core/term/at_keyboard.c`, return `-1` in case
+       they are not ready yet.
 
-       * util/grub.d/10_linux.in: Capitalise "Linux".
+             if (! KEYBOARD_ISREADY (grub_inb (KEYBOARD_REG_STATUS)))
+               return -1;
 
-       * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
+       Currently, that is treated as a key press, and the menu time-out is
+       cancelled/cleared. This is unwanted, as the boot is stopped and the user
+       manually has to select a menu entry. Therefore, adapt the condition to
+       require the key value also to be greater than 0.
 
-2009-06-11  Pavel Roskin  <proski@gnu.org>
+       `GRUB_TERM_NO_KEY` is defined as 0, so the condition could be collapsed
+       to greater or equal than (≥) 0, but the compiler will probably do that
+       for us anyway, so keep the cases separate for clarity.
 
-       * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
-       fix a gcc warning and ensure that the function won't ever exit.
+       This is tested with coreboot, the GRUB default payload, and the
+       configuration file `grub.cfg` below.
 
-       * kern/i386/ieee1275/init.c: Add missing prototype for
-       grub_stop_floppy().
+       For GRUB:
 
-       * loader/ieee1275/multiboot2.c [__i386__]: Include
-       grub/cpu/multiboot.h.
+           $ ./autogen.sh
+           $ ./configure --with-platform=coreboot
+           $ make -j`nproc`
+           $ make default_payload.elf
 
-       * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
-       casts to short - they are not portable and cause warnings.  Fix
-       use of uninitialized values in input_buf.  Use ARRAY_SIZE.
-
-2009-06-11  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Drivemap fixes
-
-       * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
-       new function
-       (grub_get_root_biosnumber_saved): new variable
-       (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
-       (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
-       * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
-       %dx after the call if necessary
-       * conf/common.rmk (pkglib_MODULES): remove boot.mod
-       (boot_mod_SOURCES): remove
-       (boot_mod_CFLAGS): remove
-       (boot_mod_LDFLAGS): remove
-       * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
-       (boot_mod_SOURCES): new variable
-       (boot_mod_CFLAGS): likewise
-       (boot_mod_LDFLAGS): likewise
-       * conf/i386-efi.rmk: likewise
-       * conf/i386-ieee1275.rmk: likewise
-       * conf/i386-pc.rmk: likewise
-       * conf/powerpc-ieee1275.rmk: likewise
-       * conf/sparc64-ieee1275.rmk: likewise
-       * conf/x86_64-efi.rmk: likewise
-       * include/grub/i386/pc/biosnum.h: new file
-       * lib/i386/pc/biosnum.c: likewise
-       * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
-       * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
-       * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
-
-2009-06-10  Pavel Roskin  <proski@gnu.org>
-
-       * io/gzio.c (test_header): Don't reuse one buffer for all data.
-       Use separate variables.  Read only the file size at the end, but
-       not the checksum that we don't use.
-
-       * kern/file.c (grub_file_read): Use void pointer for the buffer.
-       Adjust all callers.
-
-       * kern/ieee1275/openfw.c: Remove libc includes.
-       * kern/ieee1275/cmain.c: Likewise.
-       * include/grub/ieee1275/ieee1275.h: Likewise.
-
-       * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
-       compiler warnings.
-
-2009-06-10  Felix Zielcke  <fzielcke@z-51.de>
-
-       * Makefile.in: Remove all trailing whitespace.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * docs/grub.texi: Likewise.
-       * docs/texinfo.tex: Likewise.
-       * disk/fs_uuid.c: Likewise.
-       * disk/lvm.c: Likewise.
-       * disk/scsi.c: Likewise.
-       * disk/ata.c: Likewise.
-       * disk/ieee1275/ofdisk.c: Likewise.
-       * disk/i386/pc/biosdisk.c: Likewise.
-       * disk/host.c: Likewise.
-       * disk/raid.c: Likewise.
-       * disk/efi/efidisk.c: Likewise.
-       * disk/usbms.c: Likewise.
-       * disk/memdisk.c: Likewise.
-       * disk/loopback.c: Likewise.
-       * kern/powerpc/dl.c: Likewise.
-       * kern/device.c: Likewise.
-       * kern/dl.c: Likewise.
-       * kern/sparc64/dl.c: Likewise.
-       * kern/ieee1275/ieee1275.c: Likewise.
-       * kern/term.c: Likewise.
-       * kern/fs.c: Likewise.
-       * kern/i386/dl.c: Likewise.
-       * kern/i386/pc/startup.S: Likewise.
-       * kern/i386/pc/init.c: Likewise.
-       * kern/i386/pc/mmap.c: Likewise.
-       * kern/i386/pc/lzo1x.S: Likewise.
-       * kern/i386/ieee1275/init.c: Likewise.
-       * kern/i386/realmode.S: Likewise.
-       * kern/i386/tsc.c: Likewise.
-       * kern/partition.c: Likewise.
-       * kern/corecmd.c: Likewise.
-       * kern/file.c: Likewise.
-       * kern/efi/efi.c: Likewise.
-       * kern/efi/init.c: Likewise.
-       * kern/efi/mm.c: Likewise.
-       * kern/main.c: Likewise.
-       * kern/err.c: Likewise.
-       * kern/env.c: Likewise.
-       * kern/disk.c: Likewise.
-       * kern/generic/millisleep.c: Likewise.
-       * kern/generic/rtc_get_time_ms.c: Likewise.
-       * kern/misc.c: Likewise.
-       * kern/parser.c: Likewise.
-       * genmk.rb: Likewise.
-       * configure.ac: Likewise.
-       * boot/i386/pc/diskboot.S: Likewise.
-       * boot/i386/pc/pxeboot.S: Likewise.
-       * boot/i386/pc/boot.S: Likewise.
-       * boot/i386/pc/lnxboot.S: Likewise.
-       * boot/i386/pc/cdboot.S: Likewise.
-       * parttool/pcpart.c: Likewise.
-       * video/readers/tga.c: Likewise.
-       * video/video.c: Likewise.
-       * video/bitmap.c: Likewise.
-       * lib/envblk.c: Likewise.
-       * lib/i386/setjmp.S: Likewise.
-       * fs/xfs.c: Likewise.
-       * fs/afs.c: Likewise.
-       * fs/fat.c: Likewise.
-       * fs/ntfs.c: Likewise.
-       * fs/udf.c: Likewise.
-       * fs/affs.c: Likewise.
-       * fs/iso9660.c: Likewise.
-       * fs/hfs.c: Likewise.
-       * fs/fshelp.c: Likewise.
-       * fs/ext2.c: Likewise.
-       * fs/jfs.c: Likewise.
-       * fs/reiserfs.c: Likewise.
-       * fs/hfsplus.c: Likewise.
-       * fs/minix.c: Likewise.
-       * fs/cpio.c: Likewise.
-       * fs/sfs.c: Likewise.
-       * fs/ufs.c: Likewise.
-       * efiemu/prepare.c: Likewise.
-       * efiemu/loadcore_common.c: Likewise.
-       * efiemu/runtime/efiemu.sh: Likewise.
-       * efiemu/runtime/efiemu.S: Likewise.
-       * efiemu/runtime/efiemu.c: Likewise.
-       * efiemu/pnvram.c: Likewise.
-       * efiemu/main.c: Likewise.
-       * efiemu/i386/pc/cfgtables.c: Likewise.
-       * efiemu/i386/loadcore64.c: Likewise.
-       * efiemu/i386/loadcore32.c: Likewise.
-       * efiemu/loadcore.c: Likewise.
-       * efiemu/symbols.c: Likewise.
-       * efiemu/mm.c: Likewise.
-       * include/grub/autoefi.h: Likewise.
-       * include/grub/datetime.h: Likewise.
-       * include/grub/term.h: Likewise.
-       * include/grub/hfs.h: Likewise.
-       * include/grub/lvm.h: Likewise.
-       * include/grub/i386/tsc.h: Likewise.
-       * include/grub/i386/linux.h: Likewise.
-       * include/grub/i386/xnu.h: Likewise.
-       * include/grub/i386/efiemu.h: Likewise.
-       * include/grub/i386/pc/biosdisk.h: Likewise.
-       * include/grub/i386/pc/memory.h: Likewise.
-       * include/grub/i386/pc/vbe.h: Likewise.
-       * include/grub/parttool.h: Likewise.
-       * include/grub/video.h: Likewise.
-       * include/grub/memory.h: Likewise.
-       * include/grub/fs.h: Likewise.
-       * include/grub/partition.h: Likewise.
-       * include/grub/xnu.h: Likewise.
-       * include/grub/efi/api.h: Likewise.
-       * include/grub/efi/pe32.h: Likewise.
-       * include/grub/efi/memory.h: Likewise.
-       * include/grub/multiboot.h: Likewise.
-       * include/grub/usbdesc.h: Likewise.
-       * include/grub/multiboot2.h: Likewise.
-       * include/grub/acpi.h: Likewise.
-       * include/grub/efiemu/efiemu.h: Likewise.
-       * include/grub/disk.h: Likewise.
-       * include/grub/ieee1275/ieee1275.h: Likewise.
-       * include/grub/net.h: Likewise.
-       * include/grub/machoload.h: Likewise.
-       * include/grub/macho.h: Likewise.
-       * include/multiboot.h: Likewise.
-       * genmoddep.awk: Likewise.
-       * normal/main.c: Likewise.
-       * normal/menu_entry.c: Likewise.
-       * normal/menu_viewer.c: Likewise.
-       * normal/completion.c: Likewise.
-       * normal/cmdline.c: Likewise.
-       * normal/misc.c: Likewise.
-       * normal/datetime.c: Likewise.
-       * bus/usb/usbtrans.c: Likewise.
-       * bus/usb/ohci.c: Likewise.
-       * bus/usb/uhci.c: Likewise.
-       * bus/usb/usb.c: Likewise.
-       * mmap/efi/mmap.c: Likewise.
-       * mmap/i386/pc/mmap_helper.S: Likewise.
-       * mmap/i386/pc/mmap.c: Likewise.
-       * mmap/i386/mmap.c: Likewise.
-       * mmap/i386/uppermem.c: Likewise.
-       * mmap/mmap.c: Likewise.
-       * commands/acpi.c: Likewise.
-       * commands/echo.c: Likewise.
-       * commands/blocklist.c: Likewise.
-       * commands/loadenv.c: Likewise.
-       * commands/usbtest.c: Likewise.
-       * commands/boot.c: Likewise.
-       * commands/parttool.c: Likewise.
-       * commands/search.c: Likewise.
-       * commands/cat.c: Likewise.
-       * commands/i386/pc/play.c: Likewise.
-       * commands/i386/pc/drivemap.c: Likewise.
-       * commands/i386/pc/vbeinfo.c: Likewise.
-       * commands/i386/pc/acpi.c: Likewise.
-       * commands/i386/pc/vbetest.c: Likewise.
-       * commands/ls.c: Likewise.
-       * commands/cmp.c: Likewise.
-       * commands/test.c: Likewise.
-       * commands/efi/acpi.c: Likewise.
-       * commands/gptsync.c: Likewise.
-       * commands/help.c: Likewise.
-       * partmap/amiga.c: Likewise.
-       * partmap/apple.c: Likewise.
-       * partmap/acorn.c: Likewise.
-       * partmap/pc.c: Likewise.
-       * partmap/sun.c: Likewise.
-       * partmap/gpt.c: Likewise.
-       * script/sh/lexer.c: Likewise.
-       * script/sh/function.c: Likewise.
-       * font/font.c: Likewise.
-       * font/font_cmd.c: Likewise.
-       * loader/powerpc/ieee1275/linux.c: Likewise.
-       * loader/efi/chainloader.c: Likewise.
-       * loader/multiboot_loader.c: Likewise.
-       * loader/macho.c: Likewise.
-       * loader/i386/multiboot.c: Likewise.
-       * loader/i386/linux.c: Likewise.
-       * loader/i386/pc/linux.c: Likewise.
-       * loader/i386/pc/multiboot2.c: Likewise.
-       * loader/i386/pc/chainloader.c: Likewise.
-       * loader/i386/pc/xnu.c: Likewise.
-       * loader/i386/bsd_trampoline.S: Likewise.
-       * loader/i386/efi/linux.c: Likewise.
-       * loader/i386/multiboot_elfxx.c: Likewise.
-       * loader/i386/bsd_helper.S: Likewise.
-       * loader/i386/bsd.c: Likewise.
-       * loader/i386/linux_trampoline.S: Likewise.
-       * loader/i386/xnu_helper.S: Likewise.
-       * loader/i386/xnu.c: Likewise.
-       * loader/i386/bsd_pagetable.c: Likewise.
-       * loader/i386/multiboot_helper.S: Likewise.
-       * loader/xnu.c: Likewise.
-       * loader/xnu_resume.c: Likewise.
-       * io/gzio.c: Likewise.
-       * term/efi/console.c: Likewise.
-       * term/terminfo.c: Likewise.
-       * term/ieee1275/ofconsole.c: Likewise.
-       * term/i386/pc/serial.c: Likewise.
-       * term/i386/pc/vesafb.c: Likewise.
-       * term/i386/pc/vga.c: Likewise.
-       * term/usb_keyboard.c: Likewise.
-       * term/gfxterm.c: Likewise.
-       * aclocal.m4: Likewise.
-       * util/lvm.c: Likewise.
-       * util/grub.d/30_os-prober.in: Likewise.
-       * util/grub.d/10_hurd.in: Likewise.
-       * util/console.c: Likewise.
-       * util/grub-macho2img.c: Likewise.
-       * util/grub-probe.c: Likewise.
-       * util/hostfs.c: Likewise.
-       * util/i386/pc/grub-mkimage.c: Likewise.
-       * util/i386/pc/grub-setup.c: Likewise.
-       * util/i386/efi/grub-mkimage.c: Likewise.
-       * util/grub-mkconfig.in: Likewise.
-       * util/raid.c: Likewise.
-       * util/resolve.c: Likewise.
-       * util/grub-mkdevicemap.c: Likewise.
-       * util/grub-emu.c: Likewise.
-       * util/getroot.c: Likewise.
-       * util/hostdisk.c: Likewise.
-       * util/usb.c: Likewise.
-       * util/grub-editenv.c: Likewise.
-       * util/misc.c: Likewise.
-
-2009-06-10  Felix Zielcke  <fzielcke@z-51.de>
-
-       * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
-       `genparttoollist.sh'.
-       (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
-       Add `*.sh' to the list find searches for and change `mdate.sh'
-       to `mdate-sh'.
-
-2009-06-10  Pavel Roskin  <proski@gnu.org>
-
-       * include/grub/multiboot2.h: Provide compatibility defines for
-       multiboot2.h.
-       * include/multiboot2.h: Include stdint.h only if needed, using
-       angle brackets.
-       * loader/i386/pc/multiboot2.c: Include multiboot2.h after
-       grub/multiboot2.h.
-       * loader/ieee1275/multiboot2.c: Likewise.
-       * loader/multiboot2.c: Likewise.
-       * loader/multiboot_loader.c: Likewise.
-
-       * configure.ac: Use -nostdlib when probing for the target.  It
-       should not be required to have libc for the target.
-
-       * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
-       they fail without libc headers for the target.
-       * include/grub/powerpc/libgcc.h: Use weak attribute for all
-       exports.
-       * include/grub/sparc64/libgcc.h: Likewise.  Don't use
-       preprocessor conditionals.
-
-       * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c.  The
-       build system doesn't need to be aware of the tar.c internals.
-
-2009-06-09  Michel Hermier  <michel.hermier@gmail.com>
-
-       * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
-
-2009-06-09  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/deviceiter.c (grub_util_iterate_devices): Increase number of
-       disk limit to 26 for IDE, Virtio, Xen and SCSI.
-
-2009-06-09  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/i386/pc/grub-install.in: Change the error message if UUIDs
-       aren't available if ata.mod gets used.
-
-2009-06-09  Oliver Henshaw  <oliver.henshaw@gmail.com>
-
-       * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
-       initialising controller.
-       * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
+       For coreboot:
 
-2009-06-08  Felix Zielcke  <fzielcke@z-51.de>
+           $ more grub.cfg
+           serial --unit 0 --speed 115200
+           set timeout=5
 
-       * util/i386/pc/grub-install.in: Add a parameter --disk-module
-       to choose between ata and biosdisk module on i386-pc.
+           menuentry 'halt' {
+               halt
+           }
+           $ build/cbfstool build/coreboot.rom add-payload \
+               -f /dev/shm/grub/default_payload.elf -n fallback/payload -c lzma
+           $ build/cbfstool build/coreboot.rom add -f grub.cfg -n etc/grub.cfg -t raw
+           $ qemu-system-x86_64 --version
+           QEMU emulator version 3.1.0 (Debian 1:3.1+dfsg-2+b1)
+           Copyright (c) 2003-2018 Fabrice Bellard and the QEMU Project developers
+           $ qemu-system-x86_64 -M pc -bios build/coreboot.rom -serial stdio -nic none
 
-2009-06-08  Oliver Henshaw  <oliver.henshaw@gmail.com>
+       Currently, the time-out is cancelled/cleared. With the commit, it is not.
+       With a small GRUB payload, this the problem is also reproducible on the
+       ASRock E350M1.
 
-       * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
-       Subclass and Programming Interface fields in terms of the 3 byte
-       Class Code register.
-       * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
+       Link: http://lists.gnu.org/archive/html/grub-devel/2019-01/msg00037.html
 
-       * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
-       interface is OHCI.  Add grub_dprintf for symmetry with
-       bus/usb/uhci.c.
-       * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
-       interface is UHCI.  Add interf variable for programming
-       interface.  Print interface with class/subclass.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * bus/usb/ohci.c: Set interf with correct field.
+2019-02-25  Alexander Graf  <agraf@suse.de>
 
-       * bus/usb/uhci.c: Remove unneeded doubled lines.
-       * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
-       Remove whitespace inside comment.
+       fdt: Treat device tree file type like ACPI
+       We now have signature check logic in grub which allows us to treat
+       files differently depending on their file type.
 
-2009-06-08  Robert Millan  <rmh.grub@aybabtu.com>
+       Treat a loaded device tree like an overlayed ACPI table.
+       Both describe hardware, so I suppose their threat level is the same.
 
-       * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
-       as fallback an equivalent option without depth.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
 
-2009-06-08  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-02-25  Alexander Graf  <agraf@suse.de>
 
-       Not fail if unable to retrieve C/H/S on LBA disks
+       RISC-V: Add to build system
+       This patch adds support for RISC-V to the grub build system. With this
+       patch, I can successfully build grub on RISC-V as a UEFI application.
 
-       * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
-       if unable to retrieve C/H/S on LBA disks
+       Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
+       Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
+       Tested-by: Bin Meng <bmeng.cn@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-06-08  Pavel Roskin  <proski@gnu.org>
+2019-02-25  Alexander Graf  <agraf@suse.de>
 
-       * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
-       about aliasing.
+       RISC-V: Add libgcc helpers for clz
+       Gcc may decide it wants to call helper functions to execute clz. Provide
+       them in our own copy of libgcc.
 
-2009-06-08  Felix Zielcke  <fzielcke@z-51.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * Makefile.in (uninstall): Remove all $lib_DATA files.
+2019-02-25  Alexander Graf  <agraf@suse.de>
 
-2009-06-08  Vladimir Serbinenko  <phcoder@gmail.com>
+       RISC-V: Add auxiliary files
+       To support a new architecture we need to provide a few helper functions
+       for memory, cache, timer, etc support.
 
-       Bugfix: install on partitionless device
+       This patch adds the remainders of those. Some bits are still disabled,
+       as I couldn't guarantee that we're always running on models / in modes
+       where the respective hardware is available.
 
-       * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
-       is a whole disk
+       Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-06-08  Felix Zielcke  <fzielcke@z-51.de>
+2019-02-25  Alexander Graf  <agraf@suse.de>
 
-       * Makefile.in (uninstall): Remove all $include_DATA files.
+       RISC-V: Add awareness for RISC-V reloations
+       This patch adds awareness of RISC-V relocations throughout the grub tools
+       as well as dynamic linkage and elf->PE relocation conversion support.
 
-2009-06-08  Felix Zielcke  <fzielcke@z-51.de>
+       Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * commands/true.c: New file.  Implement the true and false commands.
-       * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
-       (true_mod_SOURCES): New variable.
-       (true_mod_CFLAGS): Likewise.
-       (true_mod_LDFLAGS): Likewise.
+2019-02-25  Alexander Graf  <agraf@suse.de>
 
-2009-06-05  Colin D Bennett  <colin@gibibit.com>
+       RISC-V: Add Linux load logic
+       We currently only support to run grub on RISC-V as UEFI payload. Ideally,
+       we also only want to support running Linux underneath as UEFI payload.
 
-       Optimized font character lookup using binary search instead of linear
-       search.  Fonts now are required to have the character index ordered by
-       code point.
+       Prepare that with some Linux boot stub code. Once the arm64 target is
+       generalized, we can hook into that one and gain boot functionality.
 
-       * font/font.c (load_font_index): Verify that fonts have ordered
-       character indices.
-       (find_glyph): Use binary search instead of linear search to find a
-       character in a font.
+       Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-06-05  Michael Scherer  <misc@mandriva.org>
+2019-02-25  Alexander Graf  <agraf@suse.de>
 
-       * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
-       uses case sensitive btree.
-       (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
-       only for case insensitive filesystems.
+       RISC-V: Add early startup code
+       On entry, we need to save the system table pointer as well as our image
+       handle. Add an early startup file that saves them and then brings us
+       into our main function.
 
-2009-06-05  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
+       Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
+       Tested-by: Bin Meng <bmeng.cn@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
-       * conf/common.rmk (search_mod_CFLAGS): likewise
+2019-02-25  Alexander Graf  <agraf@suse.de>
 
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       RISC-V: Add setjmp implementation
+       This patch adds a 32/64 capable setjmp implementation for RISC-V.
 
-       * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
-       compensate a compiler bug
+       Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
+       Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
+       Tested-by: Bin Meng <bmeng.cn@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-02-25  Alexander Graf  <agraf@suse.de>
 
-       * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
-       instead of '\b'
+       elf.h: Add RISC-V definitions
+       The RISC-V ABI document outlines ELF header structure and relocation
+       information. Pull the respective magic numbers into our elf header
+       so we can make use of them.
 
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
+       Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
+       Tested-by: Bin Meng <bmeng.cn@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Definitions for creating asm symbols with Apple's CC
+2019-02-25  Alexander Graf  <agraf@suse.de>
 
-       * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
-       [APPLE_CC] (VARIABLE): likewise
+       PE: Add RISC-V definitions
+       The PE format defines magic numbers as well as relocation identifiers for
+       RISC-V. Add them to our include file, so we can make use of them.
 
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
+       Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
+       Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
+       Tested-by: Bin Meng <bmeng.cn@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Disable lnxboot.img when compiled
-       with Apple's CC
+2019-02-25  Alexander Graf  <agraf@suse.de>
 
-       * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
-       pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
-       * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
-       [! APPLE_CC] (CODE_LENG): skip
-       [! APPLE_CC] (setup_sects): likewise
-       [! APPLE_CC]: skip filling
+       efi: Rename armxx to arch
+       Some architectures want to boot Linux as plain UEFI binary. Today that
+       really only encompasses ARM and AArch64, but going forward more
+       architectures may adopt that model.
 
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       So rename our internal API accordingly.
 
-       Address in trampolines based on 32-bit registers when compiled
-       with Apple's CC
+       Acked-by: Leif Lindholm <leif.lindholm@linaro.org>
+       Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
+       Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
+       Tested-by: Bin Meng <bmeng.cn@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
-       for addresses
-       * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
+2019-02-06  Alexander Graf  <agraf@suse.de>
 
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       mkimage: Clarify file alignment in efi case
+       There are a few spots in the PE generation code for EFI binaries that uses
+       the section alignment rather than file alignment, even though the alignment
+       is really only file bound.
 
-       Avoid aliases when compiling with Apple's CC for PCBIOS machine
+       Replace those cases with the file alignment constant instead.
 
-       * kern/misc.c [APPLE_CC] (memcpy): new function
-       [APPLE_CC] (memmove): likewise
-       [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
-       (memcpy): define alias conditionally on !APPLE_CC
-       (memset): likewise
-       (abort): likewise
-       * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
-       APPLE_CC are defined
-       * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
-       (grub_assert_fail): make prototype conditional
+       Reported-by: Daniel Kiper <dkiper@net-space.pl>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Julien ROBIN <julien.robin28@free.fr>
 
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-02-06  Alexander Graf  <agraf@suse.de>
 
-       Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
+       mkimage: Align efi sections on 4k boundary
+       There is UEFI firmware popping up in the wild now that implements stricter
+       permission checks using NX and write protect page table entry bits.
 
-       * conf/common.rmk (bin_UTILITIES): add (on false on condition)
-       grub-macho2img
-       (CLEANFILES): add grub-macho2img
-       (grub_macho2img_SOURCES): new variable
-       * kern/i386/pc/startup.S (bss_start): new variable
-       (bss_end): likewise
-       * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
-       * util/grub-macho2img.c: new file
+       This means that firmware now may fail to load binaries if its individual
+       sections are not page aligned, as otherwise it can not ensure permission
+       boundaries.
 
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       So let's bump all efi section alignments up to 4k (EFI page size). That way
+       we will stay compatible going forward.
 
-       Use objconv when compiling with Apple's CC
+       Unfortunately our internals can't deal very well with a mismatch of alignment
+       between the virtual and file offsets, so we have to also pad our target
+       binary a bit.
 
-       * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
-       (efiemu64.o): likewise
-       (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
-       when compiling with Apple's CC
-       (efiemu64_s.o): likewise
-       * configure.ac: check for objconv when compiling with Apple's CC
-       * genmk.rb: use objconv for modules when compiled with Apple's CC
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Julien ROBIN <julien.robin28@free.fr>
 
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-02-06  Alexander Graf  <agraf@suse.de>
 
-       Define segment as well as section when compiling with
-       Apple's CC
+       mkimage: Use EFI32_HEADER_SIZE define in arm-efi case
+       The efi-arm case was defining its own header size calculation, even though it's
+       100% identical to the common EFI32_HEADER_SIZE definition.
 
-       * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
-       (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
-       (efiemu_convert_pointer): likewise
-       (efiemu_set_virtual_address_map): likewise
-       (efiemu_convert_pointer): likewise
-       (efiemu_getcrc32): likewise
-       (init_crc32_table): likewise
-       (reflect): likewise
-       * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
-       (GRUB_MOD_DEP): likewise
+       So let's clean it up to use the common define.
 
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Julien ROBIN <julien.robin28@free.fr>
 
-       Allow a compilation without -mcmodel=large
+2019-02-06  Guillaume GARDET  <guillaume.gardet@arm.com>
 
-       * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
-       when compiled without -mcmodel=large
-       (filter_memory_map): remove memory post 4 GiB when compiled
-       without -mcmodel=large
-       * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
-       TARGET_CFLAGS when -mcmodel=large isn't supported
+       arm: Move initrd upper to leave more space for kernel
+       This patch allows to have bigger kernels. If the kernel grows, then it will
+       overwrite the initrd when it is extracted.
 
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
+       Acked-by: Alexander Graf <agraf@suse.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Remove nested functions in efiemu core
+2019-01-23  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * efiemu/runtime/efiemu.c (reflect): make static instead of nested
+       linux, efi, arm*, fdt: Break FDT extra allocation space out into a #define
+       A certain amount of dynamic space is required for the handover from
+       GRUB/Linux-EFI-stub. This entails things like initrd addresses,
+       address-cells entries and associated strings.
 
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
-
-       * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
-       temporary storage
-       * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
-       using Apple's CC
-       (grub_cpu_is_tsc_supported): likewise
-       * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
-
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Absolute addressing through constant with Apple's cc
-
-       * kern/i386/pc/startup.S: Define necessary constants
-       and address through it when using ABS with Apple's CC
-       * boot/i386/pc/diskboot.S: likewise
-       * boot/i386/pc/boot.S: likewise
-       * boot/i386/pc/lnxboot.S: likewise
-       * boot/i386/pc/cdboot.S: likewise
-       * mmap/i386/pc/mmap_helper.S: likewise
-       * commands/i386/pc/drivemap_int13h.S: likewise
-
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Check if compiler is apple cc
-
-       * Makefile.in (ASFLAGS): new variable
-       (TARGET_ASFLAGS): likewise
-       (TARGET_MODULE_FORMAT): likewise
-       (TARGET_APPLE_CC): likewise
-       (OBJCONV): likewise
-       (TARGET_IMG_CFLAGS): likewise
-       (TARGET_CPPFLAGS): add includedir
-       * configure.ac: call grub_apple_cc and grub_apple_target_cc
-       (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
-       Check for linker script only if compiler isn't Apple's CC
-       (TARGET_MODULE_FORMAT): set
-       (TARGET_APPLE_CC): likewise
-       (TARGET_ASFLAGS): likewise
-       (ASFLAGS): likewise
-       Check for objcopy only if compiler isn't Apple's CC
-       Check for BSS symbol only if compiler isn't Apple's CC
-       * genmk.rb: adapt nm options if we use Apple's utils
-       * aclocal.m4 (grub_apple_cc): new test
-       (grub_apple_target_cc): likewise
-
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Simplify sed expressions and improve awk
-
-       * Makefile.in (install-local): simplify sed expression
-       * gencmdlist.sh: likewise
-       * genmoddep.awk: avoid adding module as a dependency of itself
-
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Add missing start symbols
-
-       * boot/i386/pc/boot.S: add start
-       * boot/i386/pc/pxeboot.S: likewise
-
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fix wrong assumptions with grub-mkimage on EFI
-
-       * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
-       (relocate_addresses): consider both r_addend and value at offset
-       (make_mods_section): zerofill modinfo and header
-       (convert_elf): write prefix here
-
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Use .asciz instead of .string
-
-       * i386/pc/diskboot.S: use .asciz instead of .string
-       * i386/pc/boot.S: likewise
-       * include/grub/dl.h (GRUB_MOD_DEP): likewise
-       (GRUB_MOD_NAME): likewise
-
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       gfxpayload support
-
-       * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
-       * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
-       (grub_video_setup): remove
-       (grub_video_set_mode): new prototype
-       * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
-       (vid_mode): remove
-       (linux_vesafb_res): compile only on PCBIOS
-       (grub_linux_boot): support gfxpayload
-       * loader/i386/pc/xnu.c (video_hook): new function
-       (grub_xnu_set_video): support gfxpayload
-       * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
-       (DEFAULT_VIDEO_HEIGHT): likewise
-       (DEFAULT_VIDEO_FLAGS): likewise
-       (DEFAULT_VIDEO_MODE): new definition
-       (video_hook): new function
-       (grub_gfxterm_init): use grub_video_set_mode
-       * util/grub.d/30_os-prober.in: remove explicit modesetting before
-       loading xnu
-       * video/video.c (grub_video_setup): removed
-       (grub_video_set_mode): new function based on grub_gfxterm_init and
-       grub_video_setup
-
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Avoid calling biosdisk in drivemap
-
-       * commands/i386/pc/drivemap.c (parse_biosdisk): remove
-       (revparse_biosdisk): likewise
-       (list_mappings): derive name from id directly
-       (grub_cmd_drivemap): use tryparse_diskstring
-
-2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Script fixes
-
-       * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
-       (grub_lexer_param): add tokenonhold
-       (grub_script_create_cmdline): remove cmdline. All callers updated
-       (grub_script_function_create): make functionname
-       grub_script_arg. All callers updated
-       (grub_script_execute_argument_to_string): new prototype
-       * kern/parser.c (state_transitions): reorder
-       (grub_parser_cmdline_state): fix a bug and make more compact
-       * script/sh/execute.c (grub_script_execute_argument_to_string):
-       make global
-       (grub_script_execute_cmdline): use new format
-       * script/sh/function.c (grub_script_function_create): make functionname
-       grub_script_arg. All callers updated
-       * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
-       (grub_script_yylex): remove
-       (grub_script_yylex2): renamed to ...
-       (grub_script_yylex): ...renamed
-       parse the expressions like a${b}c
-       * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
-       (GRUB_PARSER_TOKEN_VAR): remove
-       (GRUB_PARSER_TOKEN_NAME): likewise
-       ("if"): declare as typeless
-       ("while"): likewise
-       ("function"): likewise
-       ("else"): likewise
-       ("then"): likewise
-       ("fi"): likewise
-       (text): remove
-       (argument): likewise
-       (script): accept empty scripts and make exit on error
-       (arguments): use GRUB_PARSER_TOKEN_ARG
-       (function): likewise
-       (command): move error handling to script
-       (menuentry): move grub_script_lexer_ref before
-       * script/sh/script.c (grub_script_create_cmdline): remove cmdline
-       argument. All callers updated
-
-2009-06-04  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Prevent GRUB from probing floppies during boot.
-
-       * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
-       * commands/search.c (options): Add --no-floppy.
-       (search_fs, search_file, grub_cmd_search): Support --no-floppy.
-       * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
-       --no-floppy when searching for UUIDs.
-
-2009-06-04  Robert Millan  <rmh.grub@aybabtu.com>
-
-       Simplify the code duplication in commands/search.c.
-
-       * commands/search.c (search_label, search_fs_uuid): Merge into ...
-       (search_fs): ... this.  Update all users.
-
-2009-06-03  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
-
-2009-05-28  Pavel Roskin  <proski@gnu.org>
-
-       * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
-       Remove the original symlink explicitly.
-
-       * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
-       just one slash.  That's how grub_fshelp_find_file() does it.
-
-2009-05-26  Pavel Roskin  <proski@gnu.org>
-
-       * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
-       to `str'.
-
-       * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
-       possibly unused.
-
-2009-05-25  Christian Franke  <franke@computer.org>
-
-       * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
-       register.
-       (grub_atapi_identify): Add wait after drive select.
-       (grub_ata_identify): Do more strict status register check before
-       calling grub_atapi_identify ().  Suppress error message if status
-       register is 0x00 after command failure.  Add status register
-       check after PIO read to avoid bogus identify due to stuck DRQ.
-       Thanks to Pavel Roskin for testing.
-       (grub_device_initialize): Remove unsafe status register check.
-       Thanks to 'phcoder' for problem report and patch.
-       Prevent sign extension in debug message.
-
-2009-05-23  Colin D Bennett  <colin@gibibit.com>
-
-       Cleaned up `include/grub/normal.h'.  Grouped prototypes by
-       definition file, and functions defined in `normal/menu.c' have had
-       their prototypes moved to `include/grub/menu.h' for consistency.
-
-       * include/grub/menu.h (grub_menu_execute_callback): Added; moved
-       from normal.h.
-       (grub_menu_get_entry): Likewise.
-       (grub_menu_get_timeout): Likewise.
-       (grub_menu_set_timeout): Likewise.
-       (grub_menu_execute_entry): Likewise.
-       (grub_menu_execute_with_fallback): Likewise.
-       (grub_menu_entry_run): Likewise.
-
-       * include/grub/normal.h: Re-ordered and grouped function
-       prototypes by file that the function is defined in.
-       (grub_menu_execute_callback): Removed; moved to menu.h.
-       (grub_menu_get_entry): Likewise.
-       (grub_menu_get_timeout): Likewise.
-       (grub_menu_set_timeout): Likewise.
-       (grub_menu_execute_entry): Likewise.
-       (grub_menu_execute_with_fallback): Likewise.
-       (grub_menu_entry_run): Likewise.
-       (grub_menu_addentry): Renamed from this ...
-       (grub_normal_add_menu_entry): ... to this.
-
-       * normal/main.c (grub_menu_addentry): Renamed from this ...
-       (grub_normal_add_menu_entry): ... to this.
-
-       * script/sh/execute.c (grub_script_execute_menuentry): Update
-       reference to renamed grub_menu_addentry function.
-
-2009-05-23  Felix Zielcke  <fzielcke@z-51.de>
-
-       * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
-
-2009-05-22  Pavel Roskin  <proski@gnu.org>
+       But move this into a proper centralised #define rather than live-code
+       it in the loader.
 
-       * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
-       * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG.  Define
-       NESTED_FUNC_ATTR using AH_BOTTOM.  Use regparm(1) only when
-       compiling for the i386 targets, but not for the utilities.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
-       to grub_uint8_t.
-       (grub_root_drive): Likewise.
-       * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
-       remove alignment.
-       (grub_root_drive): Change size to byte.
-       (grub_start_addr): Remove.
-       (grub_end_addr): Likewise.
-       (grub_apm_bios_info): Likewise.
+2019-01-22  Cristian Ciocaltea  <cristian.ciocaltea@gmail.com>
 
-2009-05-21  Felix Zielcke  <fzielcke@z-51.de>
+       uboot: Add the missing disk write operation support
+       uboot_disk_write() is currently lacking the write support
+       to storage devices because, historically, those devices did not
+       implement block_write() in U-Boot.
 
-       * normal/i386: Remove.
-       * normal/powerpc: Likewise.
-       * normal/sparc64: Likewise.
-       * normal/x86_64: Likewise.
-
-2009-05-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
-       * loader/i386/linux_trampoline.S: Fix indentation
-       * loader/i386/xnu_helper.S: Likewise
-
-2009-05-18  Colin D Bennett  <colin@gibibit.com>
-
-       Display error messages when parsing a Lua statement fails.
-       Previously, executing a syntactically invalid statement like
-       ")foo" or "bar;" would silently fail.
-
-       * script/lua/grub_main.c (handle_lua_error): New function.
-       (grub_lua_parse_line): Improved reporting of Lua parser and
-       execution errors.
-
-2009-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Remove -Werror which causes build to fail on some systems
-
-       * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
-       * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
-       * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
-
-2009-05-17  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       trampoline for linux on 64-bit platform
-
-       * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
-       loader/i386/efi/linux_trampoline.S
-       * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
-       declaration
-       * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
-       here
-       * loader/i386/linux_trampoline.S: moved here
-       * loader/i386/efi/linux.c (allocate_pages): reserve space for
-       trampoline
-       (jumpvector): removed
-       (grub_linux_trampoline_start): new declaration
-       (grub_linux_trampoline_end): likewise
-       (grub_linux_boot): use trampoline when on 64-bit platform
-       * loader/i386/linux.c: likewise
-
-2009-05-16  Pavel Roskin  <proski@gnu.org>
-
-       * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
-       const to avoid a warning.
-       (grub_lua_setenv): Likewise.
-       * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
-       lmsg to fix a warning.
-
-2009-05-16  Felix Zielcke  <fzielcke@z-51.de>
-
-       * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
-       (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
-       * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
-       (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
-       * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
-       (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
-       * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
-       (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
-
-2009-05-16  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
-
-2009-05-16  Bean  <bean123ch@gmail.com>
-
-       * conf/common.rmk (pkglib_MODULES): Add lua.mod.
-       (lua_mod_SOURCES): New variable.
-       (lua_mod_CFLAGS): Likewise.
-       (lua_mod_LDFLAGS): Likewise.
-
-       * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
-       (setjmp_mod_SOURCES): New variable.
-       (setjmp_mod_CFLAGS): Likewise.
-       (setjmp_LDFLAGS): Likewise.
-
-       * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
-       (setjmp_mod_SOURCES): New variable.
-       (setjmp_mod_CFLAGS): Likewise.
-       (setjmp_LDFLAGS): Likewise.
-
-       * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
-       (setjmp_mod_SOURCES): New variable.
-       (setjmp_mod_CFLAGS): Likewise.
-       (setjmp_LDFLAGS): Likewise.
-
-       * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
-       (setjmp_mod_SOURCES): New variable.
-       (setjmp_mod_CFLAGS): Likewise.
-       (setjmp_LDFLAGS): Likewise.
-
-       * normal/i386/setjmp.S: Moved from here ...
-       * lib/i386/setjmp.S: ... Moved here
-       * normal/x86_64/setjmp.S: Moved from here ...
-       * lib/x86_64/setjmp.S: ... Moved here
-       * normal/powerpc/setjmp.S: Moved from here ...
-       * lib/powerpc/setjmp.S: ... Moved here
-       * normal/sparc64/setjmp.S: Moved from here ...
-       * lib/sparc64/setjmp.S: ... Moved here
-
-       * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
-       returns_twice in mingw.
-
-       * script/lua/grub_lib.c: New file.
-       * script/lua/grub_lib.h: Likewise.
-       * script/lua/grub_lua.h: Likewise.
-       * script/lua/grub_main.c: Likewise.
-       * script/lua/lapi.c: Likewise.
-       * script/lua/lapi.h: Likewise.
-       * script/lua/lauxlib.c: Likewise.
-       * script/lua/lauxlib.h: Likewise.
-       * script/lua/lbaselib.c: Likewise.
-       * script/lua/lcode.c: Likewise.
-       * script/lua/lcode.h: Likewise.
-       * script/lua/ldblib.c: Likewise.
-       * script/lua/ldebug.c: Likewise.
-       * script/lua/ldebug.h: Likewise.
-       * script/lua/ldo.c: Likewise.
-       * script/lua/ldo.h: Likewise.
-       * script/lua/ldump.c: Likewise.
-       * script/lua/lfunc.c: Likewise.
-       * script/lua/lfunc.h: Likewise.
-       * script/lua/lgc.c: Likewise.
-       * script/lua/lgc.h: Likewise.
-       * script/lua/linit.c: Likewise.
-       * script/lua/liolib.c: Likewise.
-       * script/lua/llex.c: Likewise.
-       * script/lua/llex.h: Likewise.
-       * script/lua/llimits.h: Likewise.
-       * script/lua/lmathlib.c: Likewise.
-       * script/lua/lmem.c: Likewise.
-       * script/lua/lmem.h: Likewise.
-       * script/lua/loadlib.c: Likewise.
-       * script/lua/lobject.c: Likewise.
-       * script/lua/lobject.h: Likewise.
-       * script/lua/lopcodes.c: Likewise.
-       * script/lua/lopcodes.h: Likewise.
-       * script/lua/loslib.c: Likewise.
-       * script/lua/lparser.c: Likewise.
-       * script/lua/lparser.h: Likewise.
-       * script/lua/lstate.c: Likewise.
-       * script/lua/lstate.h: Likewise.
-       * script/lua/lstring.c: Likewise.
-       * script/lua/lstring.h: Likewise.
-       * script/lua/lstrlib.c: Likewise.
-       * script/lua/ltable.c: Likewise.
-       * script/lua/ltable.h: Likewise.
-       * script/lua/ltablib.c: Likewise.
-       * script/lua/ltm.c: Likewise.
-       * script/lua/ltm.h: Likewise.
-       * script/lua/lua.h: Likewise.
-       * script/lua/luaconf.h: Likewise.
-       * script/lua/lualib.h: Likewise.
-       * script/lua/lundump.c: Likewise.
-       * script/lua/lundump.h: Likewise.
-       * script/lua/lvm.c: Likewise.
-       * script/lua/lvm.h: Likewise.
-       * script/lua/lzio.c: Likewise.
-       * script/lua/lzio.h: Likewise.
-
-2009-05-16  Bean  <bean123ch@gmail.com>
-
-       * include/grub/kernel.h (grub_module_header_types): Add type
-       OBJ_TYPE_CONFIG.
-
-       * kern/main.c (grub_load_config): New function.
-       (grub_main): Call grub_load_config to read boot config.
-
-       * grub-mkimage (generate_image): New parameter config_path.
-       (options): New option --config.
-       (main): Parse --config option, and pass it to generate_image.
-
-2009-05-14  Christian Franke  <franke@computer.org>
-
-       * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
-       This fixes build on Cygwin.
-
-2009-05-14  Pavel Roskin  <proski@gnu.org>
-
-       * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
-       jump.  This saves two bytes, so the typical case of 2 swapped
-       drives would fit 32 bytes.
-
-2009-05-13  Pavel Roskin  <proski@gnu.org>
-
-       * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
-       grub_uint32_t to avoid a warning.
-
-       * loader/i386/linux.c (allocate_pages): When assigning
-       real_mode_mem, cast through grub_size_t to fix a warning.  The
-       code already makes sure that the value would fit a pointer.
-       (grub_linux_setup_video): Cast render_target->data to
-       grub_size_t to fix a warning.
-
-2009-05-13  Javier Martín  <lordhabbit@gmail.com>
-
-       * commands/i386/pc/drivemap.c: New file - implement drivemap
+       The solution has been tested using a patched U-Boot loading
+       and booting GRUB in a QEMU vexpress-a9 environment.
+       The disk write operations were triggered with GRUB's save_env
        command.
-       * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
-       * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
-
-2009-05-13  Pavel Roskin  <proski@gnu.org>
-
-       * util/i386/pc/grub-setup.c (setup): Remove unused variable
-       embedding_area_exists.
-
-2009-05-13  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
-       it easier to understand / work with.
-       Improve warning messages for cases where there's no embedding area,
-       or when it is too small (or core.img too large).
-
-2009-05-13  Pavel Roskin  <proski@gnu.org>
-
-       * loader/i386/pc/multiboot2.c: Add necessary includes for
-       grub_multiboot2_real_boot().
-
-       * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
-       PX record is always little-endian.  We only need the lower 2
-       bytes of the mode.
-
-       * fs/cpio.c: Use the same name "struct head" for tar and cpio to
-       facilitate code reuse.
-       (grub_cpio_mount): Use "struct head", not a char buffer.  This
-       fixes a warning reported by gcc 4.4.
-
-       * kernel/disk.c (grub_disk_read): Use void pointer for the
-       buffer.
-       (grub_disk_write): Use const void pointer for the buffer.
-       Adjust all callers.  Remove unnecessary casts.
-
-2009-05-10  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/i386/pc/grub-install.in: Update copyright year.
-
-2009-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       gptsync
-
-       * commands/gptsync.c: new file
-       * conf/common.rmk (pkglib_MODULES): add gptsync.mod
-       (gptsync_mod_SOURCES): new variable
-       (gptsync_mod_CFLAGS): likewise
-       (gptsync_mod_LDFLAGS): likewise
-       * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
-       new definition
-       (GRUB_PC_PARTITION_TYPE_HFS): likewise
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
-       * conf/i386-ieee1275.rmk: likewise
-       * conf/i386-pc.rmk: likewise
-       * conf/powerpc-ieee1275.rmk: likewise
-
-2009-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Fixed grub-emu
-
-       * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
-       (grub_dl_ref): likewise
-
-2009-05-08  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
-       split in two functions (one for msdos and one for gpt).
-
-2009-05-08  Pavel Roskin  <proski@gnu.org>
-
-       * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
-       not modified.
-
-       * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
-       uninitialized err[0] and err[1].  Rename them to bad1 and bad2.
-       Initialize them with -1.  Add sanity check for bad1.  Eliminate
-       nerr variable.
-
-2009-05-08  David S. Miller  <davem@davemloft.net>
-
-       * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
-
-2009-05-06  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/i386/pc/grub-setup.c (setup): Fix check for embed region
-       existence.
-
-2009-05-05  Felix Zielcke  <fzielcke@z-51.de>
-
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
-       `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
-
-2009-05-05  David S. Miller  <davem@davemloft.net>
-
-       * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
-
-2009-05-05  Pavel Roskin  <proski@gnu.org>
-
-       * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
-       of grub_dl_ref() and grub_dl_unref().
-       * commands/parttool.c: Remove preprocessor conditionals around
-       grub_dl_ref() and grub_dl_unref().
-       * fs/affs.c: Likewise.
-       * fs/afs.c: Likewise.
-       * fs/cpio.c: Likewise.
-       * fs/ext2.c: Likewise.
-       * fs/fat.c: Likewise.
-       * fs/hfs.c: Likewise.
-       * fs/hfsplus.c: Likewise.
-       * fs/iso9660.c: Likewise.
-       * fs/jfs.c: Likewise.
-       * fs/minix.c: Likewise.
-       * fs/ntfs.c: Likewise.
-       * fs/reiserfs.c: Likewise.
-       * fs/sfs.c: Likewise.
-       * fs/udf.c: Likewise.
-       * fs/ufs.c: Likewise.
-       * fs/xfs.c: Likewise.
-       * include/grub/dl.h: Likewise.
-       * loader/xnu.c: Likewise.
-
-2009-05-04  Pavel Roskin  <proski@gnu.org>
-
-       * commands/acpi.c: Remove unused variable my_mod.
-       * partmap/amiga.c: Likewise.
-       * partmap/apple.c: Likewise.
-       * partmap/gpt.c: Likewise.
-       * partmap/pc.c: Likewise.
-       * partmap/sun.c: Likewise.
-       * term/gfxterm.c: Likewise.
-       * term/i386/pc/vesafb.c: Likewise.
-       * term/i386/pc/vga.c: Likewise.
-
-2009-05-04  David S. Miller  <davem@davemloft.net>
-
-       * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
-       pointer args to grub_ieee1275_get_property().
-
-       * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
-
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
-       devices, and do not traverse down under controller nodes.
-
-       * disk/ieee1275/ofdisk.c (compute_dev_path): New.
-       (grub_ofdisk_open): Use it to un-escape "," characters.
-       * kern/disk.c (find_part_sep): New.
-       (grub_disk_open): Use it to find the first non-escaped ','
-       character in the disk name.
-       * util/ieee1275/devicemap.c (escape_of_path): New.
-       (grub_util_emit_devicemap_entry): Use it.
-       * util/sparc64/ieee1275/grub-install.in: Update script to
-       strip partition specifiers properly by not triggering on
-       '\' escaped ',' characters.
-
-2009-05-04  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
-       to 0x300.
-       * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
-       resolutions.
-       (linux_vesafb_modes): Add a lot of additional modes to the list (based
-       on documentation from Wikipedia).
-
-2009-05-04  Pavel Roskin  <proski@gnu.org>
-
-       * disk/ata.c: Spelling fixes.
-       * disk/raid.c: Likewise.
-       * disk/usbms.c: Likewise.
-       * disk/dmraid_nvidia.c: Likewise.
-       * kern/ieee1275/openfw.c: Likewise.
-       * kern/ieee1275/init.c: Likewise.
-       * kern/ieee1275/cmain.c: Likewise.
-       * boot/i386/pc/cdboot.S: Likewise.
-       * video/readers/png.c: Likewise.
-       * video/i386/pc/vbe.c: Likewise.
-       * fs/udf.c: Likewise.
-       * fs/hfs.c: Likewise.
-       * fs/reiserfs.c: Likewise.
-       * efiemu/runtime/efiemu.c: Likewise.
-       * efiemu/main.c: Likewise.
-       * efiemu/mm.c: Likewise.
-       * include/grub/elf.h: Likewise.
-       * include/grub/xnu.h: Likewise.
-       * include/grub/usbdesc.h: Likewise.
-       * include/grub/usb.h: Likewise.
-       * include/grub/script_sh.h: Likewise.
-       * include/grub/lib/LzmaEnc.h: Likewise.
-       * include/grub/efiemu/efiemu.h: Likewise.
-       * include/grub/command.h: Likewise.
-       * normal/menu.c: Likewise.
-       * normal/main.c: Likewise.
-       * normal/datetime.c: Likewise.
-       * bus/usb/uhci.c: Likewise.
-       * mmap/i386/uppermem.c: Likewise.
-       * mmap/mmap.c: Likewise.
-       * commands/acpi.c: Likewise.
-       * commands/test.c: Likewise.
-       * partmap/apple.c: Likewise.
-       * font/font.c: Likewise.
-       * loader/sparc64/ieee1275/linux.c: Likewise.
-       * loader/macho.c: Likewise.
-       * loader/i386/bsd_trampoline.S: Likewise.
-       * loader/i386/bsd.c: Likewise.
-       * loader/xnu.c: Likewise.
-       * term/i386/pc/vesafb.c: Likewise.
-       * term/usb_keyboard.c: Likewise.
-       * util/resolve.c: Likewise.
-       * util/getroot.c: Likewise.
-
-2009-05-04  Felix Zielcke  <fzielcke@z-51.de>
-
-       * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
-
-2009-05-04  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
-       build error.
-
-2009-05-04  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
-       parameter only available on BIOS.
-
-2009-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Removed wrong semicolon in declaration
-
-       * grub/misc.h (grub_dprintf): remove semicolon
-
-2009-05-04  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
-       (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
-       is done by grub_cmd_linux() now).
-       [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
-       restore video to text mode.
-       (grub_cmd_linux): Default `vid_mode' initialization to 0, which
-       indicates lack of "vga=" parameter.  "vga=0" is mapped to
-       `GRUB_LINUX_VID_MODE_NORMAL'.
-
-2009-05-04  Felix Zielcke  <fzielcke@z-51.de>
-
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
-       `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
-       and `normal/script.c'.  Add `kern/rescue_reader.c',
-       `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
-       `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
-       `grub_script.tab.c'.
-
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-
-       * Makefile.in: Remove duplicated 2008 in Copyright line.
-
-2009-05-04  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/misc.c (grub_util_warn): New function.  Emits a warning
-       unconditionally.
-       * include/grub/util/misc.h (grub_util_warn): New declaration.
-
-       * util/i386/pc/grub-install.in: Understand --force and pass it down
-       to grub-setup.
-
-       * util/i386/pc/grub-setup.c (main): Understand --force and pass it
-       down to setup().
-       (setup): Improve error messages and add warnings when requested to
-       install in odd layouts.  Refuse to install using blocklists unless
-       --force was set.
-
-2009-05-04  martin f. krafft  <madduck@madduck.net>
-
-       * disk/raid.c (grub_raid_scan_device): Improve debug message.
-
-2009-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Updated copyright year
-
-       * fs/hfsplus.c: updated copyright year
-
-2009-05-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       HFS+ UUID
-
-       * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
-       in the space previously used by unused3
-       (grub_hfsplus_uuid): new function
-       (grub_hfsplus_fs): added uuid field
-
-2009-05-03  Pavel Roskin  <proski@gnu.org>
-
-       * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
-       suppress warnings.  It's no longer needed.
-       * disk/host.c: Likewise.
-       * disk/ata_pthru.c: Likewise.
-       * disk/loopback.c: Likewise.
-       * hook/datehook.c: Likewise.
-       * parttool/pcpart.c: Likewise.
-       * fs/i386/pc/pxe.c: Likewise.
-       * fs/ntfscomp.c: Likewise.
-       * efiemu/main.c: Likewise.
-       * mmap/mmap.c: Likewise.
-       * commands/crc.c: Likewise.
-       * commands/hexdump.c: Likewise.
-       * commands/hdparm.c: Likewise.
-       * commands/acpi.c: Likewise.
-       * commands/echo.c: Likewise.
-       * commands/minicmd.c: Likewise.
-       * commands/blocklist.c: Likewise.
-       * commands/memrw.c: Likewise.
-       * commands/loadenv.c: Likewise.
-       * commands/usbtest.c: Likewise.
-       * commands/lsmmap.c: Likewise.
-       * commands/boot.c: Likewise.
-       * commands/parttool.c: Likewise.
-       * commands/configfile.c: Likewise.
-       * commands/search.c: Likewise.
-       * commands/ieee1275/suspend.c: Likewise.
-       * commands/cat.c: Likewise.
-       * commands/i386/pc/pxecmd.c: Likewise.
-       * commands/i386/pc/play.c: Likewise.
-       * commands/i386/pc/halt.c: Likewise.
-       * commands/i386/pc/vbeinfo.c: Likewise.
-       * commands/i386/pc/vbetest.c: Likewise.
-       * commands/lspci.c: Likewise.
-       * commands/date.c: Likewise.
-       * commands/handler.c: Likewise.
-       * commands/ls.c: Likewise.
-       * commands/test.c: Likewise.
-       * commands/cmp.c: Likewise.
-       * commands/efi/loadbios.c: Likewise.
-       * commands/efi/fixvideo.c: Likewise.
-       * commands/halt.c: Likewise.
-       * commands/help.c: Likewise.
-       * commands/reboot.c: Likewise.
-       * hello/hello.c: Likewise.
-       * script/sh/main.c: Likewise.
-       * loader/xnu.c: Likewise.
-       * term/terminfo.c: Likewise.
-       * term/i386/pc/serial.c: Likewise.
-       * term/usb_keyboard.c: Likewise.
-
-2009-05-03  David S. Miller  <davem@davemloft.net>
-
-       * normal/menu.c: Include grub/parser.h
-
-2009-05-03  Pavel Roskin  <proski@gnu.org>
-
-       * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
-       not char*.
-       * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
-       Suggested by Javier Martín <lordhabbit@gmail.com>
-
-       * util/i386/pc/grub-mkrescue.in: Allow for the case when
-       efiemu??.o doesn't exist.
-       * util/i386/pc/grub-install.in: Likewise.  Use "cp -f" for
-       copying.
-
-2009-05-03  Bean  <bean123ch@gmail.com> Vladimir Serbinenko  <phcoder@gmail.com>
-
-       FreeBSD 64-bit support
-
-       * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
-       and loader/i386/bsd_trampoline.S
-       (bsd_mod_ASFLAGS): new variable
-       * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
-       (FREEBSD_MODTYPE_KERNEL64): likewise
-       (grub_bsd64_trampoline_start): likewise
-       (grub_bsd64_trampoline_end): likewise
-       (grub_bsd64_trampoline_selfjump): likewise
-       (grub_bsd64_trampoline_gdt): likewise
-       * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
-       * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
-       * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
-       * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
-       * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
-       of "attrib" member
-       * loader/i386/bsd_pagetable.c: new file
-       * loader/i386/bsd_trampoline.S: likewise
-       * loader/i386/bsd.c (ALIGN_QWORD): new macro
-       (ALIGN_VAR): likewise
-       (entry_hi): new variable
-       (kern_end_mdofs): likewise
-       (is_64bit): likewise
-       (grub_freebsd_add_meta): use ALIGN_VAR
-       (grub_e820_mmap): new declaration
-       (grub_freebsd_add_mmap): new function
-       (grub_freebsd_add_meta_module): support 64 bit kernels
-       (grub_freebsd_list_modules): use ALIGN_VAR
-       (gdt_descriptor): new declaration
-       (grub_freebsd_boot): support 64 bit kernels
-       (grub_bsd_elf64_hook): new function
-       (grub_bsd_load_elf): support elf64
-
-2009-05-03  Bean  <bean123ch@gmail.com>
-
-       * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
-       after we get the result of if statement.
-
-2009-05-03  Bean  <bean123ch@gmail.com>
-
-       * Makefile.in (enable_efiemu): New variable.
-
-       * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
-       set.
-       (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
-       path.
-       (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
-       path, add -mno-red-zone option.
-       (efiemu64_s.o): Likewise.
-       (efiemu64.o): Use macro $^ for source file.
-
-       * configure.ac (--enable-efiemu): New option.
-
-2009-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       xnu support
-
-       * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
-       (pkglib_MODULES): add xnu.mod
-       (xnu_mod_SOURCES): new variable
-       (xnu_mod_CFLAGS): likewise
-       (xnu_mod_LDFLAGS): likewise
-       (xnu_mod_ASFLAGS): likewise
-       * conf/i386-pc.rmk: likewise
-       * conf/x86_64-efi.rmk: likewise
-       * include/grub/efi/efi.h (grub_efi_finish_boot_services):
-       new declaration
-       * include/grub/i386/macho.h: new file
-       * include/grub/i386/xnu.h: likewise
-       * include/grub/macho.h: likewise
-       * include/grub/machoload.h: likewise
-       * include/grub/x86_64/macho.h: likewise
-       * include/grub/x86_64/xnu.h: likewise
-       * include/grub/xnu.h: likewise
-       * kern/efi/efi.c (grub_efi_finish_boot_services): new function
-       * kern/efi/mm.c (MAX_HEAP_SIZE): increase
-       * loader/i386/efi/xnu.c: new file
-       * loader/i386/pc/xnu.c: likewise
-       * loader/i386/xnu.c: likewise
-       * loader/i386/xnu_helper.S: likewise
-       * loader/macho.c: likewise
-       * loader/xnu.c: likewise
-       * loader/xnu_resume.c: likewise
-       * util/grub-dumpdevtree: likewise
-       * include/grub/i386/pit.h: include grub/err.h
-       (grub_pit_wait): export
-       * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
-
-2009-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Efiemu
-
-       * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
-       _linux_efi, linux_efi.
-       new files in grub-emu
-       new targets efiemu32.o and efiemu64.o
-       * loader/linux_normal_efiemu.c: likewise
-       * loader/i386/efi/linux.c: added preliminary efiemu support
-       * util/i386/pc/grub-install.in: add efiemu??.o to the list of
-       files to copy
-       * include/grub/autoefi.h: new file
-       * include/grub/i386/efiemu.h: likewise
-       * include/grub/i386/pc/efiemu.h: likewise
-       * include/grub/efi/api.h: add LL suffix when necessary
-       new definitions relating to tables
-       * include/grub/efiemu/efiemu.h: new file
-       * include/grub/efiemu/runtime.h: likewise
-       * efiemu/prepare.c: likewise
-       * efiemu/loadcore_common.c: likewise
-       * efiemu/loadcore64.c: likewise
-       * efiemu/runtime/efiemu.sh: likewise
-       * efiemu/runtime/efiemu.S: likewise
-       * efiemu/runtime/efiemu.c: likewise
-       * efiemu/runtime/config.h: likewise
-       * efiemu/prepare32.c: likewise
-       * efiemu/main.c: likewise
-       * efiemu/modules/pnvram.c: likewise
-       * efiemu/modules/i386: likewise
-       * efiemu/modules/i386/pc: likewise
-       * efiemu/modules/acpi.c: likewise
-       * efiemu/i386/pc/cfgtables.c: likewise
-       * efiemu/i386/loadcore64.c: likewise
-       * efiemu/i386/loadcore32.c: likewise
-       * efiemu/prepare64.c: likewise
-       * efiemu/loadcore.c: likewise
-       * efiemu/symbols.c: likewise
-       * efiemu/mm.c: likewise
-       * efiemu/loadcore32.c: likewise
-
-2009-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       ACPI spoofing
-
-       * commands/acpi.c: new file
-       * commands/i386/pc/acpi.c: likewise
-       * commands/efi/acpi.c: likewise
-       * include/grub/acpi.h: likewise
-       * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
-       (acpi_mod_SOURCES): new variable
-       (acpi_mod_CFLAGS): likewise
-       (acpi_mod_LDFLAGS): likewise
-       * conf/i386-efi.rmk: likewise
-       * conf/x86_64-efi.rmk: likewise
-
-2009-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Missing part from mmap patch
-
-       * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
-       (grub_mmap_unregister)
-       (grub_mmap_free_and_unregister): use grub_mmap_register
-
-2009-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Mmap services
-
-       * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
-       * loader/i386/linux.c (find_mmap_size): likewise
-       (allocate_pages): likewise
-       * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
-       (grub_fill_multiboot_mmap): likewise
-       (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
-       * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
-       * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
-       (OPENBSD_MMAP_RESERVED): likewise
-       * include/grub/i386/pc/memory.h: include grub/memory.h
-       (grub_lower_mem): removed
-       (grub_upper_mem): likewise
-       (GRUB_MACHINE_MEMORY_ACPI): new definition
-       (GRUB_MACHINE_MEMORY_NVS): likewise
-       (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
-       (GRUB_MACHINE_MEMORY_HOLE): likewise
-       (grub_machine_mmap_register): likewise
-       (grub_machine_mmap_unregister): likewise
-       (grub_machine_get_upper): likewise
-       (grub_machine_get_lower): likewise
-       (grub_machine_get_post64): likewise
-       * include/grub/i386/efi/memory.h: new file
-       * include/grub/x86_64/efi/memory.h: likewise
-       * include/grub/efi/memory.h: likewise
-       * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
-       (mmap_mod_SOURCES): new variable
-       (mmap_mod_LDFLAGS): likewise
-       (mmap_mod_ASFLAGS): likewise
-       * conf/i386-coreboot.rmk: likewise
-       * conf/i386-ieee1275.rmk: likewise
-       * conf/i386-efi.rmk: likewise
-       * conf/x86_64-efi.rmk: likewise
-       * include/grub/types.h (UINT_TO_PTR): new macro
-       (PTR_TO_UINT32): likewise
-       (PTR_TO_UINT64): likewise
-       * include/grub/memory.h: new file
-       * mmap/i386/pc/mmap.c: likewise
-       * mmap/i386/pc/mmap_helper.S: likewise
-       * mmap/i386/uppermem.c: likewise
-       * mmap/mmap.c: likewise
-       * mmap/efi/mmap.c: likewise
-       * kern/i386/coreboot/init.c (grub_machine_init): don't use
-       grub_upper_mem
-       * kern/i386/pc/init.c (grub_lower_mem): removed variable
-       (grub_upper_mem): likewise
-       (grub_machine_init): don't use grub_upper_mem,
-       make grub_lower_mem local
-       * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
-       grub_mmap_iterate and grub_mmap_get_upper
-       (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
-
-2009-05-02  Bean  <bean123ch@gmail.com>
-
-       * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
-       script/sh/parser.y.
-       (pkglib_MODULES): Add normal.mod and sh.mod.
-       (normal_SOURCES): New variable.
-       (normal_mod_CFLAGS): Likewise.
-       (normal_mod_LDFLAGS): Likewise.
-       (sh_mod_SOURCES): Likewise.
-       (sh_mod_CFLAGS): Likewise.
-       (sh_mod_LDFLAGS): Likewise.
-
-       * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
-       script/sh/lexer.c_DEPENDENCIES.
-       (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
-       kern/rescue_reader.c and kern/rescue_parser.c.
-       (kernel_img_HEADERS): Remove rescue.h, add reader.h.
-       (grub_emu_SOURCES): Change source files.
-       (pkglib_MODULES): Remove normal.mod.
-       (normal_SOURCES): Removed.
-       (normal_mod_CFLAGS): Likewise.
-       (normal_mod_LDFLAGS): Likewise.
-       * conf/i386-coreboot.rmk: Likewise.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/i386-ieee1276.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-
-       * include/grub/command.h (grub_command_execute): New inline function.
-
-       * include/grub/menu.h (grub_menu_entry): Removed commands field.
-
-       * include/grub/normal.h: Remove <grub/setjmp.h>.
-       (grub_fs_module_list): Moved to normal/autofs.c.
-       (grub_exit_env): Removed.
-       (grub_command_execute): Likewise.
-       (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
-       parameter script.
-       (read_command_list): New function declaration.
-       (read_fs_list): Likewise.
-
-       * include/parser.h: Include <grub/reader.h>.
-       (grub_parser_split_cmdline): Change type of getline parameter.
-       (grub_parser): New structure.
-       (grub_parser_class): New variable.
-       (grub_parser_execute): New function declaration.
-       (grub_register_rescue_parser): Likewise.
-       (grub_parser_register): New inline function.
-       (grub_parser_unregister): Likewise.
-       (grub_parser_get_current): Likewise.
-       (grub_parser_set_current): Likewise.
-
-       * include/grub/reader.h: New file.
-       * kern/reader.c: Likewise.
-       * kern/rescue_parser.c: Likewise.
-       * kern/rescue_reader.c: Likewise.
-       * normal/autofs.c: Likewise.
-       * normal/dyncmd.c: Likewise.
-
-       * include/grub/rescue.h: Removed.
-       * normal/command.h: Likewise.
-
-       * include/grub/script.h: Moved to ...
-       * include/grub/script_sh.h: ... Moved here.
-       * normal/execute.c: Moved to ...
-       * script/sh/execute.c: ... Moved here.
-       * normal/function.c: Moved to ...
-       * script/sh/function.c: ... Moved here.
-       * normal/lexer.c: Moved to ...
-       * script/sh/lexer.c: ... Moved here.
-       * normal/parser.y: Moved to ...
-       * script/sh/parser.y: ... Moved here.
-       * normal/script.c: Moved to ...
-       * script/sh/script.c: ... Moved here.
-
-       * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
-       <grub/reader.h>.
-       (grub_exit_env): Removed.
-       (fs_module_list): Moved to normal/autofs.c.
-       (grub_file_getline): Don't handle comment here.
-       (free_menu): Skip removed field entry->commands.
-       (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
-       script parameter.
-       (read_config_file): Removed nested parameter, change getline function.
-       (grub_enter_normal_mode): Removed.
-       (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
-       (read_command_list): Likewise.
-       (autoload_fs_module): Moved to normal/autofs.c.
-       (read_fs_list): Likewise.
-       (reader_nested): New variable.
-       (grub_normal_execute): Run parser.sh to switch to sh parser.
-       (grub_cmd_rescue): Removed.
-       (cmd_normal): Removed.
-       (grub_cmd_normal): Unregister itself at the beginning. Don't register
-       rescue command.
-       (grub_cmdline_run): New function.
-       (grub_normal_reader_init): Likewise.
-       (grub_normal_read_line): Likewise.
-       (grub_env_write_pager): Likewise.
-       (cmdline): New variable.
-       (grub_normal_reader): Likewise.
-       (GRUB_MOD_INIT): Register normal reader and set as current, register
-       pager hook, register normal command with grub_register_command_prio,
-       so that it won't show up in command.lst.
-       (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
-       grub_fs_autoload_hook.
-
-       * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
-       (grub_menu_execute_entry): Replace grub_script_execute with
-       grub_parser_execute, change parameter to grub_command_execute.
-
-       * normal/menu_text.c: Remove <grub/script.h>.
-
-       * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
-       and <grub/parser.h>.
-       (run): Change editor_getline to use new parser interface. Change
-       parameter to grub_command_execute.
-
-       * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
-       <grub/reader.h> and <grub/parser.h>.
-       (grub_load_normal_mode): Execute normal command.
-       (grub_main): Call grub_register_core_commands,
-       grub_register_rescue_parser and grub_register_rescue_reader, use
-       grub_reader_loop to enter input loop.
-
-       * kern/parser.c (grub_parser_split_cmdline): Change type of
-       getline parameter.
-       (grub_parser_class): New variable.
-       (grub_parser_execute): New function.
-
-       * loader/i386/multiboot.c: Remove <grub/rescue.h>.
-       * loader/multiboot2.c: Likewise.
-       * loader/sparc64/ieee1275/linux.c: Likewise.
-
-       * util/grub-emu.c (read_command_list): New dummy function.
-
-2009-05-02  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
-       count to 16 for CCISS and IDA.
-
-2009-05-02  Robert Millan  <rmh.grub@aybabtu.com>
-
-       * normal/menu_text.c  (grub_wait_after_message): Print a newline
-       after waiting for user input.
-
-       * loader/i386/linux.c: Include `<grub/normal.h>'.
-       (grub_cmd_linux): Improve the error message about `ask' mode, by
-       waiting for user input so it's not missed (we can do this, since
-       user requested interaction).
-
-2009-05-02  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Added missing lst to grub-mkrescue
-
-       * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
-       and ${input_dir}/parttool.lst
-
-2009-04-30  David S. Miller  <davem@davemloft.net>
-
-       * util/hostdisk.c (device_is_wholedisk): New function.
-       (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
-       zero only if device_is_wholedisk() returns true.
-
-       * util/hostdisk.c (convert_system_partition_to_system_disk):
-       Handle virtual disk devices named /dev/vdiskX as found on sparc
-       and powerpc.
-
-       * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
-       lettered partition specifier is found, convert to numbered.
-
-2009-04-29  David S. Miller  <davem@davemloft.net>
-
-       * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
-       * include/grub/sparc64/ieee1275/memory.h: Likewise.
-
-       * normal/command.c: Add missing newline at end of file.
-
-       * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
-       warnings.
-       * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
-       grub_ofdisk_read): Likewise, and deal similarly with the fact that
-       ihandles have a 32-bit type but need to be stored in a "void *".
-
-2009-04-28  Pavel Roskin  <proski@gnu.org>
-
-       * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
-       not disk.  Adjust all dependencies.
-       (grub_fs_uuid_close): Use grub_device_close(), not
-       grub_disk_close().
 
-       * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
-       parent's partition, don't copy it by reference, as it gets freed
-       on close.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-04-27  Vladimir Serbinenko  <phcoder@gmail.com>
+2019-01-21  Max Tottenham  <mtottenh@akamai.com>
 
-       Preboot hooks support
+       tpm: Fix bug in GRUB2 TPM module
+       The value of tpm_handle changes between successive calls to grub_tpm_handle_find(),
+       as instead of simply copying the stored pointer we end up taking the address of
+       said pointer when using the cached value of grub_tpm_handle.
 
-       * commands/boot.c (struct grub_preboot_t): new declaration
-       (preboots_head): new variable
-       (preboots_tail): likewise
-       (grub_loader_register_preboot_hook): new function
-       (grub_loader_unregister_preboot_hook): likewise
-       (grub_loader_set): launch preboot hooks
-       * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
-       (grub_loader_register_preboot_hook): new declaration
-       (grub_loader_unregister_preboot_hook): likewise
+       This causes grub_efi_open_protocol() to return a nullptr in grub_tpm2_execute()
+       and grub_tpm2_log_event(). Said nullptr goes unchecked and
+       efi_call_5(tpm->hash_log_extend_event,...) ends up jumping to 0x0, Qemu crashes
+       once video ROM is reached at 0xb0000.
 
-2009-04-27  Vladimir Serbinenko  <phcoder@gmail.com>
+       This patch seems to do the trick of fixing that bug, but we should also ensure
+       that all calls to grub_efi_open_protocol() are checked so that we don't start
+       executing low memory.
 
-       Warning fix
+       Reviewed-by: Matthew Garrett <mjg59@google.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * disk/scsi.c (grub_scsi_open): added missing cast when
-       calling grub_dprintf
+2019-01-14  Colin Watson  <cjwatson@ubuntu.com>
 
-2009-04-26  Vladimir Serbinenko  <phcoder@gmail.com>
+       pgp: Fix emu build and tests after pgp module renaming
+       Commit b07feb8746c3bb845e3f0d33d37c0bded704d14d (verifiers: Rename
+       verify module to pgp module) renamed the "verify" module to "pgp", but
+       the GRUB_MOD_INIT and GRUB_MOD_FINI macros were left as "verify", which
+       broke the emu target build; and file_filter_test still referred to the
+       now non-existent "verify" module. Fix both of these.
 
-       Bug and warning fixes
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
-       declaration
-       * commands/test.c (test_parse): fixed bug with file tests and corrected
-       declaration of find_file
+2019-01-14  Peter Große  <pegro@friiks.de>
 
-2009-04-26  Pavel Roskin  <proski@gnu.org>
+       grub-mkconfig/20_linux_xen: Support multiple early initrd images
+       Add support for multiple, shared, early initrd images. These early
+       images will be loaded in the order declared, and all will be loaded
+       before the initrd image.
 
-       * Makefile.in: Don't install empty manual pages if help2man is
-       missing.  Use help2man option for output, not shell redirection.
+       While many classes of data can be provided by early images, the
+       immediate use case would be for distributions to provide CPU
+       microcode to mitigate the Meltdown and Spectre vulnerabilities.
 
-2009-04-26  David S. Miller  <davem@davemloft.net>
+       Xen has also support to load microcode updates provided as additional
+       modules by the bootloader.
 
-       * util/grub-mkdevicemap.c (make_device_map): Add missing
-       NESTED_FUNC_ATTR to process_device().
+       There are two environment variables provided for declaring the early
+       images.
 
-2009-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
+       * GRUB_EARLY_INITRD_LINUX_STOCK is for the distribution declare
+         images that are provided by the distribution or installed packages.
+         If undeclared, this will default to a set of common microcode image
+         names.
 
-       Test command
+       * GRUB_EARLY_INITRD_LINUX_CUSTOM is for user created images. User
+         images will be loaded after the stock images.
 
-       * commands/test.c: rewritten to use bash-like test
+       These separate configurations allow the distribution and user to
+       declare different image sets without clobbering each other.
 
-2009-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Parttool autoloading and improvements
-
-       * Makefile.in (pkglib_DATA): add parttool.lst
-       (parttool.lst): new target
-       * genmk.rb: generate parttool-*
-       (CLEANFILES): add #{parttool}
-       (PARTTOOLFILES): new variable
-       * genparttoollist.sh: new file
-       * parttool/pcpart.c (grub_pcpart_boot): more feedback
-       (grub_pcpart_type): likewise
-       * commands/parttool.c (helpmsg): new variable
-       (grub_cmd_parttool): output help if not enough arguments are supplied
-       autoload modules
-       (GRUB_MOD_INIT(parttool)): use helpmsg
-
-2009-04-24  David S. Miller  <davem@davemloft.net>
-
-       Avoiding opening same device multiple times in device iterator.
-
-       * kern/device.c: (grub_device_iterate): Define struct part_ent,
-       and use it to build a list of partitions in iterate_disk() and
-       iterate_partition().
-
-       * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
-       on disk->data.
-
-       * disk/ieee1275/nand.c (grub_nand_iterate): Return
-       grub_devalias_iterate() result instead of unconditional 0.
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
-       Also, capture hook return value, either directly or via
-       grub_children_iterate(), and propagate to caller.
-       * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
-       grub_children_iterate): Return value is now 'int' instead of
-       'grub_err_t'.
-       * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
-       like a proper iterator, stopping when hooks return non-zero.
-       (grub_devalias_iterate): Likewise.
-
-2009-04-23  David S. Miller  <davem@davemloft.net>
-
-       * kern/sparc64/ieee1275/openfw.c: Unused, delete.
-
-2009-04-22  David S. Miller  <davem@davemloft.net>
-
-       * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
-       is larger than address_cells, use that value for address_cells too.
-
-       * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
-       IEEE1275_MAX_PATH_LEN): Define.
-       * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
-       allocate 'childtype', 'childpath', 'childname', and 'fullname'.
-       (grub_devalias_iterate): Dynamically allocate 'aliasname' and
-       'devtype'.  Explicitly NULL terminate devalias expansion.
-
-       * util/sparc64/ieee1275/misc.c: New file.
-       * util/sparc64/ieee1275/grub-setup.c: New file.
-       * util/sparc64/ieee1275/grub-ofpathname.c: New file.
-       * util/sparc64/ieee1275/grub-mkimage.c: New file.
-       * util/sparc64/ieee1275/grub-install.in: New file.
-       * util/ieee1275/ofpath.c: New file.
-       * util/ieee1275/devicemap.c: New file.
-       * util/devicemap.c: New file.
-       * util/deviceiter.c: New file.
-       * kern/sparc64/ieee1275/init.c: New file.
-       * include/grub/util/ofpath.h: New file.
-       * include/grub/util/deviceiter.h: New file.
-       * util/grub-mkdevicemap.c: Include deviceiter.h.
-       Implement using grub_util_emit_devicemap_entry and
-       grub_util_iterate_devices.
-       * conf/i386-corebook.rmk: Build util/deviceiter.c and
-       util/devicemap.c into grub-mkdevicemap
-       * conf/i386-efi.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Add rules to build boot block
-       images and installation utilities.  Build kernel as image
-       instead of as elf binary.  Use common rules as much as possible.
-
-2009-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Correct GPT definition
-
-       * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
-       of "attrib" member
-
-2009-04-19  Felix Zielcke  <fzielcke@z-51.de>
-
-       * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
-
-2009-04-19  David S. Miller  <davem@davemloft.net>
-
-       * loader/sparc64/ieee1275/linux.c: Include grub/command.h
-       (grub_rescue_cmd_linux): Rename to...
-       (grub_cmd_linux): and fix prototype.
-       (grub_rescue_cmd_initrd): Rename to...
-       (grub_cmd_initrd): and fix prototype.
-       (cmd_linux, cmd_initrd): New.
-       (GRUB_MOD_INIT(linux)): Use grub_register_command().
-       (GRUB_MOD_FINI(linux): Use grub_unregister_command().
-
-2009-04-17  Pavel Roskin  <proski@gnu.org>
-
-       * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
-       format.
-       (grub_ohci_transfer): Likewise.
-
-       * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
-
-       * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
-       return without a value.  Fix inconsistent indentation.
-
-       * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
-       match struct grub_fs.
-
-       * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
-       * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
-       * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
-       * commands/lspci.c (grub_lspci_iter): Likewise.
-
-2009-04-16  Bean  <bean123ch@gmail.com>
-
-       * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
-       value.
-
-2009-04-15  Pavel Roskin  <proski@gnu.org>
-
-       * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
-       LONG_MAX to GRUB_LONG_MAX.  Introduce GRUB_LONG_MIN.  Update all
-       users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
-       definitions.
-
-2009-04-15  Felix Zielcke  <fzielcke@z-51.de>
-
-       * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
-       that no multiple data or metadata areas are supported and `Unknown
-       metadata header'.
-
-2009-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move loader out of the kernel
-
-       * kern/loader.c: moved to ...
-       * commands/boot.c: ... moved here
-       * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
-       * commands/boot.c (grub_cmd_boot): moved here. All users updated
-       * include/grub/kernel.h (grub_machine_fini): export
-       * include/grub/loader.h (grub_loader_is_loaded): update declaration
-       (grub_loader_set): likewise
-       (grub_loader_unset): likewise
-       (grub_loader_boot): likewise
-       * conf/common.rmk: new module boot.mod
-       (pkglib_MODULES): add boot.mod
-       * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
-       (grub_emu_SOURCES): likewise
-       * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
-       (grub_emu_SOURCES): likewise
-       * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
-       (grub_emu_SOURCES): likewise
-       * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
-       (grub_emu_SOURCES): likewise
-       * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
-       (grub_emu_SOURCES): likewise
-       * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
-       (grub_emu_SOURCES): likewise
-       * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
-       (grub_emu_SOURCES): likewise
-
-2009-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
-
-       * kern/misc.c (grub_itoa): Removed function
-       (grub_ltoa): likewise
-       (grub_vsprintf): use grub_lltoa
-
-2009-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Restore grub-emu
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
-       * conf/i386-coreboot.rmk: likewise
-       * conf/i386-ieee1275.rmk: likewise
-       * conf/powerpc-ieee1275.rmk: likewise
-
-2009-04-15  Felix Zielcke  <fzielcke@z-51.de>
-
-       * INSTALL: Add that `./autogen.sh' needs to be run before
-       `./configure.'.
-
-2009-04-14  Bean  <bean123ch@gmail.com>
-
-       * Makefile.in (pkglib_DATA): Add handler.lst.
-       (handler.lst): New rule.
-
-       * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
-       * conf/i386-coreboot.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-
-       * genhandlerlist.sh: New file.
-
-       * genmk.rb: Add rules to generate handler.lst.
-
-       * include/grub/normal.h (grub_file_getline): New function definition.
-       (read_handler_list): Likewise.
-       (free_handler_list): Likewise.
-
-       * include/grub/term.h (grub_term_register_input): Add name parameter
-       for auto generation of handler.lst.
-       (grub_term_register_output): Likewise.
-
-       * normal/handler.c: New file.
-
-       * normal/main.c (get_line): Renamed to grub_file_getline.
-       (read_config_file): Use the newly renamed grub_file_getline.
-       (read_command_list): Likewise.
-       (read_fs_list): Likewise.
-       (grub_normal_execute): Call read_handler_list to parse handler.lst.
-       (GRUB_MOD_FINI): Call free_handler_list to free handler list.
-
-       * term/efi/console.c (grub_console_init): Add name parameter for auto
-       generation of handler.lst.
-       * term/gfxterm.c: Likewise.
-       * term/i386/pc/at_keyboard.c: Likewise.
-       * term/i386/pc/console.c: Likewise.
-       * term/i386/pc/serial.c: Likewise.
-       * term/i386/pc/vesafb.c: Likewise.
-       * term/i386/pc/vga.c: Likewise.
-       * term/i386/pc/vga_text.c: Likewise.
-       * term/ieee1275/ofconsole.c: Likewise.
-       * term/usb_keyboard.c: Likewise.
-
-2009-04-14  Bean  <bean123ch@gmail.com>
-
-       * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
-       properly with null character.
-
-2009-04-14  Felix Zielcke  <fzielcke@z-51.de>
-
-       * configure: Remove.
-       * config.h.in: Likewise.
-       * stamp-h.in: Likewise.
-       * DISTLIST: Likewise.
-       * conf/common.mk: Likewise.
-       * conf/i386-coreboot.mk: Likewise.
-       * conf/i386-efi.mk: Likewise.
-       * conf/i386-ieee1275.mk: Likewise.
-       * conf/i386.mk: Likewise.
-       * conf/i386-pc.mk: Likewise.
-       * conf/powerpc-ieee1275.mk: Likewise.
-       * conf/sparc64-ieee1275.mk: Likewise.
-       * conf/x86_64-efi.mk: Likewise.
-
-       * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
-       develop on GRUB.
-
-2009-04-14  John Stanley  <jpsinthemix@verizon.net>
-           David S. Miller  <davem@davemloft.net>
-
-       * util/hostdisk.c (make_device_name): Fix buffer length
-       calculations.
-
-2009-04-14  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
-       <sys/param.h> and <sys/sysctl.h>.
-       (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
-       to add 0x10 to `kern.geom.debugflags' if it's not already set, before
-       opening the device and reset them afterwards.
-
-2009-04-13  Pavel Roskin  <proski@gnu.org>
-
-       * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
-       Reported by John Stanley <jpsinthemix@verizon.net>
-
-2009-04-13  Robert Millan  <rmh@aybabtu.com>
-
-       * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
-       that name for menuentries when appropriate.
-
-2009-04-13  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/grub.d/10_freebsd.in: Add a missing `fi'.
-
-2009-04-13  Robert Millan  <rmh@aybabtu.com>
-
-       * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
-       to Linux, simply abort telling the user it's no longer supported.
-
-2009-04-13  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
-       doesn't exist.  Check also for /boot/kernel/kernel.gz.  Print
-       `freebsd_loadenv' only when devices.hints exist.
-
-2009-04-13  Pavel Roskin  <proski@gnu.org>
-
-       * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
-
-2009-04-13  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/i386/pc/grub-install.in (install_drive): Remove the BSD
-       partition number.
-       (grub_drive): Likewise.
-
-2009-04-13  David S. Miller  <davem@davemloft.net>
-
-       * kern/sparc64/ieee1275/ieee1275.c: New file.
-       * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
-       IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
-       IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
-       IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
-       (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
-       grub_ieee1275_alloc_physmem): Declare new exported functions.
-
-       * include/grub/sparc64/ieee1275/loader.h: New file.
-       * include/grub/sparc64/ieee1275/memory.h: Likewise.
-       * include/grub/sparc64/kernel.h: Likewise.
-       * loader/sparc64/ieee1275/linux.c: Likewise.
-
-       * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
-       (grub_fstest_SOURCES): Likewise.
-
-       * util/hostdisk.c (make_device_name): Do not make any assumptions
-       about the length of drive names.
-
-       * kern/dl.c (grub_dl_load_file): Close file immediately when
-       we are done using it.
-
-2009-04-12  David S. Miller  <davem@davemloft.net>
-
-       * kern/misc.c (grub_ltoa): Fix cast when handling negative
-       values.  Noticed by Pavel Roskin.
-
-       * configure.ac: Check for __bswapsi2 and__bswapdi2 using
-       target compiler.
-
-       * genmk.rb: Add more flexible image type specification, also
-       pass --strip-unneeded to objcopy.
-       * conf/i386-pc.rmk: Use *_FORMAT.
-       * conf/i386-pc.mk: Rebuilt.
-
-       * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
-       (OFDISK_HASH_SZ): Define.
-       (ofdisk_hash): New hash table.
-       (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
-       (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
-       instead of device phandle which is not unique.
-
-       * kern/sparc64/ieee1275/init.c: Delete, replace with...
-       * kern/sparc64/ieee1275/crt0.S: assembler implementation.
-       * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
-       (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
-       GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
-       GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
-       GRUB_KERNEL_MACHINE_DATA_END): Define.
-       (grub_kernel_image_size, grub_total_module_size): Declare.
-
-2009-04-12  Pavel Roskin  <proski@gnu.org>
-
-        * configure.ac: Change the logic when we check for target tools.
-        Do it when the target is specified and it's different from the
-        specified value of the host.
-
-2009-04-11  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
-       (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
-       GNU/kFreeBSD. Check if a device is a character device. Use
-       DIOCGMEDIASIZE to get the size.
-       (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
-       support for GNU/kFreeBSD.
-       (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
-       is a character device instead of a block device. Add support for
-       FreeBSD device names.
-
-       * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
-       is a character device instead of a block device.
-
-       * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
-       is a character device instead of a block device.
-
-2009-04-11  Andrey Shuvikov  <mr_hyro@yahoo.com>
-
-       * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
-       (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
-       FreeBSD. Check if a device is a character device. Use
-       DIOCGMEDIASIZE to get the size.
-       (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
-       support for FreeBSD.
-       (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
-       is a character device instead of a block device. Add support for
-       FreeBSD device names.
-
-       * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
-       a character device instead of a block device.
-       (grub_util_check_char_device): New function.
-
-       * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
-       a character device instead of a block device.
-
-       * include/grub/util/getroot.h (grub_util_check_char_device): New
-       prototype.
-
-2009-04-11  David S. Miller  <davem@davemloft.net>
-
-       * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
-       static libgcc.
-       * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
-       * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
-       function, if present.
-       (__bswapdi2): Likewise.
-
-       * include/grub/sparc64/ieee1275/boot.h: New file.
-       * boot/sparc64/ieee1275/boot.S: Likewise.
-       * boot/sparc64/ieee1275/diskboot.S: Likewise.
-
-       * kern/misc.c (grub_ltoa): New function.
-       (grub_vsprintf): Use it to format 'long' integers.
-
-2009-04-10  David S. Miller  <davem@davemloft.net>
-
-       * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
-       slots are of type grub_ieee1275_cell_t.
-       (grub_nand_read): Likewise.
-       * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
-       IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
-       macros are used to compare values in arg/ret block of the call.
-       (grub_ieee1275_finddevice, grub_ieee1275_get_property,
-       grub_ieee1275_next_property, grub_ieee1275_get_property_length,
-       grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
-       grub_ieee1275_instance_to_path, grub_ieee1275_write,
-       grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
-       grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
-       grub_ieee1275_close, grub_ieee1275_set_property,
-       grub_ieee1275_set_color): All ieee1275 call arg slots are of type
-       grub_ieee1275_cell_t.
-       * kern/ieee1275/openfw.c (grub_map): Likewise.
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
-       grub_ieee1275_phandle_t): Define as grub_unit32_t type.
-
-       * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
-       * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
-       (grub_devalias_iterate): Likewise.
-
-2009-04-10  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       UFS improvements
-
-       * fs/ufs.c (INODE_NBLOCKS): new definition
-       (struct grub_ufs_dirent): added fields for non-BSD dirents
-       (grub_ufs_get_file_block): fixed double indirect handling
-       (grub_ufs_lookup_symlink): use more robust way to determine whether
-       symlink is inline
-       (grub_ufs_find_file): support for non-BSD dirents
-       (grub_ufs_dir): support for non-BSD dirents
-
-2009-04-10  Bean  <bean123ch@gnail.com>
-
-       * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
-       attribute, otherwise the size would be wrong for i386 platform.
-
-       * include/grub/pci.h (grub_pci_read_word): New inline function.
-       (grub_pci_read_byte): Likewise.
-       (grub_pci_write): Likewise.
-       (grub_pci_write_word): Likewise.
-       (grub_pci_write_byte): Likewise.
-
-       * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
-
-       * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
-       (find_framebuf): Scan pci to locate the frame buffer address.
-
-       * commands/efi/fixvideo.c: New file.
-
-       * commands/efi/loadbios.c: Likewise.
-
-       * commands/memrw.c: Likewise.
-
-       * util/grub-dumpbios.in: Likewise.
-
-       * conf/common.rmk (grub-dumpbios): New utility.
-       (pkglib_MODULES): New module memrw.mod.
-       (memrw_mod_SOURCE): New macro.
-       (memrw_mod_CFLAGS): Likewise.
-       (memrw_mod_LDFLAGS): Likewise.
-
-       * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
-       fixvideo.mod.
-       (loadbios_mod_SOURCE): New macro.
-       (loadbios_mod_CFLAGS): Likewise.
-       (loadbios_mod_LDFLAGS): Likewise.
-       (fixvideo_mod_SOURCE): Likewise.
-       (fixvideo_mod_CFLAGS): Likewise.
-       (fixvideo_mod_LDFLAGS): Likewise.
-
-       * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
-       fixvideo.mod.
-       (loadbios_mod_SOURCE): New macro.
-       (loadbios_mod_CFLAGS): Likewise.
-       (loadbios_mod_LDFLAGS): Likewise.
-       (fixvideo_mod_SOURCE): Likewise.
-       (fixvideo_mod_CFLAGS): Likewise.
-       (fixvideo_mod_LDFLAGS): Likewise.
-
-2009-04-08  Felix Zielcke  <fzielcke@z-51.de>
-
-       * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
-
-2009-04-07  David S. Miller  <davem@davemloft.net>
-
-       * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
-       support for R_SPARC_OLO10 relocations.  Fix compile warning for
-       R_SPARC_WDISP30 case.
-       * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
-
-2009-04-06  Pavel Roskin  <proski@gnu.org>
-
-       * include/grub/misc.h (ARRAY_SIZE): New macro.
-       * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
-       New macro.
-       * loader/i386/linux.c (allocate_pages): Use free_pages().
-       (grub_linux_unload): Don't use free_pages().
-       (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
-       wrong index.  Treat all other modes as text modes.
-       (grub_cmd_linux): Initialize vid_mode unconditionally to
-       GRUB_LINUX_VID_MODE_NORMAL.  Recognize and support "vga=ask".
-
-       * commands/help.c (print_command_help): Use cmd->prio, not
-       cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
-
-2009-04-06  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Parttool
-
-       * parttool/pcpart.c: new file
-       * commands/parttool.c: likewise
-       * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
-       (parttool_mod_SOURCES): new variable
-       (parttool_mod_CFLAGS): likewise
-       (parttool_mod_LDFLAGS): likewise
-       (pcpart_mod_SOURCES): likewise
-       (pcpart_mod_CFLAGS): likewise
-       (pcpart_mod_LDFLAGS): likewise
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
-       and parttool/pcpart.c
-       * conf/i386-efi.rmk: likewise
-       * conf/i386-ieee1275.rmk: likewise
-       * conf/i386-pc.rmk: likewise
-       * conf/powerpc-ieee1275.rmk: likewise
-       * conf/sparc64-ieee1275.rmk: likewise
-       * conf/x86_64-ieee1275.rmk: likewise
-
-2009-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Support for mtime and further expandability of dir command
-
-       * include/grub/lib/datetime.h: moved to ...
-       * include/grub/datetime.h: ... moved here and added
-       declaration of grub_unixtime2datetime. All users updated
-       * include/grub/fs.h: new syntax for dir and mtime functions in
-       struct grub_fs
-       * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
-       and GRUB_FSHELP_FLAGS_MASK
-       * commands/ls.c (grub_ls_list_files): Write mtime in long format
-       * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
-       (grub_ext2_mtime): new function
-       * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
-       (grub_hfsplus_mtime): new function
-       * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
-       (GRUB_UFS_ATTR_FILE): likewise
-       (GRUB_UFS_ATTR_LNK): likewise
-       (struct grub_ufs_sblock): new fields mtime
-       (grub_ufs_read_inode): new parameter to read inode to a separate buffer
-       all users updated
-       (grub_ufs_dir): mtime support
-       (grub_ufs_mtime): new function
-       * fs/affs.c (grub_affs_dir): use new dir syntax
-       * fs/afs.c (grub_afs_dir): likewise
-       * fs/cpio.c (grub_cpio_dir): likewise
-       * fs/fat.c (grub_fat_find_dir): likewise
-       * fs/hfs.c (grub_hfs_dir): likewise
-       * fs/iso9660.c (grub_iso9660_dir): likewise
-       * fs/jfs.c (grub_jfs_dir): likewise
-       * fs/minix.c (grub_minix_dir): likewise
-       * fs/ntfs.c (grub_ntfs_dir): likewise
-       * fs/reiserfs.c (grub_reiserfs_dir): likewise
-       * fs/sfs.c (grub_sfs_dir): likewise
-       * fs/xfs.c (grub_xfs_dir): likewise
-       * util/hostfs.c (grub_hostfs_dir): likewise
-       * lib/datetime.c: moved to ...
-       * normal/datetime.c: ... moved here
-       (grub_unixtime2datetime): new function
-       * kern/rescue.c (grub_rescue_print_files): use new dir syntax
-       * normal/completion.c (iterate_dir): use new dir syntax
-       * normal/misc.c (grub_normal_print_device_info): tell the
-       last modification time of a volume
-       * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
-       * conf/common.rmk: added lib/datetime.c to ls.mod
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
-       (normal_mod_SOURCES): likewise
-       (datetime_mod_SOURCES): Removed lib/datetime.c
-       * conf/i386-efi.rmk: likewise
-       * conf/i386-ieee1275.rmk: likewise
-       * conf/i386-pc.rmk: likewise
-       * conf/powerpc-ieee1275.rmk: likewise
-       * conf/sparc64-ieee1275.rmk: likewise
-       * conf/x86_64-efi.rmk: likewise
-
-2009-04-05  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Trim trailing spaces in FAT label and support mtools-like labels
-
-       * fs/fat.c (grub_fat_iterate_dir): New function based
-       on grub_fat_find_dir
-       (grub_fat_find_dir): use grub_fat_iterate_dir
-       (grub_fat_label): likewise
-
-2009-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
-       and command.h
-       remove extraneous kernel_elf_HEADERS
-
-2009-04-04  Bean  <bean123ch@gnail.com>
-
-       * include/grub/util/misc.h: Add dummy function fsync for mingw.
-
-       * util/misc.c: Likewise.
-
-2009-04-04  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
-       instead of grub_printf.
-
-2009-04-03  Robert Millan  <rmh@aybabtu.com>
-
-       * loader/i386/linux.c (grub_linux_setup_video): Fill
-       `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
-       values from `mode info' structure instead of hardcoded
-       values.
-
-2009-04-01  Pavel Roskin  <proski@gnu.org>
-
-       * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
-       unused now.
-       * genmk.rb: Likewise.
-       * configure.ac: Likewise.
-
-2009-04-01  Manoel Abranches  <mrabran@linux.vnet.ibm.com>
-
-       * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
-       TARGET_LDFLAGS.  This corrects a problem with grub-mkelfimage.
-
-2009-04-01  David S. Miller  <davem@davemloft.net>
-
-       * normal/sparc64/setjmp.S: Fix setjmp implementation.
-       * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
-       (grub_setjmp): Mark with 'returns_twice' attribute.
-       * include/grub/i386/setjmp.h (grub_setjmp): Likewise
-       * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
-       * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
-
-2009-04-01  Robert Millan  <rmh@aybabtu.com>
-
-       Reapply fix from 2008-07-28 which was accidentally reverted; also
-       perform the same fix to a similar check in same function.
-
-       * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
-       with the same number are found, just use issue a warning with
-       grub_dprintf(), as this error has been reported to be non-fatal.
-
-2009-03-31  Pavel Roskin  <proski@gnu.org>
-
-       * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
-       for cross-compilation.
-
-2009-03-30  Robert Millan  <rmh@aybabtu.com>
-
-       Fix i386-ieee1275 build.
-
-       * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
-       Remove declaration.
-
-2009-03-30  Pavel Roskin  <proski@gnu.org>
-
-       * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
-       (grub_hfs_cmp_catkeys): ... this.  Don't assume strings to be
-       zero-terminated, rely only on the strlen value.  Fix comparison
-       of strings differing in length.
-
-2009-03-30  Robert Millan  <rmh@aybabtu.com>
-
-       * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
-       checking for abi version.  Improve error messages on BIOS to notify
-       user about `linux16' command.
-
-2009-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Leak fixes
-
-       * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
-       in case of collision
-       * disk/scsi.c (grub_scsi_open): free scsi in case of error
-
-2009-03-29  Robert Millan  <rmh@aybabtu.com>
-
-       * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
-       set `vid_mode' accordingly.
-       (grub_linux_boot): Process `vid_mode' and set video mode.
+       This also makes a minor update to ensure that UUID partition labels
+       stay disabled when no initrd image is found, even if early images are
+       present.
 
-2009-03-29  Robert Millan  <rmh@aybabtu.com>
+       This is basically a copy of a698240d "grub-mkconfig/10_linux: Support
+       multiple early initrd images" by Matthew S. Turnbull.
 
-       * util/grub.d/10_linux.in (linux_entry): New function.
-       Factorize generation of Linux boot entries.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-03-29  Yoshinori K. Okuji  <okuji@enbug.org>
+2019-01-14  Heinrich Schuchardt  <xypron.glpk@gmx.de>
 
-       Make the format of Environment Block plain text. The boot loader
-       part is not tested well yet.
-
-       * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
-       (buffer): Removed.
-       (envblk): Likewise.
-       (usage): Remove "info" and "clear". Add "unset". Update the
-       description of "set", as this does not delete variables any
-       longer.
-       (create_envblk_file): Complete rewrite.
-       (open_envblk_file): Likewise.
-       (cmd_info): Removed.
-       (cmd_list): Likewise.
-       (cmd_set): Likewise.
-       (cmd_clear): Likewise.
-       (list_variables): New function.
-       (write_envblk): Likewise.
-       (set_variables): Likewise.
-       (unset_variables): Likewise.
-       (main): Complete rewrite.
-
-       * commands/loadenv.c (buffer): Removed.
-       (envblk): Likewise.
-       (open_envblk_file): New function.
-       (read_envblk_file): Complete rewrite.
-       (grub_cmd_load_env): Likewise.
-       (grub_cmd_list_env): Likewise.
-       (struct blocklist): New struct.
-       (free_blocklists): New function.
-       (check_blocklists): Likewise.
-       (write_blocklists): Likewise.
-       (grub_cmd_save_env): Complete rewrite.
-
-       * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
-       a plain text signature.
-       (GRUB_ENVBLK_MAXLEN): Removed.
-       (struct grub_envblk): Complete rewrite.
-       (grub_envblk_find): Removed.
-       (grub_envblk_insert): Likewise.
-       (grub_envblk_open): New prototype.
-       (grub_envblk_set): Likewise.
-       (grub_envblk_delete): Put const to VALUE.
-       (grub_envblk_iterate): Put const to NAME and VALUE.
-       (grub_envblk_close): New prototype.
-       (grub_envblk_buffer): New inline function.
-       (grub_envblk_size): Likewise.
-
-       * lib/envblk.c: Include grub/mm.h.
-       (grub_env_find): Removed.
-       (grub_envblk_open): New function.
-       (grub_envblk_close): Likewise.
-       (escaped_value_len): Likewise.
-       (find_next_line): Likewise.
-       (grub_envblk_insert): Removed.
-       (grub_envblk_set): New function.
-       (grub_envblk_delete): Complete rewrite.
-       (grub_envblk_iterate): Likewise.
-
-2009-03-28  Robert Millan  <rmh@aybabtu.com>
-
-       * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
-       (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
-       variables.  Use 16-bit loader.
-       (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
-       loader.
-       * kern/i386/loader.S (grub_linux_boot): Rename to ...
-       (grub_linux16_boot): ... this.  Update all users.
-       * loader/i386/linux.c (grub_linux32_boot): Rename to ...
-       (grub_linux_boot): ... this.  Update all users.
-
-       * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
-       (GRUB_MOD_INIT(linux16)): ... this.  Rename `linux' and `initrd'
-       commands to `linux16' and `initrd16'.
-       (GRUB_MOD_FINI(linux)): Rename to ...
-       (GRUB_MOD_FINI(linux16)): ... this.
-
-2009-03-24  Pavel Roskin  <proski@gnu.org>
-
-       * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
-       not just for compilation.
-
-2009-03-22  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Move multiboot helper out of kernel
-
-       * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
-       `loader/i386/multiboot_helper.S'.
-       * conf/i386-coreboot.rmk: Likewise
-       * conf/i386-ieee1275.rmk: Likewise
-
-       * kern/i386/loader.S: Move multiboot helpers from here...
-       * loader/i386/multiboot_helper.S: ...moved here
-       * include/grub/i386/loader.h: Move declarations of multiboot
-       helpers from here...
-       * include/grub/i386/multiboot.h: ...moved here
-       * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
-
-2009-03-22  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * kern/env.c (grub_env_context_open): Added an argument to specify
-       whether a new context inherits exported variables from current
-       one. This is useful when making a sandbox to interpret a config
-       file.
-       All callers updated.
-
-       * include/grub/env.h (grub_env_context_open): Updated the prototype.
-
-2009-03-22  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * kern/env.c (grub_env_context_close): Fix memory leaks.
-
-2009-03-22  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * normal/main.c (grub_normal_execute): Added an argument
-       BATCH to specify if an interactive interface should be provided
-       after reading a config file.
-       All callers updated.
-       (read_command_list): Prevent being executed twice.
-       (read_fs_list): Likewise.
-
-       * include/grub/normal.h (grub_normal_execute): Updated the
-       prototype.
-
-2009-03-22  Pavel Roskin  <proski@gno.org>
-
-       * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
-       _start.
-       * kern/i386/pc/startup.S: Likewise.
-       * kern/i386/efi/startup.S: Likewise.
-       * kern/i386/ieee1275/startup.S: Likewise.
-       * kern/i386/coreboot/startup.S: Likewise.
-       * kern/x86_64/efi/startup.S: Likewise.
-
-       * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
-       * configure.ac: Don't call grub_CHECK_START_SYMBOL.
-       * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
-
-2009-03-21  Vladimir Serbinenko  <phcoder@gmail.com>
-
-       Bugfixes in multiboot for bugs uncovered by solaris kernel.
-
-       * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
-       limit detection.
-       Use vaddr of correct segment for entry_point.
-
-2009-03-21  Bean  <bean123ch@gmail.com>
-
-       * commands/blocklist.c: Add include file <grub/command.h>, remove
-       <grub/normal.h> and <grub/arg.h>.
-       (grub_cmd_blocklist): Use the new command interface.
-       (GRUB_MOD_INIT): Likewise.
-       (GRUB_MOD_FINI): Likewise.
-       * commands/boot.c: Likewise.
-       * commands/cat.c: Likewise.
-       * commands/cmp.c: Likewise.
-       * commands/configfile.c: Likewise.
-       * commands/crc.c: Likewise.
-       * commands/echo.c: Likewise.
-       * commands/halt.c: Likewise.
-       * commands/handler.c: Likewise.
-       * commands/hdparm.c: Likewise.
-       * commands/help.c: Likewise.
-       * commands/hexdump.c: Likewise.
-       * commands/loadenv.c: Likewise.
-       * commands/ls.c: Likewise.
-       * commands/lsmmap.c: Likewise.
-       * commands/lspci.c: Likewise.
-       * commands/loadenv.c: Likewise.
-       * commands/read.c: Likewise.
-       * commands/reboot.c: Likewise.
-       * commands/search.c: Likewise.
-       * commands/sleep.c: Likewise.
-       * commands/test.c: Likewise.
-       * commands/usbtest.c: Likewise.
-       * commands/videotest.c: Likewise.
-       * commands/i386/cpuid.c: Likewise.
-       * commands/i386/pc/halt.c: Likewise.
-       * commands/i386/pc/play.c: Likewise.
-       * commands/i386/pc/pxecmd.c: Likewise.
-       * commands/i386/pc/vbeinfo.c: Likewise.
-       * commands/i386/pc/vbetest.c: Likewise.
-       * commands/ieee1275/suspend.c: Likewise.
-       * disk/loopback.c: Likewise.
-       * font/font_cmd.c: Likewise.
-       * hello/hello.c: Likewise.
-       * loader/efi/appleloader.c: Likewise.
-       * loader/efi/chainloader.c: Likewise.
-       * loader/i386/bsd.c: Likewise.
-       * loader/i386/efi/linux.c: Likewise.
-       * loader/i386/ieee1275/linux.c: Likewise.
-       * loader/i386/linux.c: Likewise.
-       * loader/i386/pc/chainloader.c: Likewise.
-       * loader/i386/pc/linux.c: Likewise.
-       * loader/powerpc/ieee1275/linux.c: Likewise.
-       * loader/multiboot_loader.c: Likewise.
-       * term/gfxterm.c: Likewise.
-       * term/i386/pc/serial.c: Likewise.
-       * term/terminfo.c: Likewise.
-
-       * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
-       * term/i386/pc/vga.c: Likewise.
-       * video/readers/jpeg.c: Likewise.
-       * video/readers/png.c: Likewise.
-       * video/readers/tga.c: Likewise.
-
-       * util/grub-fstest (cmd_loopback): Removed.
-       (cmd_blocklist): Likewise.
-       (cmd_ls): Likewise.
-       (grub_register_command): Likewise.
-       (grub_unregister_command): Likewise.
-       (execute_command): Use grub_command_find to locate command and execute
-       it.
-
-       * include/grub/efi/chainloader.h: Removed.
-       * loader/efi/chainloader_normal.c: Likewise.
-       * loader/i386/bsd_normal.c: Likewise.
-       * loader/i386/pc/chainloader_normal.c: Likewise.
-       * loader/i386/pc/multiboot_normal.c: Likewise.
-       * loader/linux_normal.c: Likewise.
-       * loader/multiboot_loader_normal.c: Likewise.
-       * loader/powerpc/ieee1275/linux_normal.c: Likewise.
-
-       * gencmdlist.sh: Scan new registration command grub_register_extcmd
-       and grub_register_command_p1.
-
-       * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
-       kern/command.c, lib/arg.c and commands/extcmd.c.
-       (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
-       (minicmd_mod_SOURCES): New variable.
-       (minicmd_mod_CFLAGS): Likewise.
-       (minicmd_mod_LDFLAGS): Likewise.
-       (extcmd_mod_SOURCES): Likewise.
-       (extcmd_mod_CFLAGS): Likewise.
-       (extcmd_mod_LDFLAGS): Likewise.
-       (boot_mod_SOURCES): Removed.
-       (boot_mod_CFLAGS): Likewise.
-       (boot_mod_LDFLAGS): Likewise.
-
-       * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
-       kern/corecmd.c.
-       (kernel_img_HEADERS): Add command.h.
-       (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
-       commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
-       and lib/arg.c.
-       (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
-       _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
-       remove the corresponding normal mode command.
-       (normal_mod_SOURCES): Remove normal/arg.c.
-       * conf/i386-coreboot.rmk: Likewise.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-
-       * include/grub/arg.h: Move from here ...
-       * include/grub/lib/arg.h: ... to here.
-
-       * normal/arg.c: Move from here ...
-       * lib/arg.c: ... to here.
-
-       * commands/extcmd.c: New file.
-       * commands/minicmd.c: Likewise.
-       * include/grub/command.h: Likewise.
-       * include/grub/extcmd.h: Likewise.
-       * kern/command.c: Likewise.
-       * kern/corecmd.c: Likewise.
-
-       * kern/list.c (grub_list_iterate): Return int instead of void.
-       (grub_list_insert): New function.
-       (grub_prio_list_insert): Likewise.
-
-       * kern/rescue.c (grub_rescue_command): Removed.
-       (grub_rescue_command_list): Likewise.
-       (grub_rescue_register_command): Likewise.
-       (grub_rescue_unregister_command): Likewise.
-       (grub_rescue_cmd_boot): Move to minicmd.c
-       (grub_rescue_cmd_help): Likewise.
-       (grub_rescue_cmd_info): Likewise.
-       (grub_rescue_cmd_boot): Likewise.
-       (grub_rescue_cmd_testload): Likewise.
-       (grub_rescue_cmd_dump): Likewise.
-       (grub_rescue_cmd_rmmod): Likewise.
-       (grub_rescue_cmd_lsmod): Likewise.
-       (grub_rescue_cmd_exit): Likewise.
-       (grub_rescue_print_devices): Moved to corecmd.c.
-       (grub_rescue_print_files): Likewise.
-       (grub_rescue_cmd_ls): Likewise.
-       (grub_rescue_cmd_insmod): Likewise.
-       (grub_rescue_cmd_set): Likewise.
-       (grub_rescue_cmd_unset): Likewise.
-       (attempt_normal_mode): Use grub_command_find to get normal module.
-       (grub_enter_rescue_mode): Use grub_register_core_commands to register
-       commands, remove grub_rescue_register_command calls.
-
-       * normal/command.c (grub_register_command): Removed.
-       (grub_unregister_command): Likewise.
-       (grub_command_find): Likewise.
-       (grub_iterate_commands): Likewise.
-       (rescue_command): Likewise.
-       (export_command): Moved to corecmd.c.
-       (set_command): Removed.
-       (unset_command): Likewise.
-       (insmod_command): Likewise.
-       (rmmod_command): Likewise.
-       (lsmod_command): Likewise.
-       (grub_command_init): Likewise.
-
-       * normal/completion.c (iterate_command): Use cmd->prio to check for
-       active command.
-       (complete_arguments): Use grub_extcmd_t structure to find options.
-       (grub_normal_do_completion): Change function grub_iterate_commands to
-       grub_command_iterate.
-
-       * normal/execute.c (grub_script_execute_cmd): No need to parse
-       argument here.
-
-       * normal/main.c (grub_dyncmd_dispatcher): New function.
-       (read_command_list): Register unload commands as dyncmd.
-       (grub_cmd_normal): Use new command interface, register rescue,
-       unregister normal at entry, register normal, unregister rescue at exit.
-
-       * include/grub/list.h (grub_list_test_t): New type.
-       (grub_list_iterate): Return int instead of void.
-       (grub_list_insert): New function.
-       (GRUB_AS_NAMED_LIST_P): New macro.
-       (GRUB_AS_PRIO_LIST): Likewise.
-       (GRUB_AS_PRIO_LIST_P): Likewise.
-       (GRUB_PRIO_LIST_PRIO_MASK): New constant.
-       (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
-       (grub_prio_list): New structure.
-       (grub_prio_list_insert): New function.
-       (grub_prio_list_remove): New inline function.
-
-       * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
-       (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
-       (GRUB_COMMAND_FLAG_MENU): Likewise.
-       (GRUB_COMMAND_FLAG_BOTH): Likewise.
-       (GRUB_COMMAND_FLAG_TITLE): Likewise.
-       (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
-       (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
-       (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
-       (grub_command): Likewise.
-       (grub_register_command): Likewise.
-       (grub_command_find): Likewise.
-       (grub_iterate_commands): Likewise.
-       (grub_command_init): Likewise.
-       (grub_arg_parse): Likewise.
-       (grub_arg_show_help): Likewise.
-
-       * include/grub/rescue.h (grub_rescue_register_command): Removed.
-       (grub_rescue_unregister_command): Likewise.
-
-       * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
-       grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
-       grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
-
-       * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
-       grub_rescue_cmd_initrd.
-       * include/grub/i386/loader.h: Likewise.
-       * include/grub/x86_64/loader.h: Likewise.
-
-       * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
-
-2009-03-21  Bean  <bean123ch@gmail.com>
-
-       * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
-       instead of stat in mingw environment.
-
-       * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
-
-       * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
-
-       * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
-       AC_CONFIG_LINKS.
-
-2009-03-21  Bean  <bean123ch@gmail.com>
+       grub-core/loader/efi/fdt.c: Do not copy random memory
+       We should not try to copy any memory area which is outside of the original
+       fdt. If this extra memory is controlled by a hypervisor this might end
+       with a crash.
 
-       * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
-       out of range error.
+       Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-03-18  Michel Dänzer  <michel@daenzer.net>
+2018-12-12  Matthew Garrett  <matthewgarrett@google.com>
 
-       * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
-       checking inode flags for EXT4_EXTENTS_FLAG.
+       verifiers: Add TPM documentation
+       Describe the behaviour of GRUB when the TPM module is in use.
 
-2009-03-18  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/linux.c: Include `<grub/video.h>' and
-       `<grub/i386/pc/vbe.h>'..
-       (grub_linux_setup_video): New function.  Loosely based on the EFI one.
-       (grub_linux32_boot): Attempt to configure video settings with
-       grub_linux_setup_video().
-       (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
-       to avoid grub_console_fini() which would step out of graphical mode
-       unconditionally.
+2018-12-12  Matthew Garrett  <mjg59@google.com>
 
-2009-03-14  Robert Millan  <rmh@aybabtu.com>
+       verifiers: Core TPM support
+       Add support for performing basic TPM measurements. Right now this only
+       supports extending PCRs statically and only on UEFI. In future we might
+       want to have some sort of mechanism for choosing which events get logged
+       to which PCRs, but this seems like a good default policy and we can wait
+       to see whether anyone  has a use case before adding more complexity.
 
-       Fix build on powerpc.
-       * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-03-12  Vladimir Serbinenko  <phcoder@gmail.com>
+2018-12-12  Matthew Garrett  <mjg59@google.com>
 
-       * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
-       background image command.
+       verifiers: Verify commands executed by grub
+       Pass all commands executed by GRUB to the verifiers layer. Most verifiers will
+       ignore this, but some (such as the TPM verifier) want to be able to measure and
+       log each command executed in order to ensure that the boot state is as expected.
 
-2009-03-12  Colin D Bennett  <colin@gibibit.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
-       (grub_gfxterm_putchar): Extract pairs of identical calls to
-       draw_cursor out of conditional blocks.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-2009-03-11  Pavel Roskin  <proski@gnu.org>
+       xen_pvh: Add support to configure
+       Support platform i386/xen_pvh in configure.
 
-       * fs/hfs.c (grub_hfs_strncasecmp): New function.
-       (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-2009-03-11  Robert Millan  <rmh@aybabtu.com>
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-       * loader/i386/multiboot_elfxx.c
-       (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
+       xen_pvh: Support grub-install for xen_pvh
+       Add xen_pvh support to grub-install.
 
-2009-03-11  Felix Zielcke  <fzielcke@z-51.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
-       `kern/handler.c'.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-2009-03-11  Robert Millan  <rmh@aybabtu.com>
+       xen_pvh: Support building a standalone image
+       Support mkimage for xen_pvh.
 
-       * loader/i386/multiboot.c (code_size): New variable.
-       (grub_multiboot): Define offsets by adding to `code_size' rather
-       than subtracting from `grub_multiboot_payload_size'.  Provide
-       4-byte alignment to MBI and others by increasing
-       `boot_loader_name_length' appropriately.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * loader/i386/multiboot_elfxx.c
-       (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-2009-03-09  Felix Zielcke  <fzielcke@z-51.de>
+       xen: Use elfnote defines instead of plain numbers
+       In order to avoid using plain integers for the ELF notes use the
+       available Xen include instead.
 
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
-       `fs/ext2.c'.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-2009-03-08  Robert Millan  <rmh@aybabtu.com>
+2018-12-12  Hans van Kranenburg  <hans@knorrie.org>
 
-       Make loader/i386/linux.c usable on i386-pc again.
+       grub-module-verifier: Ignore all_video for xen_pvh
+       This solves the build failing with "Error: no symbol table and no
+       .moddeps section"
 
-       * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
-       memory to heap.
-       * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
-       `#error' stanza.
+       Also see:
+       - 6371e9c10433578bb236a8284ddb9ce9e201eb59
+       - https://savannah.gnu.org/bugs/?49012
 
-2009-03-07  Bean  <bean123ch@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
-       allocation.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-2009-03-06  Robert Millan  <rmh@aybabtu.com>
+       xen_pvh: Add build runes for grub-core
+       Add the modifications to the build system needed to build a xen_pvh
+       grub.
 
-       Fix display issue on terminals with screen size other than 80x25
-       (e.g. gfxterm with resolution higher than 640x480).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * normal/main.c (grub_normal_init_page): Display title text in a
-       position relative to the center of the terminal instead of relying
-       on a hardcoded offset.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-2009-03-04  Robert Millan  <rmh@aybabtu.com>
+       xen: Init memory regions for PVH
+       Add all usable memory regions to grub memory management and add the
+       needed mmap iterate code, which will be used by grub core (e.g.
+       grub-core/lib/relocator.c or grub-core/mmap/mmap.c).
 
-       Filter /etc/grub.d/10_* so that only add-ons for native kernels are
-       installed.
+       As we are running in 32-bit mode don't add memory above 4GB.
 
-       * Makefile.in (host_kernel): New variable.
-       * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
-       scripts instead of just the windows one.
-       * configure.ac: Initialize and AC_SUBST `host_kernel'.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-2009-03-04  Felix Zielcke  <fzielcke@z-51.de>
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
-       `kern/handler.c'.
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
-       * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+       xen: Setup Xen specific data for PVH
+       Initialize the needed Xen specific data. This is:
 
-2009-03-04  Felix Zielcke  <fzielcke@z-51.de>
+       - the Xen start of day page containing the console and Xenstore ring
+         page PFN and event channel
+       - the grant table
+       - the shared info page
 
-       * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
-       or if there's no space for the disk label and print the partition number on a
-       invalid magic.
+       Write back the possibly modified memory map to the hypervisor in case
+       the guest is reading it from there again.
 
-2009-03-04  Felix Zielcke  <fzielcke@z-51.de>
+       Set the RSDP address for the guest from the start_info page passed
+       as boot parameter.
 
-       * util/misc.c: Include <time.h>.
-       (grub_millisleep): New function.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-2009-03-04  Bean  <bean123ch@gmail.com>
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-       * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
-       another option -mno-red-zone.
+       xen: Get memory map from hypervisor for PVH
+       Retrieve the memory map from the hypervisor and normalize it to contain
+       no overlapping entries and to be sorted by address.
 
-       * commands/handler.c: Change module description.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * kern/handler.c: Add missing space at the end of description line.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-       * kern/list.c: Likewise.
+       xen: Setup hypercall page for PVH
+       Add the needed code to setup the hypercall page for calling into the
+       Xen hypervisor.
 
-2009-03-03  Robert Millan  <rmh@aybabtu.com>
+       Import the XEN_HVM_DEBUGCONS_IOPORT define from Xen unstable into
+       include/xen/arch-x86/xen.h
 
-       Move more components to the relocation area, and fix mbi pointer
-       handling to use the destination rather than the origin (thanks to
-       Vladimir Serbinenko for spotting).
+       Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * loader/i386/multiboot.c (mbi_dest): New variable.
-       (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
-       (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
-       relocation area.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-2009-03-01  Bean  <bean123ch@gmail.com>
+       xen: Add PVH boot entry code
+       Add the code for the Xen PVH mode boot entry.
 
-       * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
-       (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
-       (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
-       (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * loader/i386/efi/linux.c (acpi_guid): New variable.
-       (acpi_guid): Likewise.
-       (EBDA_SEG_ADDR): New constant.
-       (LOW_MEM_ADDR): Likewise.
-       (FAKE_EBDA_SEG): Likewise.
-       (fake_bios_data): New function.
-       (grub_linux_boot): Call fake_bios_data.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-2009-03-01  Bean  <bean123ch@gmail.com>
+       xen: Add basic hooks for PVH in current code
+       Add the hooks to current code needed for Xen PVH. They will be filled
+       with code later when the related functionality is being added.
 
-       * commands/terminal.c: Removed.
+       loader/i386/linux.c needs to include machine/kernel.h now as it needs
+       to get GRUB_KERNEL_USE_RSDP_ADDR from there. This in turn requires to
+       add an empty kernel.h header for some i386 platforms (efi, coreboot,
+       ieee1275, xen) and for x86_64 efi.
 
-       * commands/handler.c: New file.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * include/grub/list.h: Likewise.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-       * include/grub/handler.h: Likewise.
+       xen: Add PVH specific defines to offset.h
+       include/grub/offsets.h needs some defines for Xen PVH mode.
 
-       * kern/list.c: Likewise.
-
-       * kern/handler.c: Likewise.
-
-       * kern/term.h: Include header file <grub/handler.h>.
-       (grub_term_input): Move next field to the beginning.
-       (grub_term_output): Likewise.
-       (grub_term_input_class): New variable.
-       (grub_term_output_class): Likewise.
-       (grub_term_register_input): Changed to inline function.
-       (grub_term_register_output): Likewise.
-       (grub_term_unregister_input): Likewise.
-       (grub_term_unregister_output): Likewise.
-       (grub_term_set_current_input): Likewise.
-       (grub_term_set_current_output): Likewise.
-       (grub_term_get_current_input): Likewise.
-       (grub_term_get_current_output): Likewise.
-       (grub_term_iterate_input): Removed.
-       (grub_term_iterate_output): Likewise.
+       Add them. While at it line up the values in the surrounding lines to
+       start at the same column.
 
-       * kern/term.c (grub_term_list_input): Removed.
-       (grub_term_list_output): Likewise.
-       (grub_term_input_class): New variable.
-       (grub_term_output_class): Likewise.
-       (grub_cur_term_input): Change variable as macro.
-       (grub_cur_term_output): Likewise.
-       (grub_term_register_input): Removed.
-       (grub_term_register_output): Likewise.
-       (grub_term_unregister_input): Likewise.
-       (grub_term_unregister_output): Likewise.
-       (grub_term_set_current_input): Likewise.
-       (grub_term_set_current_output): Likewise.
-       (grub_term_iterate_input): Likewise.
-       (grub_term_iterate_output): Likewise.
-       (grub_term_get_current_input): Likewise.
-       (grub_term_get_current_output): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * util/grub-editenv.c: Include header file <grub/handler.h>.
-       (grub_term_get_current_input): Removed.
-       (grub_term_get_current_output): Likewise.
-       (grub_term_input_class): New variable.
-       (grub_term_output_class): Likewise.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-       * util/grub-fstest.c (grub_term_get_current_input): Removed.
-       (grub_term_get_current_output): Likewise.
-       (grub_term_input_class): New variable.
-       (grub_term_output_class): Likewise.
+       xen: Modify grub_xen_ptr2mfn() for Xen PVH
+       grub_xen_ptr2mfn() returns the machine frame number for a given pointer
+       value. For Xen-PVH guests this is just the PFN. Add the PVH specific
+       variant.
 
-       * util/grub-probe.c (grub_term_get_current_input): Removed.
-       (grub_term_get_current_output): Likewise.
-       (grub_term_input_class): New variable.
-       (grub_term_output_class): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
-       (grub_term_get_current_output): Likewise.
-       (grub_term_input_class): New variable.
-       (grub_term_output_class): Likewise.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-       * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
-       (terminal_mod_SOURCES): Likewise.
-       (terminal_mod_CFLAGS): Likewise.
-       (terminal_mod_LDFLAGS): Likewise.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
-       handler.c.
-       (kernel_img_SOURCES): Add list.c and handler.c.
-       (kernel_img_HEADERS): Add list.h and handler.h.
-
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
-       handler.c.
-       (kernel_mod_SOURCES): Add list.c and handler.c.
-       (kernel_mod_HEADERS): Add list.h and handler.h.
-
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
-       handler.c.
-       (kernel_elf_SOURCES): Add list.c and handler.c.
-       (kernel_elf_HEADERS): Add list.h and handler.h.
-
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
-       handler.c.
-       (kernel_elf_SOURCES): Add list.c and handler.c.
-       (kernel_elf_HEADERS): Add list.h and handler.h.
-
-       * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
-       handler.c.
-       (kernel_mod_SOURCES): Add list.c and handler.c.
-       (kernel_mod_HEADERS): Add list.h and handler.h.
-
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
-       handler.c.
-       (kernel_elf_SOURCES): Add list.c and handler.c.
-       (kernel_elf_HEADERS): Add list.h and handler.h.
-
-2009-02-27  Robert Millan  <rmh@aybabtu.com>
-
-       Factorize elf32 / elf64 code in Multiboot loader.  This will
-       prevent it from getting out of sync again.
-
-       * loader/i386/multiboot.c (grub_multiboot_is_elf32,
-       grub_multiboot_load_elf32, grub_multiboot_is_elf64,
-       grub_multiboot_load_elf64): Move from here ...
-       * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
-       grub_multiboot_load_elf): ... to here (new file).
-
-2009-02-27  Robert Millan  <rmh@aybabtu.com>
-
-       * util/grub.d/10_linux.in: Rename "single-user mode" to
-       "recovery mode".
-
-2009-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
+       xen: Rearrange xen/init.c to prepare it for Xen PVH mode
+       Rearrange grub-core/kern/xen/init.c to prepare adding PVH mode support
+       to it. This includes putting some code under #ifdef GRUB_MACHINE_XEN
+       as it will not be used when running as PVH.
 
-       Don't leak in SCSI code.
-       * disk/scsi.c (grub_scsi_close): free `scsi'.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-2009-02-27  Robert Millan  <rmh@aybabtu.com>
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-       * loader/i386/pc/multiboot.c: Move from here ...
-       * loader/i386/multiboot.c: ... to here.  Update all users.
+       xen: Add some dummy headers for PVH mode
+       With Xen PVH mode adding a new machine type the machine related headers
+       need to be present for the build to succeed. Most of the headers just
+       need to include the related common i386 headers. Add those to the tree.
 
-2009-02-27  Robert Millan  <rmh@aybabtu.com>
+       Note that xen_pvh/int.h needs to include pc/int_types.h instead of
+       pc/int.h in order to avoid the definition of grub_bios_interrupt().
 
-       Patch from Alexandre Bique <bique.alexandre@gmail.com>
-       * util/i386/pc/grub-setup.c (setup): Fix directory path.
+       xen_pvh/memory.h needs to include coreboot/memory.h (like some other
+       <machine>/memory.h do as well) as this contains just the needed stubs.
 
-2009-02-27  Krzysztof Smiechowicz  <deadwood@wp.pl>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
-       b-tree.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-2009-02-27  Robert Millan  <rmh@aybabtu.com>
+       xen: Prepare common code for Xen PVH support
+       Some common code needs to be special cased for Xen PVH mode. This hits
+       mostly Xen PV mode specific areas.
 
-       * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
-       `0x' qualifier as 0 when base is specified as parameter).
+       Split include/grub/i386/pc/int_types.h off from
+       include/grub/i386/pc/int.h to support including this file later from
+       xen_pvh code without the grub_bios_interrupt definition.
 
-2009-02-24  Bean  <bean123ch@gmail.com>
+       Move definition of struct grub_e820_mmap_entry from
+       grub-core/mmap/i386/pc/mmap.c to include/grub/i386/memory.h in order
+       to make it usable from xen_pvh code.
 
-       * configure.ac: Check for -mcmodel=large in x86_64 target.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * include/grub/efi/api.h (efi_call_10): New macro.
-       (efi_wrap_10): New function.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-       * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
-       (GRUB_PE32_REL_BASED_HIGH): Likewise.
-       (GRUB_PE32_REL_BASED_LOW): Likewise.
-       (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
-       (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
-       (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
-       (GRUB_PE32_REL_BASED_SECTION): Likewise.
-       (GRUB_PE32_REL_BASED_REL): Likewise.
-       (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
-       (GRUB_PE32_REL_BASED_DIR64): Likewise.
-       (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
+       xen: Carve out grant tab initialization into dedicated function
+       Initialize the grant tab in a dedicated function. This will enable
+       using it for PVH guests, too.
 
-       * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
-       issue.
+       Call the new function from grub_machine_init() as this will later
+       be common between Xen PV and Xen PVH mode.
 
-       * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
-       (efi_wrap_10): New function.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-       * loader/efi/appleloader.c (devpath_5): Add support for late 2008
-       MB/MBP model (NV chipset).
-       (devdata_devs): Add devpath_5 to the list.
+       loader/linux: Support passing RSDP address via boot params
+       Xen PVH guests will have the RSDP at an arbitrary address. Support that
+       by passing the RSDP address via the boot parameters to Linux.
 
-       * load/i386/efi/linux.c (video_base): Remove variable.
-       (RGB_MASK): New macro.
-       (RGB_MAGIC): Likewise.
-       (LINE_MIN): Likewise.
-       (LINE_MAX): Likewise.
-       (FBTEST_STEP): Likewise.
-       (FBTEST_COUNT): Likewise.
-       (fb_list): New variable.
-       (grub_find_video_card): Remove function.
-       (find_framebuf): New function.
-       (grub_linux_setup_video): Use find_framebuf to get frame buffer and
-       line length.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-       * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
-       problem for x86_64.
+2018-12-12  Juergen Gross  <jgross@suse.com>
 
-2009-02-22  Vesa Jääskeläinen  <chaac@nic.fi>
+       xen: Add some Xen headers
+       In order to support grub2 in Xen PVH environment some additional Xen
+       headers are needed as grub2 will be started in PVH mode requiring to
+       use several HVM hypercalls and structures.
 
-       Patch #25624 by Kevin Lacquement <kevin@lacqui>.
+       Add the needed headers from Xen 4.10 being the first Xen version with
+       full (not only experimental) PVH guest support.
 
-       * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
-       coding tool name.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Hans van Kranenburg <hans@knorrie.org>
 
-2009-02-22  Robert Millan  <rmh@aybabtu.com>
+2018-12-07  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
-       * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
-       in our relocation, instead of using it directly from heap.  Also
-       use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
+       verifiers: ARM Xen fallout cleanup
+       ARM Xen fallout cleanup after commit ca0a4f689 (verifiers: File type for
+       fine-grained signature-verification controlling).
 
-2009-02-21  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-       Implement USB keyboard support (based on patch by Marco Gerards)
+2018-12-07  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
-       (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
-       (usb_keyboard_mod_LDFLAGS): New variables.
+       verifiers: Xen fallout cleanup
+       Xen fallout cleanup after commit ca0a4f689 (verifiers: File type for
+       fine-grained signature-verification controlling).
 
-       * term/usb_keyboard.c: New file.
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-2009-02-14  Vladimir Serbinenko  <phcoder@gmail.com>
+2018-11-28  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       Corrected wrong declaration
+       ofnet: Fix build regression in grub_ieee1275_parse_bootpath()
+       The grub_ieee1275_parse_bootpath() function (commit a661a32, ofnet: Initialize
+       structs in bootpath parser) introduces a build regression on SPARC:
 
-       * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
+       cc1: warnings being treated as errors
+       net/drivers/ieee1275/ofnet.c: In function 'grub_ieee1275_parse_bootpath':
+       net/drivers/ieee1275/ofnet.c:156: error: missing initializer
+       net/drivers/ieee1275/ofnet.c:156: error: (near initialization for 'client_addr.type')
+       net/drivers/ieee1275/ofnet.c:156: error: missing initializer
+       net/drivers/ieee1275/ofnet.c:156: error: (near initialization for 'gateway_addr.type')
+       net/drivers/ieee1275/ofnet.c:156: error: missing initializer
+       net/drivers/ieee1275/ofnet.c:156: error: (near initialization for 'subnet_mask.type')
+       net/drivers/ieee1275/ofnet.c:157: error: missing initializer
+       net/drivers/ieee1275/ofnet.c:157: error: (near initialization for 'hw_addr.type')
+       make[3]: *** [net/drivers/ieee1275/ofnet_module-ofnet.o] Error 1
 
-2009-02-14  Christian Franke  <franke@computer.org>
+       Initialize the entire structure.
 
-       * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
-       (grub_lspci_iter): Print class code and programming interface byte.
+       More info can be found here:
+         http://lists.gnu.org/archive/html/grub-devel/2018-03/msg00034.html
 
-2009-02-14  Christian Franke  <franke@computer.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * gendistlist.sh: Ignore `.svn' directories.
+2018-11-26  Nick Terrell  <terrelln@fb.com>
 
-2009-02-14  Felix Zielcke  <fzielcke@z-51.de>
+       btrfs: Add zstd support to grub btrfs
+       - Adds zstd support to the btrfs module.
+       - Adds a test case for btrfs zstd support.
+       - Changes top_srcdir to srcdir in the btrfs module's lzo include
+         following comments from Daniel Kiper about the zstd include.
 
-       * fs/fat.c: Add 2009 to Copyright line.
+       Tested on Ubuntu-18.04 with a btrfs /boot partition with and without zstd
+       compression. A test case was also added to the test suite that fails before
+       the patch, and passes after.
 
-2009-02-14  Christian Franke  <franke@computer.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * commands/hdparm.c: New file.  Provides `hdparm' command
-       which sends ATA commands via grub_disk_ata_pass_through ().
+2018-11-26  Nick Terrell  <terrelln@fb.com>
 
-       * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
+       zstd: Import upstream zstd-1.3.6
+       - Import zstd-1.3.6 from upstream
+       - Add zstd's module.c file
+       - Add the zstd module to Makefile.core.def
 
-       * disk/ata.c: Include <grub/ata.h>.  Move <grub/misc.h>
-       and <grub/cpu/io.h> to include/grub/ata.h.
-       (enum grub_ata_addressing_t): Move to include/grub/ata.h.
-       (GRUB_CDROM_SECTOR_SIZE): Remove.
-       (GRUB_ATA_*): Move to include/grub/ata.h.
-       (GRUB_ATAPI_*): Likewise.
-       (enum grub_ata_commands): Likewise.
-       (enum grub_ata_timeout_milliseconds): Likewise.
-       (struct grub_ata_device): Likewise.
-       (grub_ata_regset): Likewise.
-       (grub_ata_regget): Likewise.
-       (grub_ata_regset2): Likewise.
-       (grub_ata_regget2): Likewise.
-       (grub_ata_check_ready): Likewise.
-       (grub_ata_wait_not_busy): Remove static, exported in
-       include/grub/ata.h.
-       (grub_ata_wait_drq): Likewise.
-       (grub_ata_pio_read): Likewise.
+       Import zstd-1.3.6 from upstream [1]. Only the files need for decompression
+       are imported. I used the latest zstd release, which includes patches [2] to
+       build cleanly in GRUB.
 
-       * disk/ata_pthru.c: New file.  Provides grub_ata_pass_through ()
-       function for hdparm.mod.
+       I included the script used to import zstd-1.3.6 below at the bottom of the
+       commit message.
 
-       * include/grub/ata.h: New file, contains declarations from
-       disk/ata.c.
-       (enum grub_ata_commands): Add new commands for commands/hdparm.c.
+       Upstream zstd commit hash: 4fa456d7f12f8b27bd3b2f5dfd4f46898cb31c24
+       Upstream zstd commit name: Merge pull request #1354 from facebook/dev
 
-       * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
-       (grub_disk_ata_pass_through): New exported variable.
+       Zstd requires some posix headers, which it gets from posix_wrap.
+       This can be checked by inspecting the .Po files generated by automake,
+       which contain the header dependencies. After building run the command
+       `cat grub-core/lib/zstd/.deps-core/*.Po` to see the dependencies [3].
+       The only OS dependencies are:
 
-       * kern/disk.c (grub_disk_ata_pass_through): New variable.
+       - stddef.h, which is already a dependency in posix_wrap, and used for size_t
+         by lzo and xz.
+       - stdarg.h, which comes from the grub/misc.h header, and we don't use in zstd.
 
-2009-02-13  Colin D Bennett  <colin@gibibit.com>
+       All the types like uint64_t are typedefed to grub_uint64_t under the hood.
+       The only exception is size_t, which comes from stddef.h. This is already the
+       case for lzo and xz. I don't think there are any cross-compilation concerns,
+       because cross-compilers provide their own system headers (and it would already
+       be broken).
 
-       Support multiple fallback entries, and provide an API to support
-       executing default+fallback menu entries.  Renamed the `terminal' menu
-       viewer to `text'.
+       [1] https://github.com/facebook/zstd/releases/tag/v1.3.6
+       [2] https://github.com/facebook/zstd/pull/1344
+       [3] https://gist.github.com/terrelln/7a16b92f5a1b3aecf980f944b4a966c4
 
-       * include/grub/normal.h (grub_normal_text_menu_viewer): New global
-       variable declaration.
-       (grub_menu_execute_callback): New structure declaration.
-       (grub_menu_execute_callback_t): New typedef.
-       (grub_menu_execute_with_fallback): New function declaration.
-       (grub_menu_get_entry): Likewise.
-       (grub_menu_get_timeout): Likewise.
-       (grub_menu_set_timeout): Likewise.
+       ```
 
-       * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
+       curl -L -O https://github.com/facebook/zstd/releases/download/v1.3.6/zstd-1.3.6.tar.gz
+       curl -L -O https://github.com/facebook/zstd/releases/download/v1.3.6/zstd-1.3.6.tar.gz.sha256
+       sha256sum --check zstd-1.3.6.tar.gz.sha256
+       tar xzf zstd-1.3.6.tar.gz
 
-       * normal/menu.c (grub_wait_after_message): Moved to
-       `normal/menu_text.c'.
-       (draw_border): Likewise.
-       (print_message): Likewise.
-       (print_entry): Likewise.
-       (print_entries): Likewise.
-       (grub_menu_init_page): Likewise.
-       (get_entry_number): Likewise.
-       (print_timeout): Likewise.
-       (run_menu): Likewise.
-       (grub_menu_execute_entry): Likewise.
-       (show_text_menu): Likewise.
-       (get_and_remove_first_entry_number): New function.
-       (grub_menu_execute_with_fallback): Likewise.
-       (get_entry): Renamed to ...
-       (grub_menu_get_entry): .. this and made it global.
-       (get_timeout): Renamed to ...
-       (grub_menu_get_timeout): ... this and made it global.
-       (set_timeout): Renamed to ...
-       (grub_menu_set_timeout): ... this and made it global.
-       (grub_normal_terminal_menu_viewer): Renamed to ...
-       (grub_normal_text_menu_viewer): ... this.
+       SRC_LIB="zstd-1.3.6/lib"
+       DST_LIB="grub-core/lib/zstd"
+       rm -rf $DST_LIB
+       mkdir -p $DST_LIB
+       cp $SRC_LIB/zstd.h $DST_LIB/
+       cp $SRC_LIB/common/*.[hc] $DST_LIB/
+       cp $SRC_LIB/decompress/*.[hc] $DST_LIB/
+       rm $DST_LIB/{pool.[hc],threading.[hc]}
+       rm -rf zstd-1.3.6*
+       echo SUCCESS!
+       ```
 
-       * normal/menu_text.c: New file.  Extracted text-menu-specific code
-       from normal/menu.c.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
-       (normal_mod_SOURCES): Likewise.
+2018-11-21  Michael Chang  <mchang@suse.com>
 
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
-       (normal_mod_SOURCES): Likewise.
+       verifiers: fix double close on pgp's sig file descriptor
+       An error emerged as when I was testing the verifiers branch, so instead
+       of putting it in pgp prefix, the verifiers is used to reflect what the
+       patch is based on.
 
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       (normal_mod_SOURCES): Likewise.
+       While running verify_detached, grub aborts with error.
 
-       * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
-       (normal_mod_SOURCES): Likewise.
+       verify_detached /@/.snapshots/1/snapshot/boot/grub/grub.cfg
+       /@/.snapshots/1/snapshot/boot/grub/grub.cfg.sig
 
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       (normal_mod_SOURCES): Likewise.
+       alloc magic is broken at 0x7beea660: 0
+       Aborted. Press any key to exit.
 
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       (normal_mod_SOURCES): Likewise.
+       The error is caused by sig file descriptor been closed twice, first time
+       in grub_verify_signature() to which it is passed as parameter. Second in
+       grub_cmd_verify_signature() or in whichever opens the sig file
+       descriptor. The second close is not consider as bug to me either, as in
+       common rule of what opens a file has to close it to avoid file
+       descriptor leakage.
 
-       * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
-       (normal_mod_SOURCES): Likewise.
+       After all the design of grub_verify_signature() makes it difficult to keep
+       a good trace on opened file descriptor from it's caller. Let's refine
+       the application interface to accept file path rather than descriptor, in
+       this way the caller doesn't have to care about closing the descriptor by
+       delegating it to grub_verify_signature() with full tracing to opened
+       file descriptor by itself.
 
-2009-02-11  Robert Millan  <rmh@aybabtu.com>
+       Also making it clear that sig descriptor is not referenced in error
+       returning path of grub_verify_signature_init(), so it can be closed
+       directly by it's caller. This also makes delegating it to
+       grub_pubkey_close() infeasible to help in relieving file descriptor
+       leakage as it has to depend on uncertainty of ctxt fields in error
+       returning path.
 
-       * util/grub.d/00_header.in: Update old reference to `font' command.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-02-10  Felix Zielcke  <fzielcke@z-51.de>
+2018-11-21  Lee Jones  <lee.jones@linaro.org>
 
-       * fs/fat.c (grub_fat_mount): Fix wrong comparison.
+       generic/blocklist: Fix implicit declaration of function grub_file_filter_disable_compression()
+       grub_file_filter_disable_compression() no longer exists.
 
-       Based on patch from Javier Martín.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-02-09  Felix Zielcke  <fzielcke@z-51.de>
+2018-11-21  Lee Jones  <lee.jones@linaro.org>
 
-       * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
-       to avoid false positives with FAT.
-       (grub_fstest_SOURCES): Likewise.
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
-       * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+       arm64/xen: Fix too few arguments to function grub_create_loader_cmdline()
+       Without this fix, building xen_boot.c omits:
 
-2009-02-09  Felix Zielcke  <fzielcke@z-51.de>
+       loader/arm64/xen_boot.c: In function ‘xen_boot_binary_load’:
+       loader/arm64/xen_boot.c:370:7: error: too few arguments to function ‘grub_create_loader_cmdline’
+              grub_create_loader_cmdline (argc - 1, argv + 1, binary->cmdline,
+              ^~~~~~~~~~~~~~~~~~~~~~~~~~
+       In file included from loader/arm64/xen_boot.c:36:0:
+       ../include/grub/lib/cmdline.h:29:12: note: declared here
+        grub_err_t grub_create_loader_cmdline (int argc, char *argv[], char *buf,
 
-       * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
-       bpb.version_specific.fat12_or_fat16.fstype and
-       bpb.version_specific.fat32.fstype.
+       Reviewed-by: Julien Grall <julien.grall@arm.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-02-08  Robert Millan  <rmh@aybabtu.com>
+2018-11-16  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
+       arm-uboot, ia64, sparc64: Fix up grub_file_open() calls
+       The verifiers framework changed the grub_file_open() interface, breaking all
+       non-x86 linux loaders. Add file types to the grub_file_open() calls to make
+       them build again.
 
-2009-02-08  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * Makefile.in (host_os, host_cpu): New variables.
-       (target_os): Remove.  Update all users.
+2018-11-16  Leif Lindholm  <leif.lindholm@linaro.org>
 
-2009-02-08  Marco Gerards  <marco@gnu.org>
+       arm64/efi: Fix breakage caused by verifiers
+         - add variable "err" (used but not defined),
+         - add GRUB_FILE_TYPE_LINUX_KERNEL to grub_file_open() call.
 
-       * Makefile.in (enable_grub_emu_usb): New variable.
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
-       (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
-       `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
-       (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
-       (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
-       `usbtest.mod' and `usbms.mod'.
-       (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
-       (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
-       (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
-       (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
-       (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
-       variables.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * disk/usbms.c: New file.
+2018-11-16  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * include/grub/usb.h: Likewise.
+       grub-core/loader/efi/fdt.c: Fixup grub_file_open() call
+       The verifiers framework changed the API of grub_file_open(), but did not
+       fix up all users. Add the file type GRUB_FILE_TYPE_DEVICE_TREE_IMAGE
+       to the "devicetree" command handler call.
 
-       * include/grub/usbtrans.h: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/usbdesc.h: Likewise.
+2018-11-16  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * bus/usb/usbtrans.c: Likewise.
+       include/grub/file.h: Add device tree file type
+       The API change of grub_file_open() for adding verifiers did not include
+       a type for device tree blobs. Add GRUB_FILE_TYPE_DEVICE_TREE_IMAGE to
+       the grub_file_type enum.
 
-       * bus/usb/ohci.c: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * bus/usb/uhci.c: Likewise.
+2018-11-16  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * bus/usb/usbhub.c: Likewise.
+       include/grub/verify.h: Add include guard
+       verify.h was added without include guards. This means compiling anything
+       including both include/grub/verify.h and include/grub/lib/cmdline.h fails
+       (at least grub-core/loader/arm64/linux.c.
 
-       * bus/usb/usb.c: Likewise.
+       Add the necessary include guard.
 
-       * commands/usbtest.c: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/usb.c: Likewise.
+2018-11-16  Matthew Daley  <mattd@bugfuzz.com>
 
-       * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
+       mkimage: Pad DTBs to target-specific pointer size
+       Device tree (DTB) lengths are being padded to a multiple of 4 bytes
+       rather than the target-specific pointer size. This causes objects
+       following OBJ_TYPE_DTB objects to be incorrectly parsed during GRUB
+       execution on arm64.
 
-       * configure.ac: Test for libusb presence.
+       Fix by using ALIGN_ADDR(), not ALIGN_UP().
 
-       * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
+       Signed-by-off: Matthew Daley <mattd@bugfuzz.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-02-08  Vesa Jääskeläinen  <chaac@nic.fi>
+2018-11-09  Colin Watson  <cjwatson@ubuntu.com>
 
-       * kern/mm.c: Add more comments.
+       Cope with / being on a ZFS root dataset
+       If / is on the root dataset in a ZFS pool, then ${bootfs} will be set to
+       "/" (whereas if it is on a non-root dataset, there will be no trailing
+       slash).  Passing "root=ZFS=${rpool}/" will fail to boot, but
+       "root=ZFS=${rpool}" works fine, so strip the trailing slash.
 
-2009-02-08  Robert Millan  <rmh@aybabtu.com>
+       Fixes: https://savannah.gnu.org/bugs/?52746
 
-       Patch from Javier Martín.
-       * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
-       `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
+       Tested-by: Fejes József <jozsef.fejes@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-02-08  Robert Millan  <rmh@aybabtu.com>
+2018-11-09  Paul Menzel  <pmenzel@molgen.mpg.de>
 
-       * fs/cpio.c: Split tar functionality to ...
-       * fs/tar.c: ... here (new file).  Update all users.
+       unix/platform: Initialize variable to fix grub-install on UEFI system
+       On a UEFI system, were no boot entry *grub* is present, currently,
+       `grub-install` fails with an error.
 
-2009-02-07  Robert Millan  <rmh@aybabtu.com>
+           $ efibootmgr
+           BootCurrent: 0000
+           Timeout: 0 seconds
+           BootOrder: 0001,0006,0003,0004,0005
+           Boot0001  Diskette Drive
+           Boot0003* USB Storage Device
+           Boot0004* CD/DVD/CD-RW Drive
+           Boot0005  Onboard NIC
+           Boot0006* WDC WD2500AAKX-75U6AA0
+           $ sudo grub-install /dev/sda
+           Installing for x86_64-efi platform.
+           grub-install: error: efibootmgr failed to register the boot entry: Unknown error 22020.
 
-       * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
-       backward-incompatible features.
+       The error code is always different, and the error message (incorrectly)
+       points to efibootmgr.
 
-       Based on patch from Javier Martín, with some adjustments.
+       But, the error is in GRUB’s function
+       `grub_install_remove_efi_entries_by_distributor()`, where the variable
+       `rc` for the return value, is uninitialized and never set, when no boot
+       entry for the distributor is found.
 
-2009-02-07  Michael Scherer  <misc@mandriva.org>
+       The content of that uninitialized variable is then returned as the error
+       code of efibootmgr.
 
-       * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
+       Set the variable to 0, so that success is returned, when no entry needs
+       to be deleted.
 
-2009-02-07  Robert Millan  <rmh@aybabtu.com>
+       Tested on Dell OptiPlex 7010 with firmware A28.
 
-       * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
-       position of `disk/lvm.c' to ensure grub_init_all() always picks it
-       after the RAID stuff.
+           $ sudo ./grub-install /dev/sda
+           Installing for x86_64-efi platform.
+           Installation finished. No error reported.
 
-2009-02-05  Vesa Jääskeläinen  <chaac@nic.fi>
+       [1]: https://github.com/rhboot/efibootmgr/issues/100
 
-       Fixes problem when running vbetest command as reported by
-       Vladimir Serbinenko <phcoder@gmail.com>.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * (grub_vbe_set_video_mode): Fixed problem with text modes.
+2018-11-09  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2009-02-04  Felix Zielcke  <fzielcke@z-51.de>
+       efi: Add EFI shim lock verifier
+       This module provides shim lock verification for various kernels
+       if UEFI secure boot is enabled on a machine.
 
-       util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
-       /dev/md/NpN style mdraid devices.
+       It is recommended to put this module into GRUB2 standalone image
+       (avoid putting iorw and memrw modules into it; they are disallowed
+       if UEFI secure boot is enabled). However, it is also possible to use
+       it as a normal module. Though such configurations are more fragile
+       and less secure due to various limitations.
 
-2009-02-03  Felix Zielcke  <fzielcke@z-51.de>
+       If the module is loaded and UEFI secure boot is enabled then:
+         - module itself cannot be unloaded (persistent module),
+         - the iorw and memrw modules cannot be loaded,
+         - if the iorw and memrw modules are loaded then
+           machine boot is disabled,
+         - GRUB2 defers modules and ACPI tables verification to
+           other verifiers.
 
-       * util/unifont2pff.rb: Remove.
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-2009-02-03  Felix Zielcke  <fzielcke@z-51.de>
+2018-11-09  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
-       `#'.
+       dl: Add support for persistent modules
+       This type of modules cannot be unloaded. This is useful if a given
+       functionality, e.g. UEFI secure boot shim signature verification, should
+       not be disabled if it was enabled at some point in time. Somebody may
+       say that we can use standalone GRUB2 here. That is true. However, the
+       code is not so big nor complicated hence it make sense to support
+       modularized configs too.
 
-2009-02-03  Felix Zielcke  <fzielcke@z-51.de>
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
-       * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+2018-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2009-02-02  Christian Franke  <franke@computer.org>
+       verifiers: Add the documentation
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-       * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
+2018-11-09  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2009-02-01  Felix Zielcke  <fzielcke@z-51.de>
+       verifiers: Rename verify module to pgp module
+       Just for clarity. No functional change.
 
-       * INSTALL: Note that we now require at least autoconf 2.59 and
-       that LZO is optional.
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-2009-02-01  Vesa Jääskeläinen  <chaac@nic.fi>
+2018-11-09  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       Base on patch on bug #24154 created by Tomas Tintera
-       <trosos@seznam.cz>.
+       verifiers: Add possibility to defer verification to other verifiers
+       This way if a verifier requires verification of a given file it can defer task
+       to another verifier (another authority) if it is not able to do it itself. E.g.
+       shim_lock verifier, posted as a subsequent patch, is able to verify only PE
+       files. This means that it is not able to verify any of GRUB2 modules which have
+       to be trusted on UEFI systems with secure boot enabled. So, it can defer
+       verification to other verifier, e.g. PGP one.
 
-       * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
+       I silently assume that other verifiers are trusted and will do good job for us.
+       Or at least they will not do any harm.
 
-2009-02-01  Vesa Jääskeläinen  <chaac@nic.fi>
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-       Based on patch on bug #25318 created by Bernhard Rosenkraenzer
-       <bero@arklinux.org>.
+2018-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * normal/parser.y (script_init): Add missing semicolon.
+       verifiers: Add possibility to verify kernel and modules command lines
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-2009-01-31  Colin D Bennett  <colin@gibibit.com>
+2018-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * normal/main.c: Add include to grub/menu_viewer.h.
-       (free_menu_entry_classes): Added.
-       (grub_normal_menu_addentry): Added class property handling.
-       (grub_normal_execute): Changed to use new menu viewer for menu viewing.
-       (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
+       verifiers: Framework core
+       Verifiers framework provides core file verification functionality which
+       can be used by various security mechanisms, e.g., UEFI secure boot, TPM,
+       PGP signature verification, etc.
 
-       * normal/menu_viewer.c: New file.
+       The patch contains PGP code changes and probably they should be extracted
+       to separate patch for the sake of clarity.
 
-       * normal/menu.c (run_menu_entry): Renamed to ...
-       (grub_menu_execute_entry): ... this and made it as global.
-       (grub_menu_run): Renamed to ...
-       (show_text_menu): ... this and made it local.
-       (show_text_menu): Adapt to new function names.
-       (grub_normal_terminal_menu_viewer): New global variable.
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-       * include/grub/menu.h: New file.
+2018-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * include/grub/menu_viewer.h: New file.
+       verifiers: File type for fine-grained signature-verification controlling
+       Let's provide file type info to the I/O layer. This way verifiers
+       framework and its users will be able to differentiate files and verify
+       only required ones.
 
-       * include/grub/normal.h: Added include to grub/menu.h.
-       (grub_menu_entry): Moved to include/grub/menu.h.
-       (grub_menu_entry_t): Likewise.
-       (grub_menu): Likewise.
-       (grub_menu_t): Likewise.
-       (grub_normal_terminal_menu_viewer): Added.
-       (grub_menu_execute_entry): Likewise.
-       (grub_menu_run): Removed.
+       This is preparatory patch.
 
-       * DISTLIST: Added include/grub/menu.h.
-       Added include/grub/menu_viewer.h.
-       Added normal/menu_viewer.c.
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-2009-01-31  Vesa Jääskeläinen  <chaac@nic.fi>
+2018-11-09  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * normal/execute.c (grub_script_execute_menuentry): Changed to use
-       arglist for menutitle arguments.
+       bufio: Use grub_size_t instead of plain int for size
+       Reviewed-by: Ross Philipson <ross.philipson@oracle.com>
 
-       * normal/main.c (grub_normal_menu_addentry): Likewise.
+2018-10-31  Goffredo Baroncelli  <kreijack@inwind.it>
 
-       * normal/parser.y (menuentry): Likewise.
+       btrfs: Add RAID 6 recovery for a btrfs filesystem
+       Add the RAID 6 recovery, in order to use a RAID 6 filesystem even if some
+       disks (up to two) are missing. This code use the md RAID 6 code already
+       present in grub.
 
-       * normal/script.c (grub_script_create_cmdmenu): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
-       (grub_script_create_cmdmenu): Likewise.
+2018-10-31  Goffredo Baroncelli  <kreijack@inwind.it>
 
-       * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
+       btrfs: Make more generic the code for RAID 6 rebuilding
+       The original code which handles the recovery of a RAID 6 disks array
+       assumes that all reads are multiple of 1 << GRUB_DISK_SECTOR_BITS and it
+       assumes that all the I/O is done via the struct grub_diskfilter_segment.
+       This is not true for the btrfs code. In order to reuse the native
+       grub_raid6_recover() code, it is modified to not call
+       grub_diskfilter_read_node() directly, but to call an handler passed
+       as an argument.
 
-       * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
-       changes.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
+2018-10-31  Goffredo Baroncelli  <kreijack@inwind.it>
 
-       * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
+       btrfs: Add support for recovery for a RAID 5 btrfs profiles
+       Add support for recovery for a RAID 5 btrfs profile. In addition
+       it is added some code as preparatory work for RAID 6 recovery code.
 
-       * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
+2018-10-31  Goffredo Baroncelli  <kreijack@inwind.it>
 
-       * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
+       btrfs: Refactor the code that read from disk
+       Move the code in charge to read the data from disk into a separate
+       function. This helps to separate the error handling logic (which
+       depends on the different raid profiles) from the read from disk
+       logic. Refactoring this code increases the general readability too.
 
-       * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
+       This is a preparatory patch, to help the adding of the RAID 5/6 recovery code.
 
-2009-01-30  Christian Franke  <franke@computer.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
-       in option help text.
+2018-10-31  Goffredo Baroncelli  <kreijack@inwind.it>
 
-2009-01-27  Pavel Roskin  <proski@gnu.org>
+       btrfs: Move logging code in grub_btrfs_read_logical()
+       A portion of the logging code is moved outside of internal for(;;). The part
+       that is left inside is the one which depends on the internal for(;;) index.
 
-       * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
+       This is a preparatory patch. The next one will refactor the code inside
+       the for(;;) into an another function.
 
-2009-01-27  Vesa Jääskeläinen  <chaac@nic.fi>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * commands/lsmmap.c: Add include to grub/machine/memory.h.
+2018-10-31  Goffredo Baroncelli  <kreijack@inwind.it>
 
-       * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
+       btrfs: Avoid a rescan for a device which was already not found
+       Currently read from missing device triggers rescan. However, it is never
+       recorded that the device is missing. So, each read of a missing device
+       triggers rescan again and again. This behavior causes a lot of unneeded
+       rescans leading to huge slowdowns.
 
-       * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
-       unregister function.
+       This patch fixes above mentioned issue. Information about missing devices
+       is stored in the data->devices_attached[] array as NULL value in dev
+       member. Rescan is triggered only if no information is found for a given
+       device. This means that only first time read triggers rescan.
 
-2009-01-27  Vesa Jääskeläinen  <chaac@nic.fi>
+       The patch drops premature return. This way data->devices_attached[] is
+       filled even when a given device is missing.
 
-       * disk/scsi.c (grub_scsi_read): Fix sign problem.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
+2018-10-31  Goffredo Baroncelli  <kreijack@inwind.it>
 
-       * util/grub-mkfont.c (usage): Fix typo.
+       btrfs: Move the error logging from find_device() to its caller
+       The caller knows better if this error is fatal or not, i.e. another disk is
+       available or not.
 
-       * util/elf/grub-mkimage.c (load_modules): Fix warning.
+       This is a preparatory patch.
 
-2009-01-26  Daniel Mierswa  <impulze@impulze.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
+2018-10-31  Goffredo Baroncelli  <kreijack@inwind.it>
 
-       * commands/search.c (search_fs_uuid): Ignore case of the UUID.
+       btrfs: Add helper to check the btrfs header
+       This helper is used in a few places to help the debugging. As
+       conservative approach the error is only logged.
+       This does not impact the error handling.
 
-       * kern/misc.c (grub_strcasecmp): New function.
-       (grub_strcasecmp): Use grub_size_t instead of int for length.
-       Fix return value.
-       * include/grub/misc.h: Update function prototypes.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-01-26  Robert Millan  <rmh@aybabtu.com>
+2018-10-31  Goffredo Baroncelli  <kreijack@inwind.it>
 
-       * configure.ac: Fix cross-compilation check.
+       btrfs: Add support for reading a filesystem with a RAID 5 or RAID 6 profile
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2009-01-22  Christian Franke  <franke@computer.org>
+2018-09-27  Michael Chang  <mchang@suse.com>
 
-       * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
-       (precision) digit string.  Allow `.format2' without `format1' (width).
-       Limit input chars for `%s' output to `format2' if specified.  This is
-       compatible with standard printf ().
+       msdos: Fix overflow in converting partition start and length into 512B blocks
+       When booting from NVME SSD with 4k sector size, it fails with the message.
 
-2009-01-22  Christian Franke  <franke@computer.org>
+       error: attempt to read or write outside of partition.
 
-       * disk/ata.c (grub_ata_wait_status): Replace by ...
-       (grub_ata_wait_not_busy): ... this function.  Checks only BSY bit,
-       other status bits may be invalid while BSY is asserted.
-       (grub_ata_check_ready): New function.
-       (grub_ata_cmd): Removed.
-       (grub_ata_wait_drq): New function.
-       (grub_ata_strncpy): Remove inline.
-       (grub_ata_pio_read): Reduce to actual block transfer.  BSY wait
-       and error check now done by grub_ata_wait_drq ().
-       (grub_ata_pio_write): Likewise.
-       (grub_atapi_identify): Set DEV before check for !BSY.  Use
-       grub_ata_wait_drq () to wait for data.
-       (grub_ata_device_initialize): Add status register check to
-       detect missing SATA slave devices.  Add debug messages.
-       (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
-       (grub_atapi_packet): Set DEV before check for !BSY.  Replace
-       transfer loop by grub_ata_pio_write ().
-       (grub_ata_identify): Set DEV before check for !BSY. Use
-       grub_ata_wait_drq () to wait for data.
-       (grub_ata_setaddress): Set DEV before check for !BSY.
-       (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
-       read/write in one loop.  Fix invalid command on write.  Fix incomplete
-       command on (size % batch) == 0.  Add missing error check after write of
-       last block.  Add debug messages.
-       (grub_atapi_read):  Replace transfer loop by grub_ata_pio_read ().
+       This patch fixes the problem by fixing overflow in converting partition start
+       and length into 512B blocks.
 
-2009-01-19  Christian Franke  <franke@computer.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
-       (GRUB_ATAPI_IREASON_*): Likewise.
-       (grub_ata_pio_write): Fix timeout error return.
-       (grub_atapi_identify): Add grub_ata_wait () after cmd.
-       (grub_atapi_wait_drq): New function.
-       (grub_atapi_packet): New parameter `size'.
-       Use grub_atapi_wait_drq () and direct write instead of
-       grub_ata_pio_write ().
-       (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
-       reads the number of bytes requested by the device for each DRQ
-       assertion.
-       (grub_atapi_write): Remove old implementation, return not
-       implemented instead.
+2018-09-27  Mihai Moldovan  <ionic@ionic.de>
 
-2009-01-19  Christian Franke  <franke@computer.org>
+       osdep/linux: Convert partition start to disk sector length
+       When reading data off a disk, sector values are based on the disk sector
+       length.
 
-       * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
-       of 512 to calculate data size.
-       (grub_scsi_read12): Likewise.
-       (grub_scsi_write10): Likewise.
-       (grub_scsi_write12): Likewise.
-       (grub_scsi_read): Adjust size according to blocksize.
-       Add checks for invalid blocksize and unaligned transfer.
-
-2009-01-19  Vesa Jääskeläinen  <chaac@nic.fi>
-
-       * font/font.c (grub_font_loader_init): Re-position unknown glyph.
-
-       * term/gfxterm.c (write_char): Fix background rendering for wide
-       width glyphs.
-
-2009-01-19  Robert Millan  <rmh@aybabtu.com>
-
-       * config.guess: Update to latest version from config git.
-       * config.sub: Likewise.
-
-2009-01-17  Felix Zielcke  <fzielcke@z-51.de>
-
-       * Makefile.in: Change font compilation to use new grub-mkfont instead
-       of java version.
-
-       * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
-       * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
-       * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
-       * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
-       * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
-       * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
-       * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
-       * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
-       * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
-
-2009-01-16  Christian Franke  <franke@computer.org>
-
-       * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
-       (enum grub_ata_timeout_milliseconds): New enum.
-       (grub_ata_wait_status): Add parameter milliseconds.
-       (grub_ata_cmd): Remove variable `err'.  Remove wait for !DRQ to allow
-       recovery from timed-out commands.
-       (grub_ata_pio_read): Add parameter milliseconds.  Fix error return,
-       return grub_errno instead of REG_ERROR.
-       (grub_ata_pio_write): Add parameter milliseconds.
-       (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
-       Pass milliseconds to grub_ata_wait_status () and
-       grub_ata_pio_read ().
-       (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
-       (grub_ata_identify): Remove variable `ataerr'.  Pass milliseconds to
-       grub_ata_wait_status ().  Fix IDENTIFY timeout check.
-       (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
-       It is not suitable for device detection, because DEV bit is ignored,
-       the command may run too long, and not all devices set the signature
-       properly.
-       (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
-       (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
-       Fix device selection, DEV bit must be set first to address the registers
-       of the correct device.
-       (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
-       grub_ata_pio_read/write ().
-       (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
-       (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
-
-2009-01-13  Carles Pina i Estany  <carles@pina.cat>
-
-       * util/grub-editenv.c (main): Use fseeko(), not fseek().
-
-2009-01-13  Bean  <bean123ch@gmail.com>
-
-       * util/grub-mkfont.c (write_font): forget to remove some debug code.
-
-2009-01-13  Bean  <bean123ch@gmail.com>
-
-       * Makefile.in: (enable_grub_mkfont): New variable.
-       (freetype_cflags): Likewise.
-       (freetype_libs): Likewise.
-
-       * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
-       (grub_mkfont_SOURCES): New variable.
-       (grub_mkfont_CFLAGS): Likewise.
-       (grub_mkfont_LDFLAGS): Likewise.
-
-       * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
-       library if `--enable-grub-mkfont' is requested.
-       (enable_grub_mkfont): New variable.
-       (freetype_cflags): Likewise.
-       (freetype_libs): Likewise.
-
-       * util/grub-mkfont.c: New file.
-
-2009-01-12  Christian Franke  <franke@computer.org>
-
-       * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
-       mode check.  Fix setting of compat_use[].
-
-2009-01-10  Robert Millan  <rmh@aybabtu.com>
-
-       Update a few copyright years which we forgot to do in 2008 (only for
-       files whose changes made in 2008 were copyright-significant)
-
-       * Makefile.in: Add 2008 to Copyright line.
-       * disk/ieee1275/ofdisk.c: Likewise.
-       * disk/efi/efidisk.c: Likewise.
-       * kern/dl.c: Likewise.
-       * kern/sparc64/ieee1275/init.c: Likewise.
-       * kern/mm.c: Likewise.
-       * kern/efi/mm.c: Likewise.
-       * boot/i386/pc/boot.S: Likewise.
-       * genfslist.sh: Likewise.
-       * fs/iso9660.c: Likewise.
-       * fs/hfs.c: Likewise.
-       * fs/jfs.c: Likewise.
-       * fs/minix.c: Likewise.
-       * fs/ufs.c: Likewise.
-       * gensymlist.sh.in: Likewise.
-       * genkernsyms.sh.in: Likewise.
-       * include/grub/misc.h: Likewise.
-       * include/grub/types.h: Likewise.
-       * include/grub/symbol.h: Likewise.
-       * include/grub/elf.h: Likewise.
-       * include/grub/kernel.h: Likewise.
-       * include/grub/disk.h: Likewise.
-       * include/grub/dl.h: Likewise.
-       * include/grub/i386/linux.h: Likewise.
-       * include/grub/i386/pc/biosdisk.h: Likewise.
-       * include/grub/efi/api.h: Likewise.
-       * include/grub/efi/pe32.h: Likewise.
-       * include/grub/util/misc.h: Likewise.
-       * normal/execute.c: Likewise.
-       * normal/arg.c: Likewise.
-       * normal/completion.c: Likewise.
-       * normal/lexer.c: Likewise.
-       * normal/parser.y: Likewise.
-       * normal/misc.c: Likewise.
-       * commands/i386/pc/vbeinfo.c: Likewise.
-       * commands/hexdump.c: Likewise.
-       * commands/terminal.c: Likewise.
-       * commands/ls.c: Likewise.
-       * commands/help.c: Likewise.
-       * partmap/pc.c: Likewise.
-       * loader/efi/chainloader.c: Likewise.
-       * loader/multiboot_loader.c: Likewise.
-       * loader/i386/pc/multiboot2.c: Likewise.
-       * term/efi/console.c: Likewise.
-       * term/i386/pc/serial.c: Likewise.
-       * util/lvm.c: Likewise.
-       * util/console.c: Likewise.
-       * util/i386/efi/grub-mkimage.c: Likewise.
-       * util/raid.c: Likewise.
-
-2009-01-06  Vesa Jääskeläinen  <chaac@nic.fi>
-
-       * commands/videotest.c: Removed include to grub/machine/memory.h.
-
-       * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
-       videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
-       (video_mod_SOURCES): Removed.
-       (video_mod_CFLAGS): Likewise.
-       (video_mod_LDFLAGS): Likewise.
-       (gfxterm_mod_SOURCES): Likewise.
-       (gfxterm_mod_CFLAGS): Likewise.
-       (gfxterm_mod_LDFLAGS): Likewise.
-       (videotest_mod_SOURCES): Likewise.
-       (videotest_mod_CFLAGS): Likewise.
-       (videotest_mod_LDFLAGS): Likewise.
-       (bitmap_mod_SOURCES): Likewise.
-       (bitmap_mod_CFLAGS): Likewise.
-       (bitmap_mod_LDFLAGS): Likewise.
-       (tga_mod_SOURCES): Likewise.
-       (tga_mod_CFLAGS): Likewise.
-       (tga_mod_LDFLAGS): Likewise.
-       (jpeg_mod_SOURCES): Likewise.
-       (jpeg_mod_CFLAGS): Likewise.
-       (jpeg_mod_LDFLAGS): Likewise.
-       (png_mod_SOURCES): Likewise.
-       (png_mod_CFLAGS): Likewise.
-       (png_mod_LDFLAGS): Likewise.
-
-       * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
-       bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
-       (video_mod_SOURCES): Added.
-       (video_mod_CFLAGS): Likewise.
-       (video_mod_LDFLAGS): Likewise.
-       (videotest_mod_SOURCES): Likewise.
-       (videotest_mod_CFLAGS): Likewise.
-       (videotest_mod_LDFLAGS): Likewise.
-       (bitmap_mod_SOURCES): Likewise.
-       (bitmap_mod_CFLAGS): Likewise.
-       (bitmap_mod_LDFLAGS): Likewise.
-       (tga_mod_SOURCES): Likewise.
-       (tga_mod_CFLAGS): Likewise.
-       (tga_mod_LDFLAGS): Likewise.
-       (jpeg_mod_SOURCES): Likewise.
-       (jpeg_mod_CFLAGS): Likewise.
-       (jpeg_mod_LDFLAGS): Likewise.
-       (png_mod_SOURCES): Likewise.
-       (png_mod_CFLAGS): Likewise.
-       (png_mod_LDFLAGS): Likewise.
-       (gfxterm_mod_SOURCES): Likewise.
-       (gfxterm_mod_CFLAGS): Likewise.
-       (gfxterm_mod_LDFLAGS): Likewise.
-
-       * term/gfxterm.c: Removed include to grub/machine/memory.h,
-       grub/machine/console.h.
-
-2009-01-04  Jerone Young  <jerone@gmail.com>
-
-       Make on screen instructions clearer
-
-       Based on patch created by Jidanni <jidanni@jidanni.org>
-
-       * normal/menu.c: print clearer instructions on the screen
-
-2009-01-02  Colin D Bennett  <colin@gibibit.com>
+       Within grub_util_fd_open_device(), the start of the partition was taken
+       directly from grub's partition information structure, which uses the
+       internal sector length (currently 512b), but never transformed to the
+       disk's sector length.
 
-       New font engine.
+       Subsequent calculations were all wrong for devices that have a diverging
+       sector length and the functions eventually skipped to the wrong stream
+       location, reading invalid data.
 
-       Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
-       build system and fixed gfxterm.c to work with different sized fonts.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
+2018-09-27  Adam Williamson  <awilliam@redhat.com>
 
-       * configure: Re-generated.
+       python: Use AM_PATH_PYTHON to determine interpreter for gentpl.py
+       gentpl.py is python2/3-agnostic, but there's no way to cause it
+       to be run with any interpreter other than 'python', it's just
+       hard-coded into Makefile.common that way. Adjust that to use
+       AM_PATH_PYTHON (provided by automake) to find an interpreter
+       and run gentpl.py with that instead. This makes grub buildable
+       when `python` does not exist (but rather `python3` or `python2`
+       or `python2.7`, etc.) Minimum version is set to 2.6 as this is
+       the first version with `__future__.print_function` available.
 
-       * DISTLIST: Removed font/manager.c.
-       Added font/font.c.
-       Added font/font_cmd.c.
+       Note, AM_PATH_PYTHON respects the PYTHON environment variable
+       and will treat its value as the *only* candidate for a valid
+       interpreter if it is set - when PYTHON is set, AM_PATH_PYTHON
+       will not try to find any alternative interpreter, it will only
+       check whether the interpreter set as the value of PYTHON meets
+       the requirements and use it if so or fail if not. This means
+       that when using grub's `autogen.sh`, as it too uses the value
+       of the PYTHON environment variable (and if it is not set, just
+       sets it to 'python') you cannot rely on AM_PATH_PYTHON
+       interpreter discovery. If your desired Python interpreter is
+       not just 'python', you must set the PYTHON environment variable,
+       e.g. 'PYTHON=/usr/local/bin/python3 ./autogen.sh'. The specified
+       interpreter will then be used both by autogen.sh itself and by
+       the autotools-driven build scripts.
 
-       * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF.  Added Font tool
-       compilation.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype.  Changed users.
+2018-09-27  Colin Watson  <cjwatson@ubuntu.com>
 
-       * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
+       build: Use pkg-config to find FreeType
+       pkg-config is apparently preferred over freetype-config these days (see
+       the BUGS section of freetype-config(1)).  pkg-config support was added
+       to FreeType in version 2.1.5, which was released in 2003, so it should
+       comfortably be available everywhere by now.
 
-       * kern/term.c: Changed users of grub_utf8_to_ucs4.
+       We no longer need to explicitly substitute FREETYPE_CFLAGS and
+       FREETYPE_LIBS, since PKG_CHECK_MODULES does that automatically.
 
-       * normal/menu.c: Likewise.
+       Fixes Debian bug #887721.
 
-       * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
-       (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
+       Reported-by: Hugh McMaster <hugh.mcmaster@outlook.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/font.h: Replaced with new file.
+2018-09-27  Colin Watson  <cjwatson@ubuntu.com>
 
-       * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
-       (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
-       (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
-       (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
-       (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
-       (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
-       fg_red, fg_green, fg_blue, fg_alpha.
-       (grub_video_adapter): Removed blit_glyph.
-       (grub_video_blit_glyph): Removed.
+       build: Capitalise *freetype_* variables
+       Using FREETYPE_CFLAGS and FREETYPE_LIBS is more in line with the naming
+       scheme used by pkg-config macros.
 
-       * font/manager.c: Removed file.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * font/font.c: New file.
+2018-09-13  Julian Andres Klode  <julian.klode@canonical.com>
 
-       * font/font_cmd.c: Likewise.
+       ofnet: Initialize structs in bootpath parser
+       Code later on checks if variables inside the struct are
+       0 to see if they have been set, like if there were addresses
+       in the bootpath.
 
-       * video/video.c (grub_video_blit_glyph): Removed.
+       The variables were not initialized however, so the check
+       might succeed with uninitialized data, and a new interface
+       with random addresses and the same name is added. This causes
+       $net_default_mac to point to the random one, so, for example,
+       using that variable to load per-mac config files fails.
 
-       * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
-       (grub_video_vbe_map_rgba): Likewise.
-       (grub_video_vbe_unmap_color_int): Likewise.
-       (grub_video_vbe_blit_glyph): Removed.
-       (grub_video_vbe_adapter): Removed blit_glyph.
+       Bug-Ubuntu: https://bugs.launchpad.net/bugs/1785859
 
-       * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
-       (get_pixel): Likewise.
-       (set_pixel): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
+2018-09-13  dann frazier  <dann.frazier@canonical.com>
 
-       * term/gfxterm.c: Adapted to new font engine.
+       grub-reboot: Warn when "for the next boot only" promise cannot be kept
+       The "for the next boot only" property of grub-reboot is dependent upon
+       GRUB being able to clear the next_entry variable in the environment
+       block. However, GRUB cannot write to devices using the diskfilter
+       and lvm abstractions.
 
-       * term/i386/pc/vesafb.c: Marked as deprecated.  Made it compile.
+       Ref: https://lists.gnu.org/archive/html/grub-devel/2009-12/msg00276.html
+       Ref: https://bugs.launchpad.net/bugs/788298
 
-       * term/i386/pc/vga.c: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
+2018-09-13  Cao jin  <caoj.fnst@cn.fujitsu.com>
 
-       * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
+       relocator16: Comments update
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
+2018-09-13  Paul Menzel  <pmenzel@molgen.mpg.de>
 
-       * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
+       ahci: Increase time-out from 10 s to 32 s
+       This is a cryptographically signed message in MIME format.
 
-       * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
+       Date: Thu, 9 Aug 2018 07:27:35 +0200
 
-       * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
+       Currently, the GRUB payload for coreboot does not detect the Western
+       Digital hard disk WDC WD20EARS-60M AB51 connected to the ASRock E350M1,
+       as that takes over ten seconds to spin up.
 
-       * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
+       ```
+       disk/ahci.c:533: port 0, err: 0
+       disk/ahci.c:539: port 0, err: 0
+       disk/ahci.c:543: port 0, err: 0
+       disk/ahci.c:549: port 0, offset: 120, tfd:80, CMD: 6016
+       disk/ahci.c:552: port 0, err: 0
+       disk/ahci.c:563: port 0, offset: 120, tfd:80, CMD: 6016
+       disk/ahci.c:566: port: 0, err: 0
+       disk/ahci.c:593: port 0 is busy
+       disk/ahci.c:621: cleaning up failed devs
+       ```
 
-       * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
+       GRUB detects the drive, when either unloading the module *ahci*, and
+       then loading it again, or when doing a warm reset.
 
-       * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
+       As the ten second time-out is too short, increase it to 32 seconds,
+       used by SeaBIOS. which detects the drive successfully.
 
-       * util/grub.d/00_header.in: Changed to use new loadfont command.
+       The AHCI driver in libpayload uses 30 seconds, and that time-out was
+       added in commit 354066e1 (libpayload: ahci: Increase timeout for
+       signature reading) with the description below.
 
-       * util/grub-mkconfig_lib.in: Changed font extension.
+       > We can't read the drives signature before it's ready, i.e. spun up.
+       > So set the timeout to the standard 30s. Also put a notice on the
+       > console, so the user knows why the signature reading failed.
 
-2008-12-28  Felix Zielcke  <fzielcke@z-51.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/getroot.c (grub_util_get_grub_dev): Add support for
-       /dev/md/dNNpNN style partitionable mdraid devices.
+2018-09-13  Cao jin  <caoj.fnst@cn.fujitsu.com>
 
-2008-12-12  Alex Smith  <alex@alex-smith.me.uk>
+       linux16: Code cleanup
+       1. move relocator related code more close to each other
+       2. use variable "len" since it has correct assignment, and keep coding
+       style with upper code
 
-       * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
-       at a time limit of the PXE TFTP API correctly.
-       (grub_pxefs_close): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-11-29  Robert Millan  <rmh@aybabtu.com>
+2018-09-13  Colin Watson  <cjwatson@ubuntu.com>
 
-       * disk/ata.c (grub_ata_pciinit): Handle errors raised by
-       grub_ata_device_initialize() calls.
+       tests: Fix qemu options for UHCI test
+       qemu 2.12 removed the -usbdevice option.  Use a more modern spelling
+       instead, in line with other USB-related tests.
 
-2008-11-28  Krzysztof Smiechowicz  <deadwood@wp.pl>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
-       iteration failed.
-       * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
+2018-09-13  Colin Watson  <cjwatson@ubuntu.com>
 
-2008-11-28  Robert Millan  <rmh@aybabtu.com>
+       tests: Disable sercon in SeaBIOS
+       SeaBIOS 1.11.0 added support for VGA emulation over a serial port, which
+       interferes with grub-shell.  Turn it off.
 
-       Fix build on powerpc-ieee1275.  Based on patch created by
-       Manoel Abranches <mrabran@linux.vnet.ibm.com>.
-       * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
-       `kern/ieee1275/mmap.c'.
-       * include/grub/powerpc/ieee1275/memory.h: New file.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Provide grub-install on coreboot.
-       * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
-       (grub_install_SOURCES): New variable.
-       * util/i386/pc/grub-install.in: Add a few condition checks to make it
-       usable on coreboot.
+2018-09-12  Peter Jones  <pjones@redhat.com>
 
-2008-11-25  Felix Zielcke  <fzielcke@z-51.de>
+       grub-module-verifier: Report the filename or modname in errors
+       Make it so that when grub-module-verifier complains of an issue, it tells you
+       which module the issue was with.
 
-       * util/grub-fstest.c (grub_term_get_current_input): Change return type
-       to `grub_term_input_t'.
-       (grub_term_get_current_output): Change return type to
-       `grub_term_output_t'.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-11-22  Robert Millan  <rmh@aybabtu.com>
+2018-09-12  Peter Jones  <pjones@redhat.com>
 
-       Fix breakage on coreboot due to declaration mismatch.
-       * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
-       (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
-       grub_vga_text_cls().
+       configure: Fix an 8 year old typo
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
-       comments.  Avoid copying one more byte than necessary (just in case).
+2018-09-12  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
-       to 0x200000 (avoids trouble with some OFW implementations, and matches
-       with the one in Yaboot).
-       Reported by Manoel Abranches
+       loader/multiboot_mbi2: Use central copy of grub_efi_find_mmap_size()
+       Delete local copy of function to determine required buffer size for the
+       UEFI memory map, use helper in kern/efi/mm.c.
 
-2008-11-20  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
-       (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
+2018-09-12  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * util/grub-mkconfig_lib.in (grub_warn): New function.
-       (convert_system_path_to_grub_path): Use grub_warn() when issuing
-       warnings, to obtain consistent formatting.
-       * util/grub.d/00_header.in: Likewise.
-       * util/update-grub_lib.in: Likewise.
+       loader/ia64/linux: Use central copy of grub_efi_find_mmap_size()
+       Delete local copy of function to determine required buffer size for the
+       UEFI memory map, use helper in kern/efi/mm.c.
 
-       * loader/i386/linux.c (allocate_pages): Fix a warning.
-       Move comment text to `#error' stanza.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Harmonize ieee1275's grub_available_iterate() with the generic
-       grub_machine_mmap_iterate() interface (fixes a recently-introduced
-       build problem on i386-ieee1275):
-       * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
-       * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here.  Add third
-       parameter `type'.  Update all users of this function.
-       * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
-       `kern/ieee1275/mmap.c'.
-       * kern/ieee1275/init.c
-       * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
-       with ...
-       (grub_machine_mmap_iterate): ... this.
-       * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
-       return type to `grub_err_t'.  Update all implementations of this
-       function prototype.
-       * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
-       Likewise.
+2018-09-12  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       Add `lsmmap' command (lists firmware-provided memory map):
-       * commands/lsmmap.c: New file.
-       * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
-       (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
-       variables.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/i386-coreboot.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-
-2008-11-19  Robert Millan  <rmh@aybabtu.com>
-
-       * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
-       * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
-       constraints to initrd allocation (based on code from
-       loader/i386/pc/linux.c).  Without them, initrd was allocated too high
-       for Linux to find it.
-
-2008-11-14  Robert Millan  <rmh@aybabtu.com>
-
-       * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
-       order to cope with duplicate slashes.
-
-2008-11-14  Robert Millan  <rmh@aybabtu.com>
-
-       * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
-       Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000).  We
-       don't want to mess with lower memory, because it is used in the Linux
-       loader.
-
-       * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
-       an appropriate place in lower memory, between 0x10000 and 0x90000,
-       like loader/i386/efi/linux.c does.  Linux often panics if real_mode_mem
-       is in our heap (probably as a result of it being corrupted during
-       decompression).  Add #error instance with comment to explain why this
-       loader isn't currently usable on PC/BIOS.
-
-2008-11-14  Robert Millan  <rmh@aybabtu.com>
-
-       * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
-       (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
-
-2008-11-12  Robert Millan  <rmh@aybabtu.com>
-
-       Make loader/i386/linux.c buildable on i386-pc (although disabled).
-
-       * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
-       (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
-       from here ...
-       * include/grub/i386/pc/memory.h: ... to here.
-
-2008-11-12  Robert Millan  <rmh@aybabtu.com>
-
-       Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
-       split).
-
-       * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
-       (grub_console_cur_color, grub_console_real_putchar)
-       (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
-       (grub_console_setcolorstate, grub_console_setcolor)
-       (grub_console_getcolor): Move from here ...
-       * include/grub/i386/vga_common.h: ... to here (new file).
-
-       * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
-       `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
-       `<grub/i386/io.h>'.
-       * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
-       `<grub/i386/vga_common.h>'.
-
-2008-11-12  Robert Millan  <rmh@aybabtu.com>
-
-       * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
-       * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
-       (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
-       variables.
-       * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
-       `term/i386/pc/console.c' with `term/i386/vga_common.c'.
-
-       * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
-       grub_console_init() with call to grub_vga_text_init().
-       (grub_machine_fini): Replace call to
-       grub_console_fini() with call to grub_vga_text_fini() and
-       grub_at_keyboard_fini().
-
-       * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
-       (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
-       (grub_console_setcolorstate, grub_console_setcolor)
-       (grub_console_getcolor): New function prototypes.
-
-       * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
-       (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
-       (grub_vga_text_setcursor): Static-ize.
-       (grub_vga_text_term): New structure.
-       (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
-
-       * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
-       (grub_console_cur_color, grub_console_standard_color)
-       (grub_console_normal_color, grub_console_highlight_color)
-       (map_char, grub_console_putchar, grub_console_getcharwidth)
-       (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
-       (grub_console_getcolor): Move from here ...
-       * term/i386/vga_common.c: ... to here (same function names).
+       loader/i386/linux: Use central copy of grub_efi_find_mmap_size()
+       Delete local copy of function to determine required buffer size for the
+       UEFI memory map, use helper in kern/efi/mm.c.
 
-2008-11-12  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Use newly-added Multiboot support in coreboot.
+2018-07-25  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
-       `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
+       i386: Don't include lib/i386/reset.c in EFI builds
+       Commit 0ba90a7f0178 ("efi: Move grub_reboot() into kernel") broke
+       the build on i386-efi - genmoddep.awk bails out with message
+         grub_reboot in reboot is duplicated in kernel
+       This is because both lib/i386/reset.c and kern/efi/efi.c now provide
+       this function.
 
-       * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
-       alignment, set `MULTIBOOT_MEMORY_INFO' flag.
-       (codestart): Store the MBI in `startup_multiboot_info' when we're
-       being loaded using Multiboot.
+       Rather than explicitly list each i386 platform variant in
+       Makefile.core.def, include the contents of lib/i386/reset.c only when
+       GRUB_MACHINE_EFI is not set.
 
-       * kern/i386/coreboot/init.c (grub_machine_init): Move
-       grub_at_keyboard_init() call to beginning of function (useful for
-       debugging).  Call grub_machine_mmap_init() before attempting to use
-       grub_machine_mmap_iterate().
-       (grub_lower_mem, grub_upper_mem): Move from here ...
-       * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
-       here (new file).
-
-       * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
-       function prototype.
-
-2008-11-12  Robert Millan  <rmh@aybabtu.com>
-
-       Fix a regression introduced by the at_keyboard.mod split.  Because
-       some terminals are default on some platforms and non-default on
-       others, the first terminal being registered determines which is
-       going to be default.
-
-       * kern/term.c (grub_term_register_input): If this is the first
-       terminal being registered, set it as the current one.
-       (grub_term_register_output): Likewise.
-
-       * term/efi/console.c (grub_console_init): Do not call
-       grub_term_set_current_output() or grub_term_set_current_input().
-       * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
-       * term/i386/pc/console.c (grub_console_init): Likewise.
-       (grub_console_fini): Do not call grub_term_set_current_input()
-       (but leave grub_term_set_current_output() to restore text mode).
-
-2008-11-10  Robert Millan  <rmh@aybabtu.com>
-
-       * util/grub.d/00_header.in: Add backward compatibility check for
-       versions of terminal.mod that don't understand `terminal_input' or
-       `terminal_output'.
-
-2008-11-09  Robert Millan  <rmh@aybabtu.com>
-
-       * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
-       `terminal_input' / `terminal_output', not `terminal'.
-
-2008-11-08  Robert Millan  <rmh@aybabtu.com>
-
-       * Makefile.in (include_DATA): Fix srcdir=. assumption.
-       (DISTCLEANFILES): Add `build_env.mk'.
-
-2008-11-08  Robert Millan  <rmh@aybabtu.com>
-
-       * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
-       `struct grub_term_output'.  Remove `.checkkey' and `.getkey'
-       members.  Update all users.
-       * util/console.c (grub_ncurses_term): Split in ...
-       (grub_ncurses_term_input): ... this, and ...
-       (grub_ncurses_term_output): ... this.  Update all users.
-       * term/ieee1275/ofconsole.c: Remove stale `#endif'.
-
-2008-11-08  Robert Millan  <rmh@aybabtu.com>
-
-       * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
-       (PKGDATA): Add $(pkgdata_SRCDIR).
-       (pkglib_BUILDDIR): New variable.
-       (pkgdata_SRCDIR): New variable.
-       (build_env.mk): New target.
-       (include_DATA): New variable.
-       (install-local): Install $(include_DATA) files in $(includedir).
-
-2008-11-07  Pavel Roskin  <proski@gnu.org>
-
-       * gendistlist.sh: Use C locale for sorting to ensure consistent
-       output on all systems.
-
-       * util/grub.d/00_header.in: Remove incorrect space before
-       "serial".
-
-2008-11-07  Robert Millan  <rmh@aybabtu.com>
-
-       * include/multiboot2.h (struct multiboot_header): Add `flags' member as
-       per specification.
-       * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
-       * loader/multiboot_loader.c (find_multi_boot2_header): New function
-       (based on find_multi_boot1_header).
-       (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
-       using find_multi_boot2_header(), and abort if neither Multiboot or
-       Multiboot headers were found.
-
-2008-11-07  Robert Millan  <rmh@aybabtu.com>
-
-       Modularize at_keyboard.mod:
-
-       * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
-       (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
-       (at_keyboard_mod_LDFLAGS): New variables.
-
-       Actual terminal split:
-
-       * include/grub/term.h (struct grub_term): Split in ...
-       (struct grub_term_input): ... this, and ...
-       (struct grub_term_output): ... this.  Update all users.
-       (grub_term_set_current): Split in ...
-       (grub_term_set_current_input): ... this, and ...
-       (grub_term_set_current_output): ... this.
-       (grub_term_get_current): Split in ...
-       (grub_term_get_current_input): ... this, and ...
-       (grub_term_get_current_output): ... this.
-       (grub_term_register): Split in ...
-       (grub_term_register_input): ... this, and ...
-       (grub_term_register_output): ... this.
-       (grub_term_unregister): Split in ...
-       (grub_term_unregister_input): ... this, and ...
-       (grub_term_unregister_output): ... this.
-       (grub_term_iterate): Split in ...
-       (grub_term_iterate_input): ... this, and ...
-       (grub_term_iterate_output): ... this.
-
-       * kern/term.c (grub_term_list): Split in ...
-       (grub_term_list_input): ... this, and ...
-       (grub_term_list_output): ... this.  Update all users.
-       (grub_cur_term): Split in ...
-       (grub_cur_term_input): ... this, and ...
-       (grub_cur_term_output): ... this.  Update all users.
-       (grub_term_set_current): Split in ...
-       (grub_term_set_current_input): ... this, and ...
-       (grub_term_set_current_output): ... this.
-       (grub_term_get_current): Split in ...
-       (grub_term_get_current_input): ... this, and ...
-       (grub_term_get_current_output): ... this.
-       (grub_term_register): Split in ...
-       (grub_term_register_input): ... this, and ...
-       (grub_term_register_output): ... this.
-       (grub_term_unregister): Split in ...
-       (grub_term_unregister_input): ... this, and ...
-       (grub_term_unregister_output): ... this.
-       (grub_term_iterate): Split in ...
-       (grub_term_iterate_input): ... this, and ...
-       (grub_term_iterate_output): ... this.
-
-       * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
-       a check for input and one for output (and only attempt to get keys
-       from user when input works).
-
-       * util/grub-probe.c (grub_term_get_current): Split in ...
-       (grub_term_get_current_input): ... this, and ...
-       (grub_term_get_current_output): ... this.
-       * util/grub-fstest.c: Likewise.
-       * util/i386/pc/grub-setup.c: Likewise.
-       * util/grub-editenv.c: Likewise.
-
-       Portability adjustments:
-
-       * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
-       `term/i386/pc/at_keyboard.c'.
-       * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
-       grub_keyboard_controller_init() (now handled by terminal .init).
-       * kern/i386/coreboot/init.c (grub_machine_init): Add call to
-       grub_at_keyboard_init().
-       * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
-       (grub_console_checkkey, grub_console_getkey): Remove (now provided by
-       at_keyboard.mod via input terminal interface).
-       * include/grub/i386/coreboot/console.h: Convert into a stub for
-       `<grub/i386/pc/console.h>'.
-
-       Migrate full terminals to new API:
-
-       * term/efi/console.c (grub_console_term): Split into ...
-       (grub_console_term_input): ... this, and ...
-       (grub_console_term_output): ... this.  Update all users.
-       * term/ieee1275/ofconsole.c: Remove __i386__ hack.
-       (grub_ofconsole_init): Split into ...
-       (grub_ofconsole_init_input): ... this, and ...
-       (grub_ofconsole_init_output): ... this.
-       (grub_ofconsole_term): Split into ...
-       (grub_ofconsole_term_input): ... this, and ...
-       (grub_ofconsole_term_output): ... this.  Update all users.
-       * term/i386/pc/serial.c (grub_serial_term): Split into ...
-       (grub_serial_term_input): ... this, and ...
-       (grub_serial_term_output): ... this.  Update all users.
-       * term/i386/pc/console.c (grub_console_term): Split into ...
-       (grub_console_term_input): ... this, and ...
-       (grub_console_term_output): ... this.  Update all users.
-       (grub_console_term_input): Only enable it on PC/BIOS platform.
-       (grub_console_init): Remove grub_keyboard_controller_init() call.
-
-       Migrate input terminals to new API:
-
-       * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
-       `i386' and `i386/pc' to enable build on x86_64 (this driver is
-       i386-specific anyway).
-       (grub_console_checkkey): Rename to ...
-       (grub_at_keyboard_checkkey): ... this.  Static-ize.  Update all
-       users.
-       (grub_keyboard_controller_orig): New variable.
-       (grub_console_getkey): Rename to ...
-       (grub_at_keyboard_getkey): ... this.  Static-ize.  Update all
-       users.
-       (grub_keyboard_controller_init): Static-ize.  Save original
-       controller value so that it can be restored ...
-       (grub_keyboard_controller_fini): ... here (new function).
-       (grub_at_keyboard_term): New structure.
-       (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
-       functions.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Migrate output terminals to new API:
+2018-07-25  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * term/i386/pc/vga.c (grub_vga_term): Change type to
-       `struct  grub_term_output'.  Remove `.checkkey' and `.getkey'
-       members.  Update all users.
-       * term/gfxterm.c (grub_video_term): Change type to
-       `struct  grub_term_output'.  Remove `.checkkey' and `.getkey'
-       members.  Update all users.
-       * include/grub/i386/pc/console.h (grub_console_checkkey)
-       (grub_console_getkey): Do not export (no longer needed by gfxterm,
-       etc).
+       efi: Restrict arm/arm64 linux loader initrd placement
+       The 32-bit arm Linux kernel is built as a zImage, which self-decompresses
+       down to near start of RAM. In order for an initrd/initramfs to be
+       accessible, it needs to be placed within the first ~768MB of RAM.
+       The initrd loader built into the kernel EFI stub restricts this down to
+       512MB for simplicity - so enable the same restriction in grub.
 
-       Migrate `terminal' command and userland tools to new API:
+       For arm64, the requirement is within a 1GB aligned 32GB window also
+       covering the (runtime) kernel image. Since the EFI stub loader itself
+       will attempt to relocate to near start of RAM, force initrd to be loaded
+       completely within the first 32GB of RAM.
 
-       * commands/terminal.c (grub_cmd_terminal): Split into ...
-       (grub_cmd_terminal_input): ... this, and ...
-       (grub_cmd_terminal_output): ... this.
-       (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
-       `terminal_input' and `terminal_output'.
-       * util/grub.d/00_header.in: Adjust `terminal' calls to new
-       `terminal_input' / `terminal_output' API.
-       * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
-       ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
-       provided ${GRUB_TERMINAL}, convert it).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-11-04  Robert Millan  <rmh@aybabtu.com>
+2018-07-25  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * util/grub.d/10_freebsd.in: New file.  Generate grub configuration
-       for FreeBSD.
-       * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
+       arm: Delete unused efi support from loader/arm
+       The 32-bit arm efi port now shares the 64-bit linux loader, so delete
+       the now unused bits from the 32-bit linux loader.
 
-2008-11-03  Bean  <bean123ch@gmail.com>
+       This in turn leaves the grub-core/kern/arm/efi/misc.c unused, so
+       delete that too.
 
-       * kern/elf.c (grub_elf32_load): Revert to previous code.
-       (grub_elf64_load): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
+2018-07-25  Leif Lindholm  <leif.lindholm@linaro.org>
 
-2008-11-01  Robert Millan  <rmh@aybabtu.com>
+       arm/efi: Switch to arm64 linux loader
+       The arm64 and arm linux kernel EFI-stub support presents pretty much
+       identical interfaces, so the same linux loader source can be used for
+       both architectures.
 
-       * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
-       (TARGET_CPPFLAGS): Likewise.
-       * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
+       Switch 32-bit ARM UEFI platforms over to the existing EFI-stub aware
+       loader initially developed for arm64.
 
-2008-11-01  Carles Pina i Estany  <carles@pina.cat>
+       This *WILL* stop non-efistub Linux kernels from booting on arm-efi.
 
-       * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-10-29  Guillem Jover  <guillem.jover@nokia.com>
+2018-07-25  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
-       addition of objects until the code is not going to be able to fail.
+       arm64/linux/loader: Rename functions and macros and move to common headers
+       In preparation for using the linux loader for 32-bit and 64-bit platforms,
+       rename grub_arm64*/GRUB_ARM64* to grub_armxx*/GRUB_ARMXX*.
 
-2008-10-29  Guillem Jover  <guillem.jover@nokia.com>
+       Move prototypes for now-common functions to efi/efi.h.
 
-       * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
-       (add a missing NULL check, and correct them by moving the pointer
-       operations after the actual check).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-10-29  Robert Millan  <rmh@aybabtu.com>
+2018-07-25  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * util/i386/pc/grub-install.in: Handle empty string as output from
-       make_system_path_relative_to_its_root().
+       efi: Add grub_efi_get_ram_base() function for arm64
+       Since ARM platforms do not have a common memory map, add a helper
+       function that finds the lowest address region with the EFI_MEMORY_WB
+       attribute set in the UEFI memory map.
 
-2008-10-05  Hans Lambermont  <hans@lambermont.dyndns.org>
+       Required for the arm64 efi linux loader to restrict the initrd
+       location to where it will be accessible by the kernel at runtime.
 
-       * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
-       circular metadata worst case scenario. If the metadata is circular
-       then copy the wrap in place.
-       * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
-       project lib/format_text/layout.h
-       Circular metadata bug found and patch debugged by Jan Derk Gerlings.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-10-03  Felix Zielcke  <fzielcke@z-51.de>
+2018-07-25  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
+       efi: Add central copy of grub_efi_find_mmap_size
+       There are several implementations of this function in the tree.
+       Add a central version in grub-core/efi/mm.c.
 
-2008-10-03  Felix Zielcke  <fzielcke@z-51.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/update-grub_lib.in: Mention filename in warning message.
+2018-07-25  Arindam Nath  <arindam.nath@amd.com>
 
-2008-09-29  Felix Zielcke  <fzielcke@z-51.de>
+       i386/linux: Add support for ext_lfb_base
+       The EFI Graphics Output Protocol can return a 64-bit
+       linear frame buffer address in some firmware/BIOS
+       implementations. We currently only store the lower
+       32-bits in the lfb_base. This will eventually be
+       passed to Linux kernel and the efifb driver will
+       incorrectly interpret the framebuffer address as
+       32-bit address.
 
-       * NEWS: Update for rename of update-grub to grub-mkconfig.
+       The Linux kernel has already added support to handle
+       64-bit linear framebuffer address in the efifb driver
+       since quite some time now.
 
-2008-09-29  Felix Zielcke  <fzielcke@z-51.de>
+       This patch adds the support for 64-bit linear frame
+       buffer address in GRUB to address the above mentioned
+       scenario.
 
-       * util/update-grub_lib.in: Copy to ...
-       * util/grub-mkconfig_lib.in: ... this.  Update all users.
-       * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
-       * util/update-grub.in: Rename to ...
-       * util/grub-mkconfig.in: ... this.  Update all users.  Remove `-y'
-       option. Add `--output' option to allow users to specify the generated
-       configuration file.  Default to stdout.
-       (update_grub_dir): Rename to ...
-       (grub_mkconfig_dir): ... this.
-       (grub_cfg): Default to an empty string.
-       * conf/common.rmk (update-grub): Rename to ...
-       (grub-mkconfig): ... this.
-       (update-grub_lib): Copy to ...
-       (grub-mkconfig_lib): ... this.
-       (update-grub_SCRIPTS): Copy to ...
-       (grub-mkconfig_SCRIPTS): ... this. Update all users.
-       (update-grub_DATA): Rename to ...
-       (grub-mkconfig_DATA): ... this.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-09-28  Robert Millan  <rmh@aybabtu.com>
+2018-07-11  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
-       to `modified'.  Add the real `created' field.
-       (grub_iso9660_uuid): Use `modified' rather than `created' for
-       constructing the UUID.
+       commands/file: Use definitions from arm64/linux.h
+       Clean up code for matching IS_ARM64 slightly by making use of struct
+       linux_arm64_kernel_header and GRUB_LINUX_ARM64_MAGIC_SIGNATURE.
 
-2008-09-28  Felix Zielcke  <fzielcke@z-51.de>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
-       Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
+2018-07-11  Leif Lindholm  <leif.lindholm@linaro.org>
 
-2008-09-28  Bean  <bean123ch@gmail.com>
+       commands/file: Use definitions from arm/linux.h
+       Clean up code for matching IS_ARM slightly by making use of struct
+       linux_arm_kernel_header and GRUB_LINUX_ARM_MAGIC_SIGNATURE.
 
-       * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
-       Thanks to Christian Franke for finding this bug.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-09-25  Robert Millan  <rmh@aybabtu.com>
+2018-07-11  Hans de Goede  <hdegoede@redhat.com>
 
-       * util/grub-mkdevicemap.c (make_device_map): Actually replace all
-       instances of grub_util_get_disk_name() (see previous commit).
+       efi/console: Fix the "enter" key not working on x86 tablets
+       Most 8" or 7" x86 Windows 10 tablets come with volume up/down buttons and
+       a power-button. In their UEFI these are almost always mapped to arrow
+       up/down and enter.
 
-2008-09-25  Robert Millan  <rmh@aybabtu.com>
+       Pressing the volume buttons (sometimes by accident) will stop the
+       menu countdown, but the power-button / "enter" key was not being recognized
+       as enter, so the user would be stuck at the grub menu.
 
-       * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
-       `util/i386/get_disk_name.c'.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-       * conf/i386-coreboot.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
-       `util/ieee1275/get_disk_name.c'.
-       * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
-       * util/ieee1275/get_disk_name.c: Remove file.
-       * util/i386/get_disk_name.c: Remove file.
-       * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
-       "hd%d" for device.map entries, rather than using
-       grub_util_get_disk_name().
+       The problem is that these tablets send scan_code 13 or 0x0d for the
+       power-button, which officialy maps to the F3 key. They also set
+       unicode_char to 0x0d.
 
-2008-09-24  Carles Pina i Estany  <carles@pina.cat>
+       This commit recognizes the special case of both scan_code and unicode_char
+       being set to 0x0d and treats this as an enter key press.
 
-       * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
-       warning.
-       * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
+       This fixes things getting stuck at the grub-menu and allows the user
+       to choice a grub-menu entry using the buttons on the tablet.
 
-2008-09-24  Carles Pina i Estany  <carles@pina.cat>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
-       Changed to 0x5100.
-       (GRUB_TERM_PPAGE): Changed to 0x4900.
+2018-07-11  Cao jin  <caoj.fnst@cn.fujitsu.com>
 
-2008-09-24  Robert Millan  <rmh@aybabtu.com>
+       grub-setup: Debug message cleanup
+       Variable "root" is initialized after root device probing and is null in
+       current place, so, drop it.
 
-       * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
-       macros (they were i386-pc specific).
-       * include/grub/sparc64/ieee1275/console.h: Likewise.
-       * include/grub/efi/console.h: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-09-22  Bean  <bean123ch@gmail.com>
+2018-07-02  Denis 'GNUtoo' Carikli  <GNUtoo@no-log.org>
 
-       * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
-       resident and in attribute list.
+       multiboot_elfxx.c: Fix compilation by fixing undeclared variable
+       Without that fix we have:
+         In file included from ../../include/grub/command.h:25:0,
+                          from ../../grub-core/loader/multiboot.c:30:
+         ../../grub-core/loader/multiboot_elfxx.c: In function 'grub_multiboot_load_elf64':
+         ../../grub-core/loader/multiboot_elfxx.c:130:28: error: 'relocatable' undeclared (first use in this function)
+            "load_base_addr=0x%x\n", relocatable,
 
-       * include/grub/ntfs.h (BMP_LEN): Removed.
+       This happens due to mistake in the commit 14ec665
+       (mbi: Use per segment a separate relocator chunk).
 
-2008-09-22  Bean  <bean123ch@gmail.com>
+       So, let's fix it.
 
-       * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
-       scsi->name and scsi->luns, as they will be set in grub_scsi_open.
+2018-06-23  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
-       error occurs, as grub_disk_open will call grub_disk_close, which will
-       call p->close (scsi).
-
-2008-09-21  Felix Zielcke  <fzielcke@z-51.de>
-
-       * configure.ac (AC_INIT): Quote `GRUB' string and version number.
-       (AC_PREREQ): Bumped to 2.59.
-       (AC_TRY_COMPILE): Replace obsolete macro with ...
-       (AC_COMPILE_IFELSE): ... this.
-       * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
-       (AC_LINK_IFELSE): ... this.
-
-2008-09-21  Felix Zielcke  <fzielcke@z-51.de>
-
-       * autogen.sh: Add a call to `gendistlist.sh'.
-
-2008-09-19  Christian Franke  <franke@computer.org>
-
-       * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
-       * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
-       * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
-       Export __enable_execute_stack() to modules.
-       * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
-       New function.
-
-2008-09-09  Felix Zielcke  <fzielcke@z-51.de>
-
-       * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
-       Sort the list.
-
-2008-09-09  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
-       #include <grub/util/hostdisk.h>.
-
-2008-09-08  Robert Millan  <rmh@aybabtu.com>
-
-       * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
-       segments when their filesz is zero (grub_file_read() interprets
-       zero-size as "read until EOF", which results in memory corruption).
-       Use `lowest_segment' rather than 0 for calculating the current
-       segment load address.
-
-2008-09-08  Robert Millan  <rmh@aybabtu.com>
-
-       * util/hostdisk.c (open_device): Replace a grub_util_info() call
-       with grub_dprintf("hostdisk", ...), as it was so verbose that it
-       clobbered useful information.
-
-2008-09-08  Robert Millan  <rmh@aybabtu.com>
-
-       * include/grub/util/biosdisk.h: Move to ...
-       * include/grub/util/hostdisk.h: ... here.  Update all users.
-       * util/biosdisk.c: Move to ...
-       * util/hostdisk.c: ... here.  Update all users.
-
-2008-09-07  Robert Millan  <rmh@aybabtu.com>
-
-       * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
-       variables.
-       (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
-       and length can be stored directly in the `mbi->mmap_addr' and
-       `mbi->mmap_length' struct fields.
-
-2008-09-07  Robert Millan  <rmh@aybabtu.com>
-
-       * conf/i386.rmk: New file.  Provides declaration for building
-       `cpuid.mod'.
-       * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
-       (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
-       variables.
-       Include `conf/i386.mk'.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/x86_64-efi.rmk: Likewise.
-       * conf/i386-coreboot.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-
-2008-09-07  Vesa Jääskeläinen  <chaac@nic.fi>
-
-       Based on patch created by Colin D Bennett <colin@gibibit.com>.
-       Adds optimization support for BGR based modes.
-
-       * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
-       (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
-       (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
-       (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
-       (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
-       (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
-       (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
-       (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
-       (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
-       (grub_video_i386_vbeblit_index_index): Likewise.
-       (grub_video_i386_vbeblit_replace_directN): Added.
-       (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
-       (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
-       (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
-       (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
-       (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
-       (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
-       (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
-       (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
-       (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
-       (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
-       (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
-       (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
-       (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
-
-       * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
-       (grub_video_i386_vbefill_R8G8B8): Likewise.
-       (grub_video_i386_vbefill_index): Likewise.
-       (grub_video_i386_vbefill_direct32): Added.
-       (grub_video_i386_vbefill_direct24): Likewise.
-       (grub_video_i386_vbefill_direct16): Likewise.
-       (grub_video_i386_vbefill_direct8): Likewise.
-
-       * include/grub/video.h (grub_video_blit_format): Removed
-       GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
-       (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
-       GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
-       GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
-       GRUB_VIDEO_BLIT_FORMAT_BGR_565.
-
-       * video/video.c (grub_video_get_blit_format): Updated to use new
-       blit formats.  Added handling for 16 bit color modes.
-
-       * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
-       fillers.
-       (common_blitter): Updated to use new blitters.
-
-       * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
-       Removed.
-       (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
-       (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
-       (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
-       (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
-       (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
-       (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
-       (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
-       (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
-       (grub_video_i386_vbeblit_index_index): Likewise.
-       (grub_video_i386_vbeblit_replace_directN): Added.
-       (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
-       (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
-       (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
-       (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
-       (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
-       (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
-       (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
-       (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
-       (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
-       (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
-       (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
-       (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
-       (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
-
-       * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
-       (grub_video_i386_vbefill_R8G8B8): Likewise.
-       (grub_video_i386_vbefill_index): Likewise.
-       (grub_video_i386_vbefill_direct32): Added.
-       (grub_video_i386_vbefill_direct24): Likewise.
-       (grub_video_i386_vbefill_direct16): Likewise.
-       (grub_video_i386_vbefill_direct8): Likewise.
-
-       * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
-       types.
-
-       * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
-       types.
-
-       * video/readers/png.c (grub_png_decode_image_header): Adapt to new
-       blitter types.
-
-       * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
-       types.
-
-2008-09-06  Felix Zielcke  <fzielcke@z-51.de>
-
-       * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
-       RAID level 1.
-
-2008-09-06  Felix Zielcke  <fzielcke@z-51.de>
-
-       * fs/iso9660.c (grub_iso9660_date): New structure.
-       (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
-       (grub_iso9660_uuid): New function.
-
-2008-09-05  Bean  <bean123ch@gmail.com>
-
-       * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
-
-       * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
-       insensitive bit for names in Win32 and Win32 & DOS namespace.
-
-       * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
-
-       * include/grub/types.h (LONG_MAX): Likewise.
-
-2008-09-04  Felix Zielcke  <fzielcke@z-51.de>
+       efi/fdt: Set address/size cells to 2 for empty tree
+       When booting an arm* system on UEFI with an empty device tree (currently
+       only when hardware description comes from ACPI), we don't currently set
+       default to 1 cell (32 bits).
 
-       * util/getroot.c: Include <config.h>.
-       (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
-       add support for /dev/md/N devices and handle LVM double dash escaping.
+       Set both of these properties, to 2 cells (64 bits), to resolve issues
+       with kexec on some platforms.
 
-2008-09-04  Felix Zielcke  <fzielcke@z-51.de>
+       This change corresponds with linux kernel commit ae8a442dfdc4
+       ("efi/libstub/arm*: Set default address and size cells values for an empty dtb")
+       and ensures booting through grub does not behave differently from booting
+       the stub loader directly.
 
-       * config.guess: Update to latest version from config git.
-       * config.sub: Likewise.
+       See also https://patchwork.kernel.org/patch/9561201/
 
-2008-09-03  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * disk/scsi.c (grub_scsi_open): Remove size limit when printing
-       `disk->total_sectors'.
+2018-06-23  Leif Lindholm  <leif.lindholm@linaro.org>
 
-2008-09-01  Colin D Bennett  <colin@gibibit.com>
+       fdt: Move prop_entry_size to fdt.h
+       To be able to resuse the prop_entry_size macro, move it to
+       <grub/fdt.h> and rename it grub_fdt_prop_entry_size.
 
-       * include/grub/normal.h: Fixed incorrect comment for
-       GRUB_COMMAND_FLAG_NO_ARG_PARSE.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-09-01  Colin D Bennett  <colin@gibibit.com>
+2018-06-23  Will Thompson  <wjt@endlessm.com>
 
-       * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
-       values with defines.
+       grub-fs-tester: Fix losetup race
+       If something else on the system is using loopback devices, then the
+       device that's free at the call to `losetup -f` may not be free in the
+       following call to try to use it. Instead, find and use the first free
+       loopback device in a single call to losetup.
 
-       * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
-       (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
-       (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
-       (GRUB_VBE_MODEATTR_COLOR): Likewise.
-       (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
-       (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
-       (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
-       (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
-       (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
-       (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
-       (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
-       (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
-       (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
-       (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
-       (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
-       (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
-       (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
-       (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
-       (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-31  Robert Millan  <rmh@aybabtu.com>
+2018-06-23  Alexander Boettcher  <alexander.boettcher@genode-labs.com>
 
-       * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
-       declaration.
-       (grub_multiboot): Fix a few warnings.
+       mbi: Use per segment a separate relocator chunk
+       Instead of setting up a all comprising relocator chunk for all segments,
+       use per segment a separate relocator chunk.
 
-2008-08-31  Robert Millan  <rmh@aybabtu.com>
+       Currently, if the ELF is non-relocatable, a single relocator chunk will
+       comprise memory (between the segments) which gets overridden by the relst()
+       invocation of the movers code in grub_relocator16/32/64_boot().
 
-       * loader/i386/pc/multiboot.c: Update comment not to say that
-       boot_device support is unimplemented.
+       The overridden memory may contain reserved ranges like VGA memory or ACPI
+       tables, which may lead to crashes or at least to strange boot behaviour.
 
-2008-08-31  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/pc/multiboot.c: Update comment not to say that a.out
-       or memory map support are unimplemented.
+2018-06-05  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2008-08-31  Colin D Bennett  <colin@gibibit.com>
+       templates: Add missing "]"
+       Commit 51be337 (templates: Update grub script template files)
+       lacked one "]", so, add it.
 
-       * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
+       Reported-by: Philip <philm@manjaro.org>
 
-2008-08-31  Colin D Bennett  <colin@gibibit.com>
+2018-05-29  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
-       total video memory in 'vbeinfo' output; show color format details for
-       each video mode.
+       xfs: Accept filesystem with sparse inodes
+       The sparse inode metadata format became a mkfs.xfs default in
+       xfsprogs-4.16.0, and such filesystems are now rejected by grub as
+       containing an incompatible feature.
 
-2008-08-30  Pavel Roskin  <proski@gnu.org>
+       In essence, this feature allows xfs to allocate inodes into fragmented
+       freespace.  (Without this feature, if xfs could not allocate contiguous
+       space for 64 new inodes, inode creation would fail.)
 
-       * util/genmoddep.c: Remove for real this time.
-       * DISTLIST: Remove util/genmoddep.c.
+       In practice, the disk format change is restricted to the inode btree,
+       which as far as I can tell is not used by grub.  If all you're doing
+       today is parsing a directory, reading an inode number, and converting
+       that inode number to a disk location, then ignoring this feature
+       should be fine, so I've added it to XFS_SB_FEAT_INCOMPAT_SUPPORTED
 
-2008-08-30  Robert Millan  <rmh@aybabtu.com>
+       I did some brief testing of this patch by hacking up the regression
+       tests to completely fragment freespace on the test xfs filesystem, and
+       then write a large-ish number of inodes to consume any existing
+       contiguous 64-inode chunk.  This way any files the grub tests add and
+       traverse would be in such a fragmented inode allocation.  Tests passed,
+       but I'm not sure how to cleanly integrate that into the test harness.
 
-       * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
-       as required by Multiboot spec (it was already 4-byte aligned, but
-       only by chance).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+       Tested-by: Chris Murphy <lists@colorremedies.com>
 
-2008-08-29  Pavel Roskin  <proski@gnu.org>
+2018-05-29  Oleg Solovyov  <mcpain@altlinux.org>
 
-       * kern/powerpc/ieee1275/crt0.S: Rename to ...
-       * kern/powerpc/ieee1275/startup.S: ... this.
-       * conf/powerpc-ieee1275.rmk: Adjust for the above.
-       * DISTLIST: Likewise.
+       grub-probe: Don't skip /dev/mapper/dm-* devices
+       This patch ensures that grub-probe will find the root device placed in
+       /dev/mapper/dm-[0-9]+-.* e.g. device named /dev/mapper/dm-0-luks will be
+       found and grub.cfg will be updated properly, enabling the system to boot.
 
-       * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
-       grub/cpu/kernel.h.  Add start label for consistency with other
-       platforms.  Add grub_prefix immediately after start.  Add jump
-       to the code after grub_prefix.
-       * include/grub/powerpc/kernel.h: Provide valid values for
-       GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-29  Bean  <bean123ch@gmail.com>
+2018-05-08  Michael Chang  <mchang@suse.com>
 
-       * configure.ac: Change host_os to cygwin for mingw.
-       (asprintf): New check for function.
+       bufio: Round up block size to power of 2
+       Rounding up the bufio->block_size to meet power of 2 to facilitate next_buf
+       calculation in grub_bufio_read().
 
-       * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
-       #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
-       declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
-       sync, sleep and grub_util_get_disk_size for mingw.
+2018-04-23  Nicholas Vinson  <nvinson234@gmail.com>
 
-       * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
-       to get size in mingw.
-       (open_device): Use flag O_BINARY if it's defined.
-       (find_root_device): Add dummy code for mingw.
+       templates: Update grub script template files
+       Update grub-mkconfig.in and 10_linux.in to support grub-probe's new
+       partuuid target.  Update grub.texi documentation.  The following table
+       shows how GRUB_DISABLE_LINUX_UUID, GRUB_DISABLE_LINUX_PARTUUID, and
+       initramfs detection interact:
 
-       * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
-       (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
-       (get_scsi_disk_name): Return 0 for mingw.
+       Initramfs  GRUB_DISABLE_LINUX_PARTUUID  GRUB_DISABLE_LINUX_UUID  Linux Root
+       detected   Set                          Set                      ID Method
 
-       * util/hostfs.c: #include <grub/util/misc.h>.
-       (grub_hostfs_open): Use "rb" flag to open file, use
-       grub_util_get_disk_size to get disk size for mingw.
+       false      false                        false                    part UUID
+       false      false                        true                     part UUID
+       false      true                         false                    dev name
+       false      true                         true                     dev name
+       true       false                        false                    fs UUID
+       true       false                        true                     part UUID
+       true       true                         false                    fs UUID
+       true       true                         true                     dev name
 
-       * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
-       (asprintf): New function if HAVE_ASPRINTF is not set.
-       (sync): New function for mingw.
-       (sleep): Likewise.
-       (grub_util_get_disk_size): Likewise.
+       Note: GRUB_DISABLE_LINUX_PARTUUID and GRUB_DISABLE_LINUX_UUID equate to
+             'false' when unset or set to any value other than 'true'.
+             GRUB_DISABLE_LINUX_PARTUUID defaults to 'true'.
 
-2008-08-28  Pavel Roskin  <proski@gnu.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
-       kern/time.c.
+2018-04-23  Nicholas Vinson  <nvinson234@gmail.com>
 
-2008-08-28  Robert Millan  <rmh@aybabtu.com>
+       grub-probe: Add PARTUUID detection support
+       Add PARTUUID detection support grub-probe for MBR and GPT partition schemes.
 
-       * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-28  Robert Millan  <rmh@aybabtu.com>
+2018-04-23  Nicholas Vinson  <nvinson234@gmail.com>
 
-       Change find_grub_drive() syntax so it doesn't prevent it from
-       detecting NULL names as errors.
+       disk: Update grub_gpt_partentry
+       Rename grub_gpt_part_type to grub_gpt_part_guid and update grub_gpt_partentry
+       to use this type for both the partition type GUID string and the partition GUID
+       string entries.  This change ensures that the two GUID fields are handled more
+       consistently and helps to simplify the changes needed to add Linux partition
+       GUID support.
 
-       * util/biosdisk.c (find_grub_drive): Move free slot search code
-       from here ...
-       (find_free_slot): ... to here.
-       (read_device_map): Use find_free_slot() to search for free slots.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-27  Marco Gerards  <marco@gnu.org>
+2018-04-23  Nicholas Vinson  <nvinson234@gmail.com>
 
-       * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
-       (scsi_mod_SOURCES): New variable.
-       (scsi_mod_CFLAGS): Likewise
-       (scsi_mod_LDFLAGS): Likewise.
+       grub-probe: Centralize GUID prints
+       Define print_gpt_guid(), so there is a central function for printing
+       GUID strings.  This change is a precursor for later patches which rely
+       on this logic.
 
-       * disk/scsi.c: New file.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/scsi.h: Likewise.
+2018-04-23  Olaf Hering  <olaf@aepfle.de>
 
-       * include/grub/scsicmd.h: Likewise.
+       grub-install: Locale depends on nls
+       With --disable-nls no locales exist.
 
-       * disk/ata.c: Include <grub/scsi.h>.
-       (grub_atapi_packet): Do not use grub_ata_cmd, use registers
-       instead.
-       (grub_ata_iterate): Skip ATAPI devices.
-       (grub_ata_open): Only handle ATAPI devices.
-       (struct grub_atapi_read): Removed.
-       (grub_atapi_readsector): Likewise.
-       (grub_ata_read): No longer handle ATAPI devices.
-       (grub_ata_write): Likewise.
-       (grub_atapi_iterate): New function.
-       (grub_atapi_read): Likewise.
-       (grub_atapi_write): Likewise.
-       (grub_atapi_open): Likewise.
-       (grub_atapi_close): Likewise.
-       (grub_atapi_dev): New variable.
-       (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
-       (GRUB_MOD_FINI(ata)): Unregister ATAPI.
-
-       * include/grub/disk.h (enum grub_disk_dev_id): Add
-       `GRUB_DISK_DEVICE_SCSI_ID'.
-
-2008-08-26  Robert Millan  <rmh@aybabtu.com>
-
-       * util/biosdisk.c (grub_util_biosdisk_open, open_device)
-       (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
-       descriptive.
-
-2008-08-23  Bean  <bean123ch@gmail.com>
-
-       * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
-       (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
-       disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
-       (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
-       dm_nv.mod.
-       (raid5rec_mod_SOURCES): New macro.
-       (raid5rec_mod_CFLAGS): Likewise.
-       (raid5rec_mod_LDFLAGS): Likewise.
-       (raid6rec_mod_SOURCES): Likewise.
-       (raid6rec_mod_CFLAGS): Likewise.
-       (raid6rec_mod_LDFLAGS): Likewise.
-       (mdraid_mod_SOURCES): Likewise.
-       (mdraid_mod_CFLAGS): Likewise.
-       (mdraid_mod_LDFLAGS): Likewise.
-       (dm_nv_mod_SOURCES): Likewise.
-       (dm_nv_mod_CFLAGS): Likewise.
-       (dm_nv_mod_LDFLAGS): Likewise.
+       Avoid runtime error by moving code that copies locales into its own
+       function. Return early in case nls was disabled. That way the compiler
+       will throw away unreachable code, no need to put preprocessor
+       conditionals everywhere to avoid warnings about unused code.
 
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
-       (grub_emu_SOURCES):  Add disk/raid5_recover.c, disk/raid6_recover.c,
-       disk/mdraid_linux.c and disk/dmraid_nvidia.c.
-
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
-       disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
+       Fix memleak by freeing srcf and dstf.
+       Convert tabs to spaces in moved code.
 
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
+2018-04-23  Cao jin  <caoj.fnst@cn.fujitsu.com>
 
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+       diskboot: Trivial correction on stale comments
+       diskboot.img now is loaded at 0x8000 and is jumped to with 0:0x8000.
 
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * disk/raid5_recover.c: New file.
+2018-04-10  Jaegeuk Kim  <jaegeuk@kernel.org>
 
-       * disk/raid6_recover.c: Likewise.
+       fs: Add F2FS support
+       "F2FS (Flash-Friendly File System) is flash-friendly file system which was merged
+       into Linux kernel v3.8 in 2013.
 
-       * disk/mdraid_linux.c: Likewise.
-
-       * disk/dmraid_nvidia.c: Likewise.
-
-       * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
-       ULONG_MAX.
-
-       * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
-       calculate the size of raid device.
-       (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
-       different layout of raid5.
-       (grub_raid_scan_device): Remove code specific to mdraid.
-       (grub_raid_list): New variable.
-       (free_array): New function.
-       (grub_raid_register): Likewise.
-       (grub_raid_unregister): Likewise.
-       (grub_raid_rescan): Likewise.
-       (GRUB_MOD_INIT): Don't iterate device here.
-       (GRUB_MOD_FINI): Use free_array to release resource.
-
-       * include/grub/raid.h: Remove macro and structure specific to mdraid.
-       (grub_raid5_recover_func_t): New function variable type.
-       (grub_raid6_recover_func_t): Likewise.
-       (grub_raid5_recover_func): New variable.
-       (grub_raid6_recover_func): Likewise.
-       (grub_raid_register): New function.
-       (grub_raid_unregister): Likewise.
-       (grub_raid_rescan): Likewise.
-       (grub_raid_block_xor): Likewise.
-
-       * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
-       (CMD_CRC): New macro.
-       (part): Removed.
-       (read_file): Handle device as well as file.
-       (cmd_crc): New function.
-       (fstest): Handle multiple disks.
-       (options): Remove part, raw and long, add root and diskcount.
-       (usage): Add crc, remove -p, -r, -l, add -r and -c.
-       (main): Find the first non option entry and ignore subsequent options,
-       add handling for the new options, support multiple disks.
-
-       * util/grub-probe.c (probe): Add mdraid to abstraction_name.
-
-2008-08-23  Bean  <bean123ch@gmail.com>
-
-       * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
-
-       * genfslist.sh: Ignore kernel.mod.
-
-       * genpartmaplist.sh: Likewise.
-
-2008-08-23  Robert Millan  <rmh@aybabtu.com>
-
-       * util/getroot.c (find_root_device): Skip anything that starts with
-       a dot, not just directories.  This avoids things like /dev/.tmp.md0.
-
-2008-08-22  Felix Zielcke  <fzielcke@z-51.de>
-
-       * util/update-grub.in (GRUB_GFXMODE): Export variable.
-       * util/grub.d/00_header.in: Allow the administrator to change default
-       gfxmode via ${GRUB_GFXMODE}.
-
-2008-08-21  Felix Zielcke  <fzielcke@z-51.de>
-
-       * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
-
-2008-08-21  Robert Millan  <rmh@aybabtu.com>
+       The motive for F2FS was to build a file system that from the start, takes into
+       account the characteristics of NAND flash memory-based storage devices (such as
+       solid-state disks, eMMC, and SD cards).
 
-       * loader/i386/linux.c: New file.  Implements generic 32-bit Linux
-       loader.
-       * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
-       `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
+       F2FS was designed on a basis of a log-structured file system approach, which
+       remedies some known issues of the older log structured file systems, such as
+       the snowball effect of wandering trees and high cleaning overhead. In addition,
+       since a NAND-based storage device shows different characteristics according to
+       its internal geometry or flash memory management scheme (such as the Flash
+       Translation Layer or FTL), it supports various parameters not only for
+       configuring on-disk layout, but also for selecting allocation and cleaning
+       algorithm.", quote by https://en.wikipedia.org/wiki/F2FS.
 
-2008-08-20  Carles Pina i Estany  <carles@pina.cat>
+       The source codes for F2FS are available from:
 
-       * menu/normal.c (run_menu): Replace hardcoded numbers with macros
-       (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
+       http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs.git
+       http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git
 
-2008-08-19  Robert Millan  <rmh@aybabtu.com>
+       This patch has been integrated in OpenMandriva Lx 3.
+         https://www.openmandriva.org/
 
-       * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
-       (struct grub_virtual_screen): Remove `cursor_color'.
-       (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
-       initialization.
-       (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-18  Robert Millan  <rmh@aybabtu.com>
+2018-04-04  Michael Chang  <mchang@suse.com>
 
-       Unify (identical) linux_normal.c files.
-       * loader/i386/efi/linux_normal.c: Move from here ...
-       * loader/linux_normal.c: ... to here.  Update all users.
-       * loader/i386/pc/linux_normal.c: Delete.  Update all users.
-       * loader/i386/ieee1275/linux_normal.c: Likewise.
-
-2008-08-18  Robert Millan  <rmh@aybabtu.com>
-
-       * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
-       (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
-       (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
-       (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
-       (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
-       New macros.
-       (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
-       * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
-       (GRUB_LINUX_CL_END_OFFSET): ... to here.
-       * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
-       (GRUB_LINUX_CL_OFFSET): ... this.  Update all users.
-       (GRUB_EFI_CL_END_OFFSET): Rename to ...
-       (GRUB_LINUX_CL_END_OFFSET): ... this.  Update all users.
-       (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
-       Initialize `params->video_cursor_x' and `params->video_cursor_y'
-       portably using grub_getxy().
-       Replace `-EFI' with `-bzImage' in boot message.
-
-2008-08-17  Robert Millan  <rmh@aybabtu.com>
-
-       * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
-
-2008-08-17  Robert Millan  <rmh@aybabtu.com>
-
-       * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
-
-       * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
-       (GRUB_MACHINE_MEMORY_RESERVED): New macros.
-       (grub_machine_mmap_iterate): New function declaration.
-       * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
-       structure.
-       (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
-       macros.
-
-       * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
-       type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
-       Move e820 parsing from here ...
-       * kern/i386/pc/mmap.c: New file.
-       (grub_machine_mmap_iterate): ... to here.
-
-       * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
-       (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
-       (GRUB_MACHINE_MEMORY_AVAILABLE): ... this.  Update all users.
-       (grub_available_iterate): Redeclare to return `void', and redeclare
-       its hook to use grub_uint64_t as addr and size parameters, and rename
-       to ...
-       (grub_machine_mmap_iterate): ... this.  Update all users.
-
-       * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
-       to make it more readable.  Rename to ...
-       (grub_machine_mmap_iterate): ... this.
-
-       * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
-       (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
-       (grub_multiboot): Allocate an extra region after the payload, and fill
-       it with a Multiboot memory map.  Adjust a.out loader to calculate size
-       with the extra space.
-       (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
-       with the extra space.
-
-2008-08-17  Carles Pina i Estany  <carles@pina.cat>
-
-       * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
-
-2008-08-17  Felix Zielcke  <fzielcke@z-51.de>
-
-       * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
-       mdate-sh to the list `find' searches for.
-       * DISTLIST: Regenerated.
-
-2008-08-16  Felix Zielcke  <fzielcke@z-51.de>
-
-       * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
-       genkernsyms.sh.  Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
-       genmoddep.awk, gensymlist.sh.in.
-       (DISTDIRS): Add bus, docs, hook, lib.
-       * DISTLIST: Regenerated.
-       * NEWS: Add cygwin support and change the `os-prober' entry a bit.
-
-2008-08-16  Robert Millan  <rmh@aybabtu.com>
-
-       * disk/raid.c (grub_raid_init): Handle/report errors set by
-       grub_device_iterate().
-       * disk/lvm.c (grub_lvm_init): Likewise.
-
-2008-08-15  Bean  <bean123ch@gmail.com>
-
-       * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
-       and datehook.mod.
-       (datetime_mod_SOURCES): New macro.
-       (datetime_mod_CFLAGS): Likewise.
-       (datetime_mod_LDFLAGS): Likewise.
-       (date_mod_SOURCES): Likewise.
-       (date_mod_CFLAGS): Likewise.
-       (date_mod_LDFLAGS): Likewise.
-       (datehook_mod_SOURCES): Likewise.
-       (datehook_mod_CFLAGS): Likewise.
-       (datehook_mod_LDFLAGS): Likewise.
-
-       * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
-       and datehook.mod.
-       (datetime_mod_SOURCES): New macro.
-       (datetime_mod_CFLAGS): Likewise.
-       (datetime_mod_LDFLAGS): Likewise.
-       (date_mod_SOURCES): Likewise.
-       (date_mod_CFLAGS): Likewise.
-       (date_mod_LDFLAGS): Likewise.
-       (datehook_mod_SOURCES): Likewise.
-       (datehook_mod_CFLAGS): Likewise.
-       (datehook_mod_LDFLAGS): Likewise.
-
-       * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
-       and datehook.mod.
-       (datetime_mod_SOURCES): New macro.
-       (datetime_mod_CFLAGS): Likewise.
-       (datetime_mod_LDFLAGS): Likewise.
-       (date_mod_SOURCES): Likewise.
-       (date_mod_CFLAGS): Likewise.
-       (date_mod_LDFLAGS): Likewise.
-       (datehook_mod_SOURCES): Likewise.
-       (datehook_mod_CFLAGS): Likewise.
-       (datehook_mod_LDFLAGS): Likewise.
-
-       * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
-       and datehook.mod.
-       (datetime_mod_SOURCES): New macro.
-       (datetime_mod_CFLAGS): Likewise.
-       (datetime_mod_LDFLAGS): Likewise.
-       (date_mod_SOURCES): Likewise.
-       (date_mod_CFLAGS): Likewise.
-       (date_mod_LDFLAGS): Likewise.
-       (datehook_mod_SOURCES): Likewise.
-       (datehook_mod_CFLAGS): Likewise.
-       (datehook_mod_LDFLAGS): Likewise.
-
-       * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
-       and datehook.mod.
-       (datetime_mod_SOURCES): New macro.
-       (datetime_mod_CFLAGS): Likewise.
-       (datetime_mod_LDFLAGS): Likewise.
-       (date_mod_SOURCES): Likewise.
-       (date_mod_CFLAGS): Likewise.
-       (date_mod_LDFLAGS): Likewise.
-       (datehook_mod_SOURCES): Likewise.
-       (datehook_mod_CFLAGS): Likewise.
-       (datehook_mod_LDFLAGS): Likewise.
-
-       * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
-
-       * commands/date.c: New file.
-
-       * hook/datehook.c: Likewise.
-
-       * include/grub/lib/datetime.h: Likewise.
-
-       * include/grub/i386/cmos.h: Likewise.
-
-       * lib/datetime.c: Likewise.
-
-       * lib/i386/datetime.c: Likewise.
-
-       * lib/efi/datetime.c: Likewise.
-
-2008-08-14  Robert Millan  <rmh@aybabtu.com>
-
-       * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
-       (grub_mkelfimage_SOURCES): New variable.
-       (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
-
-       * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
-       (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-
-       * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
-       * kern/i386/coreboot/init.c: Likewise.
-
-       * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
-       with `<grub/cpu/kernel.h>'.
-       (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
-       to ...
-       (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
-       * kern/i386/coreboot/startup.S: Likewise.
-
-       * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
-       (GRUB_MOD_GAP): Remove.
-       * include/grub/powerpc/kernel.h: New file.
-       * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
-       (GRUB_KERNEL_MACHINE_DATA_END): Remove.
-       * include/grub/i386/kernel.h: New file.
-       * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
-       (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
-       (GRUB_KERNEL_MACHINE_DATA_END): Remove.
-
-       * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
-       `grub-mkelfimage'.
-       Use --directory when invoking grub_mkimage.
-
-       * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
-       (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
-       GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
-       and GRUB_KERNEL_CPU_PREFIX.
-
-2008-08-14  Felix Zielcke  <fzielcke@z-51.de>
-
-       * include/grub/err.h (grub_err_printf): New function prototype.
-       * util/misc.c (grub_err_printf): New function.
-       * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
-       grub_printf.
-       * kern/err.c (grub_print_error): Use grub_err_printf.
-
-2008-08-13  Robert Millan  <rmh@aybabtu.com>
-
-       * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
+       Fix packed-not-aligned error on GCC 8
+       When building with GCC 8, there are several errors regarding packed-not-aligned.
 
-2008-08-13  Robert Millan  <rmh@aybabtu.com>
+       ./include/grub/gpt_partition.h:79:1: error: alignment 1 of ‘struct grub_gpt_partentry’ is less than 8 [-Werror=packed-not-aligned]
 
-       * docs/grub.cfg: Use the native device name for the example GNU/Hurd
-       boot entry.
+       This patch fixes the build error by cleaning up the ambiguity of placing
+       aligned structure in a packed one. In "struct grub_btrfs_time" and "struct
+       grub_gpt_part_type", the aligned attribute seems to be superfluous, and also
+       has to be packed, to ensure the structure is bit-to-bit mapped to the format
+       laid on disk. I think we could blame to copy and paste error here for the
+       mistake. In "struct efi_variable", we have to use grub_efi_packed_guid_t, as
+       the name suggests. :)
 
-2008-08-12  Robert Millan  <rmh@aybabtu.com>
+       Tested-by: Michael Chang <mchang@suse.com>
+       Tested-by: Paul Menzel <paulepanter@users.sourceforge.net>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
-       of the relocation code from here ...
-       (grub_multiboot): ... to here.
-       (forward_relocator, backward_relocator): Move from here ...
-       * kern/i386/loader.S (grub_multiboot_forward_relocator)
-       (grub_multiboot_backward_relocator): ... to here.
-       (grub_multiboot_real_boot): Use %edx for entry offset.  Put Multiboot
-       magic in %eax.  Use %ebp for jumping (so %edx is not trashed).
-       * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
-       (grub_multiboot_forward_relocator_end)
-       (grub_multiboot_backward_relocator)
-       (grub_multiboot_backward_relocator_end): New variables.
+2018-04-04  mike.travis@hpe.com  <mike.travis@hpe.com>
 
-2008-08-12  Bean  <bean123ch@gmail.com>
+       efi/uga: Fix PCIe LER when GRUB2 accesses non-enabled MMIO data from VGA
+       A GPU inserted into a PCIe I/O slot disappears during system startup.
+       The problem centers around GRUB and a specific VGA init function in
+       efi_uga.c. This causes an LER (Link Error Recorvery) because the MMIO
+       memory has not been enabled before attempting access.
 
-       * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
+       The fix is to add the same coding used in other VGA drivers, specifically
+       to add a check to insure that it is indeed a VGA controller. And then
+       enable the MMIO address space with the specific bits.
 
-2008-08-11  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/i386/linuxbios/startup.S: Move from here ...
-       * kern/i386/coreboot/startup.S: ... to here.
+2018-03-26  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * kern/i386/linuxbios/init.c: Move from here ...
-       * kern/i386/coreboot/init.c: ... to here.
+       ieee1275: NULL pointer dereference in grub_machine_get_bootlocation()
+       Read from NULL pointer canon in function grub_machine_get_bootlocation().
+       Function grub_ieee1275_canonicalise_devname() may return NULL.
 
-       * kern/i386/linuxbios/table.c: Move from here ...
-       * kern/i386/coreboot/mmap.c: ... to here.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
+2018-03-14  Eric Snowberg  <eric.snowberg@oracle.com>
 
-2008-08-11  Robert Millan  <rmh@aybabtu.com>
+       ieee1275: split up grub_machine_get_bootlocation
+       Split up some of the functionality in grub_machine_get_bootlocation into
+       grub_ieee1275_get_boot_dev.  This will allow for code reuse in a follow on
+       patch.
 
-       * kern/device.c (grub_device_open): Do not handle grub_disk_open()
-       errors.  Leave it to the upper layer to handle them.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-09  Christian Franke  <franke@computer.org>
+2018-03-14  C. Masloch  <pushbx@38.de>
 
-       * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
-       * conf/common.rmk: Install `grub-pe2elf' only if requested.
-       Install `grub.d/10_windows' only on Cygwin.
-       * configure.ac: Add subst of `target_os'.
-       Check `target_os' also before setting TARGET_OBJ2ELF.
-       Add `--enable-grub-pe2elf'.
+       chainloader: patch in BPB's sectors_per_track and num_heads
+       These fields must reflect the ROM-BIOS's geometry for CHS-based
+       loaders to correctly load their next stage. Most loaders do not
+       query the ROM-BIOS (Int13.08), relying on the BPB fields to hold
+       the correct values already.
 
-2008-08-08  Robert Millan  <rmh@aybabtu.com>
+       Tested with lDebug booted in qemu via grub2's
+       FreeDOS direct loading support, refer to
+       https://bitbucket.org/ecm/ldosboot + https://bitbucket.org/ecm/ldebug
+       (For this test, lDebug's iniload.asm must be assembled with
+       -D_QUERY_GEOMETRY=0 to leave the BPB values provided by grub.)
 
-       * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
-       (grub_last_time): Change type to grub_uint64_t.
-       (grub_disk_open): Migrate code from to using grub_get_time_ms().
-       (grub_disk_close): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
-       (run_menu): Migrate code from to using grub_get_time_ms().
+2018-03-14  Matthew S. Turnbull  <sparky@bluefang-logic.com>
 
-       * util/misc.c (grub_get_time_ms): New function.
+       grub-mkconfig/10_linux: Support multiple early initrd images
+       Add support for multiple, shared, early initrd images. These early
+       images will be loaded in the order declared, and all will be loaded
+       before the initrd image.
 
-2008-08-08  Marco Gerards  <marco@gnu.org>
+       While many classes of data can be provided by early images, the
+       immediate use case would be for distributions to provide CPU
+       microcode to mitigate the Meltdown and Spectre vulnerabilities.
 
-       * disk/ata.c (grub_ata_regget): Change return type to
-       `grub_uint8_t'.
-       (grub_ata_regget2): Likewise.
-       (grub_ata_wait_status): New function.
-       (grub_ata_wait_busy): Removed function, updated all users to use
-       `grub_ata_wait_status'.
-       (grub_ata_wait_drq): Likewise.
-       (grub_ata_cmd): New function.
-       (grub_ata_pio_read): Change return type to `grub_uint8_t'.  Add
-       error handling.
-       (grub_ata_pio_write): Add error handling.
-       (grub_atapi_identify): Likewise.
-       (grub_atapi_packet): Use `grub_ata_cmd' and improve error
-       handling.
-       (grub_ata_identify): Use `grub_ata_cmd' and improve error
-       handling.  Actually use the detected registers.  Reorder the
-       detection logic such that it is easier to read.
-       (grub_ata_pciinit): Do not assign the same ID to each controller.
-       (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
-       handling.
-       (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
+       There are two environment variables provided for declaring the early
+       images.
 
-       * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
+       * GRUB_EARLY_INITRD_LINUX_STOCK is for the distribution declare
+         images that are provided by the distribution or installed packages.
+         If undeclared, this will default to a set of common microcode image
+         names.
 
-2008-08-08  Marco Gerards  <marco@gnu.org>
+       * GRUB_EARLY_INITRD_LINUX_CUSTOM is for user created images. User
+         images will be loaded after the stock images.
 
-       * NEWS: Update.
+       These separate configurations allow the distribution and user to
+       declare different image sets without clobbering each other.
 
-2008-08-07  Bean  <bean123ch@gmail.com>
+       This also makes a minor update to ensure that UUID partition labels
+       stay disabled when no initrd image is found, even if early images are
+       present.
 
-       * include/grub/x86_64/pci.h: New file.
+       This is a continuation of a previous patch published by Christian
+       Hesse in 2016:
+       http://lists.gnu.org/archive/html/grub-devel/2016-02/msg00025.html
 
-2008-08-07  Christian Franke  <franke@computer.org>
+       Down stream Gentoo bug:
+       https://bugs.gentoo.org/645088
 
-       * kern/i386/pit.c (TIMER2_SPEAKER): New define.
-       (TIMER2_GATE): Likewise.
-       (grub_pit_wait): Add enable/disable of the timer2 gate
-       bit of port 0x61.  This fixes a possible infinite loop.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-07  Bean  <bean123ch@gmail.com>
+2018-03-07  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
-       kern/i386/tsc.c and kern/i386/pit.c.
+       mkimage: fix build regression in grub_mkimage_load_image
+       The grub_mkimage_load_image function (commit 7542af6, mkimage: refactor a bunch
+       of section data into a struct.) introduces a build regression on SPARC:
 
-       * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
-       x86_64 platform.
+         cc1: warnings being treated as errors
+         In file included from util/grub-mkimage32.c:23:
+         util/grub-mkimagexx.c: In function 'grub_mkimage_load_image32':
+         util/grub-mkimagexx.c:1968: error: missing initializer
+         util/grub-mkimagexx.c:1968: error: (near initialization for 'smd.sections')
+         make[2]: *** [util/grub_mkimage-grub-mkimage32.o] Error 1
 
-       * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
-       <grub/i386/tsc.h>.
+       Initialize the entire section_metadata structure.
 
-       * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-07  Bean  <bean123ch@gmail.com>
+2018-03-05  dann frazier  <dann.frazier@canonical.com>
 
-       * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
+       Revert "Keep the native terminal active when enabling gfxterm"
+       This can cause an issue where GRUB is trying to display both a text and
+       graphical menu on the display at the same time, resulting in a flickering
+       effect when e.g. scrolling quickly through a menu (LP: #1752767).
 
-       * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
+       Revert for now while we look for a better solution for the original issue.
 
-       * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
-       multiple inclusion. Add #include <grub/types.h>.
+       This reverts commit 52ef7b23f528ce844716661d586497a177e80d5b.
 
-2008-08-06  Christian Franke  <franke@computer.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/common.rmk: Build and install `10_windows'.
-       * util/grub.d/10_windows.in: New script.
+2018-03-05  Eric Snowberg  <eric.snowberg@oracle.com>
 
-2008-08-06  Pavel Roskin  <proski@gnu.org>
+       sparc64: #blocks64 disk node method
+       Return the 64bit number of blocks of storage associated with the device or
+       instance. Where a "block" is a unit of storage consisting of the number of
+       bytes returned by the package's "block-size" method. If the size cannot be
+       determined, or if the number of blocks exceeds the range return -1.
 
-       * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-06  Robert Millan  <rmh@aybabtu.com>
+2018-03-05  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
-       * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
+       sparc64: #blocks disk node method
+       Return the number of blocks of storage associated with the device or
+       instance. Where a "block" is a unit of storage consisting of the number
+       of bytes returned by the package's "block-size" method. If the size cannot
+       be determined, the #blocks method returns the maximum unsigned integer
+       (which, because of Open Firmware's assumption of two's complement arithmetic,
+       is equivalent to the signed number -1). If the number of blocks exceeds
+       the range of an unsigned number, return 0 to alert the caller to try
+       the #blocks64 command.
 
-2008-08-06  Bean  <bean123ch@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
-       (grub_pxefs_fs_int): Remove dummy definition.
-       (grub_pxefs_open): Use data->block_size to store the current block
-       size setting.
-       (grub_pxefs_read): Use block size stored in data->block_size. As the
-       value of grub_pxe_blksize can be changed after the file is opened.
+2018-03-05  Eric Snowberg  <eric.snowberg@oracle.com>
 
-2008-08-06  Bean  <bean123ch@gmail.com>
+       ieee1275: block-size deblocker support method
+       IEEE Std 1275-1994 Standard for Boot (Initialization Configuration)
+       Firmware: Core Requirements and Practices
 
-       * fs/i386/pc/pxe.c (curr_file): new variable.
-       (grub_pxefs_open): Simply the handling of pxe file system. Don't
-       require the dummy internal file system anymore.
-       (grub_pxefs_read): Removed.
-       (grub_pxefs_close): Likewise.
-       (grub_pxefs_fs_int): Likewise.
-       (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
-       connection when we switch file.
-       (grub_pxefs_close_int): Renamed to grub_pxefs_close.
+       3.8.3 deblocker support package
 
-2008-08-06  Robert Millan  <rmh@aybabtu.com>
+       Any package that uses the "deblocker" support package must define
+       the following method, which the deblocker uses as a low-level
+       interface to the device
 
-       * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
-       `halt.mod'.
-       (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
-       (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
+       block-size ( -- block-len ) Return "granularity" for accesses to this
+       device.
 
-       * kern/i386/halt.c: New file.
-       * kern/i386/reboot.c: Likewise.
-       * include/grub/i386/reboot.h: Likewise.
-       * include/grub/i386/halt.h: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
-       Include `<grub/cpu/halt.h>'.
-       * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
-       [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
+2018-03-05  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
-       (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
-       (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
-       (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
-       (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
-       (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
-       from here ...
-       * include/grub/i386/at_keyboard.h: ... to here.
+       ieee1275: no-data-command bus specific method
+       IEEE 1275-1994 Standard for Boot (Initialization Configuration)
+       Firmware: Core Requirements and Practices
 
-2008-08-05  Robert Millan  <rmh@aybabtu.com>
+       E.3.2.2 Bus-specific methods for bus nodes
 
-       * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
-       * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
-       * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
-       `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
-       `kern/generic/millisleep.c'.
+       A package implementing the scsi-2 device type shall implement the
+       following bus-specific method:
 
-       * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
-       instead of grub_get_rtc().
-       (grub_tsc_init): Initialize `tsc_boot_time'.
+       no-data-command ( cmd-addr -- error? )
+       Executes a simple SCSI command, automatically retrying under
+       certain conditions.  cmd-addr is the address of a 6-byte command buffer
+       containing an SCSI command that does not have a data transfer phase.
+       Executes the command, retrying indefinitely with the same retry criteria
+       as retry-command.
 
-       * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
-       (grub_machine_init): Use grub_tsc_init() rather than
-       installing an RTC-based handler via grub_install_get_time_ms().
+       error? is nonzero if an error occurred, zero otherwise.
+       NOTE no-data-command is a convenience function. It provides
+       no capabilities that are not present in retry-command, but for
+       those commands that meet its restrictions, it is easier to use.
 
-       * kern/i386/pit.c: New file.
-       * include/grub/i386/pit.h: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-05  Bean  <bean123ch@gmail.com>
+2018-03-05  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
+       ieee1275: set-address bus specific method
+       IEEE 1275-1994 Standard for Boot (Initialization Configuration)
+       Firmware: Core Requirements and Practices
+       E.3.2.2 Bus-specific methods for bus nodes
 
-       * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
-       (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
-       (pxe_mod_SOURCES): New macro.
-       (pxe_mod_CFLAGS): Likewise.
-       (pxe_mod_LDFLAGS): Likewise.
-       (pxecmd_mod_SOURCES): Likewise.
-       (pxecmd_mod_CFLAGS): Likewise.
-       (pxecmd_mod_LDFLAGS): Likewise.
+       A package implementing the scsi-2 device type shall implement the
+       following bus-specific method:
 
-       * kern/i386/pc/startup.S (grub_pxe_scan): New function.
-       (grub_pxe_call): Likewise.
+        set-address ( unit# target# -- )
+          Sets the SCSI target number (0x0..0xf) and unit number (0..7) to which
+          subsequent commands apply.
 
-       * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
+       This function is for devices with #address-cells == 2
 
-       * commands/i386/pc/pxecmd.c: New file.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * fs/i386/pc/pxe.c: Likewise.
+2018-03-05  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * include/grub/i386/pc/pxe.h: Likewise.
+       ieee1275: encode-unit command for 4 addr cell devs
+       Convert physical address to text unit-string.
 
-2008-08-05  Bean  <bean123ch@gmail.com>
+       Convert phys.lo ... phys-high, the numerical representation, to unit-string,
+       the text string representation of a physical address within the address
+       space defined by this device node. The number of cells in the list
+       phys.lo ... phys.hi is determined by the value of the #address-cells property
+       of this node.
 
-       * util/console.c (grub_console_cur_color): New variable.
-       (grub_console_standard_color): Likewise.
-       (grub_console_normal_color): Likewise.
-       (grub_console_highlight_color): Likewise.
-       (color_map): Likewise.
-       (use_color): Likewise.
-       (NUM_COLORS): New macro.
-       (grub_ncurses_setcolorstate): Handle color properly.
-       (grub_ncurses_setcolor): Don't change color here, just remember the
-       settings, color will be set in grub_ncurses_setcolorstate.
-       (grub_ncurses_getcolor): New function.
-       (grub_ncurses_init): Initialize color pairs.
-       (grub_ncurses_term): New member grub_ncurses_getcolor.
+       This function is for devices with #address-cells == 4
 
-2008-08-05  Colin D Bennett  <colin@gibibit.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       High resolution timer support.  Implemented for x86 CPUs using TSC.
-       Extracted generic grub_millisleep() so it's linked in only as needed.
-       This requires a Pentium compatible CPU; if the RDTSC instruction is
-       not supported, then it falls back on the generic grub_get_time_ms()
-       implementation that uses the machine's RTC.
+2018-03-05  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
-       `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
-       `kern/generic/millisleep.c'.
+       ieee1275: decode-unit command for 4 addr cell devs
+       decode-unit ( addr len -- phys.lo ... phys.hi )
 
-       * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
-       `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
+       Convert text unit-string to physical address.
 
-       * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
-       `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
+       Convert unit-string, the text string representation, to phys.lo ... phys.hi,
+       the numerical representation of a physical address within the address space
+       defined by this device node. The number of cells in the list
+       phys.lo ... phys.hi is determined by the value of the #address-cells
+       property of this node.
 
-       * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
+       This function is for devices with #address-cells == 4
 
-       * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
-       `kern/generic/millisleep.c'.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
+2018-03-05  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
+       sparc64: Limit nvme of_path_of_nvme to just SPARC
+       Limit NVMe of_path_of_nvme to just SPARC hardware for now.  It has been
+       found that non-Open Firmware hardware platforms can some how access
+       this function.
 
-       * kern/generic/rtc_get_time_ms.c: New file.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/generic/millisleep.c: New file.
+2018-03-05  John Paul Adrian Glaubitz  <glaubitz@physik.fu-berlin.de>
 
-       * kern/misc.c: Don't include
-       <kern/time.h> anymore.
-       (grub_millisleep_generic): Removed.
+       ieee1275: Fix crash in of_path_of_nvme when of_path is empty
+       The of_path_of_nvme function (commit 2391d57, ieee1275: add nvme
+       support within ofpath) introduced a functional regression:
 
-       * commands/sleep.c (grub_interruptible_millisleep): Uses
-       grub_get_time_ms() instead of grub_get_rtc().
+       On systems which are not based on Open Firmware but have at
+       least one NVME device, find_obppath will return NULL and thus
+       trying to append the disk name to of_path will result in a
+       crash.
 
-       * include/grub/i386/tsc.h (grub_get_tsc): New file.  New inline
-       function.
-       (grub_cpu_is_cpuid_supported): New inline function.
-       (grub_cpu_is_tsc_supported): New inline function.
-       (grub_tsc_init): New function prototype.
-       (grub_tsc_get_time_ms): New function prototype.
+       The proper behavior of of_path_of_nvme is, however, to just
+       return NULL in such cases, like other users of find_obppath,
+       such as of_path_of_scsi.
 
-       * kern/i386/tsc.c (grub_get_time_ms): New file.
+       Reviewed-by: Eric Snowberg <eric.snowberg@oracle.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/time.h: Include <grub/types.h.
-       (grub_millisleep_generic): Removed.
-       (grub_get_time_ms): New prototype.
-       (grub_install_get_time_ms): New prototype.
-       (grub_rtc_get_time_ms): New prototype.
+2018-03-05  Peter Jones  <pjones@redhat.com>
 
-       * kern/time.c (grub_get_time_ms): New function.
-       (grub_install_get_time_ms): New function.
+       .mod files: Strip annobin annotations and .eh_frame, and their relocations
+       This way debuginfo built from the .module will still include this
+       information, but the final result won't have the data we don't actually
+       need in the modules, either on-disk, loaded at runtime, or in prebuilt
+       images.
 
-       * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>.  Don't include
-       <grub/time.h> anymore.
-       (grub_millisleep): Removed.
-       (grub_machine_init): Call grub_tsc_init.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
-       get_time_ms() implementation.
+2018-03-05  Peter Jones  <pjones@redhat.com>
 
-       * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
-       (ieee1275_get_time_ms): New function.
-       (grub_machine_init): Install get_time_ms() implementation.
+       mkimage: avoid copying relocations for sections that won't be copied.
+       Some versions of gcc include a plugin called "annobin", and in some
+       build systems this is enabled by default.  This plugin creates special
+       ELF note sections to track which ABI-breaking features are used by a
+       binary, as well as a series of relocations to annotate where.
 
-       * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
-       (grub_machine_init): Call grub_tsc_init().
-       (grub_millisleep): Removed.
+       If grub is compiled with this feature, then when grub-mkimage translates
+       the binary to another file format which does not strongly associate
+       relocation data with sections (i.e. when platform is *-efi), these
+       relocations appear to be against the .text section rather than the
+       original note section.  When the binary is loaded by the PE runtime
+       loader, hilarity ensues.
 
-       * kern/ieee1275/init.c (grub_millisleep): Removed.
-       (grub_machine_init): Install ieee1275_get_time_ms()
-       implementation.
-       (ieee1275_get_time_ms): New function.
-       (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
-       real work.
+       This issue is not necessarily limited to the annobin, but could arise
+       any time there are relocations in sections that are not represented in
+       grub-mkimage's output.
 
-2008-08-05  Marco Gerards  <marco@gnu.org>
+       This patch seeks to avoid this issue by only including relocations that
+       refer to sections which will be included in the final binary.
 
-       * disk/ata.c: Include <grub/pci.h>.
-       (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
-       (grub_ata_initialize): Rewritten.
-       (grub_ata_device_initialize): New function.
+       As an aside, this should also obviate the need to avoid -funwind-tables,
+       -fasynchronous-unwind-tables, and any sections similar to .eh_frame in
+       the future.  I've tested it on x86-64-efi with the following gcc command
+       line options (as recorded by -grecord-gcc-flags), but I still need to
+       test the result on some other platforms that have been problematic in
+       the past (especially ARM Aarch64) before I feel comfortable making
+       changes to the configure.ac bits:
 
-2008-08-04  Pavel Roskin  <proski@gnu.org>
+       GNU C11 7.2.1 20180116 (Red Hat 7.2.1-7) -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow -msoft-float -mno-stack-arg-probe -mcmodel=large -mno-red-zone -m64 -mtune=generic -march=x86-64 -g3 -Os -freg-struct-return -fno-stack-protector -ffreestanding -funwind-tables -fasynchronous-unwind-tables -fno-strict-aliasing -fstack-clash-protection -fno-ident -fplugin=annobin
 
-       * kern/main.c: Include grub/mm.h.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-04  Robert Millan  <rmh@aybabtu.com>
+2018-03-05  Peter Jones  <pjones@redhat.com>
 
-       * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
-       (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
-       corruption problem).
+       mkimage: refactor a bunch of section data into a struct.
+       This basically moves a bunch of the section information we pass around a
+       lot into a struct, and passes a pointer to a single one of those
+       instead.
 
-2008-08-04  Robert Millan  <rmh@aybabtu.com>
+       This shouldn't change the binary file output or the "grub-mkimage -v"
+       output in any way.
 
-       * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
-       warnings introduced in my last commit.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-03  Robert Millan  <rmh@aybabtu.com>
+2018-03-05  Peter Jones  <pjones@redhat.com>
 
-       Make PCI available on all i386 architectures.
+       mkimage: make locate_sections() set up vaddresses as well.
+       This puts both kinds of address initialization at the same place, and also lets
+       us iterate through the section list one time fewer.
 
-       * include/grub/i386/pc/pci.h: Move from here ...
-       * include/grub/i386/pci.h: ... to here.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/i386/pc/pci.h: Remove.
-       * include/grub/i386/efi/pci.h: Remove.
-       * include/grub/x86_64/efi/pci.h: Remove.
+2018-03-05  Peter Jones  <pjones@redhat.com>
 
-       * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
-       `<grub/cpu/pci.h>'.
+       mkimage: rename a couple of things to be less confusing later.
+       This renames some things:
 
-       * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
-       (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
-       (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
+       - the "strtab" and "strtab_section" in relocate_symbols are changed to "symtab"
+         instead, so as to be less confusing when "strtab" is moved to a struct in a
+         later patch.
 
-       * conf/i386-ieee1275.rmk: Likewise.
+       - The places where we pass section_vaddresses to functions are changed to also
+         be called section_vaddresses"inside those functions, so I get less confused
+         when I put addresses and vaddresses in a struct in a later patch.
 
-2008-08-03  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
-       (grub_console_setcursor): Make it possible to set cursor off.
+2018-03-05  Peter Jones  <pjones@redhat.com>
 
-2008-08-03  Robert Millan  <rmh@aybabtu.com>
+       mkimage: make it easier to run syntax checkers on grub-mkimagexx.c
+       This makes it so you can treat grub-mkimagexx.c as a file you can build
+       directly, so syntax checkers like vim's "syntastic" plugin, which uses
+       "gcc -x c -fsyntax-only" to build it, will work.
 
-       * util/grub.d/00_header.in: Be platform-agnostic.  Probe for existence
-       of modules instead of assuming which platform provides what.
-       * util/update-grub.in: Likewise.
+       One still has to do whatever setup is required to make it pick the right
+       include dirs, which -W options we use, etc., but this makes it so you
+       can do the checking on the file you're editing, rather than on a
+       different file.
 
-2008-08-03  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
-       instead of `grub_install_dos_part' to determine whether a drive needs
-       to be prepended to prefix (`grub_install_dos_part' is not reliable,
-       because it can be overridden when loading GRUB via Multiboot).
+2018-03-05  Peter Jones  <pjones@redhat.com>
 
-2008-08-02  Robert Millan  <rmh@aybabtu.com>
+       aout.h: Fix missing include.
+       grub_aout_load() has a grub_file_t parameter, and depending on what order
+       includes land in, it's sometimes not defined.  This patch explicitly adds
+       file.h to aout.h so that it will always be defined.
 
-       * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-02  Robert Millan  <rmh@aybabtu.com>
+2018-02-26  Joakim Bech  <joakim.bech@linaro.org>
 
-       * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
-       of informational grub_dprintf() calls.
+       ieee1275: fix build regression in of_path_of_nvme
+       The of_path_of_nvme function (commit 2391d57, ieee1275: add nvme
+       support within ofpath) introduced a build regression:
+           grub-core/osdep/linux/ofpath.c:365:21: error: comparison between pointer
+           and zero character constant [-Werror=pointer-compare]
+              if ((digit_string != '\0') && (*part_end == 'p'))
 
-2008-08-02  Robert Millan  <rmh@aybabtu.com>
+       Update digit_string to compare against the char instead of the pointer.
 
-       * disk/memdisk.c (memdisk_size): Don't initialize.
-       (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/i386/pc/kernel.h
-       (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
-       (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
-       (grub_memdisk_image_size, grub_arch_memdisk_addr)
-       (grub_arch_memdisk_size): Remove.
+2018-02-23  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * include/grub/kernel.h (struct grub_module_header): Remove `offset'
-       field (was only used to transfer a constant).  Add `type' field to
-       support multiple module types.
-       (grub_module_iterate): New function.
+       arm: make linux.h safe to include for non-native builds
+       <grub/machine/loader.h> (for machine arm/efi) and
+       <grub/machine/kernel.h> (for machine arm/coreboot) will not always
+       resolve (and will likely not be valid to) if pulled in when building
+       non-native commands, such as host tools or the "file" command.
+       So explicitly include them with their expanded pathnames.
 
-       * kern/device.c (grub_device_open): Do not hide error messages
-       when grub_disk_open() fails.  Use grub_print_error() instead.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/i386/pc/init.c (grub_arch_modules_addr)
-       (grub_arch_memdisk_size): Remove functions.
-       (grub_arch_modules_addr): Return the module address in high memory
-       (now that it isn't copied anymore).
+2018-02-23  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
-       (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
-       decompression routine (grub_total_module_size already includes that
-       now).  Don't copy modules back to low memory.
+       arm: switch linux loader to linux_arm_kernel_header struct
+       Use kernel header struct and magic definition to align (and coexist) with
+       i386/arm64 ports.
 
-       * kern/main.c: Include `<grub/mm.h>'.
-       (grub_load_modules): Split out (and use) ...
-       (grub_module_iterate): ... this function, which iterates through
-       module objects and runs a hook.
-       Comment out grub_mm_init_region() call, as it would cause non-ELF
-       modules to be overwritten.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
-       the memdisk image in its own region, make it part of the module list.
-       * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
-       (main): Parse --memdisk|-m option, and pass user-provided path as
-       parameter to generate_image().
-       (add_segments): Pass `memdisk_path' down to load_modules().
-       (load_modules): Embed memdisk image in module section when requested.
-       * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
-       `header.type' instead of `header.offset'.
+2018-02-23  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
-       (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
-       (memdisk_mod_LDFLAGS): New variables.
-       * conf/i386-coreboot.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
+       arm64: align linux kernel magic macro naming with i386
+       Change GRUB_ARM64_LINUX_MAGIC to GRUB_LINUX_ARM64_MAGIC_SIGNATURE.
 
-2008-08-02  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/pc/multiboot.c (playground, forward_relocator)
-       (backward_relocator): New variables.  Used to allocate and relocate
-       the payload, respectively.
-       (grub_multiboot_load_elf32): Load into heap instead of requested
-       address, install the appropriate relocator code in each bound of
-       the payload, and set the entry point such that
-       grub_multiboot_real_boot() will jump to one of them.
+2018-02-23  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * kern/i386/loader.S (grub_multiboot_payload_size)
-       (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
-       (grub_multiboot_payload_entry_offset): New variables.
-       (grub_multiboot_real_boot): Set cpu context to what the relocator
-       expects, and jump to the relocator instead of the payload.
+       arm64: align linux kernel header struct naming with i386
+       Rename struct grub_arm64_linux_kernel_header -> linux_arm64_kernel_header.
 
-       * include/grub/i386/loader.h (grub_multiboot_payload_size)
-       (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
-       (grub_multiboot_payload_entry_offset): Export.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-08-01  Bean  <bean123ch@gmail.com>
+2018-02-23  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * normal/menu_entry.c (editor_getline): Don't return the original
-       string as result, as it will be released by lexer once it has done
-       using it.
+       i386: make struct linux_kernel_header architecture specific
+       struct linux_kernel_header -> struct linux_i386_kernel_header
 
-2008-08-01  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
-       within menuentries, not before them.
-       util/grub.d/10_hurd.in: Likewise.
+2018-02-23  Leif Lindholm  <leif.lindholm@linaro.org>
 
-2008-08-01  Bean  <bean123ch@gmail.com>
+       make GRUB_LINUX_MAGIC_SIGNATURE architecture-specific
+       Rename GRUB_LINUX_MAGIC_SIGNATURE GRUB_LINUX_I386_MAGIC_SIGNATURE,
+       to be usable in code that supports more than one image type.
 
-       * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
-       (bufio_mod_SOURCES): New macro.
-       (bufio_mod_CFLAGS): Likewise.
-       (bufio_mod_LDFLAGS): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/bufio.h: New file.
+2018-02-23  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * io/bufio.c: Likewise.
+       Make arch-specific linux.h include guards architecture unique
+       Replace uses of GRUB_LINUX_MACHINE_HEADER and GRUB_LINUX_CPU_HEADER
+       with GRUB_<arch>_LINUX_HEADER include guards to prevent issues when
+       including more than one of them.
 
-       * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
-       (grub_video_reader_png): Use grub_buffile_open to open file.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
-       (grub_video_reader_jpeg): Use grub_buffile_open to open file.
+2018-02-23  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
-       (grub_video_reader_tga): Use grub_buffile_open to open file.
+       arm64/efi: move EFI_PAGE definitions to efi/memory.h
+       The EFI page definitions and macros are generic and should not be confined
+       to arm64 headers - so move to efi/memory.h.
+       Also add EFI_PAGE_SIZE macro.
 
-       * font/manager.c: Include <grub/bufio.h>.
-       (add_font): Use grub_buffile_open to open file.
+       Update loader sources to reflect new header location.
 
-2008-07-31  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
-       ELF segments, use a macro for arbitrarily accessing any of them instead
-       of preparing a pointer that allows access to one at a time.
-       (grub_multiboot_load_elf64): Likewise.
+2018-02-23  Colin Watson  <cjwatson@ubuntu.com>
 
-2008-07-31  Bean  <bean123ch@gmail.com>
+       libgcrypt: Import replacement CRC operations
+       The CRC implementation imported from libgcrypt 1.5.3 is arguably
+       non-free, due to being encumbered by the restrictive Internet Society
+       licence on RFCs (see e.g. https://wiki.debian.org/NonFreeIETFDocuments).
+       Fortunately, libgcrypt has since replaced it with a version that is both
+       reportedly better-optimised and doesn't suffer from this encumbrance.
 
-       * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
-       GRUB_KERNEL_MACHINE_DATA_END.
+       The ideal solution would be to update to a new version of libgcrypt, and
+       I spent some time trying to do that.  However, util/import_gcry.py
+       requires complex modifications to cope with the new version, and I
+       stalled part-way through; furthermore, GRUB's libgcrypt tree already
+       contains some backports of upstream changes.  Rather than allowing the
+       perfect to be the enemy of the good, I think it's best to backport this
+       single change to at least sort out the licensing situation.  Doing so
+       won't make things any harder for a future wholesale upgrade.
 
-2008-07-30  Robert Millan  <rmh@aybabtu.com>
+       This commit is mostly a straightforward backport of
+       https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=06e122baa3321483a47bbf82fd2a4540becfa0c9,
+       but I also imported bufhelp.h from libgcrypt 1.7.0 (newer versions
+       required further changes elsewhere).
 
-       * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
-       Increase from 0x50 to 0x60.
-       * util/i386/pc/grub-install.in: Detect cross-disk installs, and
-       use UUIDs to identify the root drive for them.  If that's not
-       possible, abort.
-       * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
-       check, for cross-disk installs.
+       I've tested that "hashsum -h crc32" still produces correct output for a
+       variety of files on both i386-pc and x86_64-emu targets.
 
-2008-07-30  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
-       is non-empty, use it to set the `prefix' environment variable instead
-       of the usual approach.
-       * kern/i386/linuxbios/init.c (make_install_device): Remove function.
-       (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
-       environment variable instead of dummy make_install_device().
+2018-02-23  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
-       (start): Insert a data section, with `grub_prefix' variable.
-       * kern/i386/linuxbios/startup.S: Likewise.
+       ieee1275: add nvme support within ofpath
+       Add NVMe support within ofpath.
 
-       * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
-       New variable reference.
-       * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
-       New macro.  Defines offset of `grub_prefix' within startup.S (relative
-       to `start').
-       (GRUB_KERNEL_MACHINE_DATA_END): New macro.  Defines the end of data
-       section within startup.S (relative to `start').
-       * include/grub/i386/coreboot/kernel.h: Likewise.
+       The Open Firmware text representation for a NVMe device contains the
+       Namespace ID. An invalid namespace ID is one whose value is zero or whose
+       value is greater than the value reported by the Number of Namespaces (NN)
+       field in the Identify Controller data structure.  At the moment  only a
+       single Namespace is supported, therefore the value is currently hard coded
+       to one.
 
-       * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
-       Overwrite grub_prefix with its contents, at the beginning of the
-       first segment.
-       (main): Understand -p|--prefix.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-07-30  Robert Millan  <rmh@aybabtu.com>
+2018-02-23  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
+       chainloader: Fix wrong break condition (must be AND not, OR)
+       The definition of bpb's num_total_sectors_16 and num_total_sectors_32
+       is that either the 16-bit field is non-zero and is used (in which case
+       eg mkfs.fat sets the 32-bit field to zero), or it is zero and the
+       32-bit field is used. Therefore, a BPB is invalid only if *both*
+       fields are zero; having one field as zero and the other as non-zero is
+       the case to be expected. (Indeed, according to Microsoft's specification
+       one of the fields *must* be zero, and the other non-zero.)
 
-2008-07-30  Robert Millan  <rmh@aybabtu.com>
+       This affects all users of grub_chainloader_patch_bpb which are in
+       chainloader.c, freedos.c, and ntldr.c
 
-       * term/i386/pc/vga_text.c (grub_console_cls): Use
-       grub_console_gotoxy() to go back to beginning of the screen.
-       Found by Patrick Georgi <patrick.georgi@coresystems.de>
+       Some descriptions of the semantics of these two fields:
 
-2008-07-29  Christian Franke  <franke@computer.org>
+       https://www.win.tue.nl/~aeb/linux/fs/fat/fat-1.html
 
-       * util/update-grub_lib.in (make_system_path_relative_to_its_root):
-       Add conversion of emulated mount points on Cygwin.
+         The old 2-byte fields "total number of sectors" and "number of
+         sectors per FAT" are now zero; this information is now found in
+         the new 4-byte fields.
 
-2008-07-29  Christian Franke  <franke@computer.org>
+       (Here given in the FAT32 EBPB section but the total sectors 16/32 bit
+       fields semantic is true of FAT12 and FAT16 too.)
 
-       * util/update-grub.in: Add a check for admin
-       group on Cygwin.
-       Remove old `grub.cfg.new' before creation.
-       Add `-f' to `mv' to handle the different filesystem
-       semantics of Windows.
+       https://wiki.osdev.org/FAT#BPB_.28BIOS_Parameter_Block.29
 
-2008-07-29  Bean  <bean123ch@gmail.com>
+         19 | 2 | The total sectors in the logical volume. If this value is 0,
+         it means there are more than 65535 sectors in the volume, and the actual
+         count is stored in "Large Sectors (bytes 32-35).
 
-       * normal/main.c (get_line): Fix buffer overflow bug.
+         32 | 4 | Large amount of sector on media. This field is set if there
+         are more than 65535 sectors in the volume.
 
-2008-07-28  Robert Millan  <rmh@aybabtu.com>
+       (Doesn't specify what the "large" field is set to when unused, but as
+       mentioned mkfs.fat sets it to zero then.)
 
-       * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
-       (struct grub_apple_header): New struct.  Describes the layout of
-       the partmap header.
-       (apple_partition_map_iterate): Check the header magic as well as the
-       partition magic (which was already being checked).
+       https://technet.microsoft.com/en-us/library/cc976796.aspx
 
-2008-07-28  Pavel Roskin  <proski@gnu.org>
+         0x13 | WORD | 0x0000 |
+         Small Sectors . The number of sectors on the volume represented in 16
+         bits (< 65,536). For volumes larger than 65,536 sectors, this field
+         has a value of zero and the Large Sectors field is used instead.
 
-       * genmk.rb: Add a warning to the beginning of the output that
-       it's a generated file and should not be edited.
+         0x20 | DWORD | 0x01F03E00 |
+         Large Sectors . If the value of the Small Sectors field is zero, this
+         field contains the total number of sectors in the FAT16 volume. If the
+         value of the Small Sectors field is not zero, the value of this field
+         is zero.
 
-2008-07-28  Robert Millan  <rmh@aybabtu.com>
+       https://staff.washington.edu/dittrich/misc/fatgen103.pdf page 10
 
-       * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
-       with the same number are found, just use issue a warning with
-       grub_dprintf(), as this error has been reported to be non-fatal.
+         BPB_TotSec16 | 19 | 2 |
+         This field is the old 16-bit total count of sectors on the volume.
+         This count includes the count of all sectors in all four regions of the
+         volume. This field can be 0; if it is 0, then BPB_TotSec32 must be
+         non-zero. For FAT32 volumes, this field must be 0. For FAT12 and
+         FAT16 volumes, this field contains the sector count, and
+         BPB_TotSec32 is 0 if the total sector count “fits” (is less than
+         0x10000).
 
-2008-07-27  Robert Millan  <rmh@aybabtu.com>
+         BPB_TotSec32 | 32 | 4 |
+         This field is the new 32-bit total count of sectors on the volume.
+         This count includes the count of all sectors in all four regions of the
+         volume. This field can be 0; if it is 0, then BPB_TotSec16 must be
+         non-zero. For FAT32 volumes, this field must be non-zero. For
+         FAT12/FAT16 volumes, this field contains the sector count if
+         BPB_TotSec16 is 0 (count is greater than or equal to 0x10000).
 
-       * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
-       information.
+       (This specifies that an unused BPB_TotSec32 field is set to zero.)
 
-2008-07-27  Bean  <bean123ch@gmail.com>
+       By the way fix offsets in include/grub/fat.h.
 
-       * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
-       (grub_fat_find_dir): Ignore case when comparing filename.
+       Tested with lDebug booted in qemu via grub2's
+       FreeDOS direct loading support, refer to
+       https://bitbucket.org/ecm/ldosboot + https://bitbucket.org/ecm/ldebug
 
-2008-07-27  Bean  <bean123ch@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
-       smallino, as it's more descriptive, and i8count can be confused with
-       the other field count.
-       (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
-       inode type.
+2018-02-23  H.J. Lu  <hjl.tools@gmail.com>
 
-2008-07-27  Bean  <bean123ch@gmail.com>
+       x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32
+       Starting from binutils commit bd7ab16b4537788ad53521c45469a1bdae84ad4a:
 
-       * commands/crc.c: New file.
+       https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bd7ab16b4537788ad53521c45469a1bdae84ad4a
 
-       * lib/crc.c: Likewise.
+       x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for
+       32-bit PC-relative branches.  Grub2 should treat R_X86_64_PLT32 as
+       R_X86_64_PC32.
 
-       * include/grub/lib/crc.h: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
+2018-02-14  Steve McIntyre  <steve@einval.com>
 
-       * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
-       (hexdump): Move this function to ...
+       Make grub-install check for errors from efibootmgr
+       Code is currently ignoring errors from efibootmgr, giving users
+       clearly bogus output like:
 
-       * lib/hexdump.c: ... here.
+               Setting up grub-efi-amd64 (2.02~beta3-4) ...
+               Installing for x86_64-efi platform.
+               Could not delete variable: No space left on device
+               Could not prepare Boot variable: No space left on device
+               Installation finished. No error reported.
 
-       * include/grub/hexdump.h: Renamed to ...
+       and then potentially unbootable systems. If efibootmgr fails, grub-install
+       should know that and report it!
 
-       * include/grub/lib/hexdump.h: ... this.
+       We've been using similar patch in Debian now for some time, with no ill effects.
 
-       * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-editenv.c: Likewise.
+2018-02-14  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * include/envblk.h: Renamed to ...
+       sparc64: fix OF path names for sun4v systems
+       Fix the Open Firmware (OF) path property for sun4v SPARC systems.
+       These platforms do not have a /sas/ within their path. Over time
+       different OF addressing schemes have been supported. There
+       is no generic addressing scheme that works across every HBA.
 
-       * include/lib/envblk.h: ... this.
+       It looks that this functionality will not work if you try to cross-install
+       SPARC GRUB2 binary using e.g. x86 grub-install. By default it should work.
+       However, we will also have other issues here, like lack of access to OF
+       firmware/paths, which make such configs unusable anyway. So, let's leave
+       this patch as is for time being. If somebody cares then he/she should fix
+       the issue(s) at some point.
 
-       * util/envblk.c: Renamed to ...
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * lib/envblk.c: ... this.
+2018-02-14  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
-       lib/hexdump.c.
-       (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
-       (pkglib_MODULES): Add crc.mod.
-       (hexdump_mod_SOURCES): Add lib/hexdump.c.
-       (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
-       (crc_mod_SOURCES): New macro.
-       (crc_mod_CFLAGS): Likewise.
-       (crc_mod_LDFLAGS): Likewise.
+       sparc64: Add blocklist GPT support for SPARC
+       Add block-list GPT support for SPARC.  The OBP "load" and "boot" methods
+       are partition aware and neither command can see the partition table. Also
+       neither command can address the entire physical disk. When the install
+       happens, grub generates the block-list entries based on the beginning of the
+       physical disk, not the beginning of the partition. This patch fixes the
+       block-list entries so they match what OBP expects during boot for a GPT disk.
 
-       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
+       T5 and above now supports GPT as well as VTOC.
 
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+       This patch has been tested on T5-2 and newer SPARC systems.
 
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+2018-01-29  Stefan Fritsch  <fritsch@genua.de>
 
-       * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
+       ahci: Improve error handling
+       Check the error bits in the interrupt status register. According to the
+       AHCI 1.2 spec, "Interrupt sources that are disabled (‘0’) are still
+       reflected in the status registers.", so this should work even though
+       grub uses polling
 
-2008-07-27  Felix Zielcke  <fzielcke@z-51.de>
+       This fixes the following problem on a Fujitsu E744 laptop:
 
-       * commands/help.c: Include <grub/term.h>.
-       (TERM_WIDTH): Removed.  Updated all users.
+       Sometimes there is a very long delay (up to several minutes) when
+       booting from hard disk. It seems accessing the DVD drive (which has no
+       disk inserted) sometimes fails with some errors, which leads to each
+       access being stalled until the 20s timeout triggers. This seems to
+       happen when grub is trying to read filesystem/partition data.
 
-2008-07-27  Pavel Roskin  <proski@gnu.org>
+       The problem is that the command_issue bit that is checked in the loop is
+       only reset if the "HBA receives a FIS which clears the BSY, DRQ, and ERR
+       bits for the command", but the ERR bit is never cleared. Therefore
+       command_issue is never reset and grub waits for the timeout.
 
-       * util/getroot.c (find_root_device): Rephrase a comment to avoid
-       spurious warnings about a comment within a comment.
+       The relevant bit in our case is the Task File Error Status (TFES), which
+       is equivalent to the ERR bit 0 in tfd. But this patch also checks
+       the other error bits except for the "Interface non-fatal error status"
+       bit.
 
-2008-07-25  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/getroot.c (find_root_device): Skip devices that match
-       /dev/dm-[0-9].  This lets the real device be found for any type of
-       abstraction (LVM, EVMS, RAID..).
-       (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
-       and /dev/evms (for EVMS) before traversing /dev.  If a /dev/dm-[0-9]
-       device is found first, find_root_device() will now skip it.
+2018-01-29  dann frazier  <dann.frazier@canonical.com>
 
-2008-07-24  Pavel Roskin  <proski@gnu.org>
+       Keep the native terminal active when enabling gfxterm
+       grub-mkconfig will set GRUB_TERMINAL_OUTPUT to "gfxterm" unless the user
+       has overridden it. On EFI systems, this will stop output from going to the
+       default "console" terminal. When the EFI fw console is configured to output to
+       both serial and video, this will cause GRUB to only display on video - while
+       continuing to accept input from both video and serial.
 
-       * include/grub/types.h: Use __builtin_bswap32() and
-       __builtin_bswap64() with gcc 4.3 and newer.
+       Instead of switching from "console" to "gfxterm", let's output to both.
 
-2008-07-24  Christian Franke  <franke@computer.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/i386/pc/grub-install.in: If `--debug' is specified,
-       pass `--verbose' to grub-setup.
-       Abort script if make_system_path_relative_to_its_root() fails.
+2017-12-06  Julien Grall  <julien.grall@linaro.org>
 
-2008-07-24  Bean  <bean123ch@gmail.com>
+       arm64/xen: Add missing #address-cells and #size-cells properties
+       The properties #address-cells and #size-cells are used to know the
+       number of cells for ranges provided by "regs". If they don't exist, the
+       value are resp. 2 and 1.
 
-       * configure.ac: Fixed a bug caused by the previous cygwin patch,
-       variable `target_platform' should be `platform'.
+       Currently, when multiboot nodes are created it is assumed that #address-cells
+       and #size-cells are exactly 2. However, they are never set by GRUB and
+       will result to later failure when the device-tree is generated by GRUB
+       or contain different values.
 
-2008-07-24  Bean  <bean123ch@gmail.com>
+       To prevent this failure, create the both properties in the chosen nodes.
 
-       * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
-       (grub_png_init_fixed_block): New function.
-       (grub_png_decode_image_data): Handle fixed huffman code compression.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-07-24  Bean  <bean123ch@gmail.com>
+2017-12-06  Jordan Glover  <Golden_Miller83@protonmail.ch>
 
-       * common.rmk (bin_UTILITIES): Add grub-pe2elf.
-       (grub_pe2elf_SOURCES): New macro.
-       (CLEANFILES): Add grub-pe2elf.
+       grub-mkconfig: Fix detecting .sig files as system images
+       grub-mkconfig detects detached RSA signatures for kernel images used for
+       signature checking as valid images and adds them to grub.cfg as separate
+       menu entries. This patch adds .sig extension to common blacklist.
 
-       * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
-       (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
-       (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
-       (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
-       (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
-       (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
-       (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
-       (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
-       (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
-       (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
-       (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
-       (GRUB_PE32_SYM_CLASS_FILE): Likewise.
-       (GRUB_PE32_DT_FUNCTION): Likewise.
-       (GRUB_PE32_REL_I386_DIR32): Likewise.
-       (GRUB_PE32_REL_I386_REL32): Likewise.
-       (grub_pe32_symbol): New structure.
-       (grub_pe32_reloc): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/grub-pe2elf.c: New file.
+2017-12-06  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
-       start symbol in non pc platform.
+       ieee1275: Fix segfault in grub-ofpathname
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
+2017-11-28  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       The following patches are from Christian Franke.
+       grub-install: Fix memory leak
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/dl.h: Remove .previous, gas supports this only
-       for ELF format.
+2017-11-24  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
-       Remove .type, gas supports this only for ELF format.
+       ls: prevent double open
+       Prevent a double open.  This can cause problems with some ieee1275
+       devices, causing the system to hang.  The double open can occur
+       as follows:
 
-       * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
-       nullbytes in symbol table. This fixes an infinite loop if table is
-       zero filled.
+       grub_ls_list_files (char *dirname, int longlist, int all, int human)
+              dev = grub_device_open (device_name);
+              dev remains open while:
+              grub_normal_print_device_info (device_name);
+                       dev = grub_device_open (name);
 
-       * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
-       TARGET_IMG_LDFLAGS and EXEEXT.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
-       TARGET_IMG_LDFLAGS_AC.
-       (grub_CHECK_STACK_ARG_PROBE): New function.
+2017-10-06  David E. Box  <david.e.box@linux.intel.com>
 
-       * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
+       tsc: Change default tsc calibration method to pmtimer on EFI systems
+       On efi systems, make pmtimer based tsc calibration the default over the
+       pit. This prevents Grub from hanging on Intel SoC systems that power gate
+       the pit.
 
-       * conf/i386-pc-cygwin-ld-img.sc: New linker script.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
-       to set TARGET_IMG_LD* accordingly.
-       Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
-       Add call to grub_CHECK_STACK_ARG_PROBE.
-       Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
+2017-09-07  Alexander Graf  <agraf@suse.de>
 
-       * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
+       efi: Free malloc regions on exit
+       When we exit grub, we don't free all the memory that we allocated earlier
+       for our heap region. This can cause problems with setups where you try
+       to descend the boot order using "exit" entries, such as PXE -> HD boot
+       scenarios.
 
-       * genmk.rb: Add EXEEXT to CLEANFILES.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-07-23  Robert Millan  <rmh@aybabtu.com>
+2017-09-07  Alexander Graf  <agraf@suse.de>
 
-       * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
-       define the codes for arrows and lines used for the menu).
-       (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
-       as well.
+       efi: Move grub_reboot() into kernel
+       The reboot function calls machine_fini() and then reboots the system.
+       Currently it lives in lib/ which means it gets compiled into the
+       reboot module which lives on the heap.
 
-       * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
-       fonts, because the latter are too slow.
-
-2008-07-21  Bean  <bean123ch@gmail.com>
-
-       * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
-       a20. Run keyboard test last, as it will cause macbook to halt.
-
-2008-07-18  Pavel Roskin  <proski@gnu.org>
-
-       * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P.  We cannot
-       load foreign architecture modules correctly anyway.  Keep
-       support for loading host architecture modules, whether we
-       compile them or not.
-
-2008-07-17  Pavel Roskin  <proski@gnu.org>
-
-       * configure.ac: Use -m32 or -m64 regardless of whether we had to
-       change target_cpu.  The compiler default can mismatch target_cpu
-       in any case.
-
-       * disk/efi/efidisk.c: Fix format warnings on x86_64.
-       * kern/efi/efi.c: Likewise.
-
-       * aclocal.m4 (grub_PROG_TARGET_CC): New macro.  Check if the
-       target compiler is functional.
-       * configure.ac: Call grub_PROG_TARGET_CC once all target flags
-       are set up.
-
-       * configure.ac: Default to efi platform for x86_64-apple.  Allow
-       powerpc64 CPU, default to ieee1275 platform for it.  Split CPU
-       adjustments from the rest, only do them if target is not
-       explicitly given.  Merge other adjustments with the final sanity
-       check.  Remove an extraneous check for supported CPU.  Be
-       specific which CPU and which platform is not supported.
-
-       * configure.ac: Default to pc platform for x86_64.
-
-2008-07-17  Robert Millan  <rmh@aybabtu.com>
-
-       Partial LinuxBIOS -> Coreboot rename.
-
-       * conf/i386-linuxbios.rmk: Renamed to ...
-       * conf/i386-coreboot.rmk: ... this.
-       * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
-       * configure.ac: Accept "coreboot" as input platform (but maintain
-       compatibility with "linuxbios").
-       * include/grub/i386/linuxbios: Renamed to ...
-       * include/grub/i386/coreboot: ... this.
-
-2008-07-17  Bean  <bean123ch@gmail.com>
-
-       * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
-       (appleldr_mod_SOURCE): New variable.
-       (appleldr_mod_CFLAGS): Likewise.
-       (appleldr_mod_LDFLAGS): Likewise.
-       (pci_mod_SOURCES): Likewise.
-       (pci_mod_CFLAGS): Likewise.
-       (pci_mod_LDFLAGS): Likewise.
-       (lspci_mod_SOURCES): Likewise.
-       (lspci_mod_CFLAGS): Likewise.
-       (lspci_mod_LDFLAGS): Likewise.
-
-       * conf/x86_64-efi.rmk: New file.
-
-       * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
-       macro.
-       (grub_efidisk_write): Likewise.
-
-       * include/efi/api.h (efi_call_0): New macro.
-       (efi_call_1): Likewise.
-       (efi_call_2): Likewise.
-       (efi_call_3): Likewise.
-       (efi_call_4): Likewise.
-       (efi_call_5): Likewise.
-       (efi_call_6): Likewise.
-
-       * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
-       grub_rescue_cmd_chainloader.
-
-       * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
-       (grub_pe32_optional_header): Change some fields based on i386 or
-       x86_64 platform.
-       (GRUB_PE32_PE32_MAGIC): Likewise.
-
-       * include/grub/efi/uga_draw.h: New file.
-
-       * include/grub/elf.h (STN_ABS): New constant.
-       (R_X86_64_NONE): Relocation constant for x86_64.
-       (R_X86_64_64): Likewise.
-       (R_X86_64_PC32): Likewise.
-       (R_X86_64_GOT32): Likewise.
-       (R_X86_64_PLT32): Likewise.
-       (R_X86_64_COPY): Likewise.
-       (R_X86_64_GLOB_DAT): Likewise.
-       (R_X86_64_JUMP_SLOT): Likewise.
-       (R_X86_64_RELATIVE): Likewise.
-       (R_X86_64_GOTPCREL): Likewise.
-       (R_X86_64_32): Likewise.
-       (R_X86_64_32S): Likewise.
-       (R_X86_64_16): Likewise.
-       (R_X86_64_PC16): Likewise.
-       (R_X86_64_8): Likewise.
-       (R_X86_64_PC8): Likewise.
-
-       * include/grub/i386/efi/pci.h: New file.
-
-       * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
-       Change it value based on platform.
-       (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
-       (GRUB_E820_RAM): Likewise.
-       (GRUB_E820_RESERVED): Likewise.
-       (GRUB_E820_ACPI): Likewise.
-       (GRUB_E820_NVS): Likewise.
-       (GRUB_E820_EXEC_CODE): Likewise.
-       (GRUB_E820_MAX_ENTRY): Likewise.
-       (grub_e820_mmap): New structure.
-       (linux_kernel_header): Change the efi field according to different
-       kernel version, also field from linux_kernel_header.
-
-       * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
-
-       * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
-       (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
-       (GRUB_PCI_ADDR_SPACE_IO): Likewise.
-       (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
-       (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
-       (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
-       (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
-       (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
-       (GRUB_PCI_ADDR_MEM_MASK): Likewise.
-       (GRUB_PCI_ADDR_IO_MASK): Likewise.
-
-       * include/grub/x86_64/efi/kernel.h: New file.
-
-       * include/grub/x86_64/efi/loader.h: Likewise.
-
-       * include/grub/x86_64/efi/machine.h: Likewise.
-
-       * include/grub/x86_64/efi/pci.h: Likewise.
-
-       * include/grub/x86_64/efi/time.h: Likewise.
-
-       * include/grub/x86_64/linux.h: Likewise.
-
-       * include/grub/x86_64/setjmp.h: Likewise.
-
-       * include/grub/x86_64/time.h: Likewise.
-
-       * include/grub/x86_64/types.h: Likewise.
-
-       * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
-        GRUB_TARGET_SIZEOF_VOID_P.
-
-       * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
-       (grub_efi_locate_handle): Likewise.
-       (grub_efi_open_protocol): Likewise.
-       (grub_efi_set_text_mode): Likewise.
-       (grub_efi_stall): Likewise.
-       (grub_exit): Likewise.
-       (grub_reboot): Likewise.
-       (grub_halt): Likewise.
-       (grub_efi_exit_boot_services): Likewise.
-       (grub_get_rtc): Likewise.
+       In a following patch, I want to free the heap on machine_fini()
+       though, so we would free the memory that the code is running in. That
+       obviously breaks with smarter UEFI implementations.
 
-       * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
-       (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
-       (grub_efi_allocate_pages): Wrap efi calls.
-       (grub_efi_free_pages): Wrap efi calls.
-       (grub_efi_get_memory_map): Wrap efi calls.
+       So this patch moves it into the core. That way we ensure that all
+       code running after machine_fini() in the UEFI case is running from
+       memory that got allocated (and gets deallocated) by the UEFI core.
 
-       * kern/x86_64/dl.c: New file.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/x86_64/efi/callwrap.S: Likewise.
+2017-09-07  Konrad Rzeszutek Wilk  <konrad.wilk@oracle.com>
 
-       * kern/x86_64/efi/startup.S: Likewise.
+       Use grub-file to figure out whether multiboot2 should be used for Xen.gz
+       The multiboot2 is much more preferable than multiboot. Especiall
+       if booting under EFI where multiboot does not have the functionality
+       to pass ImageHandler.
 
-       * loader/efi/appleloader.c: Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/efi/chainloader.c (cmdline): New variable.
-       (grub_chainloader_unload): Wrap efi calls.
-       (grub_chainloader_boot): Likewise.
-       (grub_rescue_cmd_chainloader): Wrap efi calls, handle
-       command line.
+2017-09-07  Konrad Rzeszutek Wilk  <konrad.wilk@oracle.com>
 
-       * loader/efi/chainloader_normal.c (chainloader_command):
-       Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
-       command line.
+       Fix util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64
+       Commit d33045ce7ffcb7c1e4a60c14d5ca64b36e3c5abe introduced
+       the support for this, but it does not work under x86 (as it stops
+       20_linux_xen from running).
 
-       * loader/i386/efi/linux.c (allocate_pages): Change allocation
-       method.
-       (grub_e820_add_region): New function.
-       (grub_linux_boot): Construct e820 map from efi map, handle x86_64
-       booting.
-       (grub_find_video_card): New function.
-       (grub_linux_setup_video): New function.
-       (grub_rescue_cmd_linux): Probe for video information.
+       The 20_linux_xen is run under a shell and any exits from within it:
 
-       * normal/x86_64/setjmp.S: New file.
+       (For example on x86):
+       + /usr/bin/grub2-file --is-arm64-efi /boot/xen-4.9.0.gz
+       [root@tst063 grub]# echo $?
+       1
 
-       * term/efi/console.c (map_char): New function.
-       (grub_console_putchar): Map unicode char.
-       (grub_console_checkkey): Wrap efi calls.
-       (grub_console_getkey): Likewise.
-       (grub_console_getwh): Likewise.
-       (grub_console_gotoxy): Likewise.
-       (grub_console_cls): Likewise.
-       (grub_console_setcolorstate): Likewise.
-       (grub_console_setcursor): Likewise.
+       will result in 20_linux_xen exiting without continuing
+       and also causing grub2-mkconfig to stop processing.
 
-       * util/i386/efi/grub-mkimage.c: Add support for x86_64.
+       As in:
 
-2008-07-16  Pavel Roskin  <proski@gnu.org>
+        [root@tst063 grub]# ./grub-mkconfig | tail
+        Generating grub configuration file ...
+        Found linux image: /boot/vmlinuz-4.13.0-0.rc5.git1.1.fc27.x86_64
+        Found initrd image: /boot/initramfs-4.13.0-0.rc5.git1.1.fc27.x86_64.img
+        Found linux image: /boot/vmlinuz-0-rescue-ec082ee24aea41b9b16aca52a6d10cc2
+        Found initrd image: /boot/initramfs-0-rescue-ec082ee24aea41b9b16aca52a6d10cc2.img
+                       echo    'Loading Linux 0-rescue-ec082ee24aea41b9b16aca52a6d10cc2 ...'
+                       linux   /vmlinuz-0-rescue-ec082ee24aea41b9b16aca52a6d10cc2 root=/dev/mapper/fedora_tst063-root ro single
+                       echo    'Loading initial ramdisk ...'
+                       initrd  /initramfs-0-rescue-ec082ee24aea41b9b16aca52a6d10cc2.img
+               }
+        }
 
-       * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
-       format strings.
+        ### END /usr/local/etc/grub.d/10_linux ###
 
-       * util/i386/efi/grub-mkimage.c (get_target_address): Return a
-       pointer, not an integer.  This fixes a warning and prevents
-       precision loss on 64-bit systems.
-       (relocate_addresses): Remove unneeded cast.
+        ### BEGIN /usr/local/etc/grub.d/20_linux_xen ###
 
-2008-07-15  Pavel Roskin  <proski@gnu.org>
+        root@tst063 grub]#
 
-       * kern/i386/ieee1275/init.c: Include grub/cache.h.
+       And no more.
 
-       * term/ieee1275/ofconsole.c: Disable code unused on i386.
+       This patch wraps the invocation of grub-file to be a in subshell
+       and to process the return value in a conditional. That fixes
+       the issue.
 
-       * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
-       Fix comparison between signed and unsigned.
+       RH-BZ 1486002: grub2-mkconfig does not work if xen.gz is installed.
 
-       * include/grub/i386/ieee1275/console.h: Declare
-       grub_console_init() and grub_console_fini().
+       CC: Fu Wei <fu.wei@linaro.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
-       It's empty and unused.
+2017-09-07  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
-       beginning to avoid warnings with some compilers.
+       Fix compilation for x86_64-efi.
 
-       * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
-       [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
+2017-09-05  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-07-14  Pavel Roskin  <proski@gnu.org>
+       Add a file missing in multiboot2 commit.
 
-       * kern/env.c (grub_register_variable_hook): Don't copy empty
-       string, it leaks memory.  Pass "" to grub_env_set(), it should
-       handle constant strings.
+2017-08-30  Vladimir Serbinenko  <phcoder@google.com>
 
-       * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
-       * commands/cmp.c (grub_cmd_cmp): Likewise.
-       * kern/dl.c (grub_dl_flush_cache): Likewise.
-       (grub_dl_load_core): Likewise.
-       * kern/elf.c (grub_elf32_load_phdrs): Likewise.
-       (grub_elf64_load_phdrs): Likewise.
+       gzio: fix unaligned access
 
-2008-07-13  Pavel Roskin  <proski@gnu.org>
+       grub-fs-tester: Fix bashism
 
-       * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
-       between signed and unsigned.
-       (LzmaEnc_Finish): Fix warning about an unused parameter.
+2017-08-30  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-07-13  Bean  <bean123ch@gmail.com>
+       Regenerate checksum.h with newer unifont.
+       Old link is broken. New unifont is
+       http://ftp.de.debian.org/debian/pool/main/u/unifont/xfonts-unifont_9.0.06-2_all.deb
 
-       * Makefile.in (enable_lzo): New rule.
+       printf_unit_test: Disable Wformat-truncation on GCC >= 7
+       We intentionally pass NULL as argument to format, hence disable the warning.
 
-       * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
+       qemu, coreboot, multiboot: Change linking address to 0x9000.
+       It's common for distros to use a defective ld which links at 0x9000. Instead
+       of fighting it, just move link target to 0x9000.
 
-       * configure.ac (ENABLE_LZO): New option --enable-lzo.
+2017-08-30  Stefan Fritsch  <sf@sfritsch.de>
 
-       * boot/i386/pc/lnxboot.S: #include <config.h>.
+       Implement checksum verification for gunzip
+       This implements the crc32 check for the gzip format. Support for zlib's
+       adler checksum is not included, yet.
 
-       * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
-       its value according to the compression algorithm used, lzo or lzma.
+2017-08-30  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
-       compression algorithm according to configure macro.
+       xfs: Don't attempt to iterate over empty directory.
+       Reported by: Tuomas Tynkkynen
 
-       * kern/i386/pc/startup.S (codestart): Likewise.
+2017-08-30  Patrick Steinhardt  <ps@pks.im>
 
-       * kern/i386/pc/lzma_decode.S: New file.
+       unix exec: avoid atexit handlers when child exits
+       The `grub_util_exec_redirect_all` helper function can be used to
+       spawn an executable and redirect its output to some files. After calling
+       `fork()`, the parent will wait for the child to terminate with
+       `waitpid()` while the child prepares its file descriptors, environment
+       and finally calls `execvp()`. If something in the children's setup
+       fails, it will stop by calling `exit(127)`.
 
-       * include/grub/lib/LzFind.h: Likewise.
+       Calling `exit()` will cause any function registered via `atexit()` to be
+       executed, which is usually the wrong thing to do in a child. And
+       actually, one can easily observe faulty behaviour on musl-based systems
+       without modprobe(8) installed: executing `grub-install --help` will call
+       `grub_util_exec_redirect_all` with "modprobe", which obviously fails if
+       modprobe(8) is not installed. Due to the child now exiting and invoking
+       the `atexit()` handlers, it will clean up some data structures of the
+       parent and cause it to be deadlocked in the `waitpid()` syscall.
 
-       * include/grub/lib/LzHash.h: Likewise.
+       The issue can easily be fixed by calling `_exit(127)` instead, which is
+       especially designed to be called when the atexit-handlers should not be
+       executed.
 
-       * include/grub/lib/LzmaDec.h: Likewise.
+2017-08-30  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * include/grub/lib/LzmaEnc.h: Likewise.
+       arc: Do not create spurious variable grub_arc_memory_type_t.
 
-       * include/grub/lib/LzmaTypes.h: Likewise.
+2017-08-14  Xuan Guo  <nbdd0121>
 
-       * lib/LzFind.c: Likewise.
+       Set have_exec to y on cygwin so we have grub_mkrescue.
 
-       * lib/LzmaDec.c: Likewise.
+2017-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * lib/LzmaEnc.c: Likewise.
+       enforcing fixup
 
-2008-07-13  Bean  <bean123ch@gmail.com>
+       multiboot fixup
 
-       * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
-       (grub_ext4_extent_header): New structure.
-       (grub_ext4_extent): Likewise.
-       (grub_ext4_extent_idx): Likewise.
-       (grub_ext4_find_leaf): New function.
-       (grub_ext2_read_block): Handle extents.
+       linux fixup
 
-2008-07-12  Robert Millan  <rmh@aybabtu.com>
+       yylex: Explicilty cast fprintf to void.
+       It's needed to avoid warning on recent GCC.
 
-       * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
+       genmoddep: Check that no modules provide the same symbol.
+       The semantics of 2 modules providing the same symbol are undefined. So
+       ensure that it doesn't happen.
 
-2008-07-11  Robert Millan  <rmh@aybabtu.com>
+       Fix symbols appearing in several modules in linux*.
+       If same symbol is provided by 2 modules its semantics are undefined.
+       Avoid this by depending rather than double-including files.
 
-       * util/grub.d/40_custom.in: New file. Example on how to add custom
-       entries to /etc/grub.d.
-       * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
-       40_custom (implicitly, by merging all the grub.d rules).
+2017-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-07-11  Pavel Roskin  <proski@gnu.org>
+       multiboot: disentangle multiboot and multiboot2.
+       Previously we had multiboot and multiboot2 declaring the same symbols.
+       This can potentially lead to aliasing and strange behaviours when e.g.
+       module instead of module2 is used with multiboot2.
 
-       * commands/read.c (grub_getline): Fix invalid memory access.
-       Don't add newline to the variable value.
+       Bug: #51137
 
-       * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
-       [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
-       (serial_hw_get_port): Check validity of the port number.
-       (grub_cmd_serial): Check return value of serial_hw_get_port().
+2017-08-14  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-07-07  Pavel Roskin  <proski@gnu.org>
+       hdparm: Depend on hexdump rather than having a second copy of hexdump.
 
-       * boot/i386/pc/diskboot.S (notification_string): Replace
-       "Loading kernel" with just "loading".  This is shorter, less
-       confusing and saves a few bytes for possible future changes.
+       grub.texi: Fix typo
+       Reported by:    Ori Avtalion <saltyhorse>
 
-2008-07-05  Pavel Roskin  <proski@gnu.org>
+2017-08-07  Pete Batard  <pete@akeo.ie>
 
-       * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
-       size for ATAPI devices, they are undefined.  Output sector
-       number in decimal form.
+       io: add a GRUB_GZ prefix to gzio specific defines
+       * This is done to avoid a conflict with a PACKED define in the EDK2
 
-       * disk/ata.c: Use named constants for status bits.
+       core: use GRUB_TERM_ definitions when handling term characters
+       * Also use hex value for GRUB_TERM_ESC as '\e' is not in the C standard and is not understood by some compilers
 
-2008-07-04  Pavel Roskin  <proski@gnu.org>
+2017-08-07  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
-       grub_addr_t before casting it to the void pointer to fix a
-       warning.  Non-addressable regions are discarded earlier.
-       (grub_arch_modules_addr): Cast _end to grub_addr_t.
-       * kern/i386/linuxbios/table.c: Include grub/misc.h.
-       (check_signature): Don't shadow table_header.
-       (grub_linuxbios_table_iterate): Cast numeric constants to
-       grub_linuxbios_table_header_t.
-       * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
-       grub_stop().
+       efi: change heap allocation type to GRUB_EFI_LOADER_CODE
+       With upcoming changes to EDK2, allocations of type EFI_LOADER_DATA may
+       not return regions with execute ability. Since modules are loaded onto
+       the heap, change the heap allocation type to GRUB_EFI_LOADER_CODE in
+       order to permit execution on systems with this feature enabled.
 
-       * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
-       prevent warnings.
+       Closes: 50420
 
-       * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
-       pointer, which can cause warnings.  Support 64-bit addresses.
+2017-08-07  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
-       of sizeof(long).  This fixes PowerPC image generation on x86_64.
+       arm64 linux loader: improve type portability
+       In preparation for turning this into a common loader for 32-bit and 64-bit
+       platforms, ensure the code will compile cleanly for either.
 
-2008-07-04  Robert Millan  <rmh@aybabtu.com>
+2017-08-07  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       This fixes a performance issue when pc & gpt partmap iterators
-       didn't abort iteration even after our hook found what it was
-       looking for (often causing expensive probes of non-existent drives).
+       efi: Add GRUB_PE32_MAGIC definition
+       Add a generic GRUB_PE32_MAGIC definition for the PE 'MZ' tag and delete
+       the existing one in arm64/linux.h.
 
-       Some callers relied on previous buggy behaviour, since they would
-       raise an error when their own hooks caused early abortion of its
-       iteration.
+       Update arm64 Linux loader to use this new definition.
 
-       * kern/device.c (grub_device_open): Improve error message.
-       * disk/lvm.c (grub_lvm_open): Likewise.
-       * disk/raid.c (grub_raid_open): Likewise.
+2017-08-07  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
-       when hook requests it, independently of grub_errno.
-       (pc_partition_map_probe): Do not fail when find_func() caused
-       early abortion of pc_partition_map_iterate().
+       efi: move fdt helper library
+       There is nothing ARM64 (or even ARM) specific about the efi fdt helper
+       library, which is used for locating or overriding a firmware-provided
+       devicetree in a UEFI system - so move it to loader/efi for reuse.
 
-       * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
-       when hook requests it, independently of grub_errno.
-       (gpt_partition_map_probe): Do not fail when find_func() caused
-       early abortion of gpt_partition_map_iterate().
+       Move the fdtload.h include file to grub/efi and update path to
+       efi/fdtload.h in source code referring to it.
 
-       * kern/partition.c (grub_partition_iterate): Abort parent iteration
-       when hook requests it, independently of grub_errno.  Do not fail when
-       part_map_iterate_hook() caused early abortion of p->iterate().
+2017-08-07  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
-       when grub_partition_iterate() returned with non-zero.
+       Remove grub_efi_allocate_pages.
+       grub_efi_allocate_pages Essentially does 2 unrelated things:
+       * Allocate at fixed address.
+       * Allocate at any address.
 
-2008-07-03  Pavel Roskin  <proski@gnu.org>
+       To switch between 2 different functions it uses address == 0 as magic
+       value which is wrong as 0 is a perfectly valid fixed adress to allocate at.
 
-       * disk/ata.c (grub_ata_pio_write): Check status before writing,
-       like we do in grub_ata_pio_read().
-       (grub_ata_readwrite): Always write individual sectors.  Fix the
-       sector count for the remainder.
-       (grub_ata_write): Enable writing to ATA devices.  Correctly
-       report error for ATAPI devices.
+2017-08-07  Leif Lindholm  <leif.lindholm@linaro.org>
 
-2008-07-02  Pavel Roskin  <proski@gnu.org>
+       efi: refactor grub_efi_allocate_pages
+       Expose a new function, grub_efi_allocate_pages_real(), making it possible
+       to specify allocation type and memory type as supported by the UEFI
+       AllocatePages boot service.
 
-       * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
-       warning.
+       Make grub_efi_allocate_pages() a consumer of the new function,
+       maintaining its old functionality.
 
-       * disk/ata.c (grub_ata_readwrite): Don't increment sector number
-       for every read sector, we already increment it for the whole
-       batch.  This fixes reading more than 256 sectors at once.
+       Also delete some left-around #if 1/#else blocks in the affected
+       functions.
 
-       * util/grub-editenv.c (cmd_info): Cast argument to long
-       explicitly.  ptrdiff_t reduces to int on i386.
+2017-08-07  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/grub-editenv.c (main): Be specific which parameter is
-       missing.
+       Fail if xorriso failed.
+       If xorriso failed most likely we didn't generate a meaningful image.
 
-       * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
-       (memdisk): Make memdisk_orig_addr a pointer.
+       mkrescue: Check xorriso presence before doing anything else.
+       mkrescue can't do anything useful without xorriso, so abort early if it's
+       not available.
 
-       * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
-       for file offsets, use grub_off_t instead.  Fix printf format
-       warnings.
+2017-08-07  Pali Rohár  <pali.rohar@gmail.com>
 
-       * fs/reiserfs.c: Remove #warning, TODO list items don't belong
-       there.  Real unexpected warnings should not drown in the noise
-       about known problems.
+       * grub-core/fs/udf.c: Add support for UUID
+       Use same algorithm as in libblkid from util-linux v2.30.
 
-       * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
-       grub_disk_addr_t for memory addresses.
+       1. Take first 16 bytes from UTF-8 encoded string of VolumeSetIdentifier
+       2. If all bytes are hexadecimal digits, convert to lowercase and use as UUID
+       3. If first 8 bytes are not all hexadecimal digits, convert those 8 bytes
+          to their hexadecimal representation, resulting in 16 bytes for UUID
+       4. Otherwise, compose UUID from two parts:
+          1. part: converted first 8 bytes (which are hexadecimal digits) to lowercase
+          2. part: encoded following 4 bytes to their hexadecimal representation (16 bytes)
 
-       * loader/aout.c (grub_aout_load): Cast load_addr to pointer
-       explicitly to fix a warning.
+       So UUID would always have 16 hexadecimal digits in lowercase variant.
 
-       * util/grub-editenv.c (cmd_info): Fix warning in printf format.
+       According to UDF specification, first 16 Unicode characters of
+       VolumeSetIdentifier should be unique value and first 8 should be
+       hexadecimal characters.
 
-       * Makefile.in (MODULE_LDFLAGS): New variable.
-       * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro.  Check if
-       the linker accepts --build-id=none.
-       * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE.  Substitute
-       MODULE_LDFLAGS.
-       * genmk.rb: Use MODULE_LDFLAGS when linking modules.
+       In most cases all 16 characters are hexadecimal, but e.g. MS Windows
+       format.exe set only first 8 as hexadecimal and remaining as fixed
+       (non-unique) which violates specification.
 
-       * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
-       those in Linux XFS code.  Provide a way to access 64-bit parent
-       inode.
-       (grub_xfs_iterate_dir): Use the new names.  Avoid reading past
-       the end of struct grub_xfs_dir_header.
+2017-08-07  Pali Rohár  <pali.rohar@gmail.com>
 
-2008-07-02  Bean  <bean123ch@gmail.com>
+       udf: Fix reading label, lvd.ident is dstring
+       UDF dstring has stored length in the last byte of buffer. Therefore last
+       byte is not part of recorded characters. And empty string in dstring is
+       encoded as empty buffer, including first byte (compression id).
 
-       * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
-       GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
-       and GRUB_IEEE1275_FLAG_NO_ANSI.
+2017-08-07  Pete Batard  <pete@akeo.ie>
 
-       * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
-       GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
-       and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
+       zfs: remove size_t typedef and use grub_size_t instead
+       * Prevents some toolchains from issuing a warning on size_t redef.
 
-       * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
-       immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
+2017-08-03  Rob Clark  <rclark@redhat.com>
 
-       * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
-       GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
+       Fix a segfault in lsefi
+       when protocols_per_handle returns error, we can't use the pointers we
+       passed to it, and that includes trusting num_protocols.
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
-       esc sequence on non ANSI terminal.
-       (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
-       beginning of file.
+2017-07-10  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-07-02  Bean  <bean123ch@gmail.com>
+       fdt: silence clang warning.
 
-       * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
-       (grub_editenv_SOURCES): New variable.
-       (pkglib_MODULES): Add loadenv.mod.
-       (loadenv_mod_SOURCES): New variable.
-       (loadenv_mod_CFLAGS): Likewise.
-       (loadenv_mod_LDFLAGS): Likewise.
+2017-07-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * include/grub/envblk.h: New file.
+       arm-efi: Fix compilation
 
-       * util/envblk.c: New file.
+2017-07-09  AppChecker  <appchecker>
 
-       * util/grub-editenv.c: New file.
+       crypto: Fix use after free.
+       Reported by: AppChecker
+       Transformed to patch by: Satish Govindarajan
 
-       * commands/loadenv.c: New file.
+2017-07-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-07-01  Pavel Roskin  <proski@gnu.org>
+       ehci: Fix compilation on i386
 
-       * include/multiboot2.h (struct multiboot_tag_module): Use char,
-       not unsigned char.  This fixes warnings and is consistent with
-       other tags.
+2017-07-09  phcoder  <phcoder@sid.debian.laptop.phnet>
 
-       * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
+       cache: Fix compilation for ppc, sparc and arm64
 
-       * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
+       ehci: Fix compilation for amd64
 
-       * term/tparm.c (analyze): Always set *popcount.
+2017-06-29  Eric Biggers  <ebiggers@google.com>
 
-       * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
-       cast to fix a warning.
+       Allow GRUB to mount ext2/3/4 filesystems that have the encryption feature.
+       On such a filesystem, inodes may have EXT4_ENCRYPT_FLAG set.
+       For a regular file, this means its contents are encrypted; for a
+       directory, this means the filenames in its directory entries are
+       encrypted; and for a symlink, this means its target is encrypted.  Since
+       GRUB cannot decrypt encrypted contents or filenames, just issue an error
+       if it would need to do so.  This is sufficient to allow unencrypted boot
+       files to co-exist with encrypted files elsewhere on the filesystem.
 
-       * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
-       cast to suppress a warning.
+       (Note that encrypted regular files and symlinks will not normally be
+       encountered outside an encrypted directory; however, it's possible via
+       hard links, so they still need to be handled.)
 
-       * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
-       grub_fshelp_read_file() expects.
+       Tested by booting from an ext4 /boot partition on which I had run
+       'tune2fs -O encrypt'.  I also verified that the expected error messages
+       are printed when trying to access encrypted directories, files, and
+       symlinks from the GRUB command line.  Also ran 'sudo ./grub-fs-tester
+       ext4_encrypt'; note that this requires e2fsprogs v1.43+ and Linux v4.1+.
 
-       * fs/fat.c: Fix UUID calculation on big-endian systems.  We
-       write uuid as a 32-bit value in CPU byte order, so declare and
-       use it as such.
+2017-05-29  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
-       long if the format specifier expects it.
-       * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
-       * partmap/pc.c (pc_partition_map_iterate): Likewise.
-       * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
-       long to fix a warning.
-       * fs/reiserfs.c (grub_reiserfs_read): Change casts in
-       grub_dprintf() arguments to fix warnings.
+       sparc64: Don't use devspec to determine the OBP path
+       Don't use devspec to determine the OBP path on SPARC hardware.  Within all
+       versions of Linux on SPARC, the devspec returns one of three values:
+       "none", "vnet-port", or "vdisk".  Unlike on PPC, none of these values
+       are useful in determining the OBP path.
 
-2008-06-30  Pavel Roskin  <proski@gnu.org>
+       Before this patch grub-ofpathname always returned the wrong value
+       for a virtual disk. For example:
 
-       * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
-       install_bsd_part immediately before core.img is embedded or
-       modified on disk.  This fixes core.img verification if core.img
-       cannot be embedded.
+       % grub-ofpathname /dev/vdiskc2
+       vdisk/disk@2:b
 
-       * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
-       core_path to calculate the blocklist.
-       Patch from Javier Martín <lordhabbit@gmail.com>
+       After this patch it now returns the correct value:
 
-2008-06-29  Robert Millan  <rmh@aybabtu.com>
+       % grub-ofpathname /dev/vdiskc2
+       /virtual-devices@100/channel-devices@200/disk@2:b
 
-       * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro.  Maps filesystem
-       block to disk block.
-       (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
-       Patch from Niels Böhm <bitbucket@arcor.de>
+       Orabug: 24459765
 
-2008-06-29  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/update-grub_lib.in (font_path): Search for fonts in
-       /boot/grub first, which is more likely to be readable (we aren't
-       deciding where fonts live, just looking for them).
+2017-05-18  Fu Wei  <fu.wei@linaro.org>
 
-2008-06-26  Pavel Roskin  <proski@gnu.org>
+       arm64: Update the introduction of Xen boot commands in docs/grub.texi
+       delete: xen_linux, xen_initrd, xen_xsm
+       add: xen_module
 
-       * util/biosdisk.c (read_device_map): Don't leave dead map
-       entries for devices failing stat() check.
+       This update bases on
+           commit 0edd750e50698854068358ea53528100a9192902
+           Author: Vladimir Serbinenko <phcoder@gmail.com>
+           Date:   Fri Jan 22 10:18:47 2016 +0100
 
-       * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
-       core_path_dev for the core.img path on the target device.
+               xen_boot: Remove obsolete module type distinctions.
 
-2008-06-26  Robert Millan  <rmh@aybabtu.com>
+       Also bases on the module loading mechanism of Xen code:
+       488c2a8 docs/arm64: clarify the documention for loading XSM support
+       67831c4 docs/arm64: update the documentation for loading XSM support
+       ca32012 xen/arm64: check XSM Magic from the second unknown module.
 
-       * disk/fs_uuid.c: New file.
-       * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
-       (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
-       (fs_uuid_mod_LDFLAGS): New variables.
-       * include/grub/disk.h (grub_disk_dev_id): Add
-       `GRUB_DISK_DEVICE_UUID_ID'.
-       * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
-       implement iterate().
+       Reviewed-by: Julien Grall <julien.grall@arm.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-06-26  Robert Millan  <rmh@aybabtu.com>
+2017-05-18  Fu Wei  <fu.wei@linaro.org>
 
-       * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
-       "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
-       Linux image includes no initrd.
+       util/grub.d/20_linux_xen.in: Add xen_boot command support for aarch64
+       This patch adds the support of xen_boot command for aarch64:
+           xen_hypervisor
+           xen_module
+       These two commands are only for aarch64, since it has its own protocol and
+       commands to boot xen hypervisor and Dom0, but not multiboot.
 
-2008-06-21  Javier Martín  <lordhabbit@gmail.com>
+       For other architectures, they are still using multiboot and module
+       commands.
 
-       * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
-       call to resolve the core image location that effectively appended the
-       name twice.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-06-21  Robert Millan  <rmh@aybabtu.com>
+2017-05-18  Fu Wei  <fu.wei@linaro.org>
 
-       * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
-       call from here ...
+       arm64: Add "--nounzip" option support in xen_module command
+       This patch adds "--nounzip" option support in order to
+       be compatible with the module command of multiboot on other architecture,
+       by this way we can simplify grub-mkconfig support code.
 
-       * util/grub.d/10_hurd.in: ... to here ...
-       * util/grub.d/10_linux.in: ... and here.
+       This patch also allow us to use zip compressed module(like Linux kernel
+       for Dom0).
 
-2008-06-19  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/main.c (grub_main): Export `prefix' variable immediately
-       after it has been set by grub_machine_set_prefix().
+2017-05-18  Julien Grall  <julien.grall@linaro.org>
 
-2008-06-19  Robert Millan  <rmh@aybabtu.com>
+       arm64/xen_boot: Fix Xen boot using GRUB2 on AARCH64
+       Xen is currently crashing because of malformed compatible property for
+       the boot module. This is because the property string is not
+       null-terminated as requested by the ePAR spec.
 
-       * commands/search.c (search_label, search_fs_uuid, search_file): Print
-       search result when not saving to variable, not the other way around.
-       When saving to variable, abort iteration as soon as a match is found.
+       Tested-by: Fu Wei <fu.wei@linaro.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-06-19  Robert Millan  <rmh@aybabtu.com>
+2017-05-18  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
-       check for partition that provides /boot/grub.  Its logic is flawed,
-       as it prevents prepare_grub_to_access_device() from being called
-       multiple times.
+       sparc64: Close cdboot ihandle
+       The ihandle is left open with a cd-core image.  This will cause a delay
+       booting grub from a virtual cdrom in a LDOM.  It will also cause problems
+       as Linux boots, since it expects the ihandle to be closed during init.
 
-2008-06-19  Robert Millan  <rmh@aybabtu.com>
+       Orabug: 25911275
 
-       * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
-       "insmod" command directly when abstraction modules are needed,
-       instead of relying on GRUB_PRELOAD_MODULES (which had no effect
-       since it had already been processed).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-06-19  Pavel Roskin  <proski@gnu.org>
+2017-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
-       changed.  This is needed in case GRUB_LIBDIR changes.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-linuxbios.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
+       at_keyboard: Fix falco chromebook case.
+       EC is slow, so we need few delays for it to toggle the bits correctly.
 
-2008-06-18  Pavel Roskin  <proski@gnu.org>
+       Command to enable clock and keyboard were not sent.
 
-       * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
-       kernel_elf_symlist.c to symlist.c for consistency with other
-       architectures.  Update all users.
-       * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
+2017-05-09  Julius Werner  <jwerner@chromium.org>
 
-2008-06-18  Robert Millan  <rmh@aybabtu.com>
+       coreboot: Changed cbmemc to support updated console format from coreboot.
 
-       * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
-       it in prefix.
+2017-05-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/i386/pc/grub-setup.c (main): Don't handle prefix at all.  Set
-       `must_embed' to 1 when root_dev is a RAID device.  When dest_dev is
-       a RAID device, run setup() for all members independently on whether
-       LVM abstraction is being used.
-       (setup): Don't handle prefix at all; let grub-mkimage take care of it.
-       If grub-mkimage has set `*install_dos_part == -2', don't override this
-       value.
-       Perform *install_dos_part adjustments independently on whether
-       we're embedding or not.
-       Clarify error message when image is too big for embedding.
-       Remove duplicate *install_dos_part stanza.
+       Missing parts of previous commit
 
-2008-06-17  Robert Millan  <rmh@aybabtu.com>
+       arm_coreboot: Add Chromebook keyboard driver.
 
-       * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
-       (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
-       variables.
-       (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
-       values in grub_ofconsole_normal_color and
-       grub_ofconsole_highlight_color (they're not directly related to
-       background and foreground).
-       (grub_ofconsole_setcolorstate): Extract background and foreground
-       from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
+       rk3288_spi: Add SPI driver
 
-2008-06-17  Robert Millan  <rmh@aybabtu.com>
+       fdtbus: Add ability to send/receive messages on parent busses.
 
-       * util/update-grub_lib.in (prepare_grub_to_access_device): Use
-       /boot/grub for the check in last commit, not /boot (they could be
-       different partitions).
+       Fix bug on FDT nodes with compatible property
 
-2008-06-16  Robert Millan  <rmh@aybabtu.com>
+2017-05-08  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
-       asked to setup access for the same partition that provides /boot,
-       don't bother using UUIDs since our root already has the value we
-       want.
+       arm_coreboot: Support EHCI.
 
-2008-06-16  Robert Millan  <rmh@aybabtu.com>
+       ehci: Split core  code from PCI part.
+       On ARM often EHCI is present without PCI and just declared in device
+       tree. So splitcore from PCI part.
 
-       * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
-       I2O devices.
-       Patch from Sven Mueller <sven@debian.org>.
+       arm_coreboot: Support DMA.
+       This is needed to support USB and some other busses.
 
-2008-06-16  Robert Millan  <rmh@aybabtu.com>
+       arm_coreboot: Support loading linux images.
 
-       * util/update-grub.in: Check for $EUID instead of $UID.
-       Reported by Vincent Zweije.
+       arm_coreboot: Support grub-mkstandalone.
 
-2008-06-16  Bean  <bean123ch@gmail.com>
+       arm_coreboot: Support keyboard for vexpress.
 
-       * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
-       (grub_ext2_read_block): Likewise.
-       (grub_ext2_read_inode): Likewise.
-       (grub_ext2_mount): Likewise.
-       (grub_ext2_close): Likewise.
-       (grub_ext3_get_journal): Removed.
+       at_keyboard: Split protocol from controller code.
+       On vexpress controller is different but protocol is the same, so reuse the
+       code.
 
-       * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
-       (grub_reiserfs_read_symlink): Likewise.
-       (grub_reiserfs_mount): Likewise.
-       (grub_reiserfs_open): Likewise.
-       (grub_reiserfs_read): Likewise.
-       (grub_reiserfs_close): Likewise.
-       (grub_reiserfs_get_journal): Removed.
+       arm-coreboot: Export FDT routines.
+       We need to use them from modules as well.
 
-       * fs/fshelp.c (grub_fshelp_read): Removed.
-       (grub_fshelp_map_block): Likewise.
+       arm-coreboot: Support for vexpress timer.
 
-       * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
-       (grub_fshelp_journal): Likewise.
-       (grub_fshelp_read): Likewise.
-       (grub_fshelp_map_block): Likewise.
+       Add support for device-tree-based drivers.
 
-2008-06-16  Pavel Roskin  <proski@gnu.org>
+       arm-coreboot: Start new port.
 
-       * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
-       floating point anymore.
-       * include/grub/powerpc/libgcc.h: Leave only necessary exports.
+       Rename uboot/datetime to dummy/datetime.
+       It's just a stub and is not UBoot-specific.
 
-2008-06-15  Pavel Roskin  <proski@gnu.org>
+       Rename uboot/halt.c to dummy/halt.c.
+       It's not U-Boot specific and it's a stub.
 
-       * commands/ls.c (grub_ls_list_files): Use integer calculations
-       for human readable format, avoid floating point use.
-       * kern/misc.c (grub_ftoa): Remove.
-       (grub_vsprintf): Remove floating point support.
+       coreboot: Split parts that are platform-independent.
+       We currently assume that coreboot is always i386, it's no longer the case,
+       so split i386-coreboot parts from generic coreboot code.
 
-2008-06-15  Robert Millan  <rmh@aybabtu.com>
+       Refactor arm-uboot code to make it genereic.
+       arm-coreboot startup code can be very similar to arm-uboot but current code has
+       U-Boot specific references. So split U-Boot part from generic part.
 
-       * util/grub.d/10_linux.in: Use the underlying device for loop-AES
-       devices.
-       Reported by Max Vozeler.
+       mkimage: Pass layout to mkimage_generate_elfXX rather than some fields.
+       This allows easier extension of this function without having too long of
+       arguments list.
 
-2008-06-15  Robert Millan  <rmh@aybabtu.com>
+2017-05-03  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>
 
-       * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
-       in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
-       skipped later.
-       (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
-       the beginning of the prefix.
+       Add Virtual LAN support.
+       This patch adds support for virtual LAN (VLAN) tagging. VLAN tagging allows
+       multiple VLANs in a bridged network to share the same physical network link
+       but maintain isolation:
 
-       * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
-       It is assumed that if we have a memdisk, grub-mkimage has set
-       grub_prefix to include the "(memdisk)" drive in it.
+       http://en.wikipedia.org/wiki/IEEE_802.1Q
 
-2008-06-15  Robert Millan  <rmh@aybabtu.com>
+       * grub-core/net/ethernet.c: Add check, get, and set vlan tag id.
+       * grub-core/net/drivers/ieee1275/ofnet.c: Get vlan tag id from bootargs.
+       * grub-core/net/arp.c: Add check.
+       * grub-core/net/ip.c: Likewise.
+       * include/grub/net/arp.h: Add vlantag attribute.
+       * include/grub/net/ip.h: Likewise.
 
-       * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
-       Initialize keyboard controller after registering the terminal, so that
-       grub_printf() can be called from grub_keyboard_controller_init().
+2017-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-06-15  Robert Millan  <rmh@aybabtu.com>
+       strtoull: Fix behaviour on chars between '9' and 'a'.
+       Reported by: Aaron Miller <aaronmiller@fb.com>
 
-       * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
-       extent-btree which is written as big endian on disk.
-       Reported by Alain Greppin  <al@chilibi.org>.
+       Add strtoull test.
 
-2008-06-14  Robert Millan  <rmh@aybabtu.com>
+       Fix shebang for termux.
+       Termux doesn't have a /bin/sh. So we needto use $SHELL.
+       Keep /bin/sh as much as possible.
 
-       * util/i386/efi/grub-install.in (modules): Remove `_chain'.
-       * util/i386/pc/grub-install.in (modules): Likewise.
+       Add termux path to dict.
 
-2008-06-13  Pavel Roskin  <proski@gnu.org>
+       po: Use @SHELL@ rather than /bin/sh.
+       /bin/sh might not exist.
 
-       * commands/ls.c (grub_ls_list_files): Fix format warnings.
+       Use $(SHELL) rather than /bin/sh.
+       /bin/sh doesn't exist under termux.
 
-2008-06-13  Bean  <bean123ch@gmail.com>
+       Support lseek64.
+       Android doesn't have 64-bit off_t, so use off64_t instead.
 
-       * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
+       Don't retrieve fstime when it's not useful.
 
-       * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
+       support busybox date.
+       Busybox date doesn't understand weekdays in -d input,
+       so strip them beforehand.
 
-       * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
-       to indicate sparse block.
+       fs-tester: make sh-compatible
 
-2008-06-12  Pavel Roskin  <proski@gnu.org>
+       Remove bashisms from tests.
+       Those tests don't actually need bash. Just use common shebang.
 
-       * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
-       number, grub_fshelp_read() does it for us.
+       Bump version to 2.03
 
-       * fs/fshelp.c (grub_fshelp_read): New function.  Implement
-       linear disk read with journal translation.
-       * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
-       * include/grub/fshelp.h: Declare grub_fshelp_read().
+2017-04-25  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-06-09  Pavel Roskin  <proski@gnu.org>
+       Increase version to 2.02.
 
-       * fs/minix.c (grub_minix_mount): Handle error reading
-       superblock.
+2017-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-06-08  Robert Millan  <rmh@aybabtu.com>
+       Fix remaining cases of gcc 7 fallthrough warning.
+       They are all intended, so just add the relevant comment.
 
-       * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
-       don't append the RAID prefix afterwards.
-       Reported by Clint Adams.
+2017-04-04  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-06-08  Robert Millan  <rmh@aybabtu.com>
+       Add gnulib-fix-gcc7-fallthrough.diff
+       As long as the code is not upstream, add it as explicit patch for the
+       case of gnulib refresh.
 
-       Based on description from Pavel:
-       * kern/disk.c (grub_disk_check_range): Rename to ...
-       (grub_disk_adjust_range): ... this.  Add a comment explaining the
-       tasks performed by this function.
+2017-04-04  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-06-08  Robert Millan  <rmh@aybabtu.com>
+       i386, x86_64, ppc: fix switch fallthrough cases with GCC7
+       In util/getroot and efidisk slightly modify exitsing comment to mostly
+       retain it but still make GCC7 compliant with respect to fall through
+       annotation.
 
-       * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
-       `num_serial' (for consistency with other variables).
-       (struct grub_ntfs_data): Add `uuid' member.
-       * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
-       (grub_ntfs_uuid): New function.
-       (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
+       In grub-core/lib/xzembed/xz_dec_lzma2.c it adds same comments as
+       upstream.
 
-2008-06-07  Pavel Roskin  <proski@gnu.org>
+       In grub-core/tests/setjmp_tets.c declare functions as "noreturn" to
+       suppress GCC7 warning.
 
-       * util/biosdisk.c (open_device): Revert last change to the
-       function, it broke installation.  The sector needs to be
-       different dependent on which device is opened.
+       In grub-core/gnulib/regexec.c use new __attribute__, because existing
+       annotation is not recognized by GCC7 parser (which requires that comment
+       immediately precedes case statement).
 
-2008-06-06  Robert Millan  <rmh@aybabtu.com>
+       Otherwise add FALLTHROUGH comment.
 
-       Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
-       rest of GRUB, and breakage doesn't happen if its value were modified.
+       Closes: 50598
 
-       * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
-       Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
-       a constant (same value).
-       * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
-       `GRUB_KERNEL_MACHINE_DATA_END' (same value).
+2017-04-04  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-06-06  Robert Millan  <rmh@aybabtu.com>
+       btrfs: avoid "used uninitialized" error with GCC7
+       sblock was local and so considered new variable on every loop
+       iteration.
 
-       * util/biosdisk.c (open_device): Do not modify sector offset when
-       accessing a partition.  kern/disk.c already handles this for us.
+       Closes: 50597
 
-2008-06-06  Robert Millan  <rmh@aybabtu.com>
+2017-04-02  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/grub-emu.c (grub_machine_init): Move code in this function from
-       here ...
-       (main): ... to here (before grub_util_biosdisk_init() call, to prevent
-       segfault in case grub_printf() is called).
+       acpi: add missing efi_call wrapper to acpi command
+       Fixed loading of ACPI tables on EFI (side effect was apparent memory
+       corruption ranging from unpredictable behavior to system reset).
 
-       * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
-       grub_probe.  Update all users not to explicitly add it again.
-       (grub_device): New variable; contains corresponding device for grubdir.
-       (fs_module, partmap_module, devabstraction_module): Pass
-       `--device ${grub_device}' to grub_probe to avoid traversing /dev
-       every time.
+       Reported by Nando Eva <nando4eva@ymail.com>
 
-2008-06-05  Robert Millan  <rmh@aybabtu.com>
+2017-03-15  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
-       is found, print it (same layout as with labels).
+       Increment version to GRUB 2.02~rc2.
 
-2008-06-04  Robert Millan  <rmh@aybabtu.com>
+       Use core2duo for bootcheck test on 64-bit EFI.
+       Obviously pentium2 can't run efi64.
 
-       * util/biosdisk.c (get_drive): Rename to ...
-       (find_grub_drive): ... this.  Update all users.
+2017-03-14  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       (get_os_disk): Rename to ...
-       (convert_system_partition_to_system_disk): ... this.  Update all users.
+       efi: skip iPXE block device.
+       iPXE adds Simple File System Protocol to loaded image handle, as side
+       effect it also adds Block IO protocol (according to comments, to work
+       around some bugs in EDK2). GRUB assumes that every device with Block IO
+       is disk and skips network initialization entirely. But iPXE Block IO
+       implementation is just a stub which always fails for every operation
+       so cannot be used. Attempt to detect and skip such devices.
 
-       (find_drive): Rename to ...
-       (find_system_device): ... this.  Update all users.
+       We are using media ID which iPXE sets to "iPXE" and block IO size in
+       hope that no real device would announce 1B block ...
 
-2008-06-04  Robert Millan  <rmh@aybabtu.com>
+       Closes: 50518
 
-       * util/biosdisk.c (get_os_disk): Handle IDA devices.
-       * util/grub-mkdevicemap.c (get_mmc_disk_name)
-       (make_device_map): Likewise.
+2017-03-05  phcoder  <phcoder@gmail.com>
 
-2008-06-01  Robert Millan  <rmh@aybabtu.com>
+       xen: Fix wrong register in relocator.
+       This fixes chainloading of some GRUB variants.
 
-       *  util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
-       before dereferencing it.
+2017-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
-       union with fat12/fat16-specific ones.  Add some new fields, including
-       `num_serial' for both versions.
-       (struct grub_fat_data): Add `uuid' member.
-       (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
-       names.  Initialize `data->uuid' using `num_serial'.
-       (grub_fat_uuid): New function.
-       (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
+       video_fb: Fix blue collor if using unoptimized blitter.
+       when unmapping the color what matters is the mode of source, not target.
 
-       * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
-       (grub_reiserfs_uuid): New function.
-       (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
-       member.
+       legacy_initrd: Strip any additional arguments to initrd.
 
-       * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
-       (grub_xfs_uuid): New function.
-       (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
+2017-02-26  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-06-01  Robert Millan  <rmh@aybabtu.com>
+       grub-fs-tester: improve squash4 tests
+       1. Make sure files are not multiple of block size. This will ensure tail packing
+       for squash4 and may also trigger more codes paths in other filesystems.
 
-       * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
-       code that is backward compatible with pre-uuid search command.
+       2. Call mksquashfs with -always-use-fragments to force tail packing.
 
-2008-05-31  Robert Millan  <rmh@aybabtu.com>
+2017-02-25  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
-       floppies after everything else, to ensure floppy drive isn't accessed
-       unnecessarily (patch from Bean).
+       efi: strip off final NULL from File Path in grub_efi_get_filename
+       UEFI 2.6 9.3.6.4 File Path Media Device Path says that Path Name is
+       "A NULL-terminated Path string including directory and file names".
 
-2008-05-31  Robert Millan  <rmh@aybabtu.com>
+       Strip final NULL from Path Name in each File Path node when constructing
+       full path. To be on safe side, strip all of them.
 
-       * commands/search.c (search_label, search_fs_uuid, search_file): Do
-       not print device names when we were asked to set a variable.
+       Fixes failure chainloading grub from grub, when loaded grub truncates
+       image path and does not find its grub.cfg.
 
-2008-05-31  Robert Millan  <rmh@aybabtu.com>
+       https://bugzilla.opensuse.org/show_bug.cgi?id=1026344
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
-       using "cursor-on" and "cursor-off" commands (understood at least by
-       the Open Firmware flavour on OLPC).
-
-2008-05-31  Michael Gorven  <michael@gorven.za.net>
+       This was triggered by commit ce95549cc54b5d6f494608a7c390dba3aab4fba7;
+       before it we built Path Name without trailing NULL, and apparently all
+       other bootloaders use single File Path node, thus not exposing this bug.
 
-       * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
-       on and off sequences.
+2017-02-24  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-05-31  Robert Millan  <rmh@aybabtu.com>
-
-       * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
-       * util/update-grub.in: Likewise.
-
-2008-05-30  Pavel Roskin  <proski@gnu.org>
-
-       * util/biosdisk.c (linux_find_partition): Simplify logic and
-       make the code more universal.  Keep special processing for
-       devfs, but use a simple rule for all other devices.  If the
-       device ends with a number, append 'p' and the partition number.
-       Otherwise, append only the partition number.
-
-2008-05-30  Robert Millan  <rmh@aybabtu.com>
-
-       * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
-       * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
-       GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
-       the `root' parameter to Linux.
-
-2008-05-30  Robert Millan  <rmh@aybabtu.com>
-
-       * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
-       * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
-       --fs_uuid with --fs-uuid.
-       * util/update-grub.in: Allow filesystem UUID probes to fail (since not
-       all filesystems support them).
-
-2008-05-30  Robert Millan  <rmh@aybabtu.com>
-
-       * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
-       grub_printf() flags, since we're printing in units of 2 bytes.
-
-2008-05-30  Robert Millan  <rmh@aybabtu.com>
-
-       * util/grub.d/00_header.in: Remove obsolete comment referencing
-       convert_system_path_to_grub_path().
-       * util/update-grub.in: Likewise.
-       * util/update-grub_lib.in (is_path_readable_by_grub): New function.
-       (convert_system_path_to_grub_path): Add a warning message explaining
-       that this function is deprecated.  Rely on is_path_readable_by_grub()
-       for the readability checks.
-       (font_path): Use is_path_readable_by_grub() for the readability
-       check rather than convert_system_path_to_grub_path().
-
-2008-05-30  Robert Millan  <rmh@aybabtu.com>
-
-       * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
-       * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
-       converting it first.
-       * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
-       grub.cfg for access to font file, and afterwards call it again to set
-       the root device.
-
-2008-05-30  Robert Millan  <rmh@aybabtu.com>
-
-       * commands/search.c (options): Add --fs_uuid option.
-       (search_fs_uuid): New function.
-       (grub_cmd_search): Fix --set argument passing.
-       Use search_fs_uuid() when requested via --fs_uuid.
-       (grub_search_init): Update help message.
-       * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
-       and redeclare it as an array of 16-bit words.
-       (grub_ext2_uuid): New function.
-       (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
-       * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
-       * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
-       (GRUB_DEVICE_BOOT_UUID): New variables.
-       (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
-       * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
-       whenever possible.
-       * util/grub.d/10_hurd.in: Avoid explicit use of root drive.  Instead,
-       just assume `root' variable has the right value.
-       * util/grub.d/10_linux.in: Likewise.
-       * util/grub-probe.c (probe): Probe for filesystem UUID when requested
-       via PRINT_FS_UUID.
-       (main): Recognise `-t fs_uuid' argument.
-
-2008-05-30  Robert Millan  <rmh@aybabtu.com>
-
-       * util/biosdisk.c (map): Redefine structure to hold information
-       about GRUB drive name.
-       (get_drive): Reimplement without assuming (and verifying) BIOS-like
-       drive names.
-       (call_hook): Remove.
-       (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
-       member.  Assume drive has partitions.
-       (grub_util_biosdisk_open): Access device names via `.device' struct
-       member.
-       (open_device): Likewise.
-       (find_drive): Likewise.
-       (read_device_map): Adjust map[] usage to match the new struct
-       definition.  Don't check for duplicates (still possible, but not cheap
-       anymore).
-       (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
-       (make_device_name): Remove assumption of BIOS-like drive names.
-
-2008-05-30  Pavel Roskin  <proski@gnu.org>
-
-       * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
-       compiling execute.c doesn't need grub_script.tab.h anymore.
-       (normal/command.c_DEPENDENCIES): Likewise.
-       (normal/function.c_DEPENDENCIES): Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-linuxbios.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-
-2008-05-29  Pavel Roskin  <proski@gnu.org>
-
-       * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
-       when scanning metadata for volume group name.
-
-       * include/grub/script.h: Don't include grub_script.tab.h.  It's
-       a generated file, which may only be included from the files with
-       DEPENDENCIES rules in the makefile.  Don't use typedef YYSTYPE,
-       use union YYSTYPE, as the later allows forward declaration.
-       * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
-
-2008-05-29  Robert Millan  <rmh@aybabtu.com>
-
-       * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
-       (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
-       [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
-       (grub_console_checkkey): Add grub_dprintf() call to report unknown
-       scan codes.
-
-2008-05-29  Robert Millan  <rmh@aybabtu.com>
-
-       * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
-       control key combinations.
-
-2008-05-29  Robert Millan  <rmh@aybabtu.com>
-
-       * util/powerpc/ieee1275/grub-install.in: Move from here ...
-       * util/ieee1275/grub-install.in: ... to here.
-       * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
-       * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
-       (grub_install_SOURCES): Likewise.
-
-2008-05-29  Robert Millan  <rmh@aybabtu.com>
-
-       * fs/affs.c: Update copyright year.
-       * fs/ext2.c: Likewise.
-       * fs/fshelp.c: Likewise.
-       * fs/hfsplus.c: Likewise.
-       * fs/ntfs.c: Likewise.
-       * fs/xfs.c: Likewise.
-       * include/grub/fshelp.h: Likewise.
-       * util/grub-mkdevicemap.c: Likewise.
-
-2008-05-28  Robert Millan  <rmh@aybabtu.com>
-
-       * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
-       might need to be fatfs to support some firmware implementations
-       (e.g. OFW or EFI).
-
-2008-05-28  Robert Millan  <rmh@aybabtu.com>
-
-       * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
-       devices.
-       * util/grub-mkdevicemap.c (get_mmc_disk_name)
-       (make_device_map): Likewise.
-
-2008-05-20  Bean  <bean123ch@gmail.com>
-
-       * fs/fshelp.c (grub_fshelp_map_block): New function.
-       (grub_fshelp_find_file): Use 64-bit type for pos and block address.
-       Use `>>' and `&' operator to avoid 64-bit divide and modulo.
-
-       * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
-       (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
-       (grub_fshelp_journal): New structure.
-       (grub_fshelp_map_block): New function prototype.
-       (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
-       (grub_fshelp_map_block): Likewise.
-
-       * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
-       (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
-       (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
-       (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
-       (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
-       (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
-       (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
-       (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
-       (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
-       (EXT3_JOURNAL_FLAG_DELETED): Likewise.
-       (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
-       (grub_ext2_sblock): New members for journal support.
-       (grub_ext3_journal_header): New structure.
-       (grub_ext3_journal_revoke_header): Likewise.
-       (grub_ext3_journal_block_tag): Likewise.
-       (grub_ext3_journal_sblock): Likewise.
-       (grub_fshelp_node): New members logfile and journal.
-       (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
-       grub_fshelp_map_block to get real block number.
-       (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
-       number.
-       (grub_ext2_read_inode): Likewise.
-       (grub_ext3_get_journal): New function.
-       (grub_read_inode): Initialize journal using grub_ext3_get_journal.
-       (grub_ext2_close): Release memory used by journal.
-
-       * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
-       (REISERFS_MAGIC_DESC_BLOCK): New macro.
-       (grub_reiserfs_transaction_header): Renamed to
-       grub_reiserfs_description_block, replace field data with real_blocks.
-       (grub_reiserfs_commit_block): New structure.
-       (grub_reiserfs_data): New member journal.
-       (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
-       number.
-       (grub_reiserfs_read_symlink): Likewise.
-       (grub_reiserfs_iterate_dir): Likewise.
-       (grub_reiserfs_open): Likewise.
-       (grub_reiserfs_read): Likewise.
-       (grub_reiserfs_get_journal): New function.
-       (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
-       three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
-       using grub_reiserfs_get_journal.
-       (grub_reiserfs_close): Release memory used by journal.
-
-       * fs/affs.c (grub_affs_read_block): Change block type to
-       grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
-
-       * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
-
-       * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
-
-       * fs/ntfs.c (grub_ntfs_read_block): Likewise.
-
-       * fs/udf.c (grub_udf_read_block): Change block type to
-       grub_disk_addr_t. Use type cast to avoid warning.
-
-       * fs/xfs.c (grub_xfs_read_block): Likewise.
-
-2008-05-16  Christian Franke  <franke@computer.org>
-
-       * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
-       to ensure that break with ESC will always work.
-       * commands/sleep.c (grub_interruptible_millisleep): Likewise.
-       Remove ESC from keyboard queue.
-
-2008-05-16  Christian Franke  <franke@computer.org>
-
-       * util/biosdisk.c: [__CYGWIN__] Add includes.
-       (grub_util_biosdisk_open): Use Linux code also for Cygwin.
-       (get_os_disk): Move variable declarations to OS specific
-       parts to avoid warning.
-       [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
-       [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
-       (grub_util_biosdisk_get_grub_dev): Use Linux code also for
-       Cygwin.
-       * util/getroot.c: [__CYGWIN__] Add includes.
-       (strip_extra_slashes): Fix "/" case.
-       [__CYGWIN__] (get_win32_path): New function.
-       [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
-       [__CYGWIN__] (find_root_device): Disable.
-       [__CYGWIN__] (get_bootsec_serial): New function.
-       [__CYGWIN__] (find_cygwin_root_device): Likewise.
-       [__linux__] (grub_guess_root_device): Add early returns to simplify
-       structure.
-       [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
-       [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
-       check for Linux only.
-
-2008-05-15  Bean  <bean123ch@gmail.com>
-
-       * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
-       keyboard hang problem in apple's intel mac.
-
-2008-05-09  Robert Millan  <rmh@aybabtu.com>
-
-       * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
-       devices.
-       * util/grub-mkdevicemap.c (get_virtio_disk_name)
-       (make_device_map): Likewise.
-       Reported by Aurelien Jarno <aurel32@debian.org>
-
-2008-05-07  Ian Campbell  <ijc@hellion.org.uk>
-
-       * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
-       * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
-       (make_device_map): Output entries for xvd type disks.
-
-2008-05-07  Robert Millan  <rmh@aybabtu.com>
-
-       * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
-       devices.
-       * util/grub-mkdevicemap.c (get_cciss_disk_name)
-       (make_device_map): Likewise.
-       Reported by Roland Dreier <rdreier@cisco.com>
-
-2008-05-07  Robert Millan  <rmh@aybabtu.com>
-
-       * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
-       grub_strstr() call.  Correct a few mistakes in failure path handling.
-
-2008-05-06  Robert Millan  <rmh@aybabtu.com>
-
-       * util/update-grub_lib.in (make_system_path_relative_to_its_root):
-       Do not print a trailing slash (therefore, the root directory is an
-       empty string).
-       (convert_system_path_to_grub_path): Do not remove trailing slash
-       from make_system_path_relative_to_its_root() output.
+       squash4: fix handling of fragments and sparse files
+       1. Do not assume block list and fragment are mutually exclusive. Squash
+       can pack file tail as fragment (unless -no-fragments is specified); so
+       check read offset and read either from block list or from fragments as
+       appropriate.
 
-       * util/i386/pc/grub-install.in: Add trailing slash to output from
-       make_system_path_relative_to_its_root().
+       2. Support sparse files with zero blocks.
 
-2008-05-06  Robert Millan  <rmh@aybabtu.com>
+       3. Fix fragment read - frag.offset is absolute fragment position,
+       not offset relative to ino.chunk.
 
-       * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'.  This
-       ensures that output lines aren't intermangled with those sent to
-       stderr (via grub_util_info()).
-       * util/grub-probe.c (grub_refresh): Likewise.
-       * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
+       Reported and tested by Carlo Caione <carlo@endlessm.com>
 
-2008-05-05  Christian Franke  <franke@computer.org>
+2017-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
-       Add Cygwin device names.
-       (get_ide_disk_name) [__CYGWIN__]: Likewise.
-       (get_scsi_disk_name) [__CYGWIN__]: Likewise.
-       (check_device): Return error instead of success on empty name.
-       (make_device_map): Move label inside linux specific code to
-       prevent compiler warning.
+       Whitelist sparc64-ieee1275 as having no video modules.
+       ieee1275_fb is not built on sparc64 due to virtual address issues.
 
-2008-04-30  Robert Millan  <rmh@aybabtu.com>
+2017-02-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
-       * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
-       first boot option.
-       * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
+       script: fix double free in lexer
+       yylex_destroy() already frees scanner.
 
-2008-04-29  Robert Millan  <rmh@aybabtu.com>
+       Found by: Coverity scan.
+       CID: 176636
 
-       * docs/grub.cfg: New file (example GRUB configuration).
+2017-02-07  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-04-26  Robert Millan  <rmh@aybabtu.com>
+       xen: Fix parsing of XZ kernel.
+       In case of xz, the uncompressed size is appended to xz data which confuses
+       our xz decompressor. Trim it.
 
-       * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST).  Add
-       `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
-       and `disk/ieee1275/nand.c'.
+2017-02-07  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-04-25  Bean  <bean123ch@gmail.com>
+       xen: Fix handling of GRUB chainloading.
+       In case of GRUB we put remapper after domain pages and not at 0x0.
+       In this case we use max_addr to put remapper. Unfortunately we increment
+       max_addr as well in this case resulting in virt mapping mapping page
+       at old max_addr and trying to boot using new max_addr.
 
-       * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
-       i386-linuxbios.
+       Closes 46014.
 
-       * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
-       change the buffer size to 4096 for cdrom device.
+2017-02-04  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
-       and nand.mod.
-       (_linux_mod_SOURCES): New variable.
-       (_linux_mod_CFLAGS): Likewise.
-       (_linux_mod_LDFLAGS): Likewise.
-       (linux_mod_SOURCES): Likewise.
-       (linux_mod_CFLAGS): Likewise.
-       (linux_mod_LDFLAGS): Likewise.
-       (nand_mod_SOURCES): Likewise.
-       (nand_mod_CFLAGS): Likewise.
-       (nand_mod_LDFLAGS): Likewise.
+       linguas: Don't skip ko.po.
+       Translation project doesn't require copyright disclaimers. They're independant
+       from us. They're responsible for their copyright story.
 
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
-       GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
-       type property. (nand device in olpc don't have this property)
+2017-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * include/grub/disk.h (grub_disk_dev_id): New macro
-       GRUB_DISK_DEVICE_NAND_ID.
+       Fix truncated checksum.h.
 
-       * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
-       function prototype.
-       (grub_rescue_cmd_initrd): Likewise.
+       Regenerate checksums.h
+       Screenshots contain version, so we need new checksums.
 
-       * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
-       (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
-       ofw_cif_handler and ofw_idt, adjust padding number.
+       Release 2.02-rc1.
 
-       * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
-       GRUB_MACHINE_IEEE1275 is defined.
+       Fix mingw compilation.
 
-       * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
-       Use NESTED_FUNC_ATTR attribute on the hook parameter.
+2017-02-03  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
 
-       * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
-       on nested function heap_init.
-       (grub_upper_mem): New variable for i386-ieee1275.
-       (grub_get_extended_memory): New function for i386-ieee1275.
-       (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
+       documentation: Clarify documentation for special environment variable "default".
+       The current documentation for the special environment variable
+       "default" is confusing and unclear.  This patch attempts to clean it
+       up.
 
-       * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
-       NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
-       property.
+       In particular, the current documentation refers to the "number or
+       title", but then in the example it gives, the menu entries and
+       submenus all have numbers *in* their title; furthermore, there is no
+       example given about how to choose the number, or any indication about
+       whether counting is zero-indexed or 1-indexed.
 
-       * loader/i386/ieee1275/linux.c: New file.
+       Having a cleaner example and presenting all variants (numeric, title,
+       and id) should make it clearer to the user.
 
-       * loader/i386/ieee1275/linux_normal.c: New file.
+2017-02-03  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * disk/ieee1275/nand.c: New file.
+       Avoid causing kernel oops in nilfs2 test.
+       1024-byte and 2048-byte blocks don't really work with some kernels, skip
+       them as we don't want any oops'es.
 
-2008-04-18  Thomas Schwinge  <tschwinge@gnu.org>
+       btrfs: Shorten label by one character.
+       mkfs.btrfs imposes a slightly lower limit than would be possible in btrfs.
 
-       * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
-       value.
-       * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
+2017-02-02  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-04-18  Robert Millan  <rmh@aybabtu.com>
+       grub-fs-tester: Fix mkudffs invocation.
+       With current invocation order of arguments is wrong and path is hardcoded.
 
-       Restructures early code path on ieee1275 to unify grub_main() as
-       the first C function that is executed in every platform.
+       grub-fs-tester: Fix fat test.
+       mkfs.vfat ignores -S when invoked on a disk, including loopback device,
+       so do an mkfs on underlying image.
 
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
-       * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
-       cmain().
-       * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
-       * kern/ieee1275/cmain.c (cmain): Rename to ...
-       * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
-       * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
-       at the beginning.
+2017-02-02  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2008-04-18  Robert Millan  <rmh@aybabtu.com>
+       i386/relocator: Align stack in grub_relocator64_efi relocator
+       Unified Extensible Firmware Interface Specification, Version 2.6,
+       section 2.3.4, x64 Platforms, boot services, says among others:
+       The stack must be 16-byte aligned. So, do it. Otherwise OS may
+       boot only by chance as it happens right now.
 
-       * util/update-grub.in: Fix syntax error when setting
-       `GRUB_PRELOAD_MODULES'.
-       Reported by Stephane Chazelas <stephane@artesyncp.com>
+2017-02-02  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-04-17  Lubomir Kundrak  <lkundrak@redhat.com>
+       i386-ieee1275: Add missing bootcheck target.
 
-       * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
-       section into account, newer toolchains generate unique build ids
-       * configure.ac: remove the test for --build-id=none acceptance,
-       we want build ids to be preserved
-       * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
-       far from other sections don't cause the raw binary images grow
-       size
+       bootcheck-linux-i386: Use -cpu pentium2.
+       Most modern kernels are compiled for i686, so use -cpu pentium2
+       to avoid spurious failures.
 
-2008-04-15  Robert Millan  <rmh@aybabtu.com>
+       Use -fPIC with arm64 with clang.
+       Currently it doesn't work either way but with -fPIC it should work once
+       clang bug is fixed.
 
-       * disk/lvm.c: Update copyright year.
-       * kern/misc.c: Likewise.
+       INSTALL: Fix mention of thumb-clang.
 
-2008-04-14  Vesa Jaaskelainen  <chaac@nic.fi>
+       Fix thumb compilation with clang.
+       According to EABI only STT_FUNC has convention of lowest bit indicating
+       execution mode. R_THM_{JUMP,CALL}* relocations are assumed to be pointing
+       to thumb mode unless they use STT_FUNC.
 
-       * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
-       there is no memory left for physical volume name.
+2017-02-01  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-04-14  Vesa Jaaskelainen  <chaac@nic.fi>
+       Add missing strtoull_test.c
+       It was forgotten in my local directory.
 
-       * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
-       volume name mapping to support bigger than 9 character names properly.
+       arm64: Add support for GOT and PCREL32 relocations.
 
-2008-04-13  Robert Millan  <rmh@aybabtu.com>
+       mkimage: Fix memory leak.
 
-       * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
-       as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
+       arm/arm64: Fix improper use of start address.
+       It was used instead of loading address of current section or of entire buffer.
 
-2008-04-13  Christian Franke  <franke@computer.org>
+       ia64: Fix iterator for relocation entries.
+       Don't assume relocation entry size and use sh_entsize properly.
 
-       * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
-       to create a floppy emulation boot CD when non emulation mode
-       does not work.
-       Enable Joliet CD filesystem extension.
+       arm: Fix trampoline generation.
+       We used the wrong pointer in this case. It worked only by accident.
 
-2008-04-13  Robert Millan  <rmh@aybabtu.com>
+       Fix bootcheck-related files compilation.
+       We need -static as otherwise linker will set interpreter field and ld.so
+       is not available on our initrd's.
+       Strip all sections we don't need on binary tests.
 
-       * kern/misc.c (grub_strncat): Fix off-by-one error.
-       Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
+2017-01-31  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * kern/env.c (grub_env_context_close): Clear current context, not
-       previous one.
-       Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
+       Regenerate checksum.h.
+       Screenshots checked.
+       Using unifont from http://ftp.us.debian.org/debian/pool/main/u/unifont/xfonts-unifont_7.0.06-1_all.deb.
 
-       * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
+       grub-mkfont: Remove leftover debug statement.
 
-2008-04-13  Robert Millan  <rmh@aybabtu.com>
+       charset: Trim away RLM and LRM.
+       They are not visible but would otherwise end up as [LRM] or [RLM] squares
+       with some fonts.
 
-       Improve robustness when handling LVM.
+       gfxterm: Fix clearing of cursor.
+       If ascent is bigger than height - 2, then we draw over character box but then
+       to clear cursor we only draw over character box. So trim ascent if necessarry.
 
-       * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
-       (and leave `*p' unmodified).
-       (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
-       through it.
-       (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
-       iterating through it.
-       (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
-       through it.
-       (grub_lvm_scan_device): Check the return value (and fail gracefully
-       when due) on each grub_lvm_getvalue() or grub_strstr() call.
-       Don't assume `vg->pvs != NULL' when iterating through it.
+       ia64: Add support for R_IA64_GPREL64I.
+       Recent GCC generates those relocations, so we need to support them.
 
-2008-04-13  Robert Millan  <rmh@aybabtu.com>
+2017-01-30  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
-       * genmk.rb (partmap): New variable.
-       (CLEANFILES, PARTMAPFILES): Add #{partmap}.
-       (#{partmap}): New target rule.
-       * genpartmaplist.sh: New file.
-       * Makefile.in (pkglib_DATA): Add partmap.lst.
-       (partmap.lst): New target rule.
-       * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
-       modules (including all partition maps), instead of preloading them.
+       grub-module-verifier: Add mips to all_video whitelist.
+       On MIPS video is compiled-in. So all_video is empty. Whitelist it.
 
-2007-04-13  Fabian Greffrath  <fabian.greffrath@web.de>
+       Fix -nopie/-nopie check.
+       We don't use lgcc_s but missing lgcc_s or another library cause test to fail.
+       So use -nostdlib.
+       We need to use -Werror to avoid warning-generated case to be accepted.
+       Clang uses -nopie rather than -no-pie. Check both and use whichever one works.
+       Additionally android clang passes -pie to the linker even though it doesn't
+       define __PIE__. So if compilation without no-pie logic fails add -nopie/-no-pie
+       even if __PIE__ is not defined.
 
-       * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
-       `linux-boot-prober' (if installed) to detect other operating
-       systems which are installed on the computer and add them to
-       the boot menu.
-       * conf/common.rmk: Build and install 30_os-prober.
+       grub-module-verifier: Ignore all_video emptiness on xen.
+       It's intentional that it's empty when no video modules
+       are available.
 
-2008-04-12  Robert Millan  <rmh@aybabtu.com>
+2017-01-28  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * kern/powerpc/ieee1275/init.c: Move from here ...
-       * kern/ieee1275/init.c: ... to here.  Update all users.
+       Support arm clang 3.8 amd later.
+       clang 3.8 and later doesn't support -mllvm -use-arm-movt=0
+       whereas older clang doesn't know -mno-movt. So use
+       -mno-movt whenever possible and fallback to mllvm variant.
 
-       * kern/powerpc/ieee1275/cmain.c: Move from here ...
-       * kern/ieee1275/cmain.c: ... to here.  Update all users.
+2017-01-27  Carlo Caione  <carlo@endlessm.com>
 
-       * kern/powerpc/ieee1275/openfw.c: Move from here ...
-       * kern/ieee1275/openfw.c: ... to here.  Update all users.
+       exfat: Support files over 4GiB
+       file size in grub_fat_data was 32-bit on exfat.
 
-       * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
-       * loader/ieee1275/multiboot2.c: ... to here.  Update all users.
+2017-01-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-04-10  Pavel Roskin  <proski@gnu.org>
+       Ensure that grub_reboot doesn't return on emu.
+       Use grub_fatal if longjmp fails.
 
-       * configure.ac: Always use "_cv_" in cache variables for
-       compatibility with Autoconf 2.62.
+       grub_reboot is marked as noreturn so return would cause
+       a crash.
 
-2008-04-07  Robert Millan  <rmh@aybabtu.com>
+2017-01-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       Revert grub/machine/init.h addition by Pavel (since it breaks on
-       i386-ieee1275 and others):
-       * util/i386/pc/misc.c: Remove grub/machine/init.h.
-       * util/powerpc/ieee1275/misc.c: Likewise.
+       grub-shell: skip font copying when no font is available.
 
-2008-04-07  Robert Millan  <rmh@aybabtu.com>
+       Don't use -mlong-calls on arm.
+       We don't really need it and it's flaky and creates
+       bogus symbols with clang.
 
-       * util/grub-probe.c (probe): Improve error message.
+       configure: Disable movw/movt with clang.
+       Those relocations are not compatible with PE and also
+       not compatible with custom uboot relocator.
+       Disable them.
 
-2008-04-07  Robert Millan  <rmh@aybabtu.com>
+       grub-fs-tester: Delete directory once we're done.
 
-       * util/biosdisk.c (read_device_map): Skip devices that don't exist
-       (this prevents the presence of a bogus entry from ruining the whole
-       thing).
+       grub-fs-tester: Accomodate for slower systems.
+       fstime can be more different with xz squashfs.
+       Allow difference up to 3 seconds.
+       This code is ugly now but rewriting it now is not on the
+       table.
 
-2008-04-06  Pavel Roskin  <proski@gnu.org>
+       grub-fs-tester: Accomodate for testing in proot containers.
+       proot creates hidden files with .proot prefix and name
+       derived from real file name. So decrease file name length
+       and path depth. For some reason depth 85 also results in
+       undeleteable directory, so use 84 instead of 85.
 
-       * util/biosdisk.c: Include grub/util/biosdisk.h.
-       * util/grub-fstest.c (execute_command): Make static.
-       * util/grub-mkdevicemap.c (check_device): Likewise.
-       * util/i386/pc/misc.c: Include grub/machine/init.h.
-       * util/powerpc/ieee1275/misc.c: Likewise.
-       * util/lvm.c: Include grub/util/lvm.h.
-       * util/misc.c: Include grub/kernel.h, grub/misc.h and
-       grub/cache.h.
-       * util/raid.c: Include grub/util/raid.h.
-       (grub_util_getdiskname): Make static.
+2017-01-24  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
-       grub_hostfs_fini(), as they are called from grub_init_all() and
-       grub_fini_all() respectively.  This fixes an infinite loop in
-       grub-fstest due to double registration of hostfs.
-       Reported by Christian Franke <Christian.Franke@t-online.de>
+       osdep/linux: handle autofs entries in /proc/self/mountinfo
+       These entries have placeholder for device name and so are useless for our
+       purpose. grub failed with something like
 
-2008-04-05  Pavel Roskin  <proski@gnu.org>
+       grub-install: error: failed to get canonical path of `systemd-1'.
 
-       * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
-       all 8 functions.  Otherwise, probe function 0 only.
+       When we see autofs entry, record it (to keep parent-child relationship) but
+       continue to look for real mount. If it is found, we process it as usual. If
+       only autofs entry exists, attempt to trigger mount by opening mount point
+       and retry. Mount point itself is then kept open to avoid timeout.
 
-2008-04-04  Pavel Roskin  <proski@gnu.org>
+       Recent systemd is by default using automount for /boot/efi so this should
+       become more popular problem on EFI systems.
 
-       * commands/lspci.c (grub_lspci_iter): Print the bus number
-       correctly.
+       Closes: 49942
 
-       * commands/lspci.c (grub_pci_classes): Fix typos.
-       (grub_lspci_iter): Don't print func twice.  Print vendor ID
-       before device ID, as it's normally done.
+2017-01-08  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
-       Fix signedness warnings.
-       * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
-       Likewise.
-       * util/ieee1275/get_disk_name.c: Include config.h so that
-       _GNU_SOURCE is defined and getline() is declared.  Mark an
-       unused argument as such.  Fix a signedness warning.
+       linux: fix "vga=XX deprecated" warning for text mode
+       Arguments were in reverse order which resulted in
 
-2008-04-02  Pavel Roskin  <proski@gnu.org>
+       text is deprecated. Use set gfxpayload=vga=0 before linux command instead.
 
-       * genkernsyms.sh.in: Use more robust assignments for CC and
-       srcdir.  Quote srcdir.
-       * gensymlist.sh.in: Likewise.  Assert at the compile time that
-       the symbol table is not empty.
+2016-12-22  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
-       * fs/cpio.c (grub_cpio_read): Likewise.
+       configure: fix check for sys/sysmacros.h under glibc 2.25+
+       glibc 2.25 still includes sys/sysmacros.h in sys/types.h but also emits
+       deprecation warning. So test for sys/types.h succeeds in configure but later
+       compilation fails because we use -Werror by default.
 
-2008-04-01  Pavel Roskin  <proski@gnu.org>
+       While this is fixed in current autoconf GIT, we really cannot force everyone
+       to use bleeding edge (that is not even released right now). So run test under
+       -Werror as well to force proper detection.
 
-       * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
-       * disk/host.c (grub_host_open): Likewise.
-       * disk/loopback.c (grub_loopback_open): Likewise.
-       * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
-       disk->id as in disk/host.c, not a multi-character constant.
+       This should have no impact on autoconf 2.70+ as AC_HEADER_MAJOR in this version
+       simply checks for header existence.
 
-       * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek().  The
-       later is obsolete, potentially dangerous and sets a bad example.
-       * util/i386/efi/grub-mkimage.c (make_header): Likewise.
-       * util/misc.c (grub_util_get_image_size): Likewise.
+       Reported and tested by Khem Raj <raj.khem@gmail.com>
 
-       * disk/loopback.c (options): Improve help for "--partitions".
+2016-12-22  Michael Chang  <mchang@suse.com>
 
-       * normal/arg.c (grub_arg_show_help): Fix spacing of the long
-       options to align them with the short options, e.g. "echo -e".
+       Fix fwpath in efi netboot
+       The path returned by grub_efi_net_config has already been stripped for the
+       directory part extracted from cached bootp packet. We should just return the
+       result to avoild it be stripped again.
 
-2008-03-31  Bean  <bean123ch@gmail.com>
+       It fixed the problem that grub.efi as NBP image always looking for grub.cfg and
+       platform directory in upper folder rather than current one it gets loaded while
+       $prefix is empty. The behavior is inconsistent with other architecture and how
+       we would expect empty $prefix going to be in general.
 
-       * video/reader/png.c (grub_png_data): New member is_16bit and
-       image_data.
-       (grub_png_decode_image_header): Detect 16 bit png image.
-       (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
-       (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
-       (grub_video_reader_png): Release memory occupied by image_data.
+       The only exception to the general rule of empty $prefix is that when loaded
+       from platform directory itself, the platform part is stripped thus upper folder
+       is used for looking up files. It meets the case for how grub-mknetdir lay out
+       the files under tftp root directory, but also hide away this issue to be
+       identified as it appears to be just works.
 
-       * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
-       4096 bytes.
-       (grub_nfs_mount): Skip the test for sector per cluster.
+       Also fix possible memory leak by moving grub_efi_get_filename() call after
+       grub_efi_net_config().
 
-       * include/grub/ntfs.h (MAX_SPC): Removed.
+2016-12-15  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-03-31  Bean  <bean123ch@gmail.com>
+       efi: properly terminate filepath with NULL in chainloader
+       EFI File Path Media Device Path is defined as NULL terminated string;
+       but chainloader built file paths without final NULL. This caused error
+       with Secure Boot and Linux Foundation PreLoader on Acer with InsydeH20 BIOS.
+       Apparently firmware failed verification with EFI_INVALID_PARAMETER which is
+       considered fatal error by PreLoader.
 
-       * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
-       (grub_probe_SOURCES): Add fs/afs.c.
-       (grub_fstest_SOURCES): Likewise.
-       (afs_mod_SOURCES): New variable.
-       (afs_mod_CFLAGS): Likewise.
-       (afs_mod_LDFLAGS): Likewise.
+       Reported and tested by Giovanni Santini <itachi.sama.amaterasu@gmail.com>
 
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
-       (grub_emu_SOURCES): Likewise.
+2016-12-14  Magnus Granberg  <zorry@gentoo.org>
 
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+       configure: add check for -no-pie if the compiler default to -fPIE
+       When Grub is compile with gcc 6.1 that have --enable-defult-pie set.
+       It fail with.
+       -ffreestanding   -m32 -Wl,-melf_i386 -Wl,--build-id=none  -nostdlib -Wl,-N -Wl,-r,-d   -
+       o trig.module  trig_module-trigtables.o
+       grep 'MARKER' gcry_whirlpool.marker.new > gcry_whirlpool.marker; rm -f
+       gcry_whirlpool.marker.new
+       /usr/lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: -r and -
+       shared may not be used together
+       collect2: error: ld returned 1 exit status
+       Makefile:26993: recipe for target 'trig.module' failed
 
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+       Check that compiler supports -no-pie and add it to linker flags.
 
-       * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
+2016-12-14  Stanislav Kholmanskikh  <stanislav.kholmanskikh@oracle.com>
 
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+       ofnet: implement the receive buffer
+       get_card_packet() from ofnet.c allocates a netbuff based on the device's MTU:
 
-       * fs/afs.c: New file.
+        nb = grub_netbuff_alloc (dev->mtu + 64 + 2);
 
-2008-03-30  Pavel Roskin  <proski@gnu.org>
+       In the case when the MTU is large, and the received packet is
+       relatively small, this leads to allocation of significantly more memory,
+       than it's required. An example could be transmission of TFTP packets
+       with 0x400 blksize via a network card with 0x10000 MTU.
 
-       * disk/host.c: Include grub/misc.h to fix a warning.
-       * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
-       warnings about implicit declarations.
+       This patch implements a per-card receive buffer in a way similar to efinet.c,
+       and makes get_card_packet() allocate a netbuff of the received data size.
 
-       * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
-       variable.
-       * include/grub/i386/loader.h: Change declaration of
-       grub_linux_boot() to match what grub_loader_set() expects.
-       * util/getroot.c (grub_guess_root_device): Return const char* to
-       fix a warning.
-       * util/grub-probe.c (probe): Fix a warning about uninitialized
-       abstraction_name variable.
-       * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
-       second argument as unused to fix a warning.
-
-       * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
-       missing grub_error() call.
-
-       * util/update-grub_lib.in: Define datarootdir, since Autoconf
-       2.60 and newer uses it to define datadir.
-
-       * commands/sleep.c: Fix warning about implicit declaration.
-       * disk/memdisk.c: Likewise.
-       * loader/aout.c: Likewise.
-       * loader/i386/bsd_normal.c: Likewise.
-       * util/grub-probe.c: Likewise.
-
-       * commands/i386/cpuid.c (has_longmode): Make static.
-       * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
-       * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
-
-       * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
-       GDT.  This is more robust, as %ds can change.
-       (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
-       calling real_to_prot().
-       (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
-
-2008-03-28  Pavel Roskin  <proski@gnu.org>
-
-       * kern/i386/pc/startup.S: Assert that uncompressed functions
-       don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
-       * kern/i386/pc/lzo1x.S: Remove all .align directives in the
-       code, as they push parts of the code (error handlers) beyond
-       GRUB_KERNEL_MACHINE_RAW_SIZE.  Speed is not as important in this
-       code as correctness and size.
-
-2008-03-28  Pavel Roskin  <proski@gnu.org>
-
-       * kern/i386/pc/startup.S
-       (grub_biosdisk_get_diskinfo_int13_extensions): When converting
-       data block address to the real mode, keep offset minimal.  This
-       works around a bug in AWARD BIOS on old Athlon systems, which
-       makes CD detection hang.
-
-2008-03-26  Pavel Roskin  <proski@gnu.org>
-
-       * normal/color.c (grub_parse_color_name_pair): Make `name' a
-       const.
-       * include/grub/normal.h: Add grub_parse_color_name_pair()
-       declaration.
-
-2008-03-24  Bean  <bean123ch@gmail.com>
-
-       * disk/i386/pc/biosdisk.c (cd_start): Removed.
-       (cd_count): Removed.
-       (cd_drive): New variable.
-       (grub_biosdisk_get_drive): Don't check for (cdN) device.
-       (grub_biosdisk_call_hook): Likewise.
-       (grub_biosdisk_iterate): Change cdrom detection method.
-       (grub_biosdisk_open): Replace cd_start with cd_drive.
-       (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
-       detect cdrom device.
-
-       * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
-       Removed.
-       (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
-       (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
-       (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
-       (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
-       (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
-       (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
-       (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
-       (grub_biosdisk_cdrp): New structure.
-       (grub_biosdisk_get_cdinfo_int13_extensions): New function.
-
-       * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
-
-       * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
-       device.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
-       New function.
+2016-12-14  Stanislav Kholmanskikh  <stanislav.kholmanskikh@oracle.com>
 
-2008-03-20  Robert Millan  <rmh@aybabtu.com>
+       ofnet: move the allocation of the transmit buffer into a function
+       In the current code search_net_devices() uses the "alloc-mem" command
+       from the IEEE1275 User Interface for allocation of the transmit buffer
+       for the case when GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN is set.
 
-       Remove 2 TiB limit in ata.mod.
-       * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
-       (grub_ata_dumpinfo): Print sector count with 0x%llx.
-       (grub_ata_identify): Interpret `&info16[100]' as a pointer to
-       grub_uint64_t instead of grub_uint32_t.
+       I don't have hardware where this flag is set to verify if this
+       workaround is still needed. However, further changes to ofnet will
+       require to execute this workaround one more time. Therefore, to
+       avoid possible duplication of code I'm moving this piece of
+       code into a function.
 
-2008-03-05  Bean  <bean123ch@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
-       (grub_multiboot): Set boot device.
+2016-11-24  Alexander Graf  <agraf@suse.de>
 
-       * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
+       efi: Move fdt helper into own file
+       We only support FDT files with EFI on arm and arm64 systems, not
+       on x86. So move the helper that finds a prepopulated FDT UUID
+       into its own file and only build it for architectures where it
+       also gets called.
 
-2008-03-02  Bean  <bean123ch@gmail.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
-       symlink_buffer.
+2016-11-22  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-03-01  Yoshinori K. Okuji  <okuji@enbug.org>
+       NEWS updates
 
-       * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
-       texinfo.tex.
+2016-11-22  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
-       modified.
+       bootp: export next server IP as environment variable
+       Network boot autoconfiguration sets default server to next server IP
+       (siaddr) from BOOTP/DHCP reply, but manual configuration using net_bootp
+       exports only server name. Unfortunately semantic of server name is not
+       clearly defined. BOOTP RFC 951 defines it only for client request, and
+       DHCP RFC 1541 only mentions it, without any implied usage. It looks like
+       this field is mostly empty in server replies.
 
-       * docs/fdl.texi: New file.
+       Export next server IP as net_<interface>_next_server variable. This allows
+       grub configuration script to set $root/$prefix based on information obtained
+       by net_bootp.
 
-       * docs/mdate-sh: New file. Copied from gnulib.
-       * docs/texinfo.tex: Likewise.
+       Reported and tested by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
+       Cc: nikunj@linux.vnet.ibm.com
 
-       * config.guess: Updated from gnulib.
-       * install-sh: Likewise.
+       v2: change variable name to net_<interface>_next_server as discussed on the list
 
-2008-02-28  Robert Millan  <rmh@aybabtu.com>
+2016-11-22  Aaro Koskinen  <aaro.koskinen@iki.fi>
 
-       * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
-       (aout_mod_SOURCES): New variable.
-       (aout_mod_CFLAGS): Likewise.
-       (aout_mod_LDFLAGS): Likewise.
+       configure.ac: don't require build time grub-mkfont on powerpc-ieee1275
+       Don't require build time grub-mkfont on powerpc-ieee1275.
 
-       * conf/i386-ieee1275.rmk: Likewise.
+2016-11-14  Dirk Mueller  <dmueller@suse.com>
 
-2008-02-28  Robert Millan  <rmh@aybabtu.com>
+       grub-mknetdir: Add support for ARM64 EFI
 
-       * util/update-grub.in: Reorganise terminal validity check.  Accept
-       `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
-       Based on suggestion by Franklin PIAT.
+2016-11-12  Joonas Lahtinen  <joonas.lahtinen@linux.intel.com>
 
-2008-02-28  Fabian Greffrath  <greffrath@leat.rub.de>
+       .gitignore: Add grub-core/build-grub-module-verifier
 
-       * include/grub/util/getroot.h (grub_util_check_block_device): Export new
-       function.
-       * util/getroot.c (grub_util_check_block_device): New function that
-       returns the given argument if it is a block device and returns NULL else.
-       * util/grub-probe.c (argument_is_device): New variable.
-       (probe): Promote device_name from a variable to an argument. Receive
-       device_name from grub_util_check_block_device() if path is NULL and from
-       grub_guess_root_device() else. Do not free() device_name anymore.
-       (options): Introduce new parameter '-d, --device'.
-       (main): Add description of the new parameter to the help screen.
-       Rename path variable to argument. Set argument_is_device if the '-d'
-       option is given. Pass argument to probe() depending on
-       argument_is_device.
-
-2008-02-24  Bean  <bean123ch@gmail.com>
-
-       * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
-       (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
-       (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
-       (GRUB_ISO9660_VOLDESC_PART): Likewise.
-       (GRUB_ISO9660_VOLDESC_END): Likewise.
-       (grub_iso9660_primary_voldesc): New member escape.
-       (grub_iso9660_data): New member joliet.
-       (grub_iso9660_convert_string): New function.
-       (grub_iso9660_mount): Detect joliet extension.
-       (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
-       (grub_iso9660_iso9660_label): Likewise.
+2016-11-10  Alexander Graf  <agraf@suse.de>
 
-       * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
-       (grub_setup_SOURCES): Add fs/udf.c.
-       (grub_fstest_SOURCES): Likewise.
-       (udf_mod_SOURCES): New variable.
-       (udf_mod_CFLAGS): Likewise.
-       (udf_mod_LDFLAGS): Likewise.
+       arm efi: Use fdt from firmware when available
+       If EFI is nice enough to pass us an FDT using configuration tables on 32bit
+       ARM, we should really try and make use of it.
 
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
-       (grub_emu_SOURCES): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+2016-11-10  Alexander Graf  <agraf@suse.de>
 
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+       arm64: Move firmware fdt search into global function
+       Searching for a device tree that EFI passes to us via configuration tables
+       is nothing architecture specific. Move it into generic code.
 
-       * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+2016-11-05  Corey Hickey  <bugfood-ml@fatooh.org>
 
-       * fs/udf.c: New file.
+       fix detection of non-LUKS CRYPT
+       grub_util_get_dm_abstraction() does a string comparison of insufficient
+       length. When using a UUID such as "CRYPT-PLAIN-sda6_crypt", the function
+       returns GRUB_DEV_ABSTRACTION_LUKS.
 
-2008-02-24  Robert Millan  <rmh@aybabtu.com>
+       This results in the error:
+           ./grub-probe: error: disk `cryptouuid/sda6_crypt' not found.
 
-       * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
-       (normal/lexer.c_DEPENDENCIES): New variables.
-       * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
-       (normal/lexer.c_DEPENDENCIES): Likewise.
-       * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
-       (normal/lexer.c_DEPENDENCIES): Likewise.
-       * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
-       (normal/lexer.c_DEPENDENCIES): Likewise.
-       * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
-       (normal/lexer.c_DEPENDENCIES): Likewise.
-       * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
-       (normal/lexer.c_DEPENDENCIES): Likewise.
+       This appears to be a copy/paste error introduced in:
+       a10e7a5a8918bea6e2632055129fa9b516fe965a
 
-2008-02-23  Robert Millan  <rmh@aybabtu.com>
+       The bug was (apparently) latent until revealed by:
+       3bca85b4184f74995a7cc2791e432173fde26d34
 
-       * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
-       since they were intended to be in hex.  This didn't break previously
-       because of a bug in gpt_partition_map_iterate() (see below).
+2016-10-27  Juergen Gross  <jgross@suse.com>
 
-       (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
-       when checking the validity of GPT header.
-       Remove `partno', since it always provides the same information as `i'.
+       xen: add capability to load p2m list outside of kernel mapping
+       Modern pvops linux kernels support a p2m list not covered by the
+       kernel mapping. This capability is flagged by an elf-note specifying
+       the virtual address the kernel is expecting the p2m list to be mapped
+       to.
 
-2008-02-21  Yoshinori K. Okuji  <okuji@enbug.org>
+       In case the elf-note is set by the kernel don't place the p2m list
+       into the kernel mapping, but map it to the given address. This will
+       allow to support domains with larger memory, as the kernel mapping is
+       limited to 2GB and a domain with huge memory in the TB range will have
+       a p2m list larger than this.
 
-       * include/grub/efi/time.h: Fix a wrong comment.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-02-19  Pavel Roskin  <proski@gnu.org>
+2016-10-27  Juergen Gross  <jgross@suse.com>
 
-       * kern/rescue.c (grub_enter_rescue_mode): Improve initial
-       message.
+       xen: modify page table construction
+       Modify the page table construction to allow multiple virtual regions
+       to be mapped. This is done as preparation for removing the p2m list
+       from the initial kernel mapping in order to support huge pv domains.
 
-2008-02-19  Bean  <bean123ch@gmail.com>
+       This allows a cleaner approach for mapping the relocator page by
+       using this capability.
 
-       * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
-       (aout_mod_SOURCES): New variable.
-       (aout_mod_CFLAGS): Likewise.
-       (aout_mod_LDFLAGS): Likewise.
-       (_bsd_mod_SOURCES): New variable.
-       (_bsd_mod_CFLAGS): Likewise.
-       (_bsd_mod_LDFLAGS): Likewise.
-       (bsd_mod_SOURCES): New variable.
-       (bsd_mod_CFLAGS): Likewise.
-       (bsd_mod_LDFLAGS): Likewise.
+       The interface to the assembler level of the relocator has to be changed
+       in order to be able to process multiple page table areas.
 
-       * include/grub/aout.h: New file.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * include/grub/i386/loader.h (grub_unix_real_boot): New function.
+2016-10-27  Juergen Gross  <jgross@suse.com>
 
-       * include/grub/i386/bsd.h: New file.
+       xen: add capability to load initrd outside of initial mapping
+       Modern pvops linux kernels support an initrd not covered by the initial
+       mapping. This capability is flagged by an elf-note.
 
-       * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
-       to make it public.
+       In case the elf-note is set by the kernel don't place the initrd into
+       the initial mapping. This will allow to load larger initrds and/or
+       support domains with larger memory, as the initial mapping is limited
+       to 2GB and it is containing the p2m list.
 
-       * kern/elf.c (grub_elf32_load): Get the physical address after the hook
-       function is called, so that it's possible to change it inside the hook.
-       (grub_elf64_load): Likewise.
-       (grub_elf_file): Don't close the file if elf header is not found.
-       (grub_elf_close): Close the file if grub_elf_file fails (The new
-       grub_elf_file won't close it).
-       (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
-       (grub_elf64_size): Likewise.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * kern/i386/loader.S (grub_unix_real_boot): New function.
+2016-10-27  Juergen Gross  <jgross@suse.com>
 
-       * loader/aout.c: New file.
+       xen: factor out allocation of page tables into separate function
+       Do the allocation of page tables in a separate function. This will
+       allow to do the allocation at different times of the boot preparations
+       depending on the features the kernel is supporting.
 
-       * loader/i386/bsd.c: New file.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * loader/i386/bsd_normal.c: New file.
+2016-10-27  Juergen Gross  <jgross@suse.com>
 
-       * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
+       xen: factor out allocation of special pages into separate function
+       Do the allocation of special pages (start info, console and xenbus
+       ring buffers) in a separate function. This will allow to do the
+       allocation at different times of the boot preparations depending on
+       the features the kernel is supporting.
 
-       * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
-       can test other formats.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-02-19  Robert Millan  <rmh@aybabtu.com>
+2016-10-27  Juergen Gross  <jgross@suse.com>
 
-       * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
-       (grub_gpt_partition_type_empty): Redefine with macro from
-       `<grub/gpt_partition.h>'.
-       (gpt_partition_map_iterate): Adjust partition type comparison.
+       xen: factor out p2m list allocation into separate function
+       Do the p2m list allocation of the to be loaded kernel in a separate
+       function. This will allow doing the p2m list allocation at different
+       times of the boot preparations depending on the features the kernel
+       is supporting.
 
-       Export `entry' as partmap-specific `part.data' struct.
-       (grub_gpt_header, grub_gpt_partentry): Move from here ...
+       While at this remove superfluous setting of first_p2m_pfn and
+       nr_p2m_frames as those are needed only in case of the p2m list not
+       being mapped by the initial kernel mapping.
 
-       * include/grub/gpt_partition.h (grub_gpt_header)
-       (grub_gpt_partentry): ... to here (new file).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
+2016-10-27  Juergen Gross  <jgross@suse.com>
 
-       (grub_gpt_partition_type_bios_boot): New const variable, defined
-       with macro from `<grub/gpt_partition.h>'.
+       xen: synchronize xen header
+       Get actual version of include/xen/xen.h from the Xen repository in
+       order to be able to use constants defined there.
 
-       (setup): Replace `first_start' with `embed_region', which keeps
-       track of the embed region (and is partmap-agnostic).
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       Replace find_first_partition_start() with find_usable_region(),
-       which finds a usable region for embedding using partmap-specific
-       knowledge (supports PC/MSDOS and GPT).
+2016-10-27  Juergen Gross  <jgross@suse.com>
 
-       Fix all assumptions that the embed region start at sector 1, using
-       `embed_region.start' from now on.  Similarly, use `embed_region.end'
-       rather than `first_start' to calculate available size.
+       xen: add elfnote.h to avoid using numbers instead of constants
+       Various features and parameters of a pv-kernel are specified via
+       elf notes in the kernel image. Those notes are part of the interface
+       between the Xen hypervisor and the kernel.
 
-       In grub_util_info() message, replace "into after the MBR" with an
-       indication of the specific sector our embed region starts at.
+       Instead of using num,bers in the code when interpreting the elf notes
+       make use of the header supplied by Xen for that purpose.
 
-2008-02-19  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * DISTLIST: Replace `commands/ieee1275/halt.c' and
-       `commands/ieee1275/reboot.c' with `commands/halt.c' and
-       `commands/reboot.c'.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
-       (halt_mod_SOURCES): Likewise.
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
-       (halt_mod_SOURCES): Likewise.
+2016-10-27  Juergen Gross  <jgross@suse.com>
 
-2008-02-17  Christian Franke  <franke@computer.org>
+       xen: reduce number of global variables in xen loader
+       The loader for xen paravirtualized environment is using lots of global
+       variables. Reduce the number by making them either local or by putting
+       them into a single state structure.
 
-       * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-2008-02-17  Robert Millan  <rmh@aybabtu.com>
+2016-10-27  Juergen Gross  <jgross@suse.com>
 
-       * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
-       set `first_start' to 0 for non-PC/MSDOS partition maps.
+       xen: avoid memleaks on error
+       When loading a Xen pv-kernel avoid memory leaks in case of errors.
 
-2008-02-16  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
-       do not assume partition map is PC/MSDOS before performing checks that
-       are specific to that layout.
+2016-10-27  Juergen Gross  <jgross@suse.com>
 
-2008-02-13  Robert Millan  <rmh@aybabtu.com>
+       xen: make xen loader callable multiple times
+       The loader for xen paravirtualized environment isn't callable multiple
+       times as it won't free any memory in case of failure.
 
-       * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
-       `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
-       * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
+       Call grub_relocator_unload() as other modules do it before allocating
+       a new relocator or when unloading the module.
 
-2008-02-13  Yoshinori K. Okuji  <okuji@enbug.org>
+       Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 
-       * configure.ac: Only a cosmetic change on the handling of
-       -fno-stack-protector.
+2016-10-27  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2008-02-12  Alexandre Boeglin  <alex@boeglin.org>
+       multiboot2: Add support for relocatable images
+       Currently multiboot2 protocol loads image exactly at address specified in
+       ELF or multiboot2 header. This solution works quite well on legacy BIOS
+       platforms. It is possible because memory regions are placed at predictable
+       addresses (though I was not able to find any spec which says that it is
+       strong requirement, so, it looks that it is just a goodwill of hardware
+       designers). However, EFI platforms are more volatile. Even if required
+       memory regions live at specific addresses then they are sometimes simply
+       not free (e.g. used by boot/runtime services on Dell PowerEdge R820 and
+       OVMF). This means that you are not able to just set up final image
+       destination on build time. You have to provide method to relocate image
+       contents to real load address which is usually different than load address
+       specified in ELF and multiboot2 headers.
 
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
-       commands/i386/pc/halt.c and reboot.c by commands/halt.c and
-       reboot.c.
-       (grub_install_SOURCES): Add halt.mod and reboot.mod.
-       (halt_mod_SOURCES): New variable.
-       (halt_mod_CFLAGS): Likewise.
-       (halt_mod_LDFLAGS): Likewise.
-       (reboot_mod_SOURCES): Likewise.
-       (reboot_mod_CFLAGS): Likewise.
-       (reboot_mod_LDFLAGS): Likewise.
+       This patch provides all needed machinery to do self relocation in image code.
+       First of all GRUB2 reads min_addr (min. load addr), max_addr (max. load addr),
+       align (required image alignment), preference (it says which memory regions are
+       preferred by image, e.g. none, low, high) from multiboot_header_tag_relocatable
+       header tag contained in binary (at this stage load addresses from multiboot2
+       and/or ELF headers are ignored). Later loader tries to fulfill request (not only
+       that one) and if it succeeds then it informs image about real load address via
+       multiboot_tag_load_base_addr tag. At this stage GRUB2 role is finished. Starting
+       from now executable must cope with relocations itself using whole static and
+       dynamic knowledge provided by boot loader.
 
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
-       commands/ieee1275/halt.c and reboot.c by commands/halt.c and
-       reboot.c.
-       (halt_mod_SOURCES): Likewise.
-       (reboot_mod_SOURCES): Likewise.
+       This patch does not provide functionality which could do relocations using
+       ELF relocation data. However, I was asked by Konrad Rzeszutek Wilk and Vladimir
+       'phcoder' Serbinenko to investigate that thing. It looks that relevant machinery
+       could be added to existing code (including this patch) without huge effort.
+       Additionally, ELF relocation could live in parallel with self relocation provided
+       by this patch. However, during research I realized that first of all we should
+       establish the details how ELF relocatable image should look like and how it should
+       be build. At least to build proper test/example files.
 
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
-       commands/i386/pc/reboot.c by commands/reboot.c.
-       (reboot_mod_SOURCES): Likewise.
+       So, this patch just provides support for self relocatable images. If ELF file
+       with relocs is loaded then GRUB2 complains loudly and ignores it. Support for
+       such files will be added later.
 
-       * commands/i386/pc/reboot.c: merge this file ...
+       This patch was tested with Xen image which uses that functionality. However, this Xen
+       feature is still under development and new patchset will be released in about 2-3 weeks.
 
-       * commands/ieee1275/reboot.c: ... and this file ...
+       Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
 
-       * commands/reboot.c: ... to this file.
-       Add some precompiler directive to include the correct header for
-       each machine.
+2016-10-27  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * commands/ieee1275/halt.c: move this file ...
+       multiboot2: Do not pass memory maps to image if EFI boot services are enabled
+       If image requested EFI boot services then skip multiboot2 memory maps.
+       Main reason for not providing maps is because they will likely be
+       invalid. We do a few allocations after filling them, e.g. for relocator
+       needs. Usually we do not care as we would have finished boot services.
+       If we keep boot services then it is easier/safer to not provide maps.
+       However, if image needs memory maps and they are not provided by bootloader
+       then it should get itself just before ExitBootServices() call.
 
-       * commands/halt.c: ... to here.
-       Add some precompiler directive to include the correct header for
-       each machine.
+       Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+       Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
 
-       * include/grub/efi/efi.h (grub_reboot): New function declaration.
-       (grub_halt): Likewise.
+2016-10-27  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * kern/efi/efi.c (grub_reboot): New function.
-       (grub_halt): Likewise.
+       multiboot2: Add tags used to pass ImageHandle to loaded image
+       Add tags used to pass ImageHandle to loaded image if requested.
+       It is used by at least ExitBootServices() function.
 
-2008-02-12  Robert Millan  <rmh@aybabtu.com>
+       Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+       Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
 
-       * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
-       /dev (like it is done for /dev/mapper).  This doesn't provide support
-       for EVMS, but at least it is now easy to identify the problem when it
-       arises.
+2016-10-27  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2008-02-11  Robert Millan  <rmh@aybabtu.com>
+       i386/relocator: Add grub_relocator64_efi relocator
+       Add grub_relocator64_efi relocator. It will be used on EFI 64-bit platforms
+       when multiboot2 compatible image requests MULTIBOOT_TAG_TYPE_EFI_BS. Relocator
+       will set lower parts of %rax and %rbx accordingly to multiboot2 specification.
+       On the other hand processor mode, just before jumping into loaded image, will
+       be set accordingly to Unified Extensible Firmware Interface Specification,
+       Version 2.4 Errata B, section 2.3.4, x64 Platforms, boot services. This way
+       loaded image will be able to use EFI boot services without any issues.
 
-       * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
-       (grub_util_biosdisk_get_grub_dev): Check open() exit status by
-       comparing it with -1, not 0.
+       Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+       Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
 
-2008-02-10  Robert Millan  <rmh@aybabtu.com>
+2016-10-18  Sakar Arora  <Sakar.Arora@nxp.com>
 
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
-       `disk/lvm.c'.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
+       net/ip: Fix limit_time calculation in freeing old fragments
+       limit_time underflows when current time is less than 90000ms.
+       This causes packet fragments received during this time, i.e.,
+       till 90000ms pass since timer init, to be rejected.
 
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
-       `disk/lvm.c' to the end of the list.
-       * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
+       Hence, set it to 0 if its less than 90000.
 
-2008-02-10  Robert Millan  <rmh@aybabtu.com>
+2016-09-28  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'.  Call
-       grub_print_error() instead.  This will let user know why we're entering
-       rescue mode.
-       Based on suggestions from Sam Morris.
+       asm-tests/i386-pc: Check that movl is 5 bytes.
+       LLVM 3.9 now emits short form of jump instructions, but it is still using
+       32 bit addresses for some movl instructions. Fortunately it was caught early:
 
-2008-02-10  Alexandre Boeglin  <alex@boeglin.org>
+       clang ... boot/i386/pc/boot.S
+       clang -cc1as: fatal error: error in backend: invalid .org offset '440' (at offset '441')
 
-       * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
-       on remaining N args, instead of "--" arg N times.
+       Add additional check to catch it during configure run and force -no-integrated-as.
 
-2008-02-09  Vesa Jaaskelainen  <chaac@nic.fi>
+       Closes: 49200
 
-       * font/manager.c (unknown_glyph): Added variable for unknown glyph.
-       (fill_with_default_glyph): Changed to use unknown_glyph for fill
-       pattern for unknown glyphs.
+       More details in
+         https://lists.gnu.org/archive/html/grub-devel/2015-02/msg00099.html
+         https://llvm.org/bugs/show_bug.cgi?id=22662
 
-2008-02-09  Robert Millan  <rmh@aybabtu.com>
+2016-08-13  Pete Batard  <pete@akeo.ie>
 
-       * configure.ac: Probe for `help2man'.
-       * Makefile.in (builddir): New variable.
-       (HELP2MAN): Likewise.  Set to `true' when @HELP2MAN@ doesn't provide it,
-       or otherwise add a few flags/options to it.
-       (install-local): For every executable utility or script that is
-       installed, invoke $(HELP2MAN) to install a manpage based on --help
-       output.
+       Add missing va_end() to xasprintf() in grub-emu.
 
-       * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
-       that it doesn't prevent --help from working in build tree.
+2016-07-27  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
-       with `bug-grub@gnu.org'.
-       * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
-       * util/update-grub.in (usage): New function.
-       Implement proper argument check, with support for --help and --version
-       (as well as existing -y).
+       at_keyboard: fix numpad "0" and "." mapping
+       Reported for set 1 by fgndevelop <fgndevelop@posteo.org>. Apparently
+       set 2 was reversed too.
 
-2008-02-09  Christian Franke  <franke@computer.org>
+2016-07-26  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
-       avoid overwriting previous output.
-       * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
+       dns: fix buffer overflow for data->addresses in recv_hook
+       We may get more than one response before exiting out of loop in
+       grub_net_dns_lookup, but buffer was allocated for the first response only,
+       so storing answers from subsequent replies wrote past allocated size.
+       We never really use more than the very first address during lookup so there
+       is little point in collecting all of them. Just quit early if we already have
+       some reply.
 
-2008-02-09  Robert Millan  <rmh@aybabtu.com>
+       Code needs serious redesign to actually collect multiple answers
+       and select the best fit according to requested type (IPv4 or IPv6).
 
-       * normal/menu.c (run_menu): If timeout is set to zero, don't bother
-       drawing the menu.
+       Reported and tested by Michael Chang <mchang@suse.com>
 
-2008-02-09  Robert Millan  <rmh@aybabtu.com>
+2016-07-26  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * commands/sleep.c: New file.
-       * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
-       (sleep_mod_SOURCES): New variable.
-       (sleep_mod_CFLAGS): Likewise.
-       (sleep_mod_LDFLAGS): Likewise.
+       xfs: accept filesystem with meta_uuid
+       XFS V5 stores UUID in metadata and compares them with superblock UUID.
+       To allow changing of user-visible UUID it stores original value in new
+       superblock field (meta_uuid) and sets incompatible flag to indicate that
+       new field must be used to verify metadata. Our driver currently does not
+       check metadata UUID so simply accept such filesystem.
 
-2008-02-09  Robert Millan  <rmh@aybabtu.com>
+       Reported-By: Marcos Mello <marcosfrm@outlook.com>
+       Reviewd by Jan Kara <jack@suse.cz>
 
-       * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
-       situations in which we can deduce the RAID size and the superblock
-       doesn't match it.
+2016-05-03  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-02-09  Robert Millan  <rmh@aybabtu.com>
+       net: translate pxe prefix to tftp when checking for self-load
+       Commit ba218c1 missed legacy pxe and pxe: prefixes which are
+       translated to tftp, so comparison failed.
 
-       * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function.  Construct
-       and return a grub_diskmemberlist_t composed of LVM physical volumes.
-       [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
+2016-04-30  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function.  Construct
-       and return a grub_diskmemberlist_t composed of physical array members.
-       [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
+       net: reset net->stall in grub_net_seek_real
+       If we open new connection, we need to reset stall indication, otherwise
+       nothing will ever be polled (low level code rely on this field being
+       zero when establishing connection).
 
-       * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
-       prototype.
-       [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
-       [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
-       [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
+2016-04-30  Stefan Fritsch  <sf@sfritsch.de>
 
-       * util/grub-probe.c (probe): Move partmap probing code from here ...
-       (probe_partmap): ... to here.
-       (probe): Use probe_partmap() once for the disk we're probing, and
-       additionally, when such disk contains a memberlist() struct member,
-       once for each disk that is contained in the structure returned by
-       memberlist().
+       http: reset EOF indication in http_seek
+       Otherwise next read will stop polling too early due to stale EOF
+       indicator, returning incomplete data to caller.
 
-2008-02-09  Robert Millan  <rmh@aybabtu.com>
+2016-04-24  Mike Gilbert  <floppym@gentoo.org>
 
-       * util/grub-probe.c (main): When `verbosity > 1', set `debug'
-       environment variable to 'all' in order to obtain debug output from
-       non-util/ code.
-       * util/i386/pc/grub-setup.c (main): Likewise.
+       build: Use AC_HEADER_MAJOR to find device macros
+       Depending on the OS/libc, device macros are defined in different
+       headers. This change ensures we include the right one.
 
-2008-02-08  Robert Millan  <rmh@aybabtu.com>
+       sys/types.h - BSD
+       sys/mkdev.h - Sun
+       sys/sysmacros.h - glibc (Linux)
 
-       * disk/raid.c (grub_raid_scan_device): Check for
-       `array->device[sb.this_disk.number]' rather than for
-       `array->device[sb.this_disk.number]->name', since the latter is not
-       guaranteed to be accessible.
+       glibc currently pulls sys/sysmacros.h into sys/types.h, but this may
+       change in a future release.
 
-2008-02-08  Robert Millan  <rmh@aybabtu.com>
+       https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html
 
-       * disk/raid.c: Update copyright.
-       * fs/cpio.c: Likewise.
-       * include/grub/raid.h: Likewise.
-       * loader/i386/pc/multiboot.c: Likewise.
-       * util/hostfs.c: Likewise.
+2016-04-09  Michael Chang  <mchang@suse.com>
 
-2008-02-08  Robert Millan  <rmh@aybabtu.com>
+       http: fix superfluous null line in range request header
+       At least the apache sever is very unhappy with that extra null line and will
+       take more than ten seconds in responding to each range request, which slows
+       down a lot the entire http file transfer process or even time out.
 
-       * include/grub/raid.h (struct grub_raid_array): Change type of `device'
-       to a grub_disk_t array.
-       * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
-       `device[x]'.
-       (grub_raid_scan_device): Replace `device[x].name' accesses with
-       `device[x]->name'.  Simplify initialization of `array->device[x]'.
+2016-03-22  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-02-08  Robert Millan  <rmh@aybabtu.com>
+       configure: set -fno-pie together with -fno-PIE
+       OpenBSD 5.9 apparently defaults to -fpie. We use -fno-PIE when appropriate
+       already, but that is not enough - it does not turn off -fpie.
 
-       * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
-       grub_dprintf() calls.
-       * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
-       error message.
+       Actually check for -fPIE is not precise enough. __PIE__ is set for both
+       -fpie and -fPIE but with different values. As far as I can tell, both
+       options were introduced at the same time, so both should always be supported.
 
-2008-02-07  Christian Franke  <franke@computer.org>
+       This fixes compilation on OpenBSD 5.9 which otherwise created insanely big
+       lzma_decompress.img.
 
-       * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
-       instead of fseek and ftell to support large files.
-       (grub_hostfs_read): Likewise.
+       Reported, suggested and tested by: Jiri B <jirib@devio.us>
 
-2008-02-07  Robert Millan  <rmh@aybabtu.com>
+2016-03-20  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       Patch from Jeroen Dekkers.
-       * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
-       failure, since successfully reading all array members might not be
-       required.
+       bootp: check that interface is not NULL in configure_by_dhcp_ack
+       grub_net_add_addr may fail with OOM and we use returned interface
+       later without any checks.
 
-2008-02-06  Robert Millan  <rmh@aybabtu.com>
+2016-03-19  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/grub-probe.c (probe): Simplify partmap probing (with the
-       assumption that the first word up to the underscore equals to
-       the module name).
+       bootp: fix memory leak in grub_cmd_dhcpopt
 
-2008-02-06  Christian Franke  <franke@computer.org>
+2016-03-15  Aaron Luft  <aluft@lifesize.com>
 
-       * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
-       (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
-       last block of a cpio or tar stream.
-       Check for "TRAILER!!!" instead of any empty data
-       block to detect last block of a cpio stream.
-       (grub_cpio_dir): Fix constness of variable np.
-       (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
-       cpio or tar trailer is detected.  This fixes a crash
-       on open of a non existing file.
+       Remove the variable oldname which is attempting to free stack space.
+       Historically this variable hold previous value of filename that
+       had to be freed if allocated previously. Currently this branch
+       is entered only if filename was not allocated previously so it
+       became redundant. It did not cause real problems because grub_free
+       was not called, but code is confusing and causes compilation error
+       in some cases.
 
-2008-02-05  Bean  <bean123ch@gmail.com>
+2016-03-13  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
-       address of entry.
-       (grub_multiboot_load_elf64): Likewise.
-       (grub_multiboot): Initialize mbi structure.
+       Makefile.util.def: add $LIBINTL to grub-macbless flags
+       Fixes compilation on OpenBSD 5.9.
 
-       * util/grub-fstest.c: Don't include unused header file script.h.
+       Reported by Jiri B <jirib@devio.us>
 
-       * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
-       of file.
-       (grub_fstest_SOURCES): Likewise.
+2016-03-11  Robert Marshall  <rmarshall@redhat.com>
 
-2008-02-05  Robert Millan  <rmh@aybabtu.com>
+       Failed config now returns exit code (#1252311)
+       Grub would notify the user if the new config was invalid, however, it
+       did not exit properly with exit code 1. Added the proper exit code.
 
-       * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
-       (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
-       (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
-       (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
+       Resolves: rhbz#1252311
 
-       * kern/i386/pc/startup.S: Include `<grub/term.h>'.
-       (translation_table): Replace hardcoded values with macros
-       provided by `<grub/term.h>'.
+2016-03-11  Michael Chang  <mchang@suse.com>
 
-       * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
-       (keyboard_map): Correct/add a few values, with macros provided
-       by `<grub/term.h>'.
-       (keyboard_map_shift): Zero values that don't differ from their
-       `keyboard_map' equivalents.
-       (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
-       Discard the second scan code that is always sent by Caps lock.
-       Only use `keyboard_map_shift' when it provides a non-zero value,
-       otherwise fallback to `keyboard_map'.
+       xen_file: Fix invalid payload size
 
-2008-02-04  Bean  <bean123ch@gmail.com>
+2016-03-10  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * Makefile.in (enable_grub_fstest): New variable.
+       multiboot2: Remove useless GRUB_PACKED
+       Reported by: Daniel Kiper
 
-       * conf/common.rmk (grub_fstest_init.lst): New rule.
-       (grub_fstest_init.h): Likewise.
-       (grub_fstest_init.c): Likewise.
-       (util/grub-fstest.c_DEPENDENCIES): New variable.
-       (grub_fstest_SOURCES): Likewise.
+2016-03-06  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
+       20_linux_xen: fix test for GRUB_DEVICE
+       Same fix as in 082bc9f.
 
-       * util/grub-fstest.c: New file.
+2016-03-06  Mike Gilbert  <floppym@gentoo.org>
 
-2008-02-03  Yoshinori K. Okuji  <okuji@enbug.org>
+       10_linux: Fix grouping of tests for GRUB_DEVICE
+       Commit 7290bb562 causes GRUB_DISABLE_LINUX_UUID to be ignored due to
+       mixing of || and && operators. Add some parens to help with that.
 
-       Make grub-setup handle a separate root device.
+2016-02-28  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/i386/pc/grub-setup.c (setup): Always open the root device,
-       so that the root device can be compared with the destination
-       device.
-       When embedding the core image, if the root and destination devices
-       are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
-       0xFF.
-       When not embedding, set ROOT_DRIVE to 0xFF.
+       NEWS update
 
-2008-02-03  Yoshinori K. Okuji  <okuji@enbug.org>
+2016-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       Add support for having a grub directory in a different drive. This
-       is still only the data handling part.
+       Release 2.02~beta3
 
-       * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
-       (codestart): Save %dh in GRUB_ROOT_DRIVE.
-       (grub_root_drive): New variable.
+       grub_arch_sync_dma_caches: Accept volatile address
 
-       * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
-       instead of GRUB_BOOT_DRIVE to construct a device name. Set
-       GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
-       as it was.
+2016-02-27  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
+       efidisk: Respect block_io_protocol buffer alignment
+       Returned from the OpenProtocol operation, the grub_efi_block_io_media
+       structure contains the io_align field, specifying the minimum alignment
+       required for buffers used in any data transfers with the device.
 
-       * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
-       macro.
-       (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
+       Make grub_efidisk_readwrite() allocate a temporary buffer, aligned to
+       this boundary, if the buffer passed to it does not already meet the
+       requirements.
 
-       * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
-       is bogus, because PXE booting does not specify any drive
-       correctly.
+       Also sanity check the io_align field in grub_efidisk_open() for
+       power-of-two-ness and bail if invalid.
 
-       * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
-       am not sure if this is really correct.
+2016-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
-       is always identical to the boot drive when booting from a CD.
+       usbtrans: Fix memory coherence and use-after-free.
 
-       * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
-       longer.
-       (root_drive): New variable.
-       (real_start): Unconditionally set %dh to ROOT_DRIVE.
-       (setup_sectors): Push %dx right after popping it, because %dh will
-       be modified later.
-       (copy_buffer): Restore %dx.
+       ehci: Fix memory coherence
+       This is a no-op on x86 but necessarry on ARM and may be necessarry on MIPS.
 
-2008-02-03  Robert Millan  <rmh@aybabtu.com>
+       arm-uboot: Make self-relocatable to allow loading at any address
 
-       * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
-       use `cdboot.img' for cdrom images.
+       Allow _start == 0 with relocatable images
 
-2008-02-03  Robert Millan  <rmh@aybabtu.com>
+2016-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/grub.d/00_header.in: Issue scripting commands for GRUB to
-       only setup gfxterm when `font' command has succeeded.
+       Provide __bss_start and _end symbols in grub-mkimage.
+       For this ensure that all bss sections are merged.
 
-2008-02-03  Robert Millan  <rmh@aybabtu.com>
+       We need this to correctly prelink non-PE relocatable images.
 
-       * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
-       (grub_rescue_cmd_multiboot_loader)
-       (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
+2016-02-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-02-03  Pavel Roskin  <proski@gnu.org>
+       Encapsulate image layout into a separate structure.
+       Currently we pass around a lot of pointer. Instead put all relevant data
+       into one structure.
 
-       * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
-       %edx and %esi from stack only after grub_gate_a20() is called.
-       grub_gate_a20() clobbers %edx.
+       mkimagexx: Split PE and generic part for relocations.
+       As a preparation for U-Boot relocations, split emitting PE-relocations
+       from parsing source ELF-relocations.
 
-2008-02-03  Yoshinori K. Okuji  <okuji@enbug.org>
+       mkimage.c: Split into separate files.
+       util/grub-mkimagexx.c is included in a special way into mkimage.c.
+       Interoperation between defines makes this very tricky. Instead
+       just have a clean interface and compile util/grub-mkimage*.c separately
+       from mkimage.c
 
-       * configure.ac (AC_INIT): Bumped to 1.96.
+       bsd: Ensure that kernel is loaded before loading module.
+       kernel_type may be set to the type of failed kernel. This patching-up is
+       easier than to reflow kernel loading routines.
 
-       * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
-       commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
-       include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
-       video/readers/png.c.
+       cat: Don't switch terminal mode when there is nothing to highlight.
+       This just pollutes serial console.
 
-2008-02-03  Bean  <bean123ch@gmail.com>
+       Use console rather than serial_efi0 on arm64-efi in tests
 
-       * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
-       (cdboot_img_SOURCES): New variable.
-       (cdboot_img_ASFLAGS): New variable.
-       (cdboot_img_LDFLAGS): New variable.
+2016-02-27  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * boot/i386/pc/cdboot.S: New file.
+       efidisk: fix misplaced parenthesis in b00e4c2
 
-       * disk/i386/pc/biosdisk.c (cd_start): New variable.
-       (cd_count): Likewise.
-       (grub_biosdisk_get_drive): Add support for cd device.
-       (grub_biosdisk_call_hook): Likewise.
-       (grub_biosdisk_iterate): Likewise.
-       (grub_biosdisk_open): Likewise.
-       (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
-       (grub_biosdisk_rw): Support reading from cd device.
-       (GRUB_MOD_INIT): Iterate cd devices.
+2016-02-26  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
-       (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
-       (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
+       efidisk: prevent errors from diskfilter scan of removable drives
+       Map EFI_NO_MEDIA to GRUB_ERR_OUT_OF_RANGE that is ignored by diskfilter. This
+       actually matches pretty close (we obviously attempt to read outside of media)
+       and avoids adding more error codes.
 
-       * kern/i386/pc/init.c (make_install_device): Check for cd device.
+       This affects only internally initiated scans. If read/write from removable is
+       explicitly requested, we still return an error and text explanation is more
+       clear for user than generic error.
 
-2008-02-02  Robert Millan  <rmh@aybabtu.com>
+       Reported and tested by Andreas Loew <Andreas.Loew@gmx.net>
 
-       * commands/read.c: New file.
-       * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
-       (read_mod_SOURCES): New variable.
-       (read_mod_CFLAGS): Likewise.
-       (read_mod_LDFLAGS): Likewise.
+2016-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-02-02  Robert Millan  <rmh@aybabtu.com>
+       Regenerate checksums
 
-       * normal/main.c (grub_normal_execute): Check for `menu->size' when
-       determining whether menu has to be displayed.
+       Makefile: Don't delete default_payload.elf if it doesn't exist.
 
-2008-02-02  Marco Gerards  <marco@gnu.org>
+2016-02-25  Josef Bacik  <jbacik@fb.com>
 
-       * bus/pci.c: New file.
+       net: fix ipv6 routing
+       ipv6 routing in grub2 is broken, we cannot talk to anything outside our local
+       network or anything that doesn't route in our global namespace.  This patch
+       fixes this by doing a couple of things
 
-       * include/grub/pci.h: Likewise.
+       1) Read the router information off of the router advertisement.  If we have a
+       router lifetime we need to take the source address and create a route from it.
 
-       * include/grub/i386/pc/pci.h: Likewise.
+       2) Changes the routing stuff slightly to allow you to specify a gateway _and_ an
+       interface.  Since the router advertisements come in on the link local address we
+       need to associate it with the global address on the card.  So when we are
+       processing the router advertisement, either use the SLAAC interface we create
+       and add the route to that interface, or loop through the global addresses we
+       currently have on our interface and associate it with one of those addresses.
+       We need to have a special case here for the default route so that it gets used,
+       we do this by setting the masksize to 0 to mean it encompasses all networks.
+       The routing code will automatically select the best route so if there is a
+       closer match we will use that.
 
-       * commands/lspci.c: Likewise.
+       With this patch I can now talk to ipv6 addresses outside of my local network.
+       Thanks,
 
-       * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
-       `lspci.mod'.
-       (pci_mod_SOURCES): New variable.
-       (pci_mod_CFLAGS): Likewise.
-       (pci_mod_LDFLAGS): Likewise.
-       (lspci_mod_SOURCES): Likewise.
-       (lspci_mod_CFLAGS): Likewise.
-       (lspci_mod_LDFLAGS): Likewise.
+2016-02-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-02-02  Bean  <bean123ch@gmail.com>
+       ieee1275: fix signed comparison
 
-       * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
-       (grub_ufs_get_file_block): Fix indirect block calculation problem.
+2016-02-23  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
-       (grub_xfs_btree_node): New structure.
-       (grub_xfs_btree_root): New structure.
-       (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
-       (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
-       (GRUB_XFS_EXTENT_BLOCK): Likewise.
-       (GRUB_XFS_EXTENT_SIZE): Likewise.
-       (grub_xfs_read_block): Support btree format type.
-       (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
-       Use directory block as basic unit.
+       search: actually skip floppy with --no-floppy
+       grub_device_iterate() ignores device when iterator returns 1, not 0.
 
-       * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
+       Reported by Carlos E. R. <robin.listas@telefonica.net>
 
-       * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
-       __attribute__ ((__regparm__ (1))).
+2016-02-23  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-02-01  Robert Millan  <rmh@aybabtu.com>
+       multiboot2: zero reserved field in memory map
+       Documentation says, bootloader should set reserved field to zero.
 
-       Correct a mistake in previous commit.
+       Reported by Wink Saville <wink@saville.com>
 
-       * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
-       top.
-       (normal/command.c_DEPENDENCIES): New variable.
+2016-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-02-01  Robert Millan  <rmh@aybabtu.com>
+       Improve EHCI logging
+       Add dprintf's on common error paths and remove some entries which are too
+       noisy.
 
-       * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
-       top.
-       (normal/command.c_DEPENDENCIES): New variable.
-       (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-linuxbios.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       (grub_emu_SOURCES): Add `fs/fshelp.c'.
+       usb_keyboard: Remove useless include
+       This prevents non-PCI machines from having USB.
 
-       * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
+       Refresh before abort
+       This ensures that abort message is actually visible to the user.
 
-2008-02-01  Robert Millan  <rmh@aybabtu.com>
+2016-02-22  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
-       call at beginning of function.
+       ieee1275: prevent buffer over-read
+       Prevent buffer over-read in grub_machine_mmap_iterate. This was
+       causing phys_base from being calculated properly. This then
+       caused the wrong value to be placed in ramdisk_image within
+       struct linux_hdrs. Which prevented the ramdisk from loading on
+       boot.
 
-2008-01-31  Pavel Roskin  <proski@gnu.org>
+       Newer SPARC systems contain more than 8 available memory entries.
 
-       * util/powerpc/ieee1275/grub-mkrescue.in: New file.
-       * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
-       (grub_mkrescue_SOURCES): Likewise.
-       * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
+       For example on a T5-8 with 2TB of memory, the memory layout could
+       look like this:
 
-2008-01-30  Robert Millan  <rmh@aybabtu.com>
+       T5-8 Memory
+       reg                      00000000 30000000 0000003f b0000000
+                                00000800 00000000 00000040 00000000
+                                00001000 00000000 00000040 00000000
+                                00001800 00000000 00000040 00000000
+                                00002000 00000000 00000040 00000000
+                                00002800 00000000 00000040 00000000
+                                00003000 00000000 00000040 00000000
+                                00003800 00000000 00000040 00000000
+       available                00003800 00000000 0000003f ffcae000
+                                00003000 00000000 00000040 00000000
+                                00002800 00000000 00000040 00000000
+                                00002000 00000000 00000040 00000000
+                                00001800 00000000 00000040 00000000
+                                00001000 00000000 00000040 00000000
+                                00000800 00000000 00000040 00000000
+                                00000000 70000000 0000003f 70000000
+                                00000000 6eef8000 00000000 00002000
+                                00000000 30400000 00000000 3eaf6000
+       name                     memory
 
-       * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
-       (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
-       * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
-       (grub_probe_SOURCES): ... to here.
+2016-02-22  Thomas Huth  <thuth@redhat.com>
 
-       * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
-       (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/i386-linuxbios.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
+       menu_entry: Disable cursor during update_screen()
+       When running grub in a VGA console of a KVM pseries guest on PowerPC,
+       you can see the cursor sweeping over the whole line when entering a
+       character in editor mode. This is visible because grub always refreshes
+       the whole line when entering a character in editor mode, and drawing
+       characters is quite a slow operation with the firmware used for the
+       powerpc pseries guests (SLOF).
+       To avoid this ugliness, the cursor should be disabled when refreshing
+       the screen contents during update_screen().
 
-2008-01-30  Tristan Gingold  <gingold@free.fr>
+2016-02-17  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * kern/rescue.c: Silently accept empty lines.
+       default_payload.elf: Always rebuild and remove before build.
+       It's difficult to know all dependencies. Since it's manual and cheap
+       target anyway, simply always rebuild it.
 
-2008-01-29  Bean  <bean123ch@gmail.com>
+       default_payload.elf: Include password_pbkdf2.
+       Withoout this module we may end up in a system where no password is
+       accepted.
 
-       * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
-       (real_code_2): Code cleanup and change comment style.
-       (move_memory): Avoid using 32-bit address mode.
+       default_payload.elf: Add modules from $(EXTRA_PAYLOAD_MODULES).
+       This allows coreboot building system to add extra modules depending
+       on user config.
 
-2008-01-29  Bean  <bean123ch@gmail.com>
+       mm: Avoid integer overflow.
 
-       * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
-       (png_mod_SOURCES): New variable.
-       (png_mod_CFLAGS): Likewise.
-       (png_mod_LDFLAGS): Likewise.
+       Remove -Wno-maybe-uninitialized as it may not be present.
 
-       * video/readers/png.c: New file.
+       Fix warnings when compiling with -O3
 
-2008-01-28  Robert Millan  <rmh@aybabtu.com>
+2016-02-14  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
-       * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
-       `ifndef GRUB_MOD_GAP' hack.
-       * util/elf/grub-mkimage.c (add_segments): Likewise.
+       Add wbinvd around bios call.
+       Via C3 has problems with cache coherency when transitioning between the modes,
+       so flush it around bios calls.
 
-2008-01-27  Robert Millan  <rmh@aybabtu.com>
+2016-02-12  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
-       `GRUB_MOD_GAP' for platforms in which it's not defined.
-       * util/elf/grub-mkimage.c (add_segments): Likewise.
+       OBP available region contains grub. Start at grub_phys_end.
+       This prevents a problem where grub was being overwritten since
+       grub_phys_start does not start at a zero offset within the memory
+       map.
 
-2008-01-27  Robert Millan  <rmh@aybabtu.com>
+2016-02-12  Andreas Freimuth  <andreas_freimuth@web.de>
 
-       Get grub-emu to build again (including parallel builds).
+       Add Thinkpad T410s button cmos address.
 
-       * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
-       Split into ...
-       (util/grub-emu.c_DEPENDENCIES): ... this, ...
-       (normal/execute.c_DEPENDENCIES): ... this, ...
-       (grub-emu_DEPENDENCIES): ... and this.
+2016-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * conf/i386-efi.rmk: Likewise.
-       * conf/i386-linuxbios.rmk: Likewise.
-       * conf/i386-ieee1275.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
+       TODO: Remove obsolete link
 
-2008-01-27  Robert Millan  <rmh@aybabtu.com>
+2016-02-12  Toomas Soome  <tsoome@me.com>
 
-       * NEWS: Add a few items.
+       lz4: Fix pointer overflow
 
-2008-01-27  Robert Millan  <rmh@aybabtu.com>
+2016-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       Fix parallel builds with grub-emu.  Based on earlier commit for
-       grub-probe and grub-setup.
+       grub-shell: Update 32-bit OVMF binary name.
 
-       * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
-       (util/grub-emu.c_DEPENDENCIES): ... this.
-       * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
-       (util/grub-emu.c_DEPENDENCIES): ... this.
-       * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
-       (util/grub-emu.c_DEPENDENCIES): ... this.
-       * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
-       (util/grub-emu.c_DEPENDENCIES): ... this.
-       * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
-       (util/grub-emu.c_DEPENDENCIES): ... this.
+2016-02-12  Daniel Kiper  <daniel.kiper@oracle.com>
 
-2008-01-27  Pavel Roskin  <proski@gnu.org>
+       relocator: Fix integer underflow.
 
-       * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
-       to create a gap between _end and the modules added to the image
-       with grub-mkrescue.  That fixes "CLAIM failed" on PowerMAC.
-       * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
-       * util/elf/grub-mkimage.c (add_segments): Likewise.
+2016-02-12  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-01-26  Pavel Roskin  <proski@gnu.org>
+       Change -v to -V for version of shell utils.
 
-       * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
-       just return an error.
+       xnu: Add new kernel path to autoconfig.
 
-2008-01-26  Bean  <bean123ch@gmail.com>
+       arm64: Use cpu timer for timekeeping.
 
-       * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
-       (grub_reiserfs_get_item): Save offset of the next item.
-       (grub_reiserfs_iterate_dir): Use next_offset to find next item.
+       powerpc: Trim header in tests.
 
-2008-01-25  Robert Millan  <rmh@aybabtu.com>
+       default_payload: Include syslinuxcfg, all filesystems and xnu.
 
-       * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
-       make all filesystem sources appear together (possibly fixing omissions
-       while at it).
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+       xnu: Supply random seed.
+       Now we're able to load kernels up to El Capitan.
 
-       * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.  Additionally,
-       add `kern/file.c'.
-       * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
-       * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
-       * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
+       Add RNG module.
 
-       * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
-       (probe): Add a sanity check to make sure of our ability to read
-       requested files when probing for filesystem type.
+       yylex: use grub_fatal for exit.
+       lexer calls yylex_fatal on fatal internal errors. yylex_fatal itself is
+       declared as noreturn and calls exit. Returning from noreturn function has
+       unpredictable consequences.
 
-       * genmk.rb: Update copyright year (2007).
+       printf: Fix and test %% behaviour in presence of subsequenbt args.
 
-       * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
-       (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
-       (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
-       (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
-       (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
-       : Remove function prototypes.
+       Split pmtimer wait and tsc measurement from pmtimer tsc calibration.
 
-2008-01-25  Robert Millan  <rmh@aybabtu.com>
+       Make grub_cpu_is_tsc_supported generally available.
 
-       Revert my previous commits (based on wrong assumption of how grub_errno
-       works).
+       Make grub_acpi_find_fadt accessible generically
 
-       * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
-       * kern/file.c (grub_file_open): Likewise.
+       Make unaligned types public.
+       This simplifies code which has to handle those types.
 
-2008-01-24  Pavel Roskin  <proski@gnu.org>
+       Fix emu compilation error on arm.
 
-       * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
-       that hang if GRUB tries to setup colors.
-       * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
-       colors for firmwares that don't support it.
-       * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
-       Recognize Open Hack'Ware, set flags to work around its
-       limitations.
+2016-02-11  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-01-24  Robert Millan  <rmh@aybabtu.com>
+       xnu: Include relocated EFI in heap size.
 
-       * kern/file.c (grub_file_open): Do not account previous failures of
-       unrelated functions when grub_errno is checked for.
-       Reported by Oleg Strikov.
+       xnu: supply ramsize to the kernel.
+       Without this info recent kernels crash as they allocate no heap.
 
-2008-01-24  Bean  <bean123ch@gmail.com>
+2016-02-03  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
-       (grub_ufs_sblock): New member volume name.
-       (grub_ufs_find_file): Fix string copy bug.
-       (grub_ufs_label): Implement this function properly.
+       support modules without symbol table
+       all_video module does not have any code or data and exists solely for
+       .moddeps section to pull in dependencies. This makes all symbols unneeded.
 
-       * fs/hfs.c (grub_hfs_cnid_type): New enum.
-       (grub_hfs_iterate_records): Use the correct file number for extents
-       and catalog file. Fix problem in next index calculation.
-       (grub_hfs_find_node): Replace recursive function call with loop.
-       (grub_hfs_iterate_dir): Replace recursive function call with loop.
+       While in current binutils (last released version as of this commit is 2.26)
+       ``strip --strip-unneeded'' unintentionally adds section symbols for each
+       existing section, this behavior was considered a bug and changed in commit
+       14f2c699ddca1e2f706342dffc59a6c7e23e844c to completely strip symbol table
+       in this case.
 
-2008-01-23  Robert Millan  <rmh@aybabtu.com>
+       Older binutils (verified with 2.17) and some other toolchains (at least
+       elftoolchain r3223M), both used in FreeBSD, remove symbol table in all_video
+       as well.
 
-       * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
-       `<grub/symbol.h>' and `<grub/multiboot.h>'.
-       (grub_multiboot2_real_boot): New function prototype.
+       Relax run-time check and do not return error for modules without symbol table.
+       Add additional checks to module verifier to make sure such modules
 
-       * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
-       [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
+       a) have non-empty .moddeps section. Without either externally visible symbols
+       or .moddeps modules are completely useless and should not be built.
 
-       * kern/i386/ieee1275/init.c (grub_os_area_addr)
-       (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
+       b) do not have any relocations.
 
-2008-01-23  Robert Millan  <rmh@aybabtu.com>
+       Closes: 46986
 
-       * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
-       #ifdef'ed out grub_printf().
+       v2: add run-time check for empty symbol table if relocations are present as
+           suggested by Vladimir.
 
-2008-01-23  Robert Millan  <rmh@aybabtu.com>
+2016-02-01  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
-       grub_dprintf calls, since they make "debug=all" mode unusable.
-       (grub_console_checkkey): Likewise.
+       10_linux: avoid multi-device root= kernel argument
+       If root filesystem is multidev btrfs, do not attempt to pass all devices as
+       kernel root= argument. This results in splitting command line in GRUB due to
+       embedded newline and even if we managed to quote it, kernel does not know how
+       to interpret it anyway. Multidev btrfs requires user space device scanning,
+       so passing single device would not work too.
 
-2008-01-23  Robert Millan  <rmh@aybabtu.com>
+       This still respects user settings GRUB_DISABLE_LINUX_UUID. Not sure what we
+       should do in this case.
 
-       * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
-       `term/i386/pc/at_keyboard.c'.
-       (pkglib_MODULES): Add `serial.mod'.
-       (serial_mod_SOURCES): New variable.
-       (serial_mod_CFLAGS): Likewise.
-       (serial_mod_LDFLAGS): Likewise.
+       Closes: 45709
 
-       * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'.  Remove
-       `<grub/powerpc/ieee1275/console.h>'.
-       (grub_keyboard_controller_init): New function prototype.
-       (grub_console_checkkey): Likewise.
-       (grub_console_getkey): Likewise.
+2016-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
-       keyboard on i386.
+       Error out if mtools invocation fails.
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
-       grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
+       arm64: Add support for relocations needed for linaro gcc
 
-2008-01-23  Robert Millan  <rmh@aybabtu.com>
+       efiemu: Fix compilation failure
 
-       * kern/i386/pc/init.c (make_install_device): When memdisk image is
-       present, "(memdisk)/boot/grub" becomes the default prefix.
+       Document cpuid -p
 
-       * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
-       a memdisk tarball with all the modules.  Add --overlay=DIR option that
-       allows users to overlay additional files into the image.
+2016-01-22  Robert Elliott  <elliott@hpe.com>
 
-2008-01-23  Robert Millan  <rmh@aybabtu.com>
+       efiemu: Handle persistent RAM and unknown possible future additions.
 
-       * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
-       and `machine/memory.h'.
-       (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
-       (_multiboot_mod_SOURCES): New variable.
-       (_multiboot_mod_CFLAGS): Likewise.
-       (_multiboot_mod_LDFLAGS): Likewise.
-       (multiboot_mod_SOURCES): Likewise.
-       (multiboot_mod_CFLAGS): Likewise.
-       (multiboot_mod_LDFLAGS): Likewise.
+2016-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * include/grub/i386/ieee1275/loader.h: New file.
+       Document expr1 expr2 syntax for test command
 
-       * include/grub/i386/ieee1275/machine.h: Likewise.
+2016-01-22  Michael Chang  <mchang@suse.com>
 
-       * include/grub/i386/ieee1275/memory.h: Likewise.
+       Restore terminal settings on grub-emu exit.
 
-       * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
-       variable declaration.
-       (grub_os_area_size): Likewise.
+2016-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
-       (grub_lower_mem, grub_upper_mem): New variables.
-       (grub_stop_floppy): New function (just to make
-       grub_multiboot2_real_boot() happy).
+       xen_boot: Remove obsolete module type distinctions.
 
-       * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
-       `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
-       (grub_stop): New function.
-       Include `"../realmode.S"' and `"../loader.S"'.
+       arm: Ignore qemu clock bug
 
-       * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
-       Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
+       i386-ieee1275: Increase maximum heap size to accomodate highres graphi tests
 
-       * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
-       rely on grub_multiboot2_real_boot() for final boot.
+2016-01-20  Colin Watson  <cjwatson@ubuntu.com>
 
-2008-01-22  Robert Millan  <rmh@aybabtu.com>
+       Remove pragmas related to -Wunreachable-code
+       -Wunreachable-code has been a no-op since GCC 4.5; GRUB hasn't been
+       compiled with it since 2012; and GCC 6 produces "error:
+       '-Wunreachable-code' is not an option that controls warnings" for these.
 
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
-       `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
-       device that doesn't look like an SD card.
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
-       `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
-       * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
-       OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
-       found.
+       Fixes Debian bug #812047.
 
-2008-01-22  Robert Millan  <rmh@aybabtu.com>
+2016-01-16  Colin Watson  <cjwatson@ubuntu.com>
 
-       * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
-       avoid claiming over our own code.
+       loader/bsd: Fix signed/unsigned comparison
 
-2008-01-22  Bean  <bean123ch@gmail.com>
+       ahci, ehci: Fix typos
 
-       * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
-       (jpeg_mod_SOURCES): New variable.
-       (jpeg_mod_CFLAGS): Likewise.
-       (jpeg_mod_LDFLAGS): Likewise.
+2016-01-16  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * video/readers/jpeg.c : New file.
+       grub-probe: fix memory leak
+       Found by: Coverity scan.
+       CID: 73783
 
-2008-01-22  Bean  <bean123ch@gmail.com>
+2016-01-16  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
-       there are no more items.
+       tftp: fix memory leaks in open
+       If protocol open fails, file is immediately freed, so data was leaked.
 
-2008-01-21  Robert Millan  <rmh@aybabtu.com>
+       Found by: Coverity scan.
+       CID: 96659
 
-       * kern/mm.c (grub_mm_init_region): Improve debug message.
+2016-01-16  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-01-21  Robert Millan  <rmh@aybabtu.com>
+       tcp: fix memory leaks
+       Found by: Coverity scan.
+       CID: 96639, 96647
 
-       * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
-       (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
-       address.
-       (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
-       a C macro.
-       * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
-       Indicates start of upper memory.
-       * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
-       (generate_image): Abort when image size is big enough to corrupt
-       upper memory.
+       net: fix memory leaks
+       Found by: Coverity scan.
+       CID: 96638, 96648
 
-       * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
-       (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
-       * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
-       instead of hardcoding 0xA0000.
-       * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
-       (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
-       instead of hardcoding 0xA0000.
+       legacycfg: fix memory leaks and add NULL check
+       Memory leaks found by Coverity scan.
+       CID: 96642, 96645
 
-2008-01-21  Robert Millan  <rmh@aybabtu.com>
+2016-01-15  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * disk/memdisk.c (memdisk_size): New variable.
-       (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
-       `memdisk_size'.
-       (grub_memdisk_init): Initialize `memdisk_size'.  Reallocate memdisk
-       image to dynamic memory.
-       (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
-       `memdisk_size'.  Free memdisk block.
+       loader: Unintended sign extension
+       CID: 96707, 96699, 96693, 96691, 96711, 96709, 96708, 96703, 96702,
+       96700, 96698, 96696, 96695, 96692, 96710, 96705
 
-2008-01-21  Robert Millan  <rmh@aybabtu.com>
+2016-01-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       Fix detection of very small filesystems (like tar).
+       script: fix memory leak
+       Found by: Coverity scan.
+       CID: 96637
 
-       * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
-       contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
-       GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
-       a problem with this disk).
+       normal: fix memory leak
+       Found by: Coverity scan.
+       CID: 96641, 96670, 96667
 
-2008-01-21  Robert Millan  <rmh@aybabtu.com>
+       xnu: fix memory leak
+       Found by: Coverity scan.
+       CID: 96663
 
-       * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
-       on grub_biosdisk_rw_standard() error.
+       truecrypt: fix memory leak
+       Found by: Coverity scan.
+       CID: 156611
 
-2008-01-21  Robert Millan  <rmh@aybabtu.com>
+       gfxmenu: fix memory leak
+       Found by: Coverity scan.
+       CID: 96657
 
-       * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
-       recent changes.
-       * kern/elf.c: Likewise.
-       * kern/ieee1275/ieee1275.c: Likewise.
-       * kern/powerpc/ieee1275/openfw.c: Likewise.
-       * term/ieee1275/ofconsole.c: Likewise.
+       efiemu: fix memory leak
+       Found by: Coverity scan.
+       CID: 156610
 
-2008-01-21  Robert Millan  <rmh@aybabtu.com>
+       efidisk: fix memory leak
+       Found by: Coverity scan.
+       CID: 96644
 
-       * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
+       verify: fix memory leak
+       Found by: Coverity scan.
+       CID: 96643
 
-       * include/grub/kernel.h (grub_arch_memdisk_addr)
-       (grub_arch_memdisk_size): Moved from here ...
+       password_pbkdf2: fix memory leak
+       Found by: Coverity scan.
+       CID: 96656
 
-       * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
-       (grub_arch_memdisk_size): ... to here.
+       parttool: fix memory leak
+       Found by: Coverity scan.
+       CID: 96652
 
-2008-01-21  Robert Millan  <rmh@aybabtu.com>
+2016-01-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       Mostly based on bugfix from Bean.
+       nativedisk: fix memory leak
+       Based on Coverity scan.
+       CID: 96660
 
-       * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
-       attribute with hook() parameter.
-       (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
-       declaration.
-       (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
-       attribute with hook() parameter.
-       (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
-       declaration.
+       Extended to also cover other error return places.
 
-2008-01-21  Robert Millan  <rmh@aybabtu.com>
+2016-01-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
-       (pkglib_MODULES): Add `memdisk.mod'.
-       (memdisk_mod_SOURCES): New variable.
-       (memdisk_mod_CFLAGS): Likewise.
-       (memdisk_mod_LDFLAGS): Likewise.
+       acpi: fix memory leak
+       Found by: Coverity scan.
+       CID: 96673
 
-       * disk/memdisk.c: New file.
+2016-01-10  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/disk.h (grub_disk_dev_id): Add
-       `GRUB_DISK_DEVICE_MEMDISK_ID'.
+       grub-install: include ehci in list of native modules
+       This matches behavior of "nativedisk" command.
 
-       * include/grub/i386/pc/kernel.h
-       (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
-       (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
-       (grub_kernel_image_size): New variable declaration.
-       (grub_total_module_size): Likewise.
-       (grub_memdisk_image_size): Likewise.
+       Reported and tested by Smith Henry <sh37092@gmail.com>
 
-       * include/grub/i386/pc/memory.h
-       (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
-
-       * include/grub/kernel.h: Include `<grub/symbol.h>'.
-       (grub_arch_memdisk_addr): New variable declaration.
-       (grub_arch_memdisk_size): Likewise.
-
-       * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
-       (grub_arch_memdisk_size): Likewise.
-
-       * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
-       (codestart): Replace hardcoded `0x100000' with
-       `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
+2016-01-10  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
-       (generate_image): Add `memdisk_path' parameter.  When `memdisk_path' is
-       not NULL, append the contents of the file it refers to, at the end of
-       the compressed kernel image.  Initialize `grub_memdisk_image_size'
-       variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
-       (options): Add "memdisk"|'m' option.
-       (main): Parse --memdisk|-m option, and pass user-provided path as
-       parameter to generate_image().
+       grub-mkimage: remove redundant NULL check
+       Found by: Coverity scan.
+       CID: 73737
 
-2008-01-20  Robert Millan  <rmh@aybabtu.com>
+2016-01-10  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
-       grub_dprintf() calls from here ...
-       * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
+       net: remove dead and redundant code
+       server cannot be NULL at this point (we return error earlier if it is).
+       Also structure is zalloc'ed, so no need to explicitly initialize
+       members to 0.
 
-2008-01-20  Robert Millan  <rmh@aybabtu.com>
+       Found by: Coverity scan.
+       CID: 73837
 
-       Fix detection of "real mode" when /options/real-mode? doesn't exist.
+2016-01-10  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
-       declaration.
-       * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
-       (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
-       `GRUB_IEEE1275_FLAG_REAL_MODE'.
-       (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
-       property).
-       * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
-       `grub_ieee1275_mmu' rather than obtaining a handler on every call.
+       hostdisk: fix device detection
+       Condition was apparently reversed so GRUB assumed all devices were
+       files. This later made it skip BLKFLSBUF ioctl on Linux which caused
+       various page cache coherency issues. Observed were
 
-2008-01-19  Robert Millan  <rmh@aybabtu.com>
+       - failure to validate blocklist install (read content did not match
+         just written)
 
-       Get rid of confusing function (superseded by
-       `grub_ieee1275_get_integer_property')
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
-       prototype.
-       * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
-       function.
-       * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
-       grub_ieee1275_decode_int_4(), by obtaining integer properties directly
-       in native endianness from grub_ieee1275_get_integer_property().
-
-2008-01-19  Robert Millan  <rmh@aybabtu.com>
+       - failure to detect Linux MD on disk after online hot addition
+         (GRUB got stale superblock)
 
-       * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
-       command after "shut-down", since implementations differ on which
-       the command for halt is.
+       Closes: 46691
 
-2008-01-19  Robert Millan  <rmh@aybabtu.com>
+2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/i386/linuxbios/console.h: Add header protection.
-       (grub_keyboard_controller_init): New function prototype.
-       * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
-       (KEYBOARD_COMMAND_READ): Likewise.
-       (KEYBOARD_COMMAND_WRITE): Likewise.
-       (KEYBOARD_SCANCODE_SET1): Likewise.
-       (grub_keyboard_controller_write): New function.
-       (grub_keyboard_controller_read): Likewise.
-       (grub_keyboard_controller_init): Likewise.
-
-       * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
-       (grub_console_init): On coreboot/LinuxBIOS, call
-       grub_keyboard_controller_init().
-
-2008-01-19  Robert Millan  <rmh@aybabtu.com>
-
-       PowerPC changes provided by Pavel Roskin.
+       setup: fix NULL pointer dereference
+       Check return value of grub_guess_root_devices
 
-       * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
-       * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
-       don't rely on cmain() doing it.
-       * kern/i386/ieee1275/startup.S (_start): Store %eax in
-       grub_ieee1275_entry_fn, don't rely on cmain() doing it.
+       Found by: Coverity scan.
+       CID: 73638, 73751
 
-2008-01-16  Robert Millan  <rmh@aybabtu.com>
+2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/i386/linuxbios/memory.h
-       (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
-       * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
-       receive `table_header' as argument.  Instead, probe for it in the
-       known memory ranges where it can be present.
-       (grub_available_iterate): Do not pass a fixed `table_header' address
-       to grub_linuxbios_table_iterate().
+       mkimage: fix unintended sign extension
+       Found by: Coverity scan.
+       CID: 73691, 73717
 
-2008-01-15  Robert Millan  <rmh@aybabtu.com>
+2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * configure.ac: Add `i386-ieee1275' to the list of supported targets.
-       * conf/i386-ieee1275.rmk: New file.
-       * include/grub/i386/ieee1275/console.h: Likewise.
-       * include/grub/i386/ieee1275/ieee1275.h: Likewise.
-       * include/grub/i386/ieee1275/kernel.h: Likewise.
-       * include/grub/i386/ieee1275/time.h: Likewise.
-       * kern/i386/ieee1275/init.c: Likewise.
-       * kern/i386/ieee1275/startup.S: Likewise.
+       util/getroot: delete dead code
+       is_part cannot be non-zero at this point.
 
-2008-01-15  Robert Millan  <rmh@aybabtu.com>
+       Found by: Coveruty scan.
+       CID: 73838
 
-       * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
-       when pointers are 32-bit (but still do set it to one when they are
-       64-bit).
+2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-01-15  Robert Millan  <rmh@aybabtu.com>
+       loader/multiboot: fix unintended sign extension
+       Found by: Coveruty scan.
+       CID: 73700, 73763
 
-       * include/grub/ieee1275/ieee1275.h
-       (grub_ieee1275_get_integer_property): New function prototype.
+       kern/elf: fix unintended sign extension
+       Found by: Coverity scan.
+       CID: 73729, 73735, 73758, 73760
 
-       * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
-       (grub_ieee1275_get_integer_property): New function.  Wraps around
-       grub_ieee1275_get_property() to handle endianness.
+2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
-       grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
-       where appropriate.
-       * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
-       (grub_map): Likewise.
-       * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
+       xfs: fix possible inode corruption in directory scan
+       grub_xfs_iterate_dir did not restore first character after inline
+       name when match was found. Dependning on XFS format this character
+       could be inode number and we could return to the same node later in
+       find_file if processing cycled symlinks.
 
-2008-01-15  Bean  <bean123ch@gmail.com>
-
-       * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
-       (grub_script_execute_cmdline): Reset grub_errno.
-
-       * normal/main.c (read_config_file): Reset grub_errno.
-
-       * normal/parse.y (script_init): New.
-       (script): Move function and menuentry here.
-       (delimiter): New.
-       (command): Add delimiter at the end of command.
-       (commands): Adjust to match the new command.
-       (commandblock): Remove grub_script_lexer_record_start.
-       (menuentry): Add grub_script_lexer_record_start, use the new commands.
-       (if): Use the new commands.
-
-       * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
-
-2008-01-15  Robert Millan  <rmh@aybabtu.com>
-
-       * normal/menu.c (run_menu): Move timeout message from here ...
-       (print_timeout): ... to here.
-       (run_menu): Use print_timeout() once during initial draw to print
-       the whole message, and again in every clock tick to update only
-       the number of seconds.
-
-2008-01-15  Robert Millan  <rmh@aybabtu.com>
-
-       * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
-       actual size of `available' from grub_ieee1275_get_property(), and
-       restrict parsing to that bound.
-
-2008-01-15  Christian Franke  <franke@computer.org>
-
-       * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
-       (argp_program_version): Remove variable.
-       (argp_program_bug_address): Likewise.
-       (options): Convert from struct argp_option to struct option.
-       (struct arguments): Remove.
-       (parse_opt): Remove.
-       (usage): New function.
-       (main): Replace struct args members by simple variables.
-       Replace argp_parse() by getopt_long().
-       Add switch to evaluate options.
-       Add missing "(...)" around root_dev in prefix string.
-
-2008-01-14  Robert Millan  <rmh@aybabtu.com>
-
-       * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
-       for grub_ieee1275_exit(), in order to improve portability.
-
-2008-01-14  Robert Millan  <rmh@aybabtu.com>
-
-       * util/grub.d/10_linux.in (prefix): Define.
-       (exec_prefix): Likewise.  Both definitions are later used by `libdir'.
+       CID: 86724
 
-2008-01-13  Pavel Roskin  <proski@gnu.org>
+2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
-       grub_errno if no errors have been detected.
+       rescue_parser: restructure code to avoid Coverity false positive
+       If line contains single word, line and argv[0] are aliases, so
+       no NULL dereference is possible, but Coverity does not know it.
+       Change code to avoid ambiguity and also remove redundant call to
+       grub_strchr.
 
-2008-01-12  Robert Millan  <rmh@aybabtu.com>
+       CID: 86725
 
-       * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
-       (grub_util_get_dev_abstraction): New function prototype.
+2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/getroot.c: Include `<grub/util/getroot.h>'
-       (grub_util_get_grub_dev): Move detection of abstraction type to ...
-       (grub_util_get_dev_abstraction): ... here (new function).
+       grub-mklayout: check subscript bounds
+       Found by: Coverity scan.
+       CID: 73686
 
-       * util/grub-probe.c: Convert PRINT_* to an enum.  Add
-       `PRINT_ABSTRACTION'.
-       (probe): Probe for abstraction type when requested.
-       (main): Understand `--target=abstraction'.
+       grub-probe: fix memory leak
+       Found by: Coverity scan.
+       CID: 73783
 
-       * util/i386/efi/grub-install.in: Add abstraction module to core
-       image when it is found to be necessary.
-       * util/i386/pc/grub-install.in: Likewise.
-       * util/powerpc/ieee1275/grub-install.in: Likewise.
+       gfxmenu: fix memory leak
+       Found by: Coverity scan.
+       CID: 73766
 
-       * util/update-grub_lib.in (font_path): Return system path without
-       converting to GRUB path.
-       * util/update-grub.in: Convert system path returned by font_path()
-       to a GRUB path.  Use `grub-probe -t abstraction' to determine what
-       abstraction module is needed for loading fonts (if any).  Export
-       that as `GRUB_PRELOAD_MODULES'.
-       * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
-       insmod commands).
+2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-01-12  Yoshinori K. Okuji  <okuji@enbug.org>
+       util/setup: fix grub_util_path_list leak
+       Add helper grub_util_free_path_list and use it where appropriate.
 
-       Remove some unused code from reiserfs.
+       Found by: Coverity scan.
+       CID: 73727
 
-       * fs/reiserfs.c (struct grub_reiserfs_key)
-       [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
-       (struct grub_reiserfs_node_body): Removed.
-       (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
-       Likewise.
-       (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
-       Likewise.
-       (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
-       Likewise.
-       (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
-       Likewise.
-       (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
-       Likewise.
-       (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
-       Likewise.
-       (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
-       (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
-       (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
+2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2008-01-10  Robert Millan  <rmh@aybabtu.com>
+       setup: fix memory leak
+       Found by: Coverity scan.
+       CID: 73680, 73715
 
-       * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
-       Determines if a file is garbage left by packaging systems, etc.
-       * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
-       for processing /etc/grub.d scripts.
-       * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
-       * util/grub.d/10_linux.in: Likewise.  Use grub_file_is_not_garbage()
-       as a condition for processing Linux images.
+       efiemu: check return value of grub_efiemu_write_value
+       Found by: Coverity scan.
+       CID: 73590
 
-2008-01-10  Pavel Roskin  <proski@gnu.org>
+       efiemu: change code to avoid Coverity false positive
+       CID: 73623
 
-       * include/grub/powerpc/libgcc.h (__ucmpdi2): New export.  Needed
-       to compile reiserfs.c on PowerPC.
+       efiemu: fix unintended sign extension
+       Found by: Coverity scan.
+       CID: 73883, 73637
 
-2008-01-10  Robert Millan  <rmh@aybabtu.com>
+       hfs: fix memory leak
+       Found by: Coverity scan.
+       CID: 156531
 
-       * kern/device.c (grub_device_iterate): Do not abort device iteration
-       when one of the devices cannot be opened.
-       * kern/disk.c (grub_disk_open): Do not account previous failures of
-       unrelated functions when grub_errno is checked for.
+       grub-module-verifier: fix unintended sign extension
+       Found by: Coverity scan.
+       CID: 156533, 156532
 
-2008-01-08  Robert Millan  <rmh@aybabtu.com>
+2016-01-08  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
-       `! grub_linux_is_bzimage', change order of address comparison to make
-       it more intuitive, and improve "too big zImage" error message.
+       Tests: Support arm-efi
 
-2008-01-08  Robert Millan  <rmh@aybabtu.com>
+2016-01-07  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
-       `$(update-grub_DATA)'.
-       (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
-       targets.
+       arm64/setjmp: Add missing move for arg1 == 0 case.
 
-2008-01-07  Robert Millan  <rmh@aybabtu.com>
+       grub-shell: Support arm64-efi
 
-       * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
-       which instruction is modified by grub-setup during installation
-       (since it wasn't obvious by only looking at this file).
+2016-01-07  Mark Salter  <msalter@redhat.com>
 
-2008-01-07  Robert Millan  <rmh@aybabtu.com>
+       arm-efi: Reduce timer event frequency by 10
+       Timer event to keep grub msec counter was running at 1000HZ. This was too
+       fast for UEFI timer driver and resulted in a 10x slowdown in grub time
+       versus wallclock. Reduce the timer event frequency and increase tick
+       increment accordingly to keep better time.
 
-       * TODO: Rewrite.  Just refer to the wiki and the BTS instead of
-       listing actual TODO items.
+2016-01-07  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-01-06  Yoshinori K. Okuji  <okuji@enbug.org>
+       x86_64-efi: Automatically add -bios OVMF.fd to qemu in tests.
 
-       * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
-       correctly.
-       (grub_reiserfs_get_key_offset): Likewise.
-       (grub_reiserfs_set_key_offset): Likewise.
-       (grub_reiserfs_set_key_type): Likewise.
-       (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
+       Allow GRUB_QEMU_OPTS to override machine.
 
-       (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
-       better to remove the bitfield version completely.
+       arm64: Disable tests that need native drivers.
 
-2008-01-06  Yoshinori K. Okuji  <okuji@enbug.org>
+       Disable NetBSD bootcheck on EFI until it supports ACPI on EFI.
 
-       * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
-       allocated from the heap, due to the fshelp implementation.
-       (grub_reiserfs_dir): Free NODE, due to the same reason.
+       grub-shell: Use new cbfstool syntax.
 
-2008-01-06  Yoshinori K. Okuji  <okuji@enbug.org>
+       grub-shell: On i386-ieee1275 don't try to switch to console.
+       console goes to serial as well, so this doesn't stop garbage from going
+       to serial. But it creates garbage itself.
 
-       Mostly from Vincent Pelletier:
+       hddboot_test: reenable on OVMF
+       OVMF now supports booting from disks.
 
-       * fs/reiserfs.c: New file.
+       iee1275/datetime: Fix off-by-1 error.
 
-       * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
-       (reiserfs_mod_SOURCES): New variable.
-       (reiserfs_mod_CFLAGS): Likewise.
-       (reiserfs_mod_LDFLAGS): Likewise.
+2016-01-07  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
-       disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
-       include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
-       normal/color.c.
+       Adjust bootcheck tests for multiboot/coreboot/qemu to match real support.
+       coreboot has ACPI while 2 others don't. *BSD need ACPI and have trouble
+       without it. Don't even attempt to boot *BSD on multiboot or qemu targets.
 
-2008-01-06  Robert Millan  <rmh@aybabtu.com>
+       On coreboot boot all *BSD except 32-bit NetBSD which apparently does some
+       early BIOS calls.
 
-       * normal/color.c: Remove `<grub/env.h>'.
+2016-01-05  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-01-05  Jeroen Dekkers  <jeroen@dekkers.cx>
+       minixfs_test: Check if mkfs.minixfs supports -B option.
 
-       * include/grub/normal.h: Include <grub/env.h>.
+       Add memdisk support to grub-emu.
+       Use it to add custom files, so that tests which need them work.
 
-2008-01-05  Robert Millan  <rmh@aybabtu.com>
+       Move file loading functions to grub-emu.
+       So that we can use it in grub-emu as well as utils.
 
-       * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
-       usage example with `(hd0,1)'.
-       Reported by Samuel Thibault.
+       Disable progress indicator in grub-shell.
+       This disables progress indicator for tests. This in turn fixes test
+       flakiness as they ended up timing-dependent.
 
-2008-01-05  Robert Millan  <rmh@aybabtu.com>
+       Update checksums
 
-       * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
-       (grub_linux_boot_zimage): Rename to ...
-       (grub_linux_boot): ... this.
-       (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
-       (grub_linux_boot_zimage): Conditionalize zImage copy.
+2016-01-02  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
-       (grub_linux_boot_bzimage): Remove prototype.
-       (grub_linux_boot_zimage): Rename to ...
-       (grub_linux_boot): ... this.
+       acpihalt: add GRUB_ACPI_OPCODE_CREATE_DWORD_FIELD (0x8a)
+       Fixes ACPI halt on ASUSTeK P8B75-V,
+       Bios: American Megatrends v: 0414 date: 04/24/2012
 
-       * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
-       (grub_linux_boot): Remove function.
+       Reported-By: Goh Lip <g.lip@gmx.com>
 
-2008-01-05  Robert Millan  <rmh@aybabtu.com>
+2016-01-02  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/normal.h (grub_env_write_color_normal): New prototype.
-       (grub_env_write_color_highlight): Likewise.
-       (grub_wait_after_message): Likewise.
+       acpihalt: fix GRUB_DSDT_TEST compilation
 
-       * normal/color.c: New file.
+2016-01-01  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
-       (normal_mod_DEPENDENCIES): Likewise.
+       Add missing BUILD_EXEEXT
 
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
-       (normal_mod_DEPENDENCIES): Likewise.
+2015-12-31  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
-       (normal_mod_DEPENDENCIES): Likewise.
+       configure.ac: Reorder efiemu check to after link format check.
+       efiemu is supposed to be disabled when compiling through exe format.
+       Unfortunately format was determined only after efiemu check. Reorder to fix the
+       problem
 
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
-       (normal_mod_DEPENDENCIES): Likewise.
+2015-12-31  Andrey Borzenkov  <arvidjaar@gmail.com>
 
-       * normal/menu_entry.c (run): Rely on grub_wait_after_message()
-       for waiting after a message is printed.
-       * normal/main.c (read_config_file): Likewise.
-       (grub_normal_init): Register grub_env_write_color_normal() and
-       grub_env_write_color_highlight() hooks.  Mark `color_normal' and
-       `color_highlight' variables as global.
+       remove temporary .bin files (kernel and modules)
 
-       * normal/menu.c (grub_wait_after_message): New function.
-       (grub_color_menu_normal): New variable.  Replaces ...
-       (GRUB_COLOR_MENU_NORMAL): ... this macro.
-       (grub_color_menu_highlight): New variable.  Replaces ...
-       (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
-       (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
-       `GRUB_TERM_COLOR_STANDARD'.
-       (print_message): Use `grub_setcolorstate' to reload colors.  Rename
-       `normal_code' and `highlight_code' to `old_color_normal' and
-       `old_color_highlight', respectively.
-       (grub_menu_init_page): Update colors when drawing the menu, based on
-       `menu_color_normal' and `menu_color_highlight' variables.
-       (grub_menu_run): Rely on grub_wait_after_message() for waiting after
-       a message is printed.
+       add dejavu built fonts to cleanfiles
 
-2008-01-05  Robert Millan  <rmh@aybabtu.com>
+2015-12-31  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * kern/env.c (grub_env_context_open): Propagate hooks for global
-       variables to new context.
+       Add grub-module-verifier files to EXTRA_DIST
 
-       * kern/main.c (grub_set_root_dev): Export `root' variable.
+2015-12-31  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2008-01-05  Robert Millan  <rmh@aybabtu.com>
+       configure: Add -fno-unwind-tables if supported.
+       Unwind tables are useless for us bt consume space if present. Ensure that they
+       are not.
 
-       * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
-       discs unconditionally, since udev and others have options to provide
-       them.
+       module-verifier: allow limited-range relocations on sparc64.
+       clang as incomplete mcmodel=large support. As we don't currently need full
+       mcmodel=large support for sparc64, relax those checks.
 
-2008-01-05  Robert Millan  <rmh@aybabtu.com>
+       Disable build-time module check on emu.
+       On emu some checks can be laxer like check for relocation range. Additionally
+       module loading in emu is rarely used. So skip this check rather than making
+       it laxer for all platforms. In ideal we may want to have slightly different
+       check for emu but for now this is good enough.
 
-       * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
+       configure: Fix grub_cv_cc_fno_unwind_tables check.
+       Check tries -fno-dwarf2-cfi-asm but adds -fno-asynchronous-unwind-tables
+       to TARGET_CFLAGS. Fix this.
 
-2008-01-04  Christian Franke  <franke@computer.org>
+       Add -mno-stack-arg-probe on mingw.
+       This argument disables generation of calls to __chkstk_ms. Those calls are
+       useless on GRUB as function is dummy. Yet they increase module size and
+       use limited-range relocations which may not work under some memory layouts.
+       We currently don't use such layouts on concerned platforms but lt's correct
+       this.
 
-       * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
-       of eisa_mmap.
+       Strip .ARM.exidx
+       This section is generated by clang and is useful only for debugging.
+       It contains exotic relocations, so strip them to avoid them interferring
+       with module loading.
 
-2008-01-03  Pavel Roskin  <proski@gnu.org>
+       module-verifier: Check range-limited relative relocations.
+       Check that they point to the same module, so will end up in the same
+       chunk of memory.
 
-       * kern/i386/linuxbios/init.c: Put "void" to all function
-       declarations with no arguments.
-       * kern/powerpc/ieee1275/init.c: Likewise.
-       * term/i386/pc/at_keyboard.c: Likewise.
-       * term/i386/pc/vga_text.c: Likewise.
-       * util/grub-mkdevicemap.c: Likewise.
+       xen/relocator: Use local symbol to ensure that code is relocation-free.
 
-2008-01-02  Robert Millan  <rmh@aybabtu.com>
+       backtrace: Fix register call syntax
 
-       * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
-       message when loaded image is out of bounds.
-       (grub_multiboot_load_elf64): Likewise.
+       Verify modules on build-time rather than failing in runtime.
 
-2008-01-02  Pavel Roskin  <proski@gnu.org>
+       sparc64: Fix assembly to let compiler to fill in memory references.
+       This fixes the use of not fully relocatable (they assume that variables are
+       under 4G limit in virtual memory) references.
 
-       * util/grub.d/10_linux.in: Try version without ".old" when
-       looking for initrd.  It's better to use initrd from the newer
-       kernel of the same version than no initrd at all.
+2015-12-30  Andrey Borzenkov  <arvidjaar@gmail.com>
 
-2008-01-01  Robert Millan  <rmh@aybabtu.com>
-
-       * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
+       30_os-prober: derive --class from os-prober generated label
+       Currently only Windows gets distinguished icons, everything else is displayed
+       using the same generic one. Add additional --class based on os-prober returned
+       label, which usually is expected to match primary distribution name.
 
-2008-01-01  Vesa Jaaskelainen  <chaac@nic.fi>
+       Also use it for Windows as well - chainloader prober may actually return
+       different strings (Windows, MS-DOS, Windows9xME).
 
-       * include/grub/video.h: Added grub_video_unmap_color and
-       grub_video_get_active_render_target.
-       (grub_video_adapter): Added unmap_color and get_active_render_target.
-
-       * video/video.c: Added grub_video_unmap_color and
-       grub_video_get_active_render_target.
-       (grub_video_get_info): Changed method to accept NULL pointer as an
-       argument to allow detection of active video adapter.
+2015-12-30  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
-       grub_video_vbe_unmap_color_int.
-       Added grub_video_vbe_unmap_color and
-       grub_video_vbe_get_active_render_target.
-       (grub_video_vbe_adapter): Added unmap_color and
-       get_active_render_target.
-
-       * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
-       with grub_video_vbe_unmap_color_int.
-
-       * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
-       (DEFAULT_NORMAL_COLOR): Likewise.
-       (DEFAULT_HIGHLIGHT_COLOR) Likewise.
-       (DEFAULT_FG_COLOR): Removed.
-       (DEFAULT_BG_COLOR): Likewise.
-       (DEFAULT_CURSOR_COLOR): Changed value.
-       (grub_virtual_screen): Added standard_color_setting,
-       normal_color_setting, highlight_color_setting and term_color.
-       (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
-       (bitmap_width): Added.
-       (bitmap_height): Likewise.
-       (bitmap): Likewise.
-       (set_term_color): Likewise.
-       (grub_virtual_screen_setup): Changed to use new terminal coloring
-       settings.
-       (grub_gfxterm_init): Added init for bitmap.
-       (grub_gfxterm_fini): Added destroy for bitmap.
-       (redraw_screen_rect): Updated to use background bitmap and new
-       terminal coloring.
-       (scroll_up): Added optimization for case when there is no bitmap.
-       (grub_gfxterm_cls): Fixed to use correct background color.
-       (grub_virtual_screen_setcolorstate): Changed to use new terminal
-       coloring.
-       (grub_virtual_screen_setcolor): Likewise.
-       (grub_virtual_screen_getcolor): Added.
-       (grub_gfxterm_background_image_cmd): Likewise.
-       (grub_video_term): Added setcolor and getcolor.
-       (MOD_INIT): Added registration of background_image command.
-       (MOD_TERM): Added unregistration for background_image command.
-
-2007-12-30  Pavel Roskin  <proski@gnu.org>
-
-       * loader/multiboot_loader.c: Fix multiboot command
-       unregistration.  Fix all typos in the word "multiboot".
-
-2007-12-29  Pavel Roskin  <proski@gnu.org>
-
-       * util/grub.d/10_linux.in: Refactor search for initrd.  Add
-       support for initrd names used in Fedora.
-
-2007-12-26  Bean  <bean123ch@gmail.com>
-
-       * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
-       (cpio_mod_SOURCES): New variable.
-       (cpio_mod_CFLAGS): Likewise.
-       (cpio_mod_LDFLAGS): Likewise.
-
-       * fs/cpio.c: New file.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
-
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
-
-       * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
-
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-
-2007-12-25  Robert Millan  <rmh@aybabtu.com>
-
-       * include/grub/term.h (struct grub_term): Add `getcolor' function.
-       (grub_getcolor): New function.
-
-       * kern/term.c (grub_getcolor): New function.
-       * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
-       (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
-       (print_entry): Set normal and highlight colors to
-       `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
-       respectively, before printing and restore them to old
-       values afterwards.
-       (grub_menu_init_page): Likewise.  Fill an additional colored space
-       that would otherwise be left blank.
-
-       * term/efi/console.c (grub_console_getcolor): New function.
-       (struct grub_console_term.getcolor): New variable.
-       * term/i386/pc/console.c (grub_console_getcolor): New function.
-       (struct grub_console_term.getcolor): New variable.
-       * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
-       (struct grub_console_term.getcolor): New variable.
-
-       * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
-       (struct grub_console_term.setcolor): Remove variable.
-       * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
-       (struct grub_console_term.setcolor): Remove variable.
-       * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
-       (struct grub_console_term.setcolor): Remove variable.
-       * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
-       (struct grub_console_term.setcolor): Remove variable.
-
-2007-12-25  Robert Millan  <rmh@aybabtu.com>
-
-       * configure.ac: Search for possible unifont.hex locations, and
-       define UNIFONT_HEX if found.
-
-       * Makefile.in (UNIFONT_HEX): Define variable.
-       (DATA): Rename to ...
-       (PKGLIB): ... this.  Update all users.
-       (PKGDATA): New variable.
-       (pkgdata_IMAGES): Rename to ...
-       (pkglib_IMAGES): ... this. Update all users.
-       (pkgdata_MODULES): Rename to ...
-       (pkglib_MODULES): ... this. Update all users.
-       (pkgdata_PROGRAMS): Rename to ...
-       (pkglib_PROGRAMS): ... this. Update all users.
-       (pkgdata_DATA): Rename to ...
-       (pkglib_DATA): ... this. Update all users.
-       (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
-       (unicode.pff, ascii.pff): New rules.
-       (all-local): Add `$(PKGDATA)' dependency.
-       (install-local): Process `$(PKGDATA)'.
-
-       * util/update-grub_lib.in (font_path): Search for *.pff files in
-       a few more locations, including `${pkgdata}'.
-
-2007-12-23  Robert Millan  <rmh@aybabtu.com>
-
-       Patch from Bean  <bean123ch@gmail.com>:
-       * disk/loopback.c (grub_loopback_read): Add missing bit shift to
-       `size'.
+       backtrace: Remove assembly assumption that grub_backtrace_pointer is under 4G
 
-2007-12-21  Bean  <bean123ch@gmail.com>
+2015-12-30  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
-       (ntfscomp_mod_SOURCES): New variable.
-       (ntfscomp_mod_CFLAGS): Likewise.
-       (ntfscomp_mod_LDFLAGS): Likewise.
+       menu: fix line count calculation for long lines
+       It gave one extra screen line if length was exactly equal to screen
+       width.
 
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
-       (grub_probe_SOURCES): Likewise.
-       (grub_emu_SOURCES): Likewise.
+       Reported by Michael Chang.
+       Also-By: Michael Chang <mchang@suse.com>
+
+2015-12-29  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       grub-mkrescue: Delete temporary file
+       Reported by: Thomas Schmitt
+
+       grub-mount: Fix oath parsing.
+       Brackets detection was copied from somewhere else and makes no sense in case
+       of grub-mount and prevents user from accessing and files with ) in them.
+
+       exfat: Fix stream extension flag parsing.
+
+2015-12-26  Andrei Borzenkov  <arvidjaar@gmail.com>
+
+       devmapper: check for valid device abstraction in get_grub_dev
+       This was lost when code was refactored. Patch restores previous behavior.
+
+       It is still not clear whether this is the right one. Due to the way we
+       detect DM abstraction, partitions on DM are skipped, we fall through to
+       generic detection which ends up in assuming parent device is BIOS disk.
+
+       It is useful to install GRUB on VM disk from the host. But it also means
+       that GRUB will mistakenly allow install on real system as well.
+
+       For now let's fix regression; future behavior needs to be discussed.
+
+       Closes: 45163
+
+2015-12-19  Andrei Borzenkov  <arvidjaar@gmail.com>
+
+       windows: correct LBA in generated EFI HDD media paths
+       GRUB keeps partition offset and size in units of 512B sectors. Media paths
+       are defined in terms of LBA which are presumed to match HDD sector size.
+
+       This is probably cosmetic (EFI requires that partition is searched by GUID)
+       and still incorrect if GPT was created using different logical block size.
+       But current code is obviously wrong and new has better chances to be correct.
+
+2015-12-17  Robert Elliott  <elliott@hpe.com>
 
-       * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
-       (grub_emu_SOURCES): Likewise.
+       lsefimmap: support persistent memory and other UEFI 2.5 features
+       This should accompany
+               76ce1de740 Translate UEFI persistent memory type
 
-       * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
-       (grub_emu_SOURCES): Likewise.
+       1. Add a string for the EfiPersistentMemory type 14 that was
+       added in UEFI 2.5.
 
-       * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
-       (grub_emu_SOURCES): Likewise.
+       2. Decode the memory attributes that were added in UEFI 2.5:
+       * NV (non-volatile)
+       * MORE_RELIABLE (higher reliable, e.g., mirrored memory in a system
+         with partial memory mirroring)
+       * RO (read-only)
 
-       * fs/ntfs.c (grub_ntfscomp_func): New variable.
-       (read_run_list): Renamed to grub_ntfs_read_run_list.
-       (decomp_nextvcn): Moved to ntfscomp.c.
-       (decomp_getch): Likewise.
-       (decomp_get16): Likewise.
-       (decomp_block): Likewise.
-       (read_block): Likewise.
-       (read_data): Partially moved to ntfscomp.c.
-       (fixup): Change unsigned to grub_uint16_t.
-       (read_mft): Change unsigned long to grub_uint32_t.
-       (read_attr): Likewise.
-       (read_data): Likewise.
-       (read_run_data): Likewise.
-       (read_run_list): Likewise.
-       (read_mft): Likewise.
+       3. Use proper IEC binary units (KiB, MiB, etc.) for power-of-two
+       values rather than misusing SI power-of-ten units (KB, MB, etc.)
 
-       * fs/ntfscomp.c: New file.
+       4. The lsmmap command only decodes memory ranges sizes up to GiB scale
+       units.  Persistent memory ranges will reach into the TiB scale.
+       Since 64-bit size field supports TiB, PiB, and EiB, decode all of
+       them for completeness.
 
-       * include/grub/ntfs.h: New file.
+       5. In the lsefimmap command, rewrite the print statements to
+       * avoid rounding
+       * avoid a big nested if/else tree.
 
-2007-12-16  Robert Millan  <rmh@aybabtu.com>
+       For example: In the sixth entry below, the value of 309MB implies
+       316416KB but is really reporting 316436KB.
 
-       * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
-       IDE disk check, since Linux is known to support 20 IDE disks.
-       Reported by Colin Watson.
+       Widen the size column to 6 digits to accommodate typical cases.
+       The worst case value would require 14 digits; if that happens,
+       let the columns get out of sync.
 
-2007-12-15  Bean  <bean123ch@gmail.com>
+       Old format:
+       Type      Physical start  - end             #Pages     Size Attributes
+       conv-mem  0000000000000000-0000000000092fff 00000093  588KB UC WC WT WB
+       reserved  0000000000093000-0000000000093fff 00000001    4KB UC WC WT WB
+       conv-mem  0000000000094000-000000000009ffff 0000000c   48KB UC WC WT WB
+       conv-mem  0000000000100000-000000000fffffff 0000ff00  255MB UC WC WT WB
+       BS-code   0000000010000000-0000000010048fff 00000049  292KB UC WC WT WB
+       conv-mem  0000000010049000-000000002354dfff 00013505  309MB UC WC WT WB
+       ldr-data  000000002354e000-000000003ecfffff 0001b7b2  439MB UC WC WT WB
+       BS-data   000000003ed00000-000000003ed7ffff 00000080  512KB UC WC WT WB
+       conv-mem  000000003ed80000-000000006af5ffff 0002c1e0  705MB UC WC WT WB
+       reserved  000000006af60000-000000006b55ffff 00000600    6MB UC WC WT WB
+       BS-data   000000006b560000-000000006b560fff 00000001    4KB UC WC WT WB
+       RT-data   000000006b561000-000000006b5e1fff 00000081  516KB RT UC WC WT WB
+       BS-data   000000006b5e2000-000000006ecfafff 00003719   55MB UC WC WT WB
+       BS-code   000000006ecfb000-000000006ecfbfff 00000001    4KB UC WC WT WB
+       conv-mem  000000006ecfc000-00000000711fafff 000024ff   36MB UC WC WT WB
+       BS-data   00000000711fb000-000000007128dfff 00000093  588KB UC WC WT WB
+       Unk 0d    0000000880000000-0000000e7fffffff 00600000   24GB UC WC WT WB NV
+       reserved  0000001680000000-0000001c7fffffff 00600000   24GB UC WC WT WB NV
 
-       * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
-       (lnxboot_img_SOURCES): New variable.
-       (lnxboot_img_ASFLAGS): Likewise.
-       (lnxboot_img_LDFLAGS): Likewise.
+       New format:
+       Type      Physical start  - end             #Pages        Size Attributes
+       conv-mem  0000000000000000-0000000000092fff 00000093    588KiB UC WC WT WB
+       reserved  0000000000093000-0000000000093fff 00000001      4KiB UC WC WT WB
+       conv-mem  0000000000094000-000000000009ffff 0000000c     48KiB UC WC WT WB
+       conv-mem  0000000000100000-000000000fffffff 0000ff00    255MiB UC WC WT WB
+       BS-code   0000000010000000-0000000010048fff 00000049    292KiB UC WC WT WB
+       conv-mem  0000000010049000-000000002354dfff 00013505 316436KiB UC WC WT WB
+       ldr-data  000000002354e000-000000003ecfffff 0001b7b2 450248KiB UC WC WT WB
+       BS-data   000000003ed00000-000000003ed7ffff 00000080    512KiB UC WC WT WB
+       conv-mem  000000003ed80000-000000006af5ffff 0002c1e0 722816KiB UC WC WT WB
+       reserved  000000006af60000-000000006b55ffff 00000600      6MiB UC WC WT WB
+       BS-data   000000006b560000-000000006b560fff 00000001      4KiB UC WC WT WB
+       RT-data   000000006b561000-000000006b5e1fff 00000081    516KiB RT UC WC WT WB
+       BS-data   000000006b5e2000-000000006ecfafff 00003719  56420KiB UC WC WT WB
+       BS-code   000000006ecfb000-000000006ecfbfff 00000001      4KiB UC WC WT WB
+       conv-mem  000000006ecfc000-0000000071222fff 00002527  38044KiB UC WC WT WB
+       BS-data   0000000071223000-00000000712ddfff 000000bb    748KiB UC WC WT WB
+       persist   0000000880000000-0000000e7fffffff 00600000     24GiB UC WC WT WB NV
+       reserved  0000001680000000-0000001c7fffffff 00600000     24GiB UC WC WT WB NV
 
-       * boot/i386/pc/lnxboot.S: New file.
+2015-12-16  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2007-11-24  Pavel Roskin  <proski@gnu.org>
+       kernel: print and reset grub_errno after each embedded config line
+       Otherwise it causes subsequent file open to fail, because grub_file_open
+       misinterprets set grub_errno for grub_file_get_device_name failure.
 
-       * configure.ac: Test if '--build-id=none' is supported by the
-       linker.  If yes, add it to TARGET_LDFLAGS.  Build ID causes
-       objcopy to generate incorrect binary files (binutils
-       2.17.50.0.18-1 as shipped by Fedora 8).
-       * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
-       linking, so that build ID doesn't break the test.
+       Closes: 46540
 
-2007-11-24  Pavel Roskin  <proski@gnu.org>
+2015-12-16  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/i386/time.h: use "void" in the argument list
-       of grub_cpu_idle().
-       * include/grub/powerpc/time.h: Likewise.
-       * include/grub/sparc64/time.h: Likewise.
+       Erase backspaced character in grub_username_get
+       It probably does not work across linefeed, but hopefully user names are not
+       that long (and nobody is using terminal that small).
 
-2007-11-18  Christian Franke  <franke@computer.org>
+2015-12-16  Hector Marco-Gisbert  <hecmargi@upv.es>
 
-       * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
-       now return control chars instead of GRUB_CONSOLE_KEY_* constants.
-       This fixes the problem that function keys did not work in grub-emu.
+       Fix security issue when reading username and password
+       This patch fixes two integer underflows at:
+         * grub-core/lib/crypto.c
+         * grub-core/normal/auth.c
 
-2007-11-18  Christian Franke  <franke@computer.org>
+       CVE-2015-8370
 
-       * disk/host.c (grub_host_open): Remove attribute unused from
-       name parameter. Add check for "host". This fixes the problem
-       that grub-emu does not find partitions.
+       Also-By: Andrey Borzenkov <arvidjaar@gmail.com>
 
-2007-11-18  Christian Franke  <franke@computer.org>
+2015-12-15  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/hostfs.c (is_dir): New function.
-       (grub_hostfs_dir):  Handle missing dirent.d_type case.
-       (grub_hostfs_read): Add missing fseek().
-       (grub_hostfs_label): Clear label pointer.  This fixes a crash
-       of grub-emu on "ls (host)".
+       NEWS: more additions
+       Also-By: Robert Elliott <elliott@hpe.com>
 
-2007-11-18  Christian Franke  <franke@computer.org>
+2015-12-15  Robert Elliott  <elliott@hpe.com>
 
-       * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
-       Add attribute packed, gcc 3.4.4 on Cygwin aligns this
-       to 64 bit boundary by default.
+       Translate UEFI persistent memory type
+       Define
+       * GRUB_EFI_PERSISTENT_MEMORY (UEFI memory map type 14) per UEFI 2.5
+       * GRUB_MEMORY_PERSISTENT (E820 type 7) per ACPI 3.0
+       * GRUB_MEMORY_PERSISTENT_LEGACY (E820 unofficial type 12) per ACPI 3.0
 
-2007-11-18  Bean  <bean123ch@gmail.com>
+       and translate GRUB_EFI_PERSISTENT_MEMORY to GRUB_MEMORY_PERSISTENT in
+       grub_efi_mmap_iterate().
 
-       * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
-       (hexdump_mod_SOURCES): New variable.
-       (hexdump_mod_CFLAGS): Likewise.
-       (hexdump_mod_LDFLAGS): Likewise.
+       Includes
+       * adding the E820 names to lsmmap
+       * handling the E820 types in make_efi_memtype()
 
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
+       Suggested-by: Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com>
+       Suggested-by: Andrei Borzenkov <arvidjaar@gmail.com>
 
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
+2015-12-14  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
+       Document bootlocation discovery limitations and xen platform limitations
 
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
+2015-12-07  Josef Bacik  <jbacik@fb.com>
 
-       * include/grub/hexdump.h: New file.
+       tcp: ack when we get an OOO/lost packet
+       While adding tcp window scaling support I was finding that I'd get some packet
+       loss or reordering when transferring from large distances and grub would just
+       timeout.  This is because we weren't ack'ing when we got our OOO packet, so the
+       sender didn't know it needed to retransmit anything, so eventually it would fill
+       the window and stop transmitting, and we'd time out.  Fix this by ACK'ing when
+       we don't find our next sequence numbered packet.  With this fix I no longer time
+       out.  Thanks,
 
-       * commands/hexdump.c: New file.
+2015-12-01  Michael Chang  <mchang@suse.com>
 
-2007-11-10  Robert Millan  <rmh@aybabtu.com>
+       i386: fix TSC calibration using PIT
+       Condition was accidentally reversed, so PIT calibration always failed
+       when PIT was present and always succeeded when PIT was missing, but in
+       the latter case resulted in absurdly fast clock.
 
-       * commands/i386/pc/play.c (beep_off): Switch order of arguments
-       in grub_outb() calls.
-       (beep_on): Likewise.
+       Reported and tested by Vitaly Kuznetsov <vkuznets@redhat.com>
 
-2007-11-10  Christian Franke  <franke@computer.org>
+2015-11-28  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * normal/menu.c (run_menu): Check for empty menu to avoid crash.
-       (grub_menu_run): Likewise.
+       Do not include generated gnulib headers in tarball
+       gnulib files are already handled by recursive make distdir invocation.
+       Including all generated headers (after make completed) causes build
+       failure if target system is different (different compile version etc).
 
-2007-11-10  Robert Millan  <rmh@aybabtu.com>
+2015-11-27  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/i386/efi/machine.h: New file.
-       * include/grub/i386/linuxbios/machine.h: Likewise.
-       * include/grub/i386/pc/machine.h: Likewise.
-       * include/grub/powerpc/ieee1275/machine.h: Likewise.
-       * include/grub/sparc64/ieee1275/machine.h: Likewise.
+       Replace numbers with grub_memory_type_t enums
 
-       * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
-       (serial_hw_io_addr): New variable.
-       (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
-       instead of `(unsigned short *) 0x400'.
+2015-11-27  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2007-11-10  Bean  <bean123ch@gmail.com>
+       configure: fix macports flex version detection
+       Macports add extra information after version itself:
 
-       * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
+       $flex --version
+       flex 2.5.35 Apple(flex-31)
 
-2007-11-10  Vesa Jaaskelainen  <chaac@nic.fi>
+       We require at least felx 2.5.35 so do not need to care about prehistoric
+       "flex version n.n.n"; just use second field always.
 
-       * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
-       (vga_mod_SOURCES): Added.
-       (vga_mod_CFLAGS): Likewise.
-       (vga_mod_LDFLAGS): Likewise.
+       Reported by Peter Cheung <mcheung63@hotmail.com>
 
-       * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
-       grub_outb() calls.
-       (set_map_mask): Likewise.
-       (set_read_map): Likewise.
-       (set_read_address): Likewise.
-       (vga_font): Removed variable.
-       (get_vga_glyph): Removed function.
-       (invalidate_char): Likewise.
-       (write_char): Changed to use grub_font_get_glyph() for font
-       information.
-       (grub_vga_putchar): Likewise.
-       (grub_vga_getcharwidth): Likewise.
+2015-11-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2007-11-10  Vesa Jaaskelainen  <chaac@nic.fi>
+       tsc: Use alternative delay sources whenever appropriate.
+       PIT isn't available on some of new hardware including Hyper-V. So
+       use pmtimer for calibration. Moreover pmtimer calibration is faster, so
+       use it on coreboor where booting time is important.
 
-       * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
-       flags.
-       (pxeboot_img_LDFLAGS): Likewise.
-       (diskboot_img_LDFLAGS): Likewise.
-       (kernel_img_LDFLAGS): Likewise.
+       Based on patch by Michael Chang.
 
-2007-11-06  Robert Millan  <rmh@aybabtu.com>
+2015-11-26  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
-       in grub_outb() calls.
-       (serial_hw_init): Likewise.
+       efi: really mark memory of unknown type as reserved
+       9be4c45dbe3c877d1f4856e99ee15133c6cd2261 added switch case between
+       fall through cases, causing all memory regions of unknown type to be
+       marked as available.
 
-2007-11-05  Robert Millan  <rmh@aybabtu.com>
+       Move default case into its own block and add explicit FALLTHROUGH
+       annotation.
 
-       * util/update-grub.in: Allow files in ${update_grub_dir} to contain
-       spaces.  Skip non-regular files.
+       Reported by Elliott, Robert (Persistent Memory) <elliott@hpe.com>
 
-2007-11-05  Robert Millan  <rmh@aybabtu.com>
+2015-11-24  Josef Bacik  <jbacik@fb.com>
 
-       * kern/disk.c (grub_disk_firmware_fini)
-       (grub_disk_firmware_is_tainted): New variables.
+       net: reset nb->data per dns record lookup loop
+       We were resetting nb->data every time we tried a new server, but we need to do
+       it every time we try for a different record, otherwise we don't end up falling
+       back to the A record properly.  Thanks,
 
-       * include/grub/disk.h (grub_disk_firmware_fini)
-       (grub_disk_firmware_is_tainted): Likewise.
+2015-11-18  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
-       (grub_disk_biosdisk_fini): ... to here.
-       (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
-       (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
-       is set.  Register grub_disk_biosdisk_fini() in
-       `grub_disk_firmware_fini'.
+       unix: do not close stdin in grub_passwd_get
+       This makes it impossible to read from stdin without controlling tty:
 
-       * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
-       (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
-       Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
-       to finish existing firmware disk interface.
+       10:/mnt # echo -e passwd\\npasswd | setsid ./grub-mkpasswd-pbkdf2
+       Enter password:
+       Reenter password: ./grub-mkpasswd-pbkdf2: error: failure to read password.
+       10:/mnt
 
-       * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
-       (ata_mod_SOURCES): New variable.
-       (ata_mod_CFLAGS): Likewise.
-       (ata_mod_LDFLAGS): Likewise.
+2015-11-17  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2007-11-05  Robert Millan  <rmh@aybabtu.com>
+       lsefisystab: add missing comma after 7994077
 
-       * disk/ata.c: Remove `<grub/machine/time.h>'.  Include `<grub/time.h>'.
-       (grub_ata_wait): Reimplement using grub_millisleep().
+2015-11-14  Pavel Bludov  <pbludov@gmail.com>
 
-       * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
-       * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
+       Add some UUIDs found in the hardware
 
-2007-11-03  Marco Gerards  <marco@gnu.org>
+2015-11-13  Konstantin Vlasov  <kvlasov@odin.com>
 
-       * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
-       (CRTC_ADDR_PORT): New macro.
-       (CRTC_DATA_PORT): Likewise.
-       (CRTC_CURSOR): Likewise.
-       (CRTC_CURSOR_ADDR_HIGH): Likewise.
-       (CRTC_CURSOR_ADDR_LOW): Likewise.
-       (update_cursor): New function.
-       (grub_console_real_putchar): Call `update_cursor'.
-       (grub_console_gotoxy): Likewise.
-       (grub_console_cls): Set the default color when clearing the
-       screen.
-       (grub_console_setcursor): Implemented.
+       gfxterm: fix calculation of terminal-top and terminal-height
+       They used screen width, not height.
 
-2007-11-03  Marco Gerards  <marco@gnu.org>
+2015-11-12  Paulo Flabiano Smorigo  <pfsmorigo@linux.vnet.ibm.com>
 
-       * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
-       become activate.
-       (grub_ata_pio_write): Likewise.
+       ofdisk: add sas disks to the device list
 
-       (grub_atapi_identify): Wait after issuing an ATA command.
-       (grub_atapi_packet): Likewise.
-       (grub_ata_identify): Likewise.
-       (grub_ata_readwrite): Likewise.
+2015-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2007-11-03  Marco Gerards  <marco@gnu.org>
+       multiboot: Don't rely on particular ordering of options.
 
-       * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
-       (grub_ata_pio_write): Likewise.
-       (grub_ata_readwrite): Use `grub_error', instead of
-       returning `grub_errno'.
+       multiboot_mbi: Fix handling of --quirk-bad-kludge.
 
-2007-11-03  Marco Gerards  <marco@gnu.org>
+2015-11-12  Fu Wei  <fu.wei@linaro.org>
 
-       * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
-       grub_ata_pio_write once for every single sector, instead of for
-       multiple sectors.
+       xen_boot: Remove useless file_name_index variable.
 
-2007-10-31  Robert Millan  <rmh@aybabtu.com>
+       Document ARM64 xen commands
 
-       * configure.ac: Add `i386-linuxbios' to the list of supported targets.
+2015-11-11  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * conf/i386-linuxbios.rmk: New file.
+       asm-tests/i386-pc: Check that near jumps are 2 bytes.
+       We already check that jump over 300 bytes gap is 3 bytes in code16-mode.
+       Some clang versions generate 3-byte opcode for short jumps which makes
+       boot.img blow over 512-byte limit. Enforce -no-integrated-as in such cases
 
-       * kern/i386/pc/hardware.c: Likewise.
-       * term/i386/pc/at_keyboard.c: Likewise.
-       * term/i386/pc/vga_text.c: Likewise.
+2015-11-11  Paulo Flabiano Smorigo  <pfsmorigo@linux.vnet.ibm.com>
 
-       * include/grub/i386/linuxbios/boot.h: Likewise.
-       * include/grub/i386/linuxbios/console.h: Likewise.
-       * include/grub/i386/linuxbios/init.h: Likewise.
-       * include/grub/i386/linuxbios/kernel.h: Likewise.
-       * include/grub/i386/linuxbios/loader.h: Likewise.
-       * include/grub/i386/linuxbios/memory.h: Likewise.
-       * include/grub/i386/linuxbios/serial.h: Likewise.
-       * include/grub/i386/linuxbios/time.h: Likewise.
+       ofdisk: add a comment about vscsi method
 
-       * kern/i386/linuxbios/init.c: Likewise.
-       * kern/i386/linuxbios/startup.S: Likewise.
-       * kern/i386/linuxbios/table.c: Likewise.
+2015-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2007-10-31  Marco Gerards  <marco@gnu.org>
+       fdt.mod: Move license tag to the right file.
 
-       * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
-       (ata_mod_SOURCES): New variable.
-       (ata_mod_CFLAGS): Likewise.
-       (ata_mod_LDFLAGS): Likewise.
+2015-11-09  Fu Wei  <fu.wei@linaro.org>
 
-       * disk/ata.c: New file.
+       fdt.mod: Add missing license tag.
 
-       * include/grub/disk.h (grub_disk_dev_id): Add
-       `GRUB_DISK_DEV_ATA_ID'.
+2015-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2007-10-31  Robert Millan  <rmh@aybabtu.com>
+       kern/elf: Ignore cast-align warnings
 
-       * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
-       * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
+2015-11-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
-       * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
+       cbfs: Fix corner case and compilation with recdent gcc
+       Accept the header to touch the jump address at 0xfffffff0.
 
-       * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
-       `<grub/types.h>'.
+       Fix compilation for 64-bit EFI with recent GCC.
 
-       * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
+2015-11-08  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2007-10-27  Robert Millan  <rmh@aybabtu.com>
+       fstester: Enforce LC_ALL=C
 
-       * include/grub/types.h (ULONG_MAX): Define macro.
+       Adapt build-system to use imported xen headers.
 
-2007-10-22  Robert Millan  <rmh@aybabtu.com>
+       Import xen headers directly into GRUB
 
-       * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'.  Include
-       `"../realmode.S"'.
-       Remove `"kern/i386/loader.S"'.  Include `"../loader.S"'.
+       cbfs: Check for ptr range sanity.
+       Triaged by Andrei and enhanced with suggestions by Aaron Durbin
+       Also-By: Andrei Borzenkov <arvidjaar@gmail.com>
 
-2007-10-22  Robert Millan  <rmh@aybabtu.com>
+       Remove reliance C.UTF-8
 
-       * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
-       (pkgdata_MODULES): Add `biosdisk.mod'.
-       (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
-       variables.
+       genmoddep.awk: Add a test that we have no circular dependencies
 
-       * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
-       (grub_biosdisk_init): Replace with ...
-       (GRUB_MOD_INIT(biosdisk)): ... this.
-       (grub_biosdisk_fini): Replace with ...
-       (GRUB_MOD_FINI(biosdisk)): ... this.
+       Makefile.core.def: Break circular dependency on arm64.
 
-       * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
-       (grub_machine_init): Remove call to grub_biosdisk_init().
-       (grub_machine_fini): Remove call to grub_machine_fini().
+       autogen: Use cp instead of ln -s.
+       libgcrypt-grub shouldn't be modified directly anyway. With this patch
+       tarball without contrib can be unpacked on FAT and stay usable for
+       out-of-tree compile on full POSIX FS (compile on FAT not tested).
 
-       * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
+2015-11-07  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2007-10-22  Robert Millan  <rmh@aybabtu.com>
+       partmap_test: check that parted is available
+       Skip test if parted is unavailable instead of returning false failure.
 
-       * include/grub/time.h: New file.
-       * include/grub/i386/time.h: Likewise.
-       * include/grub/powerpc/time.h: Likewise.
-       * include/grub/sparc64/time.h: Likewise.
+2015-11-07  grub-devel@iam.tj  <grub-devel@iam.tj>
 
-       * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
-       instances to ...
-       (KERNEL_MACHINE_TIME_HEADER): ... this.
-       * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
-       instances to ...
-       (KERNEL_MACHINE_TIME_HEADER): ... this.
-       * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
-       instances to ...
-       (KERNEL_MACHINE_TIME_HEADER): ... this.
+       cryptodisk: teach grub_cryptodisk_insert() about partitions (bug #45889)
+       It is not possible to configure encrypted containers on multiple partitions of
+       the same disk; after the first one all subsequent fail with
 
-       * kern/i386/efi/init.c: Include `<grub/time.h>'.
-       (grub_millisleep): New function.
-       * kern/i386/pc/init.c: Include `<grub/time.h>'.
-       (grub_millisleep): New function.
-       * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
-       Remove `grub/machine/time.h' include.
-       (grub_millisleep): New function.
-       * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
-       Remove `grub/machine/time.h' include.
-       (grub_millisleep): New function.
+       disk/cryptodisk.c:978: already mounted as crypto0
 
-       * include/grub/misc.h (grub_div_roundup): New function.
+       Store partition offset in cryptomount descriptor to distinguish between them.
 
-       * kern/misc.c: Include `<grub/time.h>'.
-       (grub_millisleep_generic): New function.
+2015-11-07  Andrey Borzenkov  <arvidjaar@gmail.com>
 
-       * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
-       Add `time.h'.
-       * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
-       Add `time.h'.
-       * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
-       `machine/time.h'.  Add `time.h'.
-       * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
+       doc: document config_directory and config_file variables
 
-2007-10-21  Robert Millan  <rmh@aybabtu.com>
+2015-11-07  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/misc.h (grub_max): New function.
+       unix/getroot: remove unused MAJOR definition
+       We use major() everywhere, these definitions just add to confusion.
 
-2007-10-21  Robert Millan  <rmh@aybabtu.com>
+       Add comments to code for commit d313218
 
-       * util/misc.c (grub_util_info): Call fflush() before returning.
+2015-11-07  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2007-10-20  Robert Millan  <rmh@aybabtu.com>
+       devmapper/getroot: use makedev instead of direct shift
+       Fixes device detection with large number of devices.
 
-       * genmk.rb (Image): Copy `extra_flags' from here ...
-       (PModule): ... to here.  Use it in `#{obj}: #{src}' rule.
+       Reported by Tim Wallberg <twalberg@comcast.net>
 
-       * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
-       to `argc' and `args' arguments.
+2015-11-06  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2007-10-17  Robert Millan  <rmh@aybabtu.com>
+       mkimage: zero fill alignment space
+       This did not cause real problem but is good for reproducible builds. I hit
+       it with recent bootinfoscript that displays embedded config; I was puzzled
+       by random garbage at the end.
 
-       * kern/i386/loader.S: New file.
+       Prezero memory buffer used to assemble core.img. This makes individual
+       memset redundant. Also ensure buffer is filled with zeroes in several other
+       places.
 
-       * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
-       * kern/i386/loader.S (grub_linux_prot_size)... to here.
-       * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
-       * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
-       * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
-       * kern/i386/loader.S (grub_linux_real_addr)... to here.
-       * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
-       * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
-       * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
-       * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
-       * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
-       * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
-       * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
-       * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
-
-       * kern/i386/realmode.S: New file.
-
-       * kern/i386/pc/startup.S (protstack): Moved from here ...
-       * kern/i386/realmode.S (protstack)... to here.
-       * kern/i386/pc/startup.S (gdt): Moved from here ...
-       * kern/i386/realmode.S (gdt)... to here.
-       * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
-       * kern/i386/realmode.S (prot_to_real)... to here.
-
-       * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
-       `kern/i386/realmode.S'.
-
-2007-10-17  Robert Millan  <rmh@aybabtu.com>
-
-       * include/grub/i386/loader.h: New file.
-
-       * include/grub/i386/pc/loader.h (grub_linux_prot_size)
-       (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
-       (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
-       (grub_multiboot_real_boot, grub_multiboot2_real_boot)
-       (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
-       * include/grub/i386/loader.h (grub_linux_prot_size)
-       (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
-       (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
-       (grub_multiboot_real_boot, grub_multiboot2_real_boot)
-       (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
-
-       * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
-
-2007-10-15  Robert Millan  <rmh@aybabtu.com>
-
-       * normal/misc.c (grub_normal_print_device_info): Do not probe for
-       filesystem when dev->disk is unset.
-       Do probe for filesystem even when dev->disk->has_partitions is set.
-       In case a filesystem is found, always report it.
-       In case it isn't, if dev->disk->has_partitions is set, report that
-       a partition table was found instead of reporting that no filesystem
-       could be identified.
-
-2007-10-12  Robert Millan  <rmh@aybabtu.com>
-
-       * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
-       to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
-
-       * include/grub/types.h (grub_host_to_target16): New macro.
-       (grub_host_to_target32): Likewise.
-       (grub_host_to_target64): Likewise.
-       (grub_target_to_host16): Likewise.
-       (grub_target_to_host32): Likewise.
-       (grub_target_to_host64): Likewise.
-
-       * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
-       Renamed from to ...
-       (GRUB_MOD_ALIGN): ...this.  Update all users.
-
-       * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
-       grub_host_to_target32.
-       Replace grub_be_to_cpu32 with grub_target_to_host32.
-       (load_modules): Likewise.
-       (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
-       Replace grub_be_to_cpu32 with grub_target_to_host32.
-       Replace grub_cpu_to_be16 with grub_host_to_target16.
-       Replace grub_cpu_to_be32 grub_host_to_target32.
+       Also remove redundant zeroing code where we fill in the whole memory block
+       anyway.
 
-2007-10-12  Robert Millan  <rmh@aybabtu.com>
-
-       * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
-       * util/elf/grub-mkimage.c: ... here.
+2015-11-06  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * DISTLIST: Add `util/elf/grub-mkimage.c'.  Remove
-       `util/powerpc/ieee1275/grub-mkimage.c'.
-
-2007-10-07  Robert Millan  <rmh@aybabtu.com>
-
-       * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
-       and make it easier to figure out.
-       Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
-       (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
-       Do not avoid claiming a region above HEAP_MAX_ADDR if that would
-       leave us with less than HEAP_MIN_SIZE total heap.
-       Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
-
-2007-10-03  Robert Millan  <rmh@aybabtu.com>
-
-       * include/grub/i386/io.h: New file.
-       * commands/i386/pc/play.c (inb): Removed.
-       (outb): Removed.
-       Include grub/cpu/io.h.  Replace inb() with grub_inb() and outb()
-       with grub_outb().
-       * term/i386/pc/serial.c  (inb): Removed.
-       (outb): Removed.
-       Include grub/cpu/io.h.  Replace inb() with grub_inb() and outb()
-       with grub_outb().
-       * term/i386/pc/vga.c  (inb): Removed.
-       (outb): Removed.
-       Include grub/cpu/io.h.  Replace inb() with grub_inb() and outb()
-       with grub_outb().
-
-2007-10-02  Robert Millan  <rmh@aybabtu.com>
-
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       Reported by Marcin Kurek.
-
-2007-09-07  Robert Millan  <rmh@aybabtu.com>
-
-       * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
-       SmartFirmware version updates (as released by Sven Luther), and avoid
-       setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
-       GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
-       known broken.
+       configure.ac: Explicitly add -mno-sse3 on x86.
 
-2007-09-03  Yoshinori K. Okuji  <okuji@enbug.org>
+       README: Remove dead link to the wiki
 
-       From Hitoshi Ozeki:
-       * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
-       when merging two regions.
+2015-10-29  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2007-09-03  Yoshinori K. Okuji  <okuji@enbug.org>
+       NEWS: mention powerpc64le support
 
-       * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
-       * normal/completion.c (grub_normal_do_completion): Likewise.
-       Reported by Hitoshi Ozeki.
+2015-10-29  Ignat Korchagin  <ignat>
 
-2007-09-03  Yoshinori K. Okuji  <okuji@enbug.org>
+       tcp: Fix uninited mac address when accepting connection.
 
-       Do not use devices at boot in chainloading.
+2015-10-29  Fu Wei  <fu.wei@linaro.org>
 
-       * loader/i386/pc/chainloader.c (boot_drive): New variable.
-       (boot_part_addr): Likewise.
-       (grub_chainloader_boot): Simply call grub_chainloader_real_boot
-       with BOOT_DRIVE and BOOT_PART_ADDR.
-       (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
-       Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
+       arm64: Add support for xen boot protocol.
 
-2007-08-29  Robert Millan  <rmh@aybabtu.com>
+2015-10-29  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       Patch from Simon Peter <dn.tlp@gmx.net>:
-       * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
-       * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
-       util/grub-probe.c_DEPENDENCIES.  Replace grub-setup_DEPENDENCIES with
-       util/i386/pc/grub-setup.c_DEPENDENCIES.
-       * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
-       util/grub-probe.c_DEPENDENCIES.
-       * conf/powerpc-ieee1275.rmk: Likewise.
+       arm64: Move FDT functions to separate module
 
-2007-08-28  Robert Millan  <rmh@aybabtu.com>
+2015-10-27  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/i386/get_disk_name.c: New.  Implement grub_util_get_disk_name()
-       to tell grub-mkdevicemap how to name devices.
-       * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
-       feature).
+       efi: fix warnings with recent GCC
+       ../../grub-core/term/efi/console.c:128:32: error: suggest parentheses around '&&' within '||' [-Werror=parentheses]
+          if (key.unicode_char >= 0x20 && key.unicode_char <= 0x7f
 
-       * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
-       util/i386/get_disk_name.c.
-       * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
-       util/ieee1275/get_disk_name.c.
+2015-10-26  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
+       ofdisk: Fix devpath freeing logic.
 
-       * DISTLIST: Add util/i386/get_disk_name.c and
-       util/ieee1275/get_disk_name.c.
+2015-10-26  Paulo Flabiano Smorigo  <pfsmorigo@linux.vnet.ibm.com>
 
-       * util/grub-mkdevicemap.c: Replace device naming logic with
-       grub_util_get_disk_name() calls.
+       Implement cross-endian ELF load for powerpc
 
-2007-08-20  Robert Millan  <rmh@aybabtu.com>
+2015-10-25  Peter Jones  <pjones@redhat.com>
 
-       * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
-       (so that it works for both plural and singular quantities).
+       Use EFI_SIMPLE_TEXT_INPUT_EX to support key combinations.
 
-2007-08-05  Robert Millan  <rmh@aybabtu.com>
+2015-10-14  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
-       so that [xz] isn't taken into account when determining order.
+       configure: find options to force endian on MIPS
 
-2007-08-02  Marco Gerards  <marco@gnu.org>
+2015-10-14  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
-       `include/multiboot2.h', `include/grub/elfload.h',
-       `include/multiboot.h', `include/grub/multiboot.h',
-       `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
-       `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
-       `kern/elf.c', `loader/multiboot_loader.c',
-       `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
-       `loader/i386/pc/multiboot2.c',
-       `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
-       `util/i386/pc/grub-mkrescue.in'.  Remove
-       `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
-       `include/grub/i386/pc/util/biosdisk.h' and
-       `include/grub/powerpc/ieee1275/multiboot.h'.
+       configure: force o32 ABI on MIPS
+       GRUB code expects O32 or N32. N32 is less tested than O32, so we prefer to
+       compile with O32. Some systems (e.g. GNU Guix) default to using newer
+       n64 or n32 ABI. Try to find suitable options to force o32.
 
-2007-08-02  Bean  <bean123ch@gmail.com>
+       For GCC this is simply -mabi=32. While clang supports this option as well,
+       o32 ABI is valid for MIPS target and n32/64 ABI are valid for MIPS64 target
+       only, so use "-target mips/mipsel -mabi=32".
 
-       * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
-       (ntfs_mod_SOURCES): New variable.
-       (ntfs_mod_CFLAGS): Likewise.
-       (ntfs_mod_LDFLAGS): Likewise.
+       Reported-By: Mark H Weaver <mhw@netris.org>
+       Also-By: Mark H Weaver <mhw@netris.org>
 
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
-       (grub_probe_SOURCES): Likewise.
-       (grub_emu_SOURCES): Likewise.
+2015-10-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
-       (grub_emu_SOURCES): Likewise.
+       net: avoid closing NULL socket in DNS lookup
+       Refactor code so that we do not store NULL pointers in array
+       of in-flight DNS servers.
 
-       * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
-       (grub_emu_SOURCES): Likewise.
+       Reported-By: Josef Bacik <jbacik@fb.com>
 
-       * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
+2015-10-11  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * fs/ntfs.c: New file.
+       install: --compress argument is not optional
+       Fixes crash if argument is not specified. Also use `|' to separate choices
+       in list of compression methods to align it with --core-compress.
 
-2007-08-02  Bean  <bean123ch@gmail.com>
+2015-10-11  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
+       mips: Make setjmp code N32-compliant.
 
-       * file.h (grub_file): Likewise.
+       mips: Make the assembly-code N32-compatible.
+       There are no $t4 or $t5 in N32 but there are $a4 and $a5.
 
-       * fshelp.h (grub_fshelp_read_file): Likewise.
+2015-10-10  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/i386/pc/grub-setup.c (setup): Likewise.
-       (save_first_sector): Likewise.
-       (save_blocklists): Likewise.
+       progress: avoid NULL dereference for net files
+       From original patch by dann frazier <dann.frazier@canonical.com>:
 
-       * fs/affs.c (grub_affs_read_file): Likewise.
+         grub_net_fs_open() saves off a copy of the file structure it gets passed and
+         uses it to create a bufio structure. It then overwrites the passed in file
+         structure with this new bufio structure. Since file->name doesn't get set
+         until we return back to grub_file_open(), it means that only the bufio
+         structure gets a valid file->name. The "real" file's name is left
+         uninitialized. This leads to a crash when the progress module hook is called
+         on it.
 
-       * fs/ext2.c (grub_ext2_read_file): Likewise.
+       grub_net_fs_open() already saved copy of file name as ->net->name, so change
+       progress module to use it.
 
-       * fs/fat.c (grub_fat_read_data): Likewise.
+       Also, grub_file_open may leave file->name as NULL if grub_strdup fails. Check
+       for it.
 
-       * fs/fshelp.c (grub_fshelp_read_file): Likewise.
+       Also-By: dann frazier <dann.frazier@canonical.com>
 
-       * fs/hfs.c (grub_hfs_read_file): Likewise.
+2015-10-10  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
+       file: ignore host disk in blocklist check
+       It cannot work anyway because host disk cannot be read. This fixes hostfs access
+       on native Windows build where filenames start with '\' or do not have initial
+       separator at all (d:\foo).
 
-       * fs/jfs.c (grub_jfs_read_file): Likewise.
+       Issue was observed when running grub-fstest on Windows. On UNIX image name is
+       canonicalized to always start with `/' so this was not noticed.
 
-       * fs/minix.c (grub_minix_read_file): Likewise.
+       This has side effect of allowing relative path names on host, but this already
+       was the case with `ls' command, so it just extends it to all commands.
 
-       * fs/sfs.c (grub_sfs_read_file): Likewise.
+       Reported-By: Arch Stack <archstacker@gmail.com>
+       Also-By: Arch Stack <archstacker@gmail.com>
 
-       * fs/ufs.c (grub_ufs_read_file): Likewise.
+2015-10-09  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * fs/xfs.c (grub_xfs_read_file): Likewise.
+       mips/dl: Handle addend in RELA entries.
 
-       * command/blocklist.c (read_blocklist): Likewise.
-       (print_blocklist): Likewise.
+       gfxmenu/model: Delete empty file.
 
-2007-08-02  Marco Gerards  <marco@gnu.org>
+2015-10-09  Alexander Bluhm  <bluhm@genua.de>
 
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
-       `util/hostfs.c'.
+       ufs: Fix parameters to grub_memset.
+       len = 0 made simply no sense. Fix parameters to be in line with read.
 
-       * disk/host.c: New file.
+2015-10-07  Stanislav Kholmanskikh  <stanislav.kholmanskikh@oracle.com>
 
-       * util/hostfs.c: Likewise.
+       ofnet: Do not set SUFFIX for sun4v network devices
+       sun4v vnet devices do not implement the support of duplex and speed
+       instance attributes. An attempt to open such a device with
+       the attributes will fail:
 
-       * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
-       return `GRUB_ERR_BAD_FS'.
-       * fs/sfs.c (grub_sfs_mount): Likewise.
-       * fs/xfs.c (grub_xfs_mount): Likewise.
+       ok select net:speed=auto,duplex=auto
+       Unknown key 'speed'
+       Unknown key 'duplex'
+       Manual Configuration: Host IP, boot server and filename must be specified
+       WARNING: /virtual-devices@100/channel-devices@200/network@0: Can't open OBP standard TFTP package
 
-       * include/grub/disk.h (enum grub_disk_dev_id): Add
-       `GRUB_DISK_DEVICE_HOST_ID'.
+       Can't open device
+       ok
 
-       * util/grub-emu.c (main): Initialize and de-initialize hostfs.
+       Therefore, let's not set SUFFIX for such devices.
 
-2007-07-24  Jerone Young  <jerone@gmail.com>
+2015-10-07  Eric Snowberg  <eric.snowberg@oracle.com>
 
-       * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
-       modules for compilation.
-       * conf/powerpc-ieee1275.rmk: Likewise.
+       sparc64 - use correct drive name within grub_util_sparc_setup
+       Incorrect drive name was being passed into grub_util_sparc_setup,
+       causing the grub-install to fail.
 
-       * include/multiboot.h: Move multiboot definitions to one file. Rename
-       many definitions to not get grub specific.
-       * include/multiboot2.h: Create header with multiboot 2 definitions.
-       * include/grub/multiboot.h: Header for grub specific function
-       prototypes and definitions.
-       * include/grub/multiboot2.h: Likewise.
-       * include/grub/multiboot_loader.h: Likewise.
-       * include/grub/i386/pc/multiboot.h: Removed.
-       * include/grub/powerpc/ieee1275/multiboot.h: Removed.
+2015-09-13  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
-       and 2 to allow for one multiboot and module commands.
-       * loader/multiboot2.c: Add multiboot2 functionality.
-       * loader/i386/pc/multiboot.c: Modify for new multiboot header location
-       and definition names.
-       * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
-       2 functions.
-       * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
-       ieee1275 specific multiboot2 code.
+       cryptodisk: strip parenthesis from backing device name
+       Otherwise subsequent disk open fails.
 
-       * kern/i386/pc/startup.S: Change headers and definition names for
-       multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
+       Reported-By: Klemens Nanni <contact@autoboot.org>
 
-2007-07-22  Robert Millan  <rmh@aybabtu.com>
+2015-08-22  Felix Zielcke  <fzielcke@z-51.de>
 
-       * geninitheader.sh: Process file specified in first parameter rather
-       than hardcoding grub_modules_init.lst.
-       * geninit.sh: Likewise.  Also, construct header name dynamically rather
-       than hardcoding grub_modules_init.h.
+       disk/ldm, partmap/msdos.c: fix spelling error
 
-       * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
-       grub-emu to grub_emu_init.[ch].  Add rules to build analogous
-       grub_probe_init.[ch] and grub_setup_init.[ch].
+2015-08-13  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
-       grub_modules_init.h with grub_emu_init.h.
-       (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
-       grub_probe_init.[ch] files.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
-       grub_setup_init.[ch] files.
+       net: do not try to load protocol module via itself
+       Otherwise we get infinite recursion.
 
-       * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
-       * util/grub-probe.c: Include grub_probe_init.h.  Use grub_init_all()
-       to initialize modules rather than a list of hardcoded functions.
-       * util/i386/pc/grub-setup.c: Include grub_setup_init.h.  Use
-       grub_init_all() to initialize modules rather than a list of hardcoded
-       functions.
+       Closes: 45729
 
-2007-07-22  Robert Millan  <rmh@aybabtu.com>
-
-       * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
-       GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
-
-2007-07-22  Robert Millan  <rmh@aybabtu.com>
-
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
-       GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
-       * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
-       flag when running on SmartFirmware.
-       * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
-       "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
-       was set.
-
-       * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
-       Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
-       rather than decreasing it.
-
-       * util/i386/pc/grub-setup.c (setup): When embedding is required, but
-       there's not enough space to do it, fail in the same way as when it
-       can't be done because there are no partitions.
-
-       * util/powerpc/ieee1275/grub-install.in: Improve error message shown
-       when nvsetenv failed.
-
-2007-07-22  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
-       because this rule is automatically generated.
-       (grub-mkrescue): Removed for the same reason as above.
-
-2007-07-22  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       Migrate to GNU General Public License Version 3.
-
-       * COPYING: Replaced with the plain text version of GPLv3.
-
-       * config.guess: Updated from gnulib.
-       * config.sub: Likewise.
-
-       * geninit.sh: Output a GPLv3 copyright notice.
-       * geninitheader.sh: Likewise.
-       * genmodsrc.sh: Likewise.
-       * gensymlist.sh.in: Likewise.
-
-       * boot/i386/pc/boot.S: Upgraded to GPLv3.
-       * boot/i386/pc/diskboot.S: Likewise.
-       * boot/i386/pc/pxeboot.S: Likewise.
-       * commands/blocklist.c: Likewise.
-       * commands/boot.c: Likewise.
-       * commands/cat.c: Likewise.
-       * commands/cmp.c: Likewise.
-       * commands/configfile.c: Likewise.
-       * commands/echo.c: Likewise.
-       * commands/help.c: Likewise.
-       * commands/ls.c: Likewise.
-       * commands/search.c: Likewise.
-       * commands/terminal.c: Likewise.
-       * commands/test.c: Likewise.
-       * commands/videotest.c: Likewise.
-       * commands/i386/cpuid.c: Likewise.
-       * commands/i386/pc/halt.c: Likewise.
-       * commands/i386/pc/play.c: Likewise.
-       * commands/i386/pc/reboot.c: Likewise.
-       * commands/i386/pc/vbeinfo.c: Likewise.
-       * commands/i386/pc/vbetest.c: Likewise.
-       * commands/ieee1275/halt.c: Likewise.
-       * commands/ieee1275/reboot.c: Likewise.
-       * commands/ieee1275/suspend.c: Likewise.
-       * disk/loopback.c: Likewise.
-       * disk/lvm.c: Likewise.
-       * disk/raid.c: Likewise.
-       * disk/efi/efidisk.c: Likewise.
-       * disk/i386/pc/biosdisk.c: Likewise.
-       * disk/ieee1275/ofdisk.c: Likewise.
-       * font/manager.c: Likewise.
-       * fs/affs.c: Likewise.
-       * fs/ext2.c: Likewise.
-       * fs/fat.c: Likewise.
-       * fs/fshelp.c: Likewise.
-       * fs/hfs.c: Likewise.
-       * fs/hfsplus.c: Likewise.
-       * fs/iso9660.c: Likewise.
-       * fs/jfs.c: Likewise.
-       * fs/minix.c: Likewise.
-       * fs/sfs.c: Likewise.
-       * fs/ufs.c: Likewise.
-       * fs/xfs.c: Likewise.
-       * hello/hello.c: Likewise.
-       * include/grub/acorn_filecore.h: Likewise.
-       * include/grub/arg.h: Likewise.
-       * include/grub/bitmap.h: Likewise.
-       * include/grub/boot.h: Likewise.
-       * include/grub/cache.h: Likewise.
-       * include/grub/device.h: Likewise.
-       * include/grub/disk.h: Likewise.
-       * include/grub/dl.h: Likewise.
-       * include/grub/elfload.h: Likewise.
-       * include/grub/env.h: Likewise.
-       * include/grub/err.h: Likewise.
-       * include/grub/file.h: Likewise.
-       * include/grub/font.h: Likewise.
-       * include/grub/fs.h: Likewise.
-       * include/grub/fshelp.h: Likewise.
-       * include/grub/gzio.h: Likewise.
-       * include/grub/hfs.h: Likewise.
-       * include/grub/kernel.h: Likewise.
-       * include/grub/loader.h: Likewise.
-       * include/grub/lvm.h: Likewise.
-       * include/grub/misc.h: Likewise.
-       * include/grub/mm.h: Likewise.
-       * include/grub/net.h: Likewise.
-       * include/grub/normal.h: Likewise.
-       * include/grub/parser.h: Likewise.
-       * include/grub/partition.h: Likewise.
-       * include/grub/pc_partition.h: Likewise.
-       * include/grub/raid.h: Likewise.
-       * include/grub/rescue.h: Likewise.
-       * include/grub/script.h: Likewise.
-       * include/grub/setjmp.h: Likewise.
-       * include/grub/symbol.h: Likewise.
-       * include/grub/term.h: Likewise.
-       * include/grub/terminfo.h: Likewise.
-       * include/grub/tparm.h: Likewise.
-       * include/grub/types.h: Likewise.
-       * include/grub/video.h: Likewise.
-       * include/grub/efi/api.h: Likewise.
-       * include/grub/efi/chainloader.h: Likewise.
-       * include/grub/efi/console.h: Likewise.
-       * include/grub/efi/console_control.h: Likewise.
-       * include/grub/efi/disk.h: Likewise.
-       * include/grub/efi/efi.h: Likewise.
-       * include/grub/efi/pe32.h: Likewise.
-       * include/grub/efi/time.h: Likewise.
-       * include/grub/i386/linux.h: Likewise.
-       * include/grub/i386/setjmp.h: Likewise.
-       * include/grub/i386/types.h: Likewise.
-       * include/grub/i386/efi/kernel.h: Likewise.
-       * include/grub/i386/efi/loader.h: Likewise.
-       * include/grub/i386/efi/time.h: Likewise.
-       * include/grub/i386/pc/biosdisk.h: Likewise.
-       * include/grub/i386/pc/boot.h: Likewise.
-       * include/grub/i386/pc/chainloader.h: Likewise.
-       * include/grub/i386/pc/console.h: Likewise.
-       * include/grub/i386/pc/init.h: Likewise.
-       * include/grub/i386/pc/kernel.h: Likewise.
-       * include/grub/i386/pc/loader.h: Likewise.
-       * include/grub/i386/pc/memory.h: Likewise.
-       * include/grub/i386/pc/multiboot.h: Likewise.
-       * include/grub/i386/pc/serial.h: Likewise.
-       * include/grub/i386/pc/time.h: Likewise.
-       * include/grub/i386/pc/vbe.h: Likewise.
-       * include/grub/i386/pc/vbeblit.h: Likewise.
-       * include/grub/i386/pc/vbefill.h: Likewise.
-       * include/grub/i386/pc/vbeutil.h: Likewise.
-       * include/grub/i386/pc/vga.h: Likewise.
-       * include/grub/ieee1275/ieee1275.h: Likewise.
-       * include/grub/ieee1275/ofdisk.h: Likewise.
-       * include/grub/powerpc/libgcc.h: Likewise.
-       * include/grub/powerpc/setjmp.h: Likewise.
-       * include/grub/powerpc/types.h: Likewise.
-       * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
-       * include/grub/powerpc/ieee1275/console.h: Likewise.
-       * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
-       * include/grub/powerpc/ieee1275/kernel.h: Likewise.
-       * include/grub/powerpc/ieee1275/loader.h: Likewise.
-       * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
-       * include/grub/powerpc/ieee1275/time.h: Likewise.
-       * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
-       * include/grub/sparc64/libgcc.h: Likewise.
-       * include/grub/sparc64/setjmp.h: Likewise.
-       * include/grub/sparc64/types.h: Likewise.
-       * include/grub/sparc64/ieee1275/console.h: Likewise.
-       * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
-       * include/grub/sparc64/ieee1275/kernel.h: Likewise.
-       * include/grub/sparc64/ieee1275/time.h: Likewise.
-       * include/grub/util/biosdisk.h: Likewise.
-       * include/grub/util/getroot.h: Likewise.
-       * include/grub/util/lvm.h: Likewise.
-       * include/grub/util/misc.h: Likewise.
-       * include/grub/util/raid.h: Likewise.
-       * include/grub/util/resolve.h: Likewise.
-       * io/gzio.c: Likewise.
-       * kern/device.c: Likewise.
-       * kern/disk.c: Likewise.
-       * kern/dl.c: Likewise.
-       * kern/elf.c: Likewise.
-       * kern/env.c: Likewise.
-       * kern/err.c: Likewise.
-       * kern/file.c: Likewise.
-       * kern/fs.c: Likewise.
-       * kern/loader.c: Likewise.
-       * kern/main.c: Likewise.
-       * kern/misc.c: Likewise.
-       * kern/mm.c: Likewise.
-       * kern/parser.c: Likewise.
-       * kern/partition.c: Likewise.
-       * kern/rescue.c: Likewise.
-       * kern/term.c: Likewise.
-       * kern/efi/efi.c: Likewise.
-       * kern/efi/init.c: Likewise.
-       * kern/efi/mm.c: Likewise.
-       * kern/i386/dl.c: Likewise.
-       * kern/i386/efi/init.c: Likewise.
-       * kern/i386/efi/startup.S: Likewise.
-       * kern/i386/pc/init.c: Likewise.
-       * kern/i386/pc/lzo1x.S: Likewise.
-       * kern/i386/pc/startup.S: Likewise.
-       * kern/ieee1275/ieee1275.c: Likewise.
-       * kern/powerpc/cache.S: Likewise.
-       * kern/powerpc/dl.c: Likewise.
-       * kern/powerpc/ieee1275/cmain.c: Likewise.
-       * kern/powerpc/ieee1275/crt0.S: Likewise.
-       * kern/powerpc/ieee1275/init.c: Likewise.
-       * kern/powerpc/ieee1275/openfw.c: Likewise.
-       * kern/sparc64/cache.S: Likewise.
-       * kern/sparc64/dl.c: Likewise.
-       * kern/sparc64/ieee1275/init.c: Likewise.
-       * kern/sparc64/ieee1275/openfw.c: Likewise.
-       * loader/efi/chainloader.c: Likewise.
-       * loader/efi/chainloader_normal.c: Likewise.
-       * loader/i386/efi/linux.c: Likewise.
-       * loader/i386/efi/linux_normal.c: Likewise.
-       * loader/i386/pc/chainloader.c: Likewise.
-       * loader/i386/pc/chainloader_normal.c: Likewise.
-       * loader/i386/pc/linux.c: Likewise.
-       * loader/i386/pc/linux_normal.c: Likewise.
-       * loader/i386/pc/multiboot.c: Likewise.
-       * loader/i386/pc/multiboot_normal.c: Likewise.
-       * loader/powerpc/ieee1275/linux.c: Likewise.
-       * loader/powerpc/ieee1275/linux_normal.c: Likewise.
-       * normal/arg.c: Likewise.
-       * normal/cmdline.c: Likewise.
-       * normal/command.c: Likewise.
-       * normal/completion.c: Likewise.
-       * normal/execute.c: Likewise.
-       * normal/function.c: Likewise.
-       * normal/lexer.c: Likewise.
-       * normal/main.c: Likewise.
-       * normal/menu.c: Likewise.
-       * normal/menu_entry.c: Likewise.
-       * normal/misc.c: Likewise.
-       * normal/parser.y: Likewise.
-       * normal/script.c: Likewise.
-       * normal/i386/setjmp.S: Likewise.
-       * normal/powerpc/setjmp.S: Likewise.
-       * normal/sparc64/setjmp.S: Likewise.
-       * partmap/acorn.c: Likewise.
-       * partmap/amiga.c: Likewise.
-       * partmap/apple.c: Likewise.
-       * partmap/gpt.c: Likewise.
-       * partmap/pc.c: Likewise.
-       * partmap/sun.c: Likewise.
-       * term/gfxterm.c: Likewise.
-       * term/terminfo.c: Likewise.
-       * term/efi/console.c: Likewise.
-       * term/i386/pc/console.c: Likewise.
-       * term/i386/pc/serial.c: Likewise.
-       * term/i386/pc/vesafb.c: Likewise.
-       * term/i386/pc/vga.c: Likewise.
-       * term/ieee1275/ofconsole.c: Likewise.
-       * util/biosdisk.c: Likewise.
-       * util/console.c: Likewise.
-       * util/genmoddep.c: Likewise.
-       * util/getroot.c: Likewise.
-       * util/grub-emu.c: Likewise.
-       * util/grub-mkdevicemap.c: Likewise.
-       * util/grub-probe.c: Likewise.
-       * util/lvm.c: Likewise.
-       * util/misc.c: Likewise.
-       * util/raid.c: Likewise.
-       * util/resolve.c: Likewise.
-       * util/update-grub.in: Likewise.
-       * util/update-grub_lib.in: Likewise.
-       * util/grub.d/00_header.in: Likewise.
-       * util/grub.d/10_hurd.in: Likewise.
-       * util/grub.d/10_linux.in: Likewise.
-       * util/i386/efi/grub-install.in: Likewise.
-       * util/i386/efi/grub-mkimage.c: Likewise.
-       * util/i386/pc/grub-install.in: Likewise.
-       * util/i386/pc/grub-mkimage.c: Likewise.
-       * util/i386/pc/grub-mkrescue.in: Likewise.
-       * util/i386/pc/grub-setup.c: Likewise.
-       * util/i386/pc/misc.c: Likewise.
-       * util/powerpc/ieee1275/grub-install.in: Likewise.
-       * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
-       * util/powerpc/ieee1275/misc.c: Likewise.
-       * video/bitmap.c: Likewise.
-       * video/video.c: Likewise.
-       * video/i386/pc/vbe.c: Likewise.
-       * video/i386/pc/vbeblit.c: Likewise.
-       * video/i386/pc/vbefill.c: Likewise.
-       * video/i386/pc/vbeutil.c: Likewise.
-       * video/readers/tga.c: Likewise.
-
-2007-07-02  Robert Millan  <rmh@aybabtu.com>
-
-       * conf/i386-efi.rmk: Replace obsolete reference to
-       util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
-       with util/getroot.c.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-
-       * util/grub-emu.c (main): Fix unchecked pointer handling.
-
-2007-07-02  Robert Millan  <rmh@aybabtu.com>
-
-       * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
-       invocation to fail, in order to support partition-less media.
-
-       * util/i386/pc/grub-install.in: Likewise.
-
-       * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
-       which fs or partmap modules are needed (akin to its sister scripts).
-
-       Also use grub-probe to get rid of unportable /proc/mounts check.
-
-       Print the same informational message that the other scripts do, before
-       exiting.
-
-2007-06-23  Robert Millan  <rmh@aybabtu.com>
-
-       * util/update-grub_lib.in (font_path): New function.  Determine whether
-       a font file can be found and, if so, echo the GRUB path to it.
-
-       * util/update-grub.in: Handle multiple terminals depending on user
-       input, platform availability and font file presence.  Propagate
-       variables of our findings to /etc/grub.d/ children.
-
-       * util/grub.d/00_header.in: Handle multiple terminals, based on
-       environment setup by update-grub.
-
-2007-06-23  Robert Millan  <rmh@aybabtu.com>
-
-       * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
-
-2007-06-21  Robert Millan  <rmh@aybabtu.com>
-
-       * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
-       indicate end of data section in kernel image.
-       * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
-       GRUB_KERNEL_MACHINE_DATA_END.
-
-       * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
-       space for it.
-       * kern/i386/efi/startup.S: Likewise.
-
-       * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
-       during image generation.  Implement --prefix option to override this
-       patch.
-       * util/i386/efi/grub-mkimage.c: Likewise.
+2015-08-09  Josef Bacik  <jbacik@fb.com>
 
-       * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
-       code to make path relative to its root into a separate function.
+       efinet: handle get_status() on buggy firmware properly
+       The EFI spec indicates that get_status() should return the address of the buffer
+       we passed into transmit to indicate the the buffer was transmitted.  However we
+       have boxes where the firmware returns some arbitrary address instead, which
+       makes grub think that we've not sent anything.  So since we have the SNP stuff
+       opened in exclusive mode just assume any non-NULL txbuf means that our transmit
+       occurred properly.  This makes grub able to do its networking stuff properly on
+       our broken firmware.  Thanks,
 
-       * util/i386/pc/grub-install.in: Use newly provided
-       make_system_path_relative_to_its_root() to convert ${grubdir}, then
-       pass the result to grub-install --prefix.
+       cc: Peter Jones <pjones@redhat.com>
 
-2007-06-13  Robert Millan  <rmh@aybabtu.com>
+2015-08-09  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
-       DEFAULT_DEVICE_MAP.
-       * util/grub-emu.c: Use above definitions from misc.h instead of
-       defining them.
-       * util/grub-mkdevicemap.c: Likewise.
-       * util/i386/pc/grub-setup.c: Likewise.
-       * util/grub-probe.c: Likewise.
-       (probe): Abort with grub_util_error() when either
-       grub_guess_root_device or grub_util_get_grub_dev fails.
+       linguas.sh: fix error when removing non-existing autogenerated files
 
-2007-06-12  Robert Millan  <rmh@aybabtu.com>
+2015-07-28  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * normal/command.c (grub_command_execute): Use NULL rather than 0 for
-       "pager" assignment.
-       * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
-       "pcdata".
-       * util/grub-probe.c (probe): Likewise for "drive_name".
+       ahci: Ensure that bus mastering is set.
+       Fixes ahci_test failing on several platforms.
 
-2007-06-11  Robert Millan  <rmh@aybabtu.com>
+2015-07-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
-       not just the cdrom one.
+       archelp: Never pass NULL as mtime.
+       Moves complexity from fs code (NULL check) to common code (passing non-NULL).
 
-2007-06-11  Robert Millan  <rmh@aybabtu.com>
+       HFS: Convert to fshelp.
+       HFS doesn't handle "." and ".." properly. Convert it to fshelp to reuse the
+       logic.
 
-       * util/i386/pc/grub-mkrescue.in: Add "set -e".
-       Add --pkglibdir=DIR option to override pkglibdir.
-       Mention --image-type=TYPE in help output.
-       Fix --grub-mkimage (it was a no-op).
-       Abort gracefully when no parameter is given.
+       FAT: Convert to fshelp.
+       exFAT doesn't handle "." and ".." correctly, convert it to fshelp to
+       reuse the same logic.
 
-2007-06-11  Robert Millan  <rmh@aybabtu.com>
+       BFS: Convert to fshelp.
+       BFS doesn't handle ".." correctly, so convert it to fshelp to reuse the logic.
 
-       * util/i386/pc/grub-mkrescue.in: New file.
-       * conf/i386-pc.rmk: Add its build declarations.  Put it in bin_SCRIPTS.
-       * Makefile.in: Handle bin_SCRIPTS.
+       fshelp: Add handling of "." and ".." and grub_fshelp_find_file_lookup.
+       Recent tests have discovered that many of our filesystems have flawed
+       handling of "." and "..". Rather than attempting to fix it in filesystems
+       themselves, make the common code fshelp aware of "." and ".." and handle
+       them in this layer. Add grub_fshelp_find_file_lookup for easy conversion
+       of BFS, HFS and exFAT which have the same problem and don't use fshelp.
 
-2007-06-10  Vesa Jaaskelainen  <chaac@nic.fi>
+       Switch procfs to use archelp.
+       This fixes handling of "." and "..".
 
-       * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
-       list of video modes.
+       grub-install: Use a+ in fopen rather than r+.
+       r+ does not create a file if none exists.
 
-2007-06-06  Robert Millan  <rmh@aybabtu.com>
+       Add transform_data as a variant of data with substitutions.
+       This fixrs name mismatch for grub.chrp with
+       transform_program_name='s,grub,grub2,g'
 
-       * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
-       file doesn't exist, or if it is in a filesystem grub can't read.
+2015-07-24  Ignat Korchagin  <ignat@cloudflare.com>
 
-       * util/update-grub.in: Set fallback for GRUB_FS check to "unknown".  Do
-       not abort if GRUB_DRIVE could not be defined.  Rearrange generated
-       header comment to fit in 80 columns when the variables are resolved.
+       efi: fix GetVariable return status check in 81ca24a
+       GetVariable should return EFI_BUFFER_TOO_SMALL if given buffer of size
+       zero; commit incorrectly checked for EFI_SUCCESS.
 
-       * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
-       could be identified by update-grub.  Remove redundant check for
-       unifont.pff existence (since convert_system_path_to_grub_path now
-       handles that).
+2015-07-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2007-06-04  Robert Millan  <rmh@aybabtu.com>
+       zfs_test: Skip dotdot in volume root test.
+       Given special semantics of ZFS it's far from clear what the expected
+       result is. Just skip it for now
 
-       * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
+       xfs_test: Test both crc and non-crc filesystems.
 
-       * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
+       xfs: Fix handling of symlink with crc-enabled filesystem.
 
-       * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
+       reiserfs: Fix handling of first entry in the directory.
+       Fixes garbage being added to "." filename.
 
-2007-06-04  Robert Millan  <rmh@aybabtu.com>
+2015-07-23  Ignat Korchagin  <ignat@cloudflare.com>
 
-       * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
+       efi: fix memory leak in variable handling
 
-       * include/grub/partition.h: Declare grub_apple_partition_map_init and
-       grub_apple_partition_map_fini.
+2015-07-23  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/biosdisk.c
-       (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
-       to access >2 TiB disks).
+       exclude.pot: Add missing blacklisted strings.
 
-       Print disk->total_sectors with %llu instead of %lu, since this
-       variable is always 64-bit (prevents wrong disk size from being displayed
-       on either >2 TiB disk or big-endian CPU).
+       archelp: Fix handling of dot and dotdot at the end of the name.
+       Fixes cpio_test and tar_test.
 
-       (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
-       into a generic case that supports all (sane) partition maps.
+       arm-emu: Add __aeabi_memcpy* and __aeabi_memclr* symbols.
+       Fixes compilation with clang.
 
-       Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
-       breaks big-endian.
+2015-07-22  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
-       and grub_apple_partition_map_fini() after that.
+       fwstart: Fix loading of address of read_spd_fail.
 
-2007-06-01  Robert Millan  <rmh@aybabtu.com>
+       fwstart: Add missing argument to p2align.
+       Resulting binary is unchanged as it happens we were already aligned
+       by chance.
 
-       * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
+2015-07-22  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/grub.d/00_header.in: Only enable gfxterm when
-       convert_system_path_to_grub_path() succeeds.
+       fwstart: Replace blt with bltz.
+       blt A, $zero, B and bltz A, B are equivalent but clang recognizes only
+       later, so use it.
 
-2007-05-20  Robert Millan  <rmh@aybabtu.com>
+       Resulting binary is unchanged.
 
-       * util/update-grub_lib.in: New file.
-       * DISTLIST: Add update-grub_lib.in.
-       * conf/common.rmk: Generate update-grub_lib and install it in
-       $(lib_DATA).
-       * Makefile.in: Add install routine for $(lib_DATA).
+2015-07-22  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
-       function provided by update-grub_lib to support arbitrary paths of
-       unifont.pff.
-       * util/update-grub.in: Use convert_system_path_to_grub_path() to
-       initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
+       Remove mips_attributes.
+       mips_attributes was introduced to work around clang problems with
+       -msoft-float. Those problems are now fixed and moreover .gnu_attributes
+       itself is unportable and creates problem with clang.
 
-2007-05-19  Robert Millan  <rmh@aybabtu.com>
+       Revert "mips: Fix soft-float handling."
 
-       * commands/i386/cpuid.c: New module.
-       * DISTLIST: Add it.
-       * conf/i386-efi.rmk: Enable cpuid.mod.
-       * conf/i386-pc.rmk: Likewise.
+       This partially reverts commit 6a4ecd276ed39f66be0ad6ff0f8ff67598098605.
 
-2007-05-18  Jeroen Dekkers  <jeroen@dekkers.cx>
+2015-07-22  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * kern/disk.c (grub_disk_read): Check return value of
-       grub_realloc().
+       ARM: provide __aeabi_memclr* and __aeabi_memcpy* symbols
+       Fixes compilation with recent clang.
 
-2007-05-18  Jeroen Dekkers  <jeroen@dekkers.cx>
+       diskfilter: Make name a const char to fix compilation error.
 
-       * util/getroot.c (grub_util_get_grub_dev): Support partitionable
-       arrays.
-       * disk/raid.c (grub_raid_open): Likewise.
+       dmraid_nvidia: Set a name to usable value to avoid null dereference.
+       Reported by: Andrei Borzenkov
 
-2007-05-17  Jeroen Dekkers  <jeroen@dekkers.cx>
+       configure.ac: Handle powerpc64le compiler
+       Also-by: Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
 
-       * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
-       stack instead of on the heap.
+2015-07-20  Bernhard Übelacker  <bernhardu@vr-web.de>
 
-       * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
-       before doing a read on it.
+       loader/linux: Make trailer initrd entry aligned again.
+       Regression from commit:
+         loader/linux: do not pad initrd with zeroes at the end
+         a8c473288d3f0a5e17a903a5121dea1a695dda3b
 
-       * configure.ac: Only use -fno-stack-protector for the target
-       environment.
+       Wimboot fails since the change above because it expects the "trailer"
+       initrd element on an aligned address.
+       This issue shows only when newc_name is used and the last initrd
+       entry has a not aligned size.
 
-2007-05-17  Jeroen Dekkers  <jeroen@dekkers.cx>
+2015-07-16  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
-       __attribute_ ((unused)) to mode_type argument.
+       XFS: Fix wrong alignment treatment.
 
-       * util/getroot.c (grub_guess_root_device): Fix #endif.
+       grub_ext2_read_block: Fix return type on error.
 
-       * kern/misc.c (memcmp): Fix prototype.
+2015-07-05  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/partition.h [GRUB_UTIL]
-       (grub_gpt_partition_map_init): Add prototype.
-       (grub_gpt_partition_map_fini): Likewise.
+       use TARGET_LDFLAGS in grub_PROG_OBJCOPY_ABSOLUTE
+       That's what Makefile will use and it is required if unusual flags
+       must be passed to linker (e.g. to build ppc32 code on ppc64le with clang).
 
-       * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
-       at the right place.
+2015-06-26  Michael Chang  <mchang@suse.com>
 
-       * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
-       (grub_fat_read_data): Likewise.
-       (grub_fat_find_dir): Likewise.
+       Fix missing byte order conversion in get_btrfs_fs_prefix function
+       Since btrfs on-disk format uses little-endian, the searched item types
+       (ROOT_REF, INODE_REF) need converting the byte order in order to
+       function properly on big-endian systems.
 
-       * font/manager.c (find_glyph): Make table a const.
-       (grub_font_get_glyph): Remove bitmap from if statement.
+2015-06-26  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2007-05-16  Jeroen Dekkers  <jeroen@dekkers.cx>
+       chainloader: fix resoource leak
+       Found by: Coverity scan.
+       CID: 96651
 
-       * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
-       code, first search for device in /dev/mapper, then in /dev.
-       (grub_util_get_grub_dev): New function.
-       * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
-       prototype.
-       * util/grub-probe.c (probe): Remove check for RAID, call
-       grub_util_get_grub_dev() instead of
-       grub_util_biosdisk_get_grub_dev().
-       * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
-       grub_util_biosdisk_get_grub_dev().
-       * util/i386/pc/grub-setup.c (main): Likewise.
+       loader/bsd: fix memory leak
+       Found by: Coverity scan.
+       CID: 96662, 96665
 
-2007-05-16  Robert Millan  <rmh@aybabtu.com>
+2015-06-20  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * DISTLIST: Update for the latest changes.
-       * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
-       util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
-       * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
-       grub/util/biosdisk.h.
-       * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
-       grub/util/biosdisk.h.
+       loader/bsd: free memory leaks
+       Found by: Coverity scan.
+       CID: 96671, 96658, 96653
 
-2007-05-16  Robert Millan  <rmh@aybabtu.com>
+       search_wrap: fix memory leak
+       Found by: Coverity scan.
+       CID: 96675
 
-       * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
+       password_pbkdf2: fix memory leak
+       Found by: Coverity scan.
+       CID: 96676
 
-2007-05-16  Robert Millan  <rmh@aybabtu.com>
+       normal: fix memory leak
+       Found by: Coverity scan.
+       CID: 96677
 
-       * util/i386/efi/grub-install.in: New.
-       * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
-       newly added grub-install.
-       * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
-       include.
-       * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
-       grub/util/biosdisk.h.
-       * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
-       grub/util/biosdisk.h.
+       efi/serial: fix memory leak
+       Found by: Coverity scan.
+       CID: 96678
 
-2007-05-16  Robert Millan  <rmh@aybabtu.com>
+       ohci: fix memory leak
+       Found by: Coverity scan.
+       CID: 96679
 
-       * include/grub/i386/pc/util/biosdisk.h: Moved to ...
-       * include/grub/util/biosdisk.h: ... here.
-       * util/i386/pc/biosdisk.c: Moved to ...
-       * util/biosdisk.c: ... here.
-       * util/i386/pc/getroot.c: Moved to ...
-       * util/getroot.c: ... here.
-       * util/i386/pc/grub-mkdevicemap.c: Moved to ...
-       * util/grub-mkdevicemap.c: ... here.
-       * util/i386/pc/grub-probe.c: Moved to ...
-       * util/grub-probe.c: ... here.
+       loader/bsd: free memory leaks
+       Found by: Coverity scan.
+       CID: 96682
 
-2007-05-15  Robert Millan  <rmh@aybabtu.com>
+       multiboot: fix memory leak
+       Found by: Coverity scan.
+       CID: 96684
 
-       * util/update-grub.in: Remove duplicated line in grub.cfg header
-       message.
+       normal: fix memory leak
+       Found by: Coverity scan.
+       CID: 96685
 
-2007-05-13  Robert Millan  <rmh@aybabtu.com>
+       loader/bsd: fix memory leak
+       Found by: Coverity scan.
+       CID: 96686
 
-       * util/update-grub.in: Fix a few assumptions about the devices holding
-       /, /boot and /boot/grub being the same.
-       * util/grub.d/00_header.in: Likewise.
-       * util/grub.d/10_hurd.in: Likewise.
-       * util/grub.d/10_linux.in: Likewise.
+       reed_solomon: fix memory leak
+       Found by: Coverity scan.
+       CID: 96688
 
-       * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
-       patterns.  Use that to define the `.old' suffix as older than `'.
+       usb: fix use after free
+       Found by: Coverity scan.
+       CID: 96704
 
-       * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
+       xnu: fix use after free
+       Found by: Coverity scan.
+       CID: 96706
 
-       * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
-       the grub.cfg header message.
+       disk/scsi: fix use after free
+       Found by: Coverity scan.
+       CID: 96713
 
-2007-05-11  Robert Millan  <rmh@aybabtu.com>
+       efi/chainloader: fix use after free
+       Found by: Coverity scan.
+       CID: 96714
 
-       * util/update-grub.in: Create device.map if it doesn't already exist,
-       before attempting to run grub-probe.
-       Check for grub-probe and grub-mkdevicemap with the same code
-       grub-install is using.
-       Remove test mode.
+       search: fix use after free
+       Found by: Coverity scan.
+       CID: 96715
 
-2007-05-09  Jeroen Dekkers  <jeroen@dekkers.cx>
+       NEWS: emu libusb support removed
 
-       * Makefile.in: Add the datarootdir autoconf variable.
+2015-06-19  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2007-05-09  Robert Millan  <rmh@aybabtu.com>
+       grub-probe: fix memory leak in probe (ofpath)
+       Found by: Coverity scan.
+       CID: 73772
 
-       * util/i386/pc/grub-probe.c (probe): When detecting partition map,
-       fail gracefully if dev->disk->partition == NULL.
+2015-06-19  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2007-05-07  Robert Millan  <rmh@aybabtu.com>
+       grub-probe: restructure code to make static analysis easier
+       Current code in probe() could not be verified to not contain memory leaks.
+       Restructure code and ensure grub_device_close is always called at the end of
+       loop.
 
-       * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
-       determine partition map module.
-       * util/i386/pc/grub-install.in: Use this feature to decide which
-       partition module to load, instead of hardcoding pc and gpt.
+       Calms down Coverity scan.
+       CID: 73739
 
-2007-05-07  Robert Millan  <rmh@aybabtu.com>
+2015-06-19  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
-       source directory differs from build directory.
+       zfs: fix memory leak
+       Found by: Coverity scan.
+       CID: 73647
 
-2007-05-05  Robert Millan  <rmh@aybabtu.com>
+       xfs: silence Coverity overflow warning
+       inode size cannot really overflow integer, but Coverity does not know it.
+       CID: 96602
 
-       * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
-       initialisation.
+       zfs: memory leak
+       Found by Coverity scan.
+       CID: 96603
 
-2007-05-05  Robert Millan  <rmh@aybabtu.com>
+       unix/getroot: memory leak
+       Found by Coverity scan.
+       CID: 96605
 
-       * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
+       unix/relpath: memory leak
+       Found by Coverity scan.
+       CID: 96606
 
-2007-05-05  Robert Millan  <rmh@aybabtu.com>
+2015-06-19  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/grub.d/10_linux.in: Allow the administrator to insert Linux
-       command-line arguments via ${GRUB_CMDLINE_LINUX}.
+       syslinux_parse: assorted issues found by Coverity
+       1. Remove unneeded NULL check
+       CID: 96607
 
-2007-05-05  Robert Millan  <rmh@aybabtu.com>
+       2. Do not allocate storage for initrd, copy it directly from input
+       buffer. Avoids memory leak in failure path.
+       CID: 96604
 
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
-       (grub_probe_SOURCES): Likewise.
-       * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
-       GPT and initialize dos_part and bsd_part accordingly.
-       * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
-       install_bsd_part.
-       (main): Activate gpt module for use during partition identification,
-       and deactivate it afterwards.
-       * util/i386/pc/grub-install.in: Add gpt module to core.img.
-       * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
-       partition identification, and deactivate it afterwards.
+       3. Unchecked error return from print()
+       CID: 96601, 73595
 
-2007-05-05  Robert Millan  <rmh@aybabtu.com>
+2015-06-19  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * term/i386/pc/console.c (grub_console_fini): Call
-       grub_term_set_current() before grub_term_unregister().
+       syslinux_parse: make print_escaped actually stop before `to'
+       The only current user is mboot.c32 which unfortunately is not covered
+       by regression tests.
 
-2007-05-04  Robert Millan  <rmh@aybabtu.com>
+2015-06-18  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
-       util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
-       * Makefile.in: Build update-grub_SCRIPTS.  Install update-grub_SCRIPTS
-       and update-grub_DATA.
-       * conf/common.rmk: Build and install update-grub components.
-       * conf/common.mk: Regenerate.
-       * util/update-grub.in: New.  Core of update-grub.
-       * util/grub.d/00_header.in: New.  Generates grub.cfg header.
-       * util/grub.d/10_hurd.in: New.  Generates boot entries for the Hurd.
-       * util/grub.d/10_linux.in: New.  Generates boot entries for Linux.
-       * util/grub.d/README: New.  Document grub.d directory layout.
+       fat: fix handling of "." and ".." directory entries
+       Emulate dot and dotdot in root directory. For other directories do not
+       add separator between name and extension for these two special entries.
 
-2007-05-01  Robert Millan  <rmh@aybabtu.com>
+       Closes: 45335
 
-       * util/grub-emu.c: Move initialization functions
-       grub_util_biosdisk_init() and grub_init_all() before
-       grub_util_biosdisk_get_grub_dev(), which relies on them.
+2015-06-18  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2007-04-19  Robert Millan  <rmh@aybabtu.com>
+       tests: regression tests for "." and ".." directory entries
 
-       * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
-       it is used later.
+2015-06-16  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2007-04-18  Jerone Young  <jerone@gmail.com>
+       efinet: enable hardware filters when opening interface
+       Exclusive open on SNP will close all existing protocol instances which
+       may disable all receive filters on interface. Reinstall them after we
+       opened protocol exclusively.
 
-       * kernel/elf.c: Add missing parenthesis for conditional statement
-       stanza.
+       Also follow UEFI specification recommendation and stop interfaces when
+       closing them:
 
-2007-04-10  Jerone Young  <jerone@gmail.com>
+       Unexpected system errors, reboots and hangs can occur if an OS is loaded
+       and the network devices are not Shutdown() and Stopped().
 
-       * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
-       continue on and look for device node with real device name.
+       Also by: Mark Salter <msalter@redhat.com>
+       Closes: 45204
 
-2007-04-10  Jerone Young  <jerone@gmail.com>
+2015-06-16  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * configure.ac: Add argument for autoconf to use transformation
-       ability.
-       * Makefile.in: Add autoconf package transformation code.
-       * util/i386/pc/grub-install.in: Likewise.
-       * util/powerpc/ieee1275/grub-install.in: Likewise.
+       NEWS: mention libgcc removal
 
-2007-03-19  Yoshinori K. Okuji  <okuji@enbug.org>
+2015-06-15  Paulo Flabiano Smorigo  <pfsmorigo@linux.vnet.ibm.com>
 
-       * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
-       (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
-       (EXT2_REVISION): Likewise.
-       (EXT2_INODE_SIZE): Likewise.
-       (struct grub_ext2_block_group): Added a missing member
-       "used_dirs".
-       (grub_ext2_read_inode): Divide by the inode size in a superblock
-       instead of 128 to obtain INODES_PER_BLOCK.
-       Use the macro EXT2_INODE_SIZE instead of directly using
-       SBLOCK->INODE_SIZE.
+       Add flag for powerpc ieee1275 to avoid unneeded optimizations
 
-2007-03-18  Yoshinori K. Okuji  <okuji@enbug.org>
+2015-06-12  Mark Salter  <msalter@redhat.com>
 
-       * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
-       superblock instead of the structure size to compute an
-       offset. This fixes the problem that GRUB could not read a
-       filesystem when inode size is different from 128-byte.
+       Fix exit to EFI firmware
+       The current code for EFI grub_exit() calls grub_efi_fini() before
+       returning to firmware. In the case of ARM, this leaves a timer
+       event running which could lead to a firmware crash. This patch
+       changes this so that grub_machine_fini() is called with a NORETURN
+       flag. This allows machine-specific shutdown to happen as well
+       as the shutdown done by grub_efi_fini().
 
-2007-03-05  Marco Gerards  <marco@gnu.org>
+2015-06-12  Paul Menzel  <paulepanter@users.sourceforge.net>
 
-       * normal/main.c (read_config_file): When "menu" is not set, create
-       an initial context.
+       disk/ahci.c: Use defines `GRUB_AHCI_HBA_PORT_CMD_SPIN_UP` and `GRUB_AHCI_HBA_PORT_CMD_POWER_ON`
+       Instead of hard coding `2` and `4` use the macros defined already at the
+       top of the file. As a consequence, wrap the now too long line.
 
-2007-02-21  Hollis Blanchard  <hollis@penguinppc.org>
+2015-06-12  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
-       (HEAP_LIMIT): New macro.
-       (grub_claim_heap): Claim memory up to `heaplimit'.
+       NEWS: XFS v5 support
 
-2007-02-21  Hollis Blanchard  <hollis@penguinppc.org>
+2015-06-12  Jan Kara  <jack@suse.cz>
 
-       * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
-       * kern/powerpc/ieee1275/init.c (_end): Add declaration.
-       (_start): Likewise.
-       (grub_arch_modules_addr): Return address after `_end'.
-       * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
-       (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
-       (add_segments): Calculate `_end' from phdr size and location.
-       (ALIGN_UP): Moved to ...
-       * include/grub/misc.h: here.
-       * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
-       New macro.
-       (GRUB_IEEE1275_MODULE_BASE): Removed.
-
-2007-02-20  Hollis Blanchard  <hollis@penguinppc.org>
+       xfs: V5 filesystem format support
+       Add support for new XFS on disk format. We have to handle optional
+       filetype fields in directory entries, additional CRC, LSN, UUID entries
+       in some structures, etc.
 
-       * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
-       loop boundary.
+       xfs: Add helpers for inode size
+       Add helpers to return size of XFS inode on disk and when loaded in
+       memory.
 
-2007-02-20  Hollis Blanchard  <hollis@penguinppc.org>
+2015-06-04  Toomas Soome  <tsoome@me.com>
 
-       * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
-       All users updated.
-       (grub_elf64_load_hook_t): Likewise.
-       * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
-       debug output.
+       multiboot_header_tag_module_align fix to confirm multiboot specification
 
-2007-02-20  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * kern/mm.c: Update copyright.
-       (grub_mm_debug): Correct syntax error.
-       (grub_mm_dump_free): New function.
-       (grub_debug_free): Call `grub_free'.
-       * include/grub/mm.h: Update copyright.
-       (grub_mm_dump_free): Add declaration.
+2015-06-02  Leif Lindholm  <leif.lindholm@linaro.org>
 
-2007-02-12  Hollis Blanchard  <hollis@penguinppc.org>
+       configure.ac: clean up arm64 soft-float handling
+       Fix compilation with gcc 5.1 (avoid internal compiler error), by
+       replacing explicit -march +nofp+nosimd options with -mgeneral-regs-only.
 
-       * include/grub/ieee1275/ieee1275.h: Update copyright.
-       * kern/powerpc/ieee1275/init.c: Likewise.
-       * kern/powerpc/ieee1275/openfw.c: Likewise.
+       This also enables the removal of some further conditional build flag
+       setting.
 
-       * loader/powerpc/ieee1275/linux.c: Likewise.
-       * include/grub/elfload.h: Likewise.
-       * kern/elf.c: Likewise.
-       (grub_elf32_load): Pass `base' and `size' parameters.  Update all
-       callers.
-       (grub_elf64_load): Likewise.
-       (grub_elf32_load_segment): Move to a nested function.
-       (grub_elf64_load_segment): Likewise.
+2015-06-01  dann frazier  <dann.frazier@canonical.com>
 
-2007-02-12  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
-       prototype.
-       * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
-       (grub_heap_len): Likewise.
-       (HEAP_SIZE): New macro.
-       (grub_claim_heap): New function.
-       (grub_machine_init): Don't claim heap directly.  Call
-       `grub_claim_heap'.
-       * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
-       (grub_available_iterate): New function.
-
-2007-02-03  Thomas Schwinge  <tschwinge@gnu.org>
-
-       * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
-       * configure.ac: Use it for testing the HOST and TARGET compilers.
-
-2006-12-13  Thomas Schwinge  <tschwinge@gnu.org>
-
-       * Makefile.in (enable_grub_emu): New variable.
-       * configure.ac (--enable-grub-emu): New option.
-       Do the checks for (n)curses only if `--enable-grub-emu' is requested.
-       * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
-       * conf/i386-pc.rmk: Likewise.
-       * conf/powerpc-ieee1275.rmk: Likewise.
-       * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
+       arm64/setjmp: Add missing license macro
+       Including the setjmp module in an arm64-efi image will cause it to
+       immediately exit with an "incompatible license" error.
 
-2006-12-12  Marco Gerards  <marco@gnu.org>
+       The source file includes a GPLv3+ boilerplate, so fix this by declaring a
+       GPLv3+ license using the GRUB_MOD_LICENSE macro.
 
-       * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
+2015-05-31  Paul Menzel  <paulepanter@users.sourceforge.net>
 
-       * kern/env.c (grub_env_unset): Don't free the member `value' when
-       the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
-       pointer.
+       disk/ahci.c: Add port number to port debug messages
+       Currently, some messages cannot be mapped to the port they belong to as
+       the port number is missing from the output. So add `port: n` to the
+       debug messages.
 
-       * normal/main.c (current_menu): Removed.
-       (free_menu): Unset the `menu' environment variable.
-       (grub_normal_menu_addentry): Make use of the environment variable
-       `menu', instead of using the global `current_menu'.  Allocate
-       memory for the sourcecode of this entry.
-       (read_config_file): New argument `nested', changed all callers.
-       Only in the case of a new context, initialize a new menu.  Set the
-       `menu' environment variable.
-       (grub_normal_execute): Don't set and unset the environment
-       variable `menu' here anymore.  Only free the menu when leaving the
-       context.
+2015-05-30  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
-       leak.
+       Clarify use of superusers variable and menu entry access
+       superusers controls both CLI and editing. Also explicitly mention that
+       empty superusers disables them.
 
-2006-12-11  Marco Gerards  <marco@gnu.org>
+       "Access to menuentry" is a bit vague - change to "execute menuentry"
+       to make it obvious, what access is granted.
 
-       * normal/menu_entry.c (run): Fix off by one bug so the last line
-       is executed.  Move the loader check to outside the loop.
+2015-05-30  Paul Menzel  <paulepanter@users.sourceforge.net>
 
-2006-12-08  Hollis Blanchard  <hollis@penguinppc.org>
+       Correct spelling of *scheduled*
+       Run the command below
 
-       * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
+               $ git grep -l schedulded | xargs sed -i 's/schedulded/scheduled/g'
 
-2006-11-25  Yoshinori K. Okuji  <okuji@enbug.org>
+       and revert the change in `ChangeLog-2015`.
 
-       * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
-       the number of sectors.  Reported by Andrey Shuvikov
-       <mr_hyro@yahoo.com>.
+       Including "miscellaneous" spelling fix noted by richardvoigt@gmail.com
 
-2006-11-11  Jeroen Dekkers  <jeroen@dekkers.cx>
+2015-05-30  Toomas Soome  <tsoome@me.com>
 
-       * kern/disk.c (grub_disk_read): When there is a read error, always
-       try to read only the necessary data.
+       zfs extensible_dataset and large_blocks feature support
+       large blocks basically use extensible dataset feature, or to be exact,
+       setting recordsize above 128k will trigger large_block feature to be
+       enabled and storing such blocks is using feature extensible dataset. so
+       the extensible dataset is prerequisite.
 
-       * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
-       disk/raid.c.
-       * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
-       prototype.
-       [GRUB_UTIL] (grub_raid_fini): Likewise.
-       [GRUB_UTIL] (grub_lvm_init): Likewise.
-       [GRUB_UTIL] (grub_lvm_fini): Likewise.
-       * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
-       RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
-       (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
-       and grub_raid_fini().
+       Changes implement read support extensible dataset… instead of fixed DMU
+       types they dont specify type, making it possible to use fat zap objects
+       from bonus area.
 
-2006-11-09  Jeroen Dekkers  <jeroen@dekkers.cx>
+2015-05-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * include/grub/types.h (__unused): Rename to UNUSED.
-       * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
-       (grub_elf64_size): Likewise.
+       multiboot1: never place modules in low memory.
+       While in theory permitted by the spec, modules rarely fit in low memory
+       anyway and not every kernel is able to handle modules in low memory anyway.
+       At least VMWare is known not to be able to handle modules at arbitrary
+       locations.
 
-2006-11-03  Hollis Blanchard  <hollis@penguinppc.org>
+2015-05-24  Paul Menzel  <paulepanter@users.sourceforge.net>
 
-       * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
-       grub_error_push and grub_error_pop in the error-handling path.
-       (grub_elf32_load_segment): Only call grub_file_read with non-zero
-       length.
+       disk/ahci: Use defines `GRUB_ATA_STATUS_BUSY` and `GRUB_ATA_STATUS_DRQ`
+       Instead of hard coding `0x88` use the macros defined in `disk/ata.h`.
 
-2006-11-03  Hollis Blanchard  <hollis@penguinppc.org>
+2015-05-19  Paul Menzel  <paulepanter@users.sourceforge.net>
 
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       (kernel_elf_SOURCES): Likewise.
-       * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
-       * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
-       * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
-       * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
-       * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
-       (elf_mod_SOURCES): New variable.
-       (elf_mod_CFLAGS): Likewise.
-       (elf_mod_LDFLAGS): Likewise.
-       * include/grub/types.h (__unused): New macro.
-       * include/grub/elfload.h: New file.
-       * kern/elf.c: Likewise.
-       * loader/powerpc/ieee1275/linux.c: Include elfload.h.
-       (ELF32_LOADMASK): New macro.
-       (ELF64_LOADMASK): Likewise.
-       (vmlinux): Removed.
-       (grub_linux_load32): New function.
-       (grub_linux_load64): Likewise.
-       (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
-       Use grub_elf_t instead of grub_file_t.
+       cb_timestamps.c: Add new time stamp descriptions
+       Add the descriptions of the “core”, that means no vendorcode or payload,
+       coreboot time stamps added up to coreboot commit a7d92441 (timestamps:
+       You can never have enough of them!) [1].
 
-2006-11-02  Hollis Blanchard  <hollis@penguinppc.org>
+       Running `coreboot_boottime` in the GRUB command line interface now shows
+       descriptions for all time stamps again on the ASRock E350M1.
 
-       * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
-       `catch_result' to struct set_color_args.
+       [1] http://review.coreboot.org/9608
 
-2006-10-28  Yoshinori K. Okuji  <okuji@enbug.org>
+2015-05-17  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * normal/menu.c: Include grub/script.h.
-       * normal/menu_entry.c: Likewise.
-       * include/grub/normal.h: Do not include grub/script.h.
+       bootp: ignore gateway_ip (relay) field.
+       From RFC1542:
 
-2006-10-27  Hollis Blanchard  <hollis@penguinppc.org>
+          The 'giaddr' field is rather poorly named.  It exists to facilitate
+          the transfer of BOOTREQUEST messages from a client, through BOOTP
+          relay agents, to servers on different networks than the client.
+          Similarly, it facilitates the delivery of BOOTREPLY messages from the
+          servers, through BOOTP relay agents, back to the client.  In no case
+          does it represent a general IP router to be used by the client.  A
+          BOOTP client MUST set the 'giaddr' field to zero (0.0.0.0) in all
+          BOOTREQUEST messages it generates.
 
-       * kern/disk.c (grub_disk_read): Correct debug printf formatting.
+          A BOOTP client MUST NOT interpret the 'giaddr' field of a BOOTREPLY
+          message to be the IP address of an IP router.  A BOOTP client SHOULD
+          completely ignore the contents of the 'giaddr' field in BOOTREPLY
+          messages.
 
-2006-10-27  Hollis Blanchard  <hollis@penguinppc.org>
+       Leave code ifdef'd out for the time being in case we see regression.
 
-       * kern/disk.c (grub_disk_open): Print debug messages when opening a
-       disk.
-       (grub_disk_close): Print debug messages when closing a disk.
-       (grub_disk_read): Print debug messages when disk read fails.
-       * kern/fs.c (grub_fs_probe): Print debug messages when detecting
-       filesystem type.
-       * kern/partition.c: Include misc.h.
-       (grub_partition_iterate): Print debug messages when detecting
-       partition type.
+       Suggested by: Rink Springer <rink@rink.nu>
+       Closes: 43396
 
-2006-10-27  Hollis Blanchard  <hollis@penguinppc.org>
+2015-05-17  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
-       is negative.
-       * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
+       hostdisk: fix crash with NULL device.map
+       grub-macbless calls grub_util_biosdisk_init with NULL device.map.
 
-2006-10-26  Hollis Blanchard  <hollis@penguinppc.org>
+2015-05-14  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
-       Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
+       zfs: fix integer truncation in zap_lookup
+       Size after shift could exceed 16 bits; use grub_unit32_t for result.
 
-2006-10-25  Jeroen Dekkers  <jeroen@dekkers.cx>
+       Reported and tested by: Kostya Berger <bergerkos@yahoo.co.uk>
+       Closes: 44448
 
-       * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
-       instead of sizeof(lv). Patch by Michael Guntsche.
+2015-05-13  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2006-10-18  Jeroen Dekkers  <jeroen@dekkers.cx>
+       remove extra newlines in grub_util_* strings
+       grub_util_{info,warn,error} already add trailing newlines, so remove
+       them from format strings. Also trailing full stops are already added.
 
-       * disk/lvm.c: Rename VGS to VG_LIST.
-       (grub_lvm_iterate): Change VGS->LV to VG-LV.
-       (grub_lvm_open): Likewise.
-       Thanks to Michael Guntsche for finding this bug.
+2015-05-12  Jan Kara  <jack@suse.cz>
 
-2006-10-15  Yoshinori K. Okuji  <okuji@enbug.org>
+       xfs: Convert inode numbers to cpu endianity immediately after reading
+       Currently XFS driver converted inode numbers to native endianity only
+       when using them to compute inode position. Although this works, it is
+       somewhat confusing. So convert inode numbers when reading them from disk
+       structures as every other field.
 
-       * configure.ac (AC_INIT): Bumped to 1.95.
+2015-05-11  Jan Kara  <jack@suse.cz>
 
-2006-10-14  Robert Millan  <rmh@aybabtu.com>
+       xfs: Fix termination loop for directory iteration
+       Directory iteration used wrong position (sizeof wrong structure) for
+       termination of iteration inside a directory block. Luckily the position
+       ended up being wrong by just 1 byte and directory entries are larger so
+       things worked out fine in practice. But fix the problem anyway.
 
-       * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
-       with "/dev/.static/dev/md".
+2015-05-08  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2006-10-14  Yoshinori K. Okuji  <okuji@enbug.org>
+       acpi: do not skip BIOS scan if EBDA length is zero
+       EBDA layout is not standardized so we cannot assume first two bytes
+       are length. Neither is it required by ACPI standard. HP 8710W is known
+       to contain zeroes here.
 
-       * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
-       DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
-       DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
-       DRIVE_NAME are always freed.
+       Closes: 45002
 
-       * util/i386/pc/biosdisk.c (make_device_name): Add one into
-       DOS_PART, as a DOS partition is counted from one instead of zero
-       now. Reported by Robert Millan.
+2015-05-07  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2006-10-14  Robert Millan  <rmh@aybabtu.com>
+       Add asm-tests to tarball
 
-       * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
-       grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
-       * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
-       string returned by grub_guess_root_device.
-       * util/i386/pc/grub-setup.c: Likewise.
-       * util/i386/pc/grub-probefs.c: Likewise.
+2015-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/i386/pc/grub-probefs.c: Rename to ...
-       * util/i386/pc/grub-probe.c: ... this.
-       * DISTLIST: Remove grub-probefs, add grub-probe.
-       * conf/i386-efi.rmk: Likewise.
-       * conf/i386-pc.rmk: Likewise.
-       * util/i386/pc/grub-install.in: Likewise.
+       util/grub-mkrescue: Fix compilation
 
-       * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
-       choose which information we want to print.
+2015-05-07  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2006-10-14  Yoshinori K. Okuji  <okuji@enbug.org>
+       efinet: open Simple Network Protocol exclusively
+       EDK2 network stack is based on Managed Network Protocol which is layered
+       on top of Simple Management Protocol and does background polling. This
+       polling races with grub for received (and probably trasmitted) packets
+       which causes either serious slowdown or complete failure to load files.
 
-       * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
-       include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
-       include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
-       include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
-       video/readers/tga.c and video/i386/pc/vbeutil.c.
+       Open SNP device exclusively.  This destroys all child MNP instances and
+       stops background polling.
 
-2006-10-14  Jeroen Dekkers  <jeroen@dekkers.cx>
+       Exclusive open cannot be done when enumerating cards, as it would destroy
+       PXE information we need to autoconfigure interface; and it cannot be done
+       during autoconfiguration as we need to do it for non-PXE boot as well. So
+       move SNP open to card ->open method and add matching ->close to clean up.
 
-       Added support for RAID and LVM.
+       Based on patch from Mark Salter <msalter@redhat.com>
 
-       * disk/lvm.c: New file.
-       * disk/raid.c: Likewise.
-       * include/grub/lvm.h: Likewise.
-       * include/grub/raid.h: Likewise.
-       * include/grub/util/lvm.h: Likewise.
-       * include/grub/util/raid.h: Likewise.
-       * util/lvm.c: Likewise.
-       * util/raid.c: Likewise.
+       Also-By: Mark Salter <msalter@redhat.com>
+       Closes: 41731
 
-       * include/grub/disk.h (grub_disk_dev_id): Add
-       GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
-       (grub_disk_get_size): New prototype.
-       * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
-       returns a partition.
-       (grub_disk_get_size): New function.
+2015-05-07  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * kern/i386/pc/init.c (make_install_device): Copy the prefix
-       verbatim if grub_install_dos_part is -2.
+       efinet: skip virtual IPv4 and IPv6 devices when enumerating cards
+       EDK2 PXE driver creates two child devices - IPv4 and IPv6 - with
+       bound SNP instance. This means we get three cards for every physical
+       adapter when enumerating. Not only is this confusing, this may result
+       in grub ignoring packets that come in via the "wrong" card.
 
-       * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
-       and LVM devices.
+       Example of device hierarchy is
 
-       * util/i386/pc/grub-setup.c (setup): New argument
-       MUST_EMBED. Force embedding of GRUB when the argument is
-       true. Close FILE before returning.
-       (main): Add support for RAID and LVM.
+        Ctrl[91] PciRoot(0x0)/Pci(0x3,0x0)
+          Ctrl[95] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)
+            Ctrl[B4] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv4(0.0.0.0)
+            Ctrl[BC] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv6(0000:0000:0000:0000:0000:0000:0000:0000)
 
-       * conf/common.rmk: Add RAID and LVM modules.
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
-       util/lvm.c.
-       (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
+       Skip PXE created virtual devices when enumerating cards. Make sure to
+       find real card when applying initial autoconfiguration during PXE boot,
+       this information is associated with one of child devices.
 
-       * kern/misc.c (grub_strstr): New function.
-       * include/grub/misc.h (grub_strstr): New prototype.
+2015-05-07  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2006-10-10  Tristan Gingold  <tristan.gingold@bull.net>
+       efidisk: move device path helpers in core for efinet
 
-       * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
+       convert to, not from, CPU byte order in DNS receive function
 
-2006-10-05  Tristan Gingold  <tristan.gingold@bull.net>
+2015-05-07  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * kern/misc.c (grub_strtoull): Guess the base only if not
-       specified.
+       loader/linux: do not pad initrd with zeroes at the end
+       Syslinux memdisk is using initrd image and needs to know uncompressed
+       size in advance. For gzip uncompressed size is at the end of compressed
+       stream. Grub padded each input file to 4 bytes at the end, which means
+       syslinux got wrong size.
 
-2006-10-01  Hollis Blanchard  <hollis@penguinppc.org>
+       Linux initramfs loader apparently does not care about trailing alignment.
+       So change code to align beginning of each file instead which atomatically
+       gives us the correct size for single file.
 
-       * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
-       PowerMac support.
+       Reported-By: David Shaw <dshaw@jabberwocky.com>
 
-2006-10-01  Hollis Blanchard  <hollis@penguinppc.org>
+2015-05-07  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
+       i386/relocator: Remove unused extern grub_relocator64_rip_addr
 
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
-       Remove `flags' argument.  All callers changed.
-       * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
-       (IEEE1275_IHANDLE_INVALID): New variable.
-       (IEEE1275_CELL_INVALID): New variable.
-       (grub_ieee1275_finddevice, grub_ieee1275_get_property,
-       grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
-       grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
-       grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
-       grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
-       codes from Open Firmware.  All callers updated.
-       (grub_ieee1275_next_property): Directly return Open Firmware return
-       code.
-       * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
-       Standardize error checking from `grub_ieee1275_get_property'.
-       * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
-       `devalias' to `aliases'.  Correct comments.  Consolidate error paths.
+2015-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2006-10-01  Hollis Blanchard  <hollis@penguinppc.org>
+       grub-install-common: Increase buf size to 8192 as modinfo.sh is bigger.
 
-       * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
-       `instance_to_package_args' to `instance_to_path_args'.
+2015-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
-       `grub_ieee1275_chosen'.
+       grub-mkrescue: Recognize -output as an alias of --output.
+       This helps us to be in line with xorriso -as mkisofs.
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
-       `grub_ieee1275_interpret'.
+       Suggested by: Thomas Schmitt
 
-2006-09-25  Hollis Blanchard  <hollis@penguinppc.org>
+2015-05-07  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
+       linux.c: Ensure that initrd is page-aligned.
 
-2006-09-25  Hollis Blanchard  <hollis@penguinppc.org>
+       Revert parts accidentally committed 2 commits ago.
 
-       * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
-       (__cmpdi): Likewise.
+2015-05-07  Fu Wei  <fu.wei@linaro.org>
 
-       * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
-       `flags' to `grub_ieee1275_next_property'.  Change `pathlen' to type
-       `grub_ssize_t'.
+       fdt.h: Add grub_fdt_set_reg64 macro
 
-       * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
+       arm64: Export useful functions from linux.c
 
-       * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
-       to type `grub_ssize_t'.
-       (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
+2015-05-04  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2006-09-22  Marco Gerards  <marco@gnu.org>
+       Revert "efinet: memory leak on module removal"
+       This reverts commits 47b2bee3ef0ea60fc3f5bfc37f3784e559385297
+       and 8d3c4544ffdd0289a4b0bdeb0cdc6355f801a4b3. It is not safe
+       to free allocated cards, dangling pointers main remain. Such
+       cleanup requires more changes in net core.
 
-       * normal/script.c (grub_script_create_cmdmenu): Skip leading
-       newlines.
+       efinet: cannot free const char * pointer
 
-2006-09-22  Marco Gerards  <marco@gnu.org>
+       efinet: memory leak on module removal
 
-       * commands/echo.c: New file.
+2015-05-03  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
+       zfs: add missing NULL check and fix incorrect buffer overwrite
+       grub_memset should zero out padding after data end. It is not clear
+       why it is needed at all - ZFS block is at least 512 bytes and power
+       of two, so it is always multiple of 16 bytes. This grub_memset
+       apparently never did anything.
 
-       * conf/common.rmk (echo_mod_SOURCES): New variable.
-       (echo_mod_CFLAGS): Likewise.
-       (echo_mod_LDFLAGS): Likewise.
+2015-05-03  Toomas Soome  <tsoome@me.com>
 
-2006-09-22  Marco Gerards  <marco@gnu.org>
+       zfs: com.delphix:embedded_data feature support
 
-       * normal/main.c (get_line): Malloc memory instead of using
-       preallocated memory.  Removed the arguments `cmdline' and
-       `max_len'.  Updated all callers.
+       zfs: com.delphix:hole_birth feature support
+       In the past birth was always zero for holes. This feature started
+       to make use of birth for holes as well, so change code to test for
+       valid DVA address instead.
 
-2006-09-22  Marco Gerards  <marco@gnu.org>
+2015-04-29  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
-       (normal_mod_DEPENDENCIES): Likewise.
+       grub-mkconfig: use $pkgdatadir in scripts
+       Otherwise scripts will source wrong grub-mkconfig_lib.
 
-       * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
-       (normal_mod_DEPENDENCIES): Likewise.
+2015-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
+       Remove -V in grub-mkrescue.c
+       It clashhes with -V which is alias to -volid.
 
-2006-09-22  Johan Rydberg  <jrydberg@gnu.org>
+2015-04-13  Toomas Soome  <tsoome@me.com>
 
-       * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
-       programs.
-       * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
-       (normal_mod_DEPENDENCIES): Likewise.
-       * conf/i386-pc.mk: Regenerate.
-       * conf/i386-efi.mk: Likewise
-       * conf/common.mk: Likewise.
-       * conf/powerpc-ieee1275.mk: Likewise.
-       * conf/sparc64-ieee1275.mk: Likewise.
+       getroot: include sys/mkdev.h for makedev
+       Solaris (like) systems need to include sys/mkdev.h for makedev() function.
 
-2006-09-22  Robert Millan  <rmh@aybabtu.com>
+2015-04-13  Toomas Soome  <tsoome@me.com>
 
-       Sync with i386 version.
-       * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
-       * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
+       core/partmap: rename 'sun' to avoid clash with predefined symbol
+       the symbol “sun” is defined macro in solaris derived systems, from
+       gcc -dM -E:
 
-2006-09-21  Robert Millan  <rmh@aybabtu.com>
+       and therefore can not be used as name.
 
-       Import from GRUB Legacy (lib/device.c):
-       * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
-       (init_device_map) [__linux__]: Add support for I2O devices.
+2015-04-12  Paul Menzel  <paulepanter@users.sourceforge.net>
 
-2006-09-14  Marco Gerards  <marco@gnu.org>
+       docs/grub.texi: Fix spelling of cbfstool
 
-       * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
-       `-melf_i386'.
+2015-04-06  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2006-09-14  Robert Millan  <rmh@aybabtu.com>
+       core: avoid NULL derefrence in grub_divmod64s
+       It can be called with NULL for third argument.  grub_divmod32* for
+       now are called only from within wrappers, so skip check.
 
-       * util/i386/pc/grub-install.in: Skip menu.lst when removing
-       /boot/grub/*.lst.
+       Reported-By: Michael Zimmermann <sigmaepsilon92@gmail.com>
 
-       * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
+2015-03-28  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
-       before adding it to device.map.
+       do not emit cryptomount without crypto UUID
 
-2006-08-15  Johan Rydberg  <jrydberg@gnu.org>
+2015-03-28  Sarah Newman  <srn@prgmr.com>
 
-       * genmk.rb: Let GCC generate dependencies the first time it
-       compiles a file; using the -MD option.
-       * conf/common.mk: Regenerate.
-       * conf/i386-pc.mk: Likewise.
-       * conf/i386-efi.mk: Likewise.
-       * conf/powerpc-ieee1275.mk: Likewise.
-       * conf/sparc64-ieee1275.mk: Likewise.
+       grub-core/loader/i386/xen.c: Initialized initrd_ctx so we don't free a random pointer from the stack.
 
-2006-08-04  Yoshinori K. Okuji  <okuji@enbug.org>
+2015-03-27  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       Move the prototypes of grub_setjmp and grub_longjmp to
-       cpu/setjmp.h, so that each architecture may specify different
-       attributes.
+       net: trivial grub_cpu_to_XX_compile_time cleanup
 
-       * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
-       (grub_longjmp): Likewise.
-       * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
-       (grub_longjmp): Likewise.
-       * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
-       (grub_longjmp): Likewise.
+2015-03-27  Lunar  <lunar@torproject.org>
 
-       * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
-       [!GRUB_UTIL] (grub_longjmp): Removed.
+       syslinux: Support {vesa,}menu.c32.
 
-2006-08-01  Pelletier Vincent  <subdino2004@yahoo.fr>
+2015-03-27  Steve McIntyre  <steve@einval.com>
 
-       * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
-       "color!" method does not return any value.
+       Recognize EFI platform even in case of mismatch between Linux and EFI.
+       Some x86 systems might be capable of running a 64-bit Linux kernel but
+       only use a 32-bit EFI (e.g. Intel Bay Trail systems). It's useful for
+       grub-install to be able to recognise such systems, to set the default
+       x86 platform correctly.
 
-2006-07-29  Vesa Jaaskelainen  <chaac@nic.fi>
+       To allow grub-install to know the size of the firmware rather than
+       just the size of the kernel, there is now an extra EFI sysfs file to
+       describe the underlying firmware. Read that if possible, otherwise
+       fall back to the kernel type as before.
 
-       * include/grub/bitmap.h: New file.
+2015-03-27  Michael Zimmermann  <sigmaepsilon92@gmail.com>
 
-       * include/grub/i386/pc/vbeutil.h: Likewise.
+       Add missing initializers to silence suprious warnings.
 
-       * video/bitmap.c: Likewise.
+2015-03-27  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * video/readers/tga.c: Likewise.
+       dl_helper: Cleanup
+       Use the new thumb_get_instruction_word/thumb_set_instruction_word
+       helpers throughout.
 
-       * video/i386/pc/vbeutil.c: Likewise.
+       Style cleanup (missing spaces).
 
-       * commands/videotest.c: Code cleanup and updated to reflect to new
-       video API.
+       Move Thumb MOVW/MOVT handlers into Thumb relocation section of file.
 
-       * term/gfxterm.c: Likewise.
+2015-03-27  Martin Wilck  <martin.wilck@ts.fujitsu.com>
 
-       * video/video.c: Likewise.
+       efinet: Check for immediate completition.
+       This both speeds GRUB up and workarounds unexpected EFI behaviour.
 
-       * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
-       (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
-       (bitmap_mod_SOURCES): New entry.
-       (bitmap_mod_CFLAGS): Likewise.
-       (bitmap_mod_LDFLAGS): Likewise.
-       (tga_mod_SOURCES): Likewise.
-       (tga_mod_CFLAGS): Likewise.
-       (tga_mod_LDFLAGS): Likewise.
+2015-03-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * include/grub/video.h (grub_video_blit_operators): New enum type.
-       (grub_video_render_target): Changed as forward declaration and moved
-       actual definition to be video driver specific.
-       (grub_video_adapter.blit_bitmap): Added blitting operator.
-       (grub_video_adapter.blit_render_target): Likewise.
-       (grub_video_blit_bitmap): Likewise.
-       (grub_video_blit_render_target): Likewise.
+       Make Makefile.util.def independent of platform.
 
-       * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
-       driver specific render target definition.
-       (grub_video_vbe_map_rgba): Added driver internal helper.
-       (grub_video_vbe_unmap_color): Updated to use
-       grub_video_i386_vbeblit_info.
-       (grub_video_vbe_get_video_ptr): Likewise.
+2015-03-27  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>
 
-       * include/grub/i386/pc/vbeblit.h
-       (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
-       grub_video_i386_vbeblit_info.
-       (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
-       (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
-       (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
-       (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
-       (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
-       (grub_video_i386_vbeblit_index_index): Likewise.
-       (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
-       (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
-       (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
-       (grub_video_i386_vbeblit_blend): Added generic blitter for blend
-       operator.
-       (grub_video_i386_vbeblit_replace): Added generic blitter for replace
-       operator.
+       util/mkimage: Use stable timestamp when generating binaries.
 
-       * video/i386/pc/vbeblit.c: Updated to reflect changes on
-       include/grub/i386/pc/vbeblit.h.
+2015-03-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
-       Updated to use grub_video_i386_vbeblit_info.
-       (grub_video_i386_vbefill_R8G8B8): Likewise.
-       (grub_video_i386_vbefill_index): Likewise.
-       (grub_video_i386_vbefill): Added generic filler.
+       modinfo.sh.in: Add missing config variables.
 
-       * video/i386/pc/vbefill.c: Updated to reflect changes on
-       include/grub/i386/pc/vbefill.h.
+       Makefile.core.def: Remove obsolete LDADD_KERNEL
 
-       * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
-       grub_video_i386_vbeblit_info.
-       (grub_video_vbe_unmap_color): Likewise.
-       (grub_video_vbe_blit_glyph): Likewise.
-       (grub_video_vbe_scroll): Likewise.
-       (grub_video_vbe_draw_pixel): Removed function.
-       (grub_video_vbe_get_pixel): Likewise.
-       (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
-       updated code to use it.
-       (common_blitter): Added common blitter for render target and bitmap.
-       (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
-       (grub_video_vbe_blit_render_target): Likewise.
+       arp, icmp: Fix handling in case of oversized or invalid packets.
+       This restrict ARP handling to MAC and IP addresses but in practice we need
+       only this case anyway and other cases are very rar if exist at all. It makes
+       code much simpler and less error-prone.
 
-2006-07-30  Johan Rydberg  <jrydberg@gnu.org>
+2015-03-23  Colin Watson  <cjwatson@ubuntu.com>
 
-       * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
-       is in text mode if there is no console control protocol instance
-       available.
+       hostfs: Drop unnecessary feature test macros
+       _BSD_SOURCE was added to allow the use of DT_DIR, but that was removed
+       in e768b77068a0b030a07576852bd0f121c9a077eb.  While adding
+       _DEFAULT_SOURCE as well works around problems with current glibc,
+       neither is in fact needed nowadays.
 
-2006-07-29  Vesa Jaaskelainen  <chaac@nic.fi>
+2015-03-20  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * include/grub/video.h: Code cleanup.
+       compiler-rt-emu: Add missing file.
 
-       * include/grub/i386/pc/vbe.h: Likewise.
+       emunet: Fix init error checking.
+       Otherwise emunet doesn't expose any cards.
 
-       * video/i386/pc/vbe.c: Likewise.
+       fddboot_test: Add -no-pad to xorriso.
 
-       * video/i386/pc/vbeblit.c: Likewise.
+       grub-mkrescue: pass all unrecognized options unchanged to xorriso.
 
-       * video/i386/pc/vbefill.c: Likewise.
+       cacheinfo: Add missing license information.
 
-       * video/video.c: Likewise.  Also added more comments.
+2015-03-19  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2006-07-29  Vesa Jaaskelainen  <chaac@nic.fi>
+       grub-fs-tester: add LVM RAID1 support
+       LVM miscalculates bitmap size with small extent, so start with 16K as
+       for other RAID types.
 
-       * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
-       (struct grub_biosdisk_dap): Likewise.
+       Until version 2.02.103 LVM counts metadata segments twice when checking
+       available space, reduce segment count by one to account for this bug.
 
-       * include/grub/i386/pc/biosdisk.h: ... to here.  Also corrected
-       linkage settings for all functions.
+2015-03-19  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2006-07-12  Marco Gerards  <marco@gnu.org>
+       core: add LVM RAID1 support
+       Closes 44534.
 
-       * configure.ac (--enable-mm-debug): Fix typo.
+2015-03-16  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * genkernsyms.sh.in: Use proper quoting for `CC'.
+       grub-fs-tester: explicitly set segment type for LVM mirror
+       LVM mirror defaults to RAID1 today and can be different on different
+       systems as set in lvm.conf.
 
-2006-07-02  Jeroen Dekkers  <jeroen@dekkers.cx>
-
-       * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
-       (normal_mod_ASFLAGS): Remove "-m32".
+2015-03-15  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2006-06-14  Yoshinori K. Okuji  <okuji@enbug.org>
+       grub-fs-tester: better estimation of filesystem time for LVM/RAID
+       Write activity with LVM/RAID can happen after filesystem is unmounted.
+       In my testing modification time of loop files was 15 - 20 seconds
+       after unmount.  So use time as close to unmount as possible as
+       reference instead.
 
-       * util/misc.c: Include config.h.
-       [!HAVE_MEMALIGN]: Do not include malloc.h.
-       (grub_memalign): Use posix_memalign, if present. Then, use
-       memalign, if present. Otherwise, emit an error.
+2015-03-06  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * util/grub-emu.c: Do not include malloc.h.
+       hfsplus: Fix potential access to uninited memory on invalid FS
 
-       * include/grub/util/misc.h: Include unistd.h. This is required for
-       FreeBSD, because off_t is defined in unistd.h. Reported by Harley
-       D. Eades III <hde@foobar-qux.org>.
+2015-03-06  Jon McCune  <jonmccune@google.com>
 
-       * configure.ac (AC_GNU_SOURCE): Added.
-       (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
-       type.
+       autogen.sh: Allow overriding the python to be used by setting $PYTHON.
+       Some installations have several python versions installed. Allow user
+       to choose which one to use by setting $PYTHON.
 
-2006-06-09  Yoshinori K. Okuji  <okuji@enbug.org>
+2015-03-05  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
-       ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
+       update gnulib/argp-help.c to fix garbage in grub-mknetdir --help output
+       argp_help attempts to translate empty string, which results in printing
+       meta information about translation, like in
 
-2006-06-07  Jeroen Dekkers  <jeroen@dekkers.cx>
+       bor@opensuse:~/build/grub> grub2-mknetdir --help
+       Использование: grub2-mknetdir [ПАРАМЕТР…]
+       Project-Id-Version: grub 2.02-pre2
+       Report-Msgid-Bugs-To: bug-grub@gnu.org
+       ...
 
-       * include/grub/types.h (grub_host_addr_t): Rename to
-       grub_target_addr_t.
-       (grub_host_off_t): Rename to grub_target_off_t.
-       (grub_host_size_t): Rename to grub_target_size_t.
-       (grub_host_ssize_t): Rename to grub_target_ssize_t.
-       Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
+       Update gnulib/argp-help.c to the current version which fixes this
+       (commit b9bfe78424b871f5b92e5ee9e7d21ef951a6801d).
 
-       * include/grub/kernel.h (struct grub_module_header): Change type
-       of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
-       (grub_module_info): Likewise.
+2015-03-05  Andrey Borzenkov  <arvidjaar@gmail.com>
 
-2006-06-05  Yoshinori K. Okuji  <okuji@enbug.org>
+       update m4/extern-inline.m4 to upstream version to fix compilation on FreeBSD
+       In file included from util/grub-mkimage.c:54:0:
+       ./grub-core/gnulib/argp.h:627:49: error: '__sbistype' is static but
+       used in inline function '_option_is_short' which is not static
+       [-Werror] cc1: all warnings being treated as errors gmake[2]: ***
+       [util/grub_mkimage-grub-mkimage.o] Error 1
 
-       * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
-       of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
-       Velazquez <jesus.velazquez@gmail.com>.
+       Update m4/extern-inline.m4 to current upstream gnulib version that
+       contains fix for this (commit b9bfe78424b871f5b92e5ee9e7d21ef951a6801d).
 
-2006-06-05  Yoshinori K. Okuji  <okuji@enbug.org>
+       Reported-By: Beeblebrox <zaphod@berentweb.com>
 
-       Count partitions from 1 instead of 0 in the string representation
-       of partitions. Still use 0-based internally.
+2015-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
-       (sun_partition_map_iterate): Use grub_partition_t instead of
-       struct grub_partition *. Cast DESC->START_CYLINDER to
-       grub_uint64_t after converting the endian.
-       (sun_partition_map_probe): Subtract 1 for PARTNUM.
-       (sun_partition_map_get_name): Add 1 to P->INDEX.
+       syslinux_parse: Fix the case of unknown localboot.
+       Reported by: Jordan Uggla
 
-       * partmap/pc.c (grub_partition_parse): Subtract 1 for
-       PCDATA->DOS_PART.
-       (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
+       configure.ac: Fix the name of pciaccess header.
 
-       * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
-       zero instead of one.
-       (gpt_partition_map_probe): Subtract 1 for PARTNUM.
-       (gpt_partition_map_get_name): Add 1 into P->INDEX.
+       Fix canonicalize_file_name clash.
+       canonicalize_file_name clashed with gnulib function. Additionally
+       it was declared in 2 places: emu/misc.h and util/misc.h. Added
+       grub_ prefix and removed second declaration.
 
-       * partmap/apple.c (apple_partition_map_iterate): Change the type
-       of POS to unsigned.
-       (apple_partition_map_probe): Subtract 1 for PARTNUM.
-       (apple_partition_map_get_name): Add 1 into P->INDEX.
+2015-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * partmap/amiga.c (amiga_partition_map_iterate): Change the type
-       of POS to unsigned.
-       (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
-       calculate the offset of a partition.
-       (amiga_partition_map_probe): Subtract 1 for PARTNUM.
-       (amiga_partition_map_get_name): Add 1 into P->INDEX.
+       Remove emu libusb support.
+       It's disabled by default and has been broken for a long time.
+       As nobody is interested in fixing and maintaining it, remove it.
 
-       * partmap/acorn.c (acorn_partition_map_find): Change the type of
-       SECTOR to grub_disk_addr_t.
-       (acorn_partition_map_iterate): Likewise.
-       (acorn_partition_map_probe): Subtract 1 for PARTNUM.
-       Change the type of SECTOR to grub_disk_addr_t. Declare P on the
-       top.
-       (acorn_partition_map_get_name): Add 1 into P->INDEX.
-
-       * kern/i386/pc/init.c (make_install_device): Add 1 into
-       GRUB_INSTALL_DOS_PART.
-
-       * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
-       conditional.
-
-2006-06-04  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       Clean up the code to support 64-bit addressing in disks and
-       files. This change is not enough for filesystems yet.
-
-       * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
-       type of "start" to grub_uint64_t.
-       (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
-       grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
-       save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
-       convert addresses.
-
-       * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
-       to grub_disk_addr_t.
-
-       * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
-       string.
-
-       * partmap/pc.c (pc_partition_map_iterate): Likewise.
-
-       * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
-       to char *.
-
-       * normal/script.c (grub_script_parse): Remove unused MEMFREE.
-
-       * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
-
-       * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
-
-       * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
-       to grub_off_t, to detect an error from grub_file_seek.
-       (grub_multiboot_load_elf32): Likewise.
-
-       * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
-       maximum unsigned long value when an overflow is detected.
-       (grub_strtoull): New function.
-       (grub_divmod64): Likewise.
-       (grub_lltoa): use grub_divmod64.
-
-       * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
-       grub_disk_addr_t.
-       (grub_fs_blocklist_open): Increase P if P is not NULL to advance
-       the pointer to next character. Use grub_strtoull instead of
-       grub_strtoul.
-       (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
-       SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
-       respectively.
-
-       * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
-       return value is signed.
-       (grub_file_seek): Change the type of OLD to grub_off_t. Do not
-       test if OFFSET is less than zero, as OFFSET is unsigned now.
-
-       * kern/disk.c (struct grub_disk_cache): Change the type of
-       "sector" to grub_disk_addr_t.
-       (grub_disk_cache_get_index): Change the type of SECTOR to
-       grub_disk_addr_t. Calculate the hash with SECTOR casted to
-       unsigned after shifting.
-       (grub_disk_cache_invalidate): Change the type of SECTOR to
-       grub_disk_addr_t.
-       (grub_disk_cache_unlock): Likewise.
-       (grub_disk_cache_store): Likewise.
-       (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
-       START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
-       grub_disk_addr_t and grub_uint64_t, respectively.
-       (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
-       body, as the value of OFFSET is tweaked by
-       grub_disk_check_range. Change the types of START_SECTOR, LEN and
-       POS to grub_disk_addr_t, grub_size_t and grub_size_t,
-       respectively.
-       (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
-       body, as the value of OFFSET is tweaked by
-       grub_disk_check_range. Change the types of LEN and N to
-       grub_size_t.
-
-       * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
-       and "saved_offset" to grub_off_t.
-       (test_header): Cast BUF to char *.
-       (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
-       to char *.
-       (grub_gzio_read): Change the types of OFFSET and SIZE to
-       grub_off_t and grub_size_t, respectively.
-
-       * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
-       Removed.
-       (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
-       (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
-       (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
-       (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
-       (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
-
-       * include/grub/types.h (grub_off_t): Unconditionally set to
-       grub_uint64_t.
-       (grub_disk_addr_t): Changed to grub_uint64_t.
-
-       * include/grub/partition.h (struct grub_partition): Change the
-       types of "start", "len" and "offset" to grub_disk_addr_t,
-       grub_uint64_t and grub_disk_addr_t, respectively.
-       (grub_partition_get_start): Return grub_disk_addr_t.
-       (grub_partition_get_len): Return grub_uint64_t.
-
-       * include/grub/misc.h (grub_strtoull): New prototype.
-       (grub_divmod64): Likewise.
-
-       * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
-       of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
-       grub_off_t, respectively.
-       All callers and references changed.
-
-       * include/grub/fs.h (struct grub_fs): Change the type of LEN to
-       grub_size_t in "read".
-       All callers and references changed.
-
-       * include/grub/file.h (struct grub_file): Change the types of
-       "offset" and "size" to grub_off_t and grub_off_t,
-       respectively. Change the type of SECTOR to grub_disk_addr_t in
-       "read_hook".
-       (grub_file_read): Change the type of LEN to grub_size_t.
-       (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
-       grub_off_t.
-       (grub_file_size): Return grub_off_t.
-       (grub_file_tell): Likewise.
-       All callers and references changed.
-
-       * include/grub/disk.h (struct grub_disk_dev): Change the types of
-       SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
-       "write".
-       (struct grub_disk): Change the type of "total_sectors" to
-       grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
-       "read_hook".
-       (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
-       grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
-       (grub_disk_write): Likewise.
-       All callers and references changed.
-
-       * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
-       char * for grub_strncmp to silence gcc.
-       (grub_iso9660_mount): Likewise.
-       (grub_iso9660_mount): Likewise.
-       (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
-       return statement.
-       (grub_iso9660_iterate_dir): Likewise.
-       (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
-
-       * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
-       LEN to grub_disk_addr_t and grub_size_t, respectively.
-
-       * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
-
-       * fs/jfs.c (grub_jfs_read_file): Likewise.
-
-       * fs/minix.c (grub_jfs_read_file): Likewise.
-
-       * fs/sfs.c (grub_jfs_read_file): Likewise.
-
-       * fs/ufs.c (grub_jfs_read_file): Likewise.
-
-       * fs/xfs.c (grub_jfs_read_file): Likewise.
-
-       * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
-       and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
-       respectively.
-
-       * fs/ext2.c (grub_ext2_read_block): When an error happens, set
-       BLKNR to -1 instead of returning GRUB_ERRNO.
-       (grub_ext2_read_file): Change the types of SECTOR and
-       LEN to grub_disk_addr_t and grub_size_t, respectively.
-
-       * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
-       LEN to grub_disk_addr_t and grub_size_t, respectively.
-
-       * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
-       grub_file_read.
-
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
-       string. Do not cast SECTOR explicitly.
-
-       * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
-       TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
-       (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
-       grub_disk_addr_t and grub_size_t, respectively. If the sector is
-       over 2TB and LBA mode is not supported, raise an error.
-       (get_safe_sectors): New function.
-       (grub_biosdisk_read): Use get_safe_sectors.
-       (grub_biosdisk_write): Likewise.
+       configure.ac: Remove unused COND_clang
 
-       * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
-       (grub_efidisk_write): Likewise.
+       Remove libgcc dependency.
+       libgcc for boot environment isn't always present and compatible.
+       libgcc is often absent if endianness or bit-size at boot is different
+       from running OS.
+       libgcc may use optimised opcodes that aren't available on boot time.
+       So instead of relying on libgcc shipped with the compiler, supply
+       the functions in GRUB directly.
+       Tests are present to ensure that those replacement functions behave the
+       way compiler expects them to.
 
-       * disk/loopback.c (delete_loopback): Cosmetic changes.
-       (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
-       correctly.
-       (grub_loopback_open): Likewise.
-       (grub_loopback_read): Likewise. Also, change the type of POS to
-       grub_off_t, and fix the usage of grub_memset.
+       types.h: Use __builtin_bswap* with clang.
+       clang pretends to be GCC 4.2 but we use __builtin_bswap* only with GCC 4.3+.
+       clang support __builtin_bswap*, so use it.
 
-       * commands/i386/pc/play.c: Include grub/machine/time.h.
+       configure.ac: Set $CPPFLAGS when checking for no_app_regs.
+       Fixes compilation for sparc64 with clang.
 
-       * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
-       print FILE->SIZE.
+       Don't continue to query block-size if disk doesn't have it.
+       Stops poluting screen with a lot of "block-size: exception -21".
 
-       * commands/configfile.c: Include grub/env.h.
+2015-02-28  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
-       GRUB_ERRNO directly instead. Change the type of POS to
-       grub_off_t. Follow the coding standard.
+       grub-probe: free temporary variable
 
-       * commands/blocklist.c: Include grub/partition.h.
-       (grub_cmd_blocklist): Return an error if the underlying device is
-       not a disk. Take the starting sector of a partition into account,
-       if a partition is used.
+2015-02-28  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
-       a length field.
-       (lba_mode): Support 64-bit addresses.
-       (chs_mode): Likewise.
-       (copy_buffer): Adapted to the new offsets of a length field and a
-       segment field.
-       (blocklist_default_start): Allocate 64-bit space.
+       exclude.pot: Add new technical strings
 
-       * boot/i386/pc/boot.S (force_lba): Removed.
-       (boot_drive): Moved to under KERNEL_SECTOR.
-       (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
-       space.
-       (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
-       is useless.
-       (lba_mode): Refactored to support a 64-bit address. More size
-       optimization.
-       (setup_sectors): Likewise.
+       grub-probe: Mark a "[default=]" for translation.
 
-2006-06-04  Yoshinori K. Okuji  <okuji@enbug.org>
+       grub-shell: Add missing --locale-directory.
+       Fixes the language tests is no make install was done.
 
-       * DISTLIST: Added include/grub/i386/linux.h. Removed
-       include/grub/i386/pc/linux.h
+       ntfs_test: Skip is setfattr is unavailable.
 
-       * configure.ac (AC_INIT): Bumped to 1.94.
+2015-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * config.guess: Updated from gnulib.
-       * config.sub: Likewise.
-       * install-sh: Likewise.
-       * mkinstalldirs: Likewise.
+       emu/cache: Change declaration of __clear_cache to match builtin declaration.
+       Fixes compile of arm64-emu.
 
-2006-06-02  Yoshinori K. Okuji  <okuji@enbug.org>
+       arm/dl: Fix handling of nonstandard relocation sizes
 
-       * conf/common.rmk (grub_modules_init.lst): Depended on
-       grub_emu_SOURCES, excluding grub_emu_init.c, instead of
-       MODSRCFILES.
+       gzio: Optimize by removing division.
 
-       * genmk.rb (PModule::rule): Reverted the previous change.
+       raid6: Optimize by removing division.
 
-2006-06-02  Yoshinori K. Okuji  <okuji@enbug.org>
+       dmraid_nvidia: Fix division by 0 and missing byte-swap.
 
-       * conf/common.rmk (grub_modules_init.lst): Depends on
-       $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
-       that the target does not exist before producing.
-       (grub_modules_init.h): Remove the target before generating.
-       (grub_emu_init.c): Likewise.
+       crypto: restrict cipher block size to power of 2.
+       All current ciphers have blocks which are power of 2 and it's
+       unlikely to change. Other block length would be tricky to handle anyway.
+       This restriction allows avoiding extra divisions.
 
-       * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
+       jpeg: Optimise by replacing division with shifts.
 
-2006-05-31  Jeroen Dekkers  <jeroen@dekkers.cx>
+       png: Optimize by avoiding divisions.
 
-       * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
-       for the target-specific tests. Make sure that we also have the
-       up-to-date target variables for those tests.
+       Add missing lib/division.c
 
-2006-05-31  Yoshinori K. Okuji  <okuji@enbug.org>
+       fbblit: Optimize by replacing division with additions and shifts.
 
-       * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
-       (PModule::rule): Likewise.
+       bitmap_scale: Optimize by moving division out of the loop.
 
-2006-05-31  Yoshinori K. Okuji  <okuji@enbug.org>
+       minilzo: Skip parts tha we don't need.
 
-       * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
-       TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
-       target-specific flags should be prefixed.
-       (PModule::rule): Likewise.
+2015-02-23  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2006-05-30  Yoshinori K. Okuji  <okuji@enbug.org>
+       mips: Fix soft-float handling.
+       Add -msoft-float alongside clang arguments to specify ABI.
+       Specify ABI in asm files explicitly.
+       This trigers asm warning due to gcc failing to propagate -msoft-float
+       but it's tolerable.
 
-       * configure.ac (CMP): Check if cmp is available explicitly.
+       Add missing grub_ prefix in memcpy invocation
 
-2006-05-29  Yoshinori K. Okuji  <okuji@enbug.org>
+       Allow clang compilation for thumb with -mthumb-interwork.
+       clang already uses -mthumb-interwork behaviour even thout it doesn't
+       support the option.
 
-       * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
-       (target_cpu): New variable.
-       (pkglibdir): Use target_cpu instead of host_cpu.
+       arm64: Fix compilation failure.
+       Don't supply +nosimd to asm files.
+       Otherwise +nosimd coming from flags forbids some of instructions
+       used in cache_flush.
 
-       * util/i386/pc/grub-install.in (host_cpu): Removed.
-       (target_cpu): New variable.
-       (pkglibdir): Use target_cpu instead of host_cpu.
+       Supply signed division to fix ARM compilation.
+       Previously we supplied only unsigned divisions on platforms that need software
+       division.
+       Yet compiler may itself use a signed division. A typical example would be a
+       difference between 2 pointers which involves division by object size.
 
-       * util/genmoddep.c: Removed.
+2015-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
-       instead of GRUB_HOST_SIZEOF_VOID_P.
-       * kern/dl.c: Likewise.
+       acpi: Fix unused function warning.
 
-       * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
-       ...
-       (GRUB_TARGET_SIZEOF_VOID_P): ... this.
-       (GRUB_HOST_SIZEOF_LONG): Renamed to ...
-       (GRUB_TARGET_SIZEOF_LONG): ... this.
-       (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
-       (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
-       * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
-       to ...
-       (GRUB_TARGET_SIZEOF_VOID_P): ... this.
-       (GRUB_HOST_SIZEOF_LONG): Renamed to ...
-       (GRUB_TARGET_SIZEOF_LONG): ... this.
-       (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
-       (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
-       * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
-       to ...
-       (GRUB_TARGET_SIZEOF_VOID_P): ... this.
-       (GRUB_HOST_SIZEOF_LONG): Renamed to ...
-       (GRUB_TARGET_SIZEOF_LONG): ... this.
-       (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
-       (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
-
-       * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
-       GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
-       [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
-       instead of GRUB_HOST_SIZEOF_LONG.
-       [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
-       GRUB_HOST_WORDS_BIGENDIAN to define or undefine
-       GRUB_CPU_WORDS_BIGENDIAN.
-       Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
-       define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
-       grub_host_ssize_t.
-
-       * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
-       (genmoddep_SOURCES): Likewise.
-       * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
-       (genmoddep_SOURCES): Likewise.
-       * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
-       (genmoddep_SOURCES): Likewise.
-       * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
-       Likewise.
-       (genmoddep_SOURCES): Likewise.
-
-       * genmoddep.awk: New file.
-
-       * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
-       TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
-       CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
-       (PModule::rule): Likewise.
-       (Program::rule): Likewise.
-       (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
-       BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
-       respectively.
-
-       * configure.ac: Rewritten intensively to use host and target
-       instead of build and host, respectively.
-
-       * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
-       (host_cpu): Removed.
-       (target_cpu): New variable.
-       (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
-       (BUILD_CC): Removed.
-       (BUILD_CFLAGS): Likewise.
-       (BUILD_CPPFLAGS): Likewise.
-       (TARGET_CC): New variable.
-       (TARGET_CFLAGS): Likewise.
-       (TARGET_CPPFLAGS): Likewise.
-       (TARGET_LDFLAGS): Likewise.
-       (AWK): Likewise.
-       (include): Use target_cpu instead of host_cpu.
-       (moddep.lst:): Use genmoddep.awk instead of genmoddep.
-
-       * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
-
-2006-05-29  Vesa Jaaskelainen  <chaac@nic.fi>
-
-       * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
-       'exec_to_evaluate'.  Renamed field 'true' to 'exec_on_true'.  Renamed
-       field 'false' to 'exec_on_false'.
-       (grub_script_create_cmdif): Renamed argument names to reflect above
-       changes.
-
-       * normal/execute.c (grub_script_execute_cmdif): Likewise.
-
-       * normal/script.c (grub_script_create_cmdif): Likewise.
-
-2006-05-28  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
-       top.
-       (grub_hfsplus_btree_recptr): Likewise.
-       (grub_hfsplus_find_block): Do not take RETRY any longer. Use
-       FILEBLOCK both to pass a block number and store next block
-       number.
-       (grub_hfsplus_read_block): Rewritten heavily to support an extent
-       overflow file correctly. Specify errors appropriately, because
-       fshelp expects that GRUB_ERRNO is set when fails. Reuse
-       grub_hfsplus_btree_recptr to get the pointer to a found key.
-       (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
-       is found.
-
-       * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
-       linux.mod.
-       (_linux_mod_SOURCES): New variable.
-       (_linux_mod_CFLAGS): Likewise.
-       (_linux_mod_LDFLAGS): Likewise.
-       (linux_mod_SOURCES): Likewise.
-       (linux_mod_CFLAGS): Likewise.
-       (linux_mod_LDFLAGS): Likewise.
-
-       * DISTLIST: Added loader/i386/efi/linux.c,
-       loader/i386/efi/linux_normal.c and
-       include/grub/i386/efi/loader.h.
-
-       * loader/i386/efi/linux.c: New file.
-       * loader/i386/efi/linux_normal.c: Likewise.
-       * include/grub/i386/efi/loader.h: Likewise.
-
-2006-05-27  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * commands/blocklist.c: New file.
-
-       * DISTLIST: Added commands/blocklist.c.
-
-       * term/efi/console.c (grub_console_highlight_color): Use a lighter
-       color for the background, and a darker color for the foreground.
-       (grub_console_checkkey): Return READ_KEY.
-       (grub_console_cls): Set the background to
-       GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
-
-       * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
-
-       * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
-       the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
-
-       * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
-       prototype.
-
-       * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
-       BG. The spec is wrong again.
-
-       * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
-       prototype.
-       [GRUB_UTIL] (grub_blocklist_fini): Likewise.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Added
-       commands/blocklist.c.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-
-       * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
-       (blocklist_mod_SOURCES): New variable.
-       (blocklist_mod_CFLAGS): Likewise.
-       (blocklist_mod_LDFLAGS): Likewise.
-
-2006-05-20  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
-       duplication.
-       (lba_mode): Use %eax more intensively to reduce the code size.
-
-2006-05-20  Marco Gerards  <marco@gnu.org>
-
-       * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
-
-       * normal/parser.y (commandblock): Defined as <cmd>.  A subroutine
-       for `menuentry'.
-       (script): Accept leading newlines.
-       (newlines): New rule to describe 0 or more newlines.
-       (commands): Accept `command' with trailing newline.  Fixed the
-       order in which arguments were passed to `grub_script_add_cmd'.
-       Accept commands separated by newlines.
-       (function): Changed to accept newlines.
-       (menuentry) Rewritten.
-
-       * normal/script.c (grub_script_create_cmdmenu): Add new entries in
-       front of the list, instead of to the end.
-
-2006-05-19  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * util/i386/pc/grub-install.in (bindir): New variable.
-       (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
-       Shaver <lbgwjl@gmail.com>.
-
-2006-05-14  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
-       grub/machine/linux.h
-       * loader/i386/pc/linux.c: Likewise.
-
-       * include/grub/i386/pc/linux.h: Moved to ...
-       * include/grub/i386/linux.h: ... here.
-
-       * include/grub/i386/linux.h (struct linux_kernel_params): New
-       struct.
-
-2006-05-09  Vesa Jaaskelainen  <chaac@nic.fi>
-
-       * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
-       checking.
-       (grub_video_vbe_blit_glyph): Likewise.
-       (grub_video_vbe_blit_bitmap): Likewise.
-       (grub_video_vbe_blit_render_target): Likewise.
-
-2006-05-09  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * configure.ac (--with-platform): Properly quote the square
-       brackets.
-
-2006-05-08  Marco Gerards  <marco@gnu.org>
-
-       * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
-       this...
-       (kernel_elf_HEADERS): ...to this.  Updated all users.
-       (grubof_symlist.c): Renamed from this...
-       (kernel_elf_symlist.c): ...to this.  Updated all users.
-       (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
-       (grubof_SOURCES): Renamed from this...
-       (kernel_elf_SOURCES): ...to this.
-       (grubof_HEADERS): Renamed from this...
-       (kernel_elf_HEADERS): ...to this.
-       (grubof_CFLAGS): Renamed from this...
-       (kernel_elf_CFLAGS): ...to this.
-       (grubof_ASFLAGS): Renamed from this...
-       (kernel_elf_ASFLAGS): ...to this.
-       (grubof_LDFLAGS): Renamed from this...
-       (kernel_elf_LDFLAGS): ...to this.
-
-       * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
-       this...
-       (kernel_elf_HEADERS): ...to this.  Updated all users.
-       (grubof_symlist.c): Renamed from this...
-       (kernel_elf_symlist.c): ...to this.  Updated all users.
-       (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
-       (grubof_SOURCES): Renamed from this...
-       (kernel_elf_SOURCES): ...to this.
-       (grubof_HEADERS): Renamed from this...
-       (kernel_elf_HEADERS): ...to this.
-       (grubof_CFLAGS): Renamed from this...
-       (kernel_elf_CFLAGS): ...to this.
-       (grubof_ASFLAGS): Renamed from this...
-       (kernel_elf_ASFLAGS): ...to this.
-       (grubof_LDFLAGS): Renamed from this...
-       (kernel_elf_LDFLAGS): ...to this.
-
-       * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
-       `kernel.elf' instead of `grubof'.
-
-2006-05-08  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       Add --with-platform to configure. Use pkglibdir instead of
-       pkgdatadir. This is reported by Roger Leigh.
-
-       * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
-       (host_vendor): Likewise.
-       (host_os): Likewise.
-       (pkgdatadir): Likewise.
-       (platform): New variable.
-       (pkglibdir): Likewise.
-       Use PKGLIBDIR instead of PKGDATADIR.
-
-       * util/i386/pc/grub-install.in (datadir): Removed.
-       (host_vendor): Likewise.
-       (host_os): Likewise.
-       (pkgdatadir): Likewise.
-       (platform): New variable.
-       (pkglibdir): Likewise.
-       Use PKGLIBDIR instead of PKGDATADIR.
-
-       * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
-       instead of GRUB_DATADIR.
-       (main): Likewise.
-       * util/i386/pc/grub-mkimage.c (usage): Likewise.
-       (main): Likewise.
-       * util/i386/efi/grub-mkimage.c (usage): Likewise.
-       (main): Likewise.
-
-       * configure.ac (--with-platform): New option.
-       Use PLATFORM instead of HOST_VENDOR to specify a platform.
-
-       * Makefile.in: Include a makefile based on PLATFORM instead of
-       HOST_VENDOR.
-       (pkgdatadir): Not appended by the machine type.
-       (pkglibdir): Appended by the machine type.
-       (host_vendor): Removed.
-       (platform): New variable.
-       (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
-       (install-local): Use PKGLIBDIR instead of PKGDATADIR.
-       (uninstall): Likewise.
-
-2006-05-07  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       Use the environment context in the menu. Remove the commands
-       "default" and "timeout", and use variables instead.
-
-       * normal/menu.c: Include grub/env.h.
-       (print_entry): Cast TITLE to silence gcc.
-       (get_timeout): New function.
-       (set_timeout): Likewise.
-       (get_entry_number): Likewise.
-       (run_menu): Use a default entry, a fallback entry and a timeout
-       in the environment variables "default", "fallback" and
-       "timeout". Also, tweak the default entry if it is not within the
-       current menu entries.
-       (grub_menu_run): Use a fallback entry in the environment variable
-       "fallback".
-
-       * normal/main.c (read_config_file): Do not initialize
-       NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
-       NEWMENU->TIMEOUT.
-       (grub_normal_execute): Use a data slot to store the menu.
-
-       * include/grub/normal.h (struct grub_menu): Removed default_entry,
-       fallback_entry and timeout.
-       (struct grub_menu_list): Removed.
-       (grub_menu_list_t): Likewise.
-       (struct grub_context): Likewise.
-       (grub_context_t): Likewise.
-       (grub_context_get): Likewise.
-       (grub_context_get_current_menu): Likewise.
-       (grub_context_push_menu): Likewise.
-       (grub_context_pop_menu): Likewise.
-       (grub_default_init): Likewise.
-       (grub_default_fini): Likewise.
-       (grub_timeout_init): Likewise.
-       (grub_timeout_fini): Likewise.
-
-       * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
-       and timeout.mod.
-       (normal_mod_SOURCES): Removed normal/context.c.
-
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
-       commands/default.c, commands/timeout.c and normal/context.c.
-       (normal_mod_SOURCES): Removed normal/context.c.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
-       commands/timeout.c and normal/context.c.
-       (normal_mod_SOURCES): Removed normal/context.c.
-
-       * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
-       commands/default.c, commands/timeout.c and normal/context.c.
-       (normal_mod_SOURCES): Removed normal/context.c.
-
-       * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
-       timeout.mod.
-       (default_mod_SOURCES): Removed.
-       (default_mod_CFLAGS): Likewise.
-       (default_mod_LDFLAGS): Likewise.
-       (timeout_mod_SOURCES): Removed.
-       (timeout_mod_CFLAGS): Likewise.
-       (timeout_mod_LDFLAGS): Likewise.
-
-       * DISTLIST: Removed commands/default.c, commands/timeout.c and
-       normal/context.c.
-
-       * commands/default.c: Removed.
-       * commands/timeout.c: Likewise.
-       * normal/context.c: Likewise.
-
-2006-05-07  Vesa Jaaskelainen  <chaac@nic.fi>
-
-       * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
-
-2006-05-02  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
-       "next" to "prev" for readability.
-       (struct grub_env_sorted_var): New struct.
-       (grub_env_context): Renamed to ...
-       (initial_context): ... this.
-       (grub_env_var_context): Renamed to ...
-       (current_context): ... this.
-       (grub_env_find): Look only at CURRENT_CONTEXT.
-       (grub_env_context_open): Rewritten to copy exported variables from
-       previous context.
-       (grub_env_context_close): Rewritten according to the new
-       scheme. Also, add an assertion to prevent the initial context from
-       removed.
-       (grub_env_insert): Removed the code for the sorted list.
-       (grub_env_remove): Likewise.
-       (grub_env_export): Simply mark the variable with
-       GRUB_ENV_VAR_GLOBAL.
-       (grub_env_set): A cosmetic change for naming consistency.
-       (grub_env_get): Likewise.
-       (grub_env_unset): Likewise.
-       (grub_env_iterate): Rewritten to sort variables within this
-       function.
-       (grub_register_variable_hook): Fixed for naming consistency. Call
-       grub_env_find again, only if NAME is not found at the first time.
-       (mangle_data_slot_name): New function.
-       (grub_env_set_data_slot): Likewise.
-       (grub_env_get_data_slot): Likewise.
-       (grub_env_unset_data_slot): Likewise.
-
-       * include/grub/env.h (grub_env_var_type): New enum.
-       (GRUB_ENV_VAR_LOCAL): New constant.
-       (GRUB_ENV_VAR_GLOBAL): Likewise.
-       (GRUB_ENV_VAR_DATA): Likewise.
-       (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
-       "type".
-       (grub_env_set): Replace VAR with NAME for consistency.
-       (grub_register_variable_hook): Likewise.
-       (grub_env_export): Specify the name of the argument.
-       (grub_env_set_data_slot): New prototype.
-       (grub_env_get_data_slot): Likewise.
-       (grub_env_unset_data_slot): Likewise.
-
-2006-04-30  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       Extend the loader so that GRUB can accept a loader which comes
-       back to GRUB when a loaded image exits. Also, this change adds
-       support for a chainloader on EFI.
-
-       * term/efi/console.c: Include grub/misc.h.
-       (grub_console_checkkey): Display a scan code on the top for
-       debugging. This will be removed once the EFI port gets stable.
-       Correct the scan code mapping.
-
-       * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
-       allocate memory from larger regions, in order to reduce the number
-       of allocated regions. Otherwise, the MacOSX loader panics.
-       (filter_memory_map): Avoid less than 1MB for compatibility with
-       other loaders.
-       (add_memory_regions): Allocate from the tail of a region, if
-       possible, to avoid allocating a region near to 1MB, for the MacOSX
-       loader.
-
-       * kern/efi/init.c (grub_efi_set_prefix): Specify
-       GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
-
-       * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
-       argument IMAGE_HANDLE and specify it to get a loaded image.
-       (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
-       grub_efi_get_loaded_image.
-       (grub_efi_get_filename): Divide the length by the size of
-       grub_efi_char16_t.
-       (grub_efi_get_device_path): New function.
-       (grub_efi_print_device_path): Print End Device Path nodes. Divide
-       the length by the size of grub_efi_char16_t for a file path device
-       path node.
-
-       * kern/loader.c (grub_loader_noreturn): New variable.
-       (grub_loader_set): Accept a new argument NORETURN. Set
-       GRUB_LOADER_NORETURN to NORETURN.
-       All callers changed.
-       (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
-       grub_machine_fini.
-
-       * include/grub/efi/efi.h (grub_efi_get_device_path): New
-       prototype.
-       (grub_efi_get_loaded_image): Take an argument to specify an image
-       handle.
-
-       * include/grub/loader.h (grub_loader_set): Added one more argument
-       NORETURN.
-
-       * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
-       instead of grub_efi_open_protocol.
-       (grub_efidisk_get_device_name): Likewise.
-       (grub_efidisk_close): Print a newline.
-       (grub_efidisk_get_device_handle): Fixed to use
-       GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
-       GRUB_EFI_DEVICE_PATH_TYPE.
-
-       * disk/efi/efidisk.c (device_path_guid): Moved to ...
-       * kern/efi/efi.c (device_path_guid): ... here.
-
-       * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
-       chain.mod.
-       (kernel_mod_HEADERS): Added efi/disk.h.
-       (_chain_mod_SOURCES): New variable.
-       (_chain_mod_CFLAGS): Likewise.
-       (_chain_mod_LDFLAGS): Likewise.
-       (chain_mod_SOURCES): Likewise.
-       (chain_mod_CFLAGS): Likewise.
-       (chain_mod_LDFLAGS): Likewise.
-
-       * DISTLIST: Added include/grub/efi/chainloader.h,
-       loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
-
-       * include/grub/efi/chainloader.h: New file.
-       * loader/efi/chainloader.c: Likewise.
-       * loader/efi/chainloader_normal.c: Likewise.
-
-2006-04-30  Marco Gerards  <marco@gnu.org>
-
-       * commands/configfile.c (grub_cmd_source): New function.
-       (GRUB_MOD_INIT): Register the commands `source' and `.'.
-       (GRUB_MOD_FINI): De-register the commands `source' and `.'.
-
-2006-04-30  Marco Gerards  <marco@gnu.org>
-
-       * normal/execute.c (grub_script_execute_cmd): Change the return
-       type to `grub_err_t'.  Correctly return the error.
-       (grub_script_execute_cmdline): In case a command line is not a
-       command or a function, try to interpret it as an assignment.
-
-2006-04-30  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
-       (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
-       skip a node whose name is obviously invalid as UTF-16,
-       i.e. contains a NUL character. Stop the iteration when the last
-       directory entry is found. Instead of using the return value of
-       grub_hfsplus_btree_iterate_node, store the value in RET and use
-       it, because the iterator can be stopped by the last directory
-       entry.
-
-2006-04-30  Marco Gerards  <marco@gnu.org>
-
-       * include/grub/env.h (grub_env_export): New prototype.  Reported
-       by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
-
-2006-04-30  Marco Gerards  <marco@gnu.org>
-
-       * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
-       size of the extents in a catalog file record.
-
-2006-04-29  Marco Gerards  <marco@gnu.org>
-
-       * commands/configfile.c (grub_cmd_configfile): Execute the
-       configfile within its own context.
-
-       * include/grub/env.h (grub_env_context_open): New prototype.
-       (grub_env_context_close): Likewise.
-
-       * kern/env.c (grub_env): Removed.
-       (grub_env_sorted): Likewise.
-       (grub_env_context): New variable.
-       (grub_env_var_context): Likewise.
-       (grub_env_find): Search both the active context and the global
-       context.
-       (grub_env_context_open): New function.
-       (grub_env_context_close): Likewise.
-       (grub_env_insert): Likewise.
-       (grub_env_remove): Likewise.
-       (grub_env_export): Likewise.
-       (grub_env_set): Changed to use helper functions to avoid code
-       duplication.
-       (grub_env_iterate): Rewritten so both the current context and the
-       global context are being used.
-
-       * normal/command.c (export_command): New function.
-       (grub_command_init): Register the `export' function.
-
-2006-04-26  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
-       explicitly to suppress gcc's warnings.
-       * fs/fat.c (grub_fat_find_dir): Likewise.
-       (grub_fat_label): Likewise.
-       * fs/xfs.c (grub_xfs_read_inode): Likewise.
-       (grub_xfs_mount): Likewise.
-       (grub_xfs_label): Likewise.
-       * fs/affs.c (grub_affs_mount): Likewise.
-       (grub_affs_label): Likewise.
-       (grub_affs_iterate_dir): Likewise.
-       * fs/sfs.c (grub_sfs_mount): Likewise.
-       (grub_sfs_iterate_dir): Likewise.
-       * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
-       * fs/hfs.c (grub_hfs_mount): Likewise.
-       (grub_hfs_cmp_catkeys): Likewise.
-       (grub_hfs_find_dir): Likewise.
-       (grub_hfs_dir): Likewise.
-       (grub_hfs_label): Likewise.
-       * fs/jfs.c (grub_jfs_mount): Likewise.
-       (grub_jfs_opendir): Likewise.
-       (grub_jfs_getent): Likewise.
-       (grub_jfs_lookup_symlink): Likewise.
-       (grub_jfs_label): Likewise.
-       * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
-       (grub_hfsplus_iterate_dir): Likewise.
-       (grub_hfsplus_btree_iterate_node): Made static.
-
-       * util/grub-emu.c (prefix): New variable.
-       (grub_machine_set_prefix): New function.
-       (main): Do not set the environment variable "prefix" here. Only
-       set PREFIX, which is used later by grub_machine_set_prefix.
-
-       * include/grub/video.h: Do not include grub/symbol.h.
-       (grub_video_register): Not exported. This symbol is not defined in
-       the kernel.
-       (grub_video_unregister): Likewise.
-       (grub_video_iterate): Likewise.
-       (grub_video_setup): Likewise.
-       (grub_video_restore): Likewise.
-       (grub_video_get_info): Likewise.
-       (grub_video_get_blit_format): Likewise.
-       (grub_video_set_palette): Likewise.
-       (grub_video_get_palette): Likewise.
-       (grub_video_set_viewport): Likewise.
-       (grub_video_get_viewport): Likewise.
-       (grub_video_map_color): Likewise.
-       (grub_video_map_rgb): Likewise.
-       (grub_video_map_rgba): Likewise.
-       (grub_video_fill_rect): Likewise.
-       (grub_video_blit_glyph): Likewise.
-       (grub_video_blit_bitmap): Likewise.
-       (grub_video_blit_render_target): Likewise.
-       (grub_video_scroll): Likewise.
-       (grub_video_swap_buffers): Likewise.
-       (grub_video_create_render_target): Likewise.
-       (grub_video_delete_render_target): Likewise.
-       (grub_video_set_active_render_target): Likewise.
-
-       * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
-       Undefined.
-       [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
-
-       * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
-       config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
-       (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
-       instead of $(srcdir)/genkernsyms.sh.
-
-       * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
-       config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
-       (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
-       instead of $(srcdir)/genkernsyms.sh.
-
-       * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
-       gensymlist.sh instead of $(srcdir)/gensymlist.sh.
-       (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
-       instead of $(srcdir)/genkernsyms.sh.
-
-       * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
-       gensymlist.sh instead of $(srcdir)/gensymlist.sh.
-       (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
-       instead of $(srcdir)/genkernsyms.sh.
-
-       * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
-       genkernsyms.sh.
-
-       * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
-       genkernsyms.sh.
-       (gensymlist.sh): New target.
-       (genkernsyms.sh): Likewise.
-
-       * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
-       genkernsyms.sh.in and gensymlist.sh.in.
-
-       * genkernsyms.sh: Removed.
-       * gensymlist.sh: Likewise.
-
-       * genkernsyms.sh.in: New file.
-       * gensymlist.sh.in: Likewise.
-
-2006-04-25  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
-       clobber "prefix", since we may have already set it manually.
-
-2006-04-25  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * kern/misc.c (abort): New alias for grub_abort.
-
-2006-04-25  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       A new machine-specific function "grub_machine_set_prefix" is
-       defined. This is called after loading modules, so that a prefix
-       initialization can use modules. Also, this change adds an
-       intensive debugging feature for the memory manager via the
-       configure option "--enable-mm-debug".
-
-       * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
-       PART.LEN.
-
-       * kern/sparc64/ieee1275/init.c (abort): Removed.
-       (grub_stop): Likewise.
-       (grub_exit): New function.
-       (grub_set_prefix): Renamed to ...
-       (grub_machine_set_prefix): ... this.
-       (grub_machine_init): Do not call grub_set_prefix.
-
-       * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
-       (grub_machine_set_prefix): ... this.
-       (grub_machine_init): Do not call grub_set_prefix.
-
-       * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
-       (grub_machine_init): Do not set the prefix here.
-
-       * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
-
-       * kern/efi/init.c: Include grub/mm.h.
-       (grub_efi_set_prefix): New function.
-
-       * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
-       (grub_efi_get_filename): New function.
-       (grub_print_device_path): Renamed to ...
-       (grub_efi_print_device_path): ... this.
-
-       * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
-       [MM_DEBUG] (grub_realloc): Likewise.
-       [MM_DEBUG] (grub_free): Likewise.
-       [MM_DEBUG] (grub_memalign): Likewise.
-       [MM_DEBUG] (grub_mm_debug): New variable.
-       [MM_DEBUG] (grub_debug_malloc): New function.
-       [MM_DEBUG] (grub_debug_free): New function.
-       [MM_DEBUG] (grub_debug_realloc): New function.
-       [MM_DEBUG] (grub_debug_memalign): New function.
-
-       * kern/misc.c (grub_abort): Print a newline to distinguish
-       the message.
-
-       * kern/main.c (grub_main): Call grub_machine_set_prefix and
-       grub_set_root_dev after loading modules. This is necessary when
-       setting a prefix depends on modules.
-
-       * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
-       (grub_efi_print_device_path): ... this.
-       (grub_efi_get_filename): New prototype.
-       (grub_efi_set_prefix): Likewise.
-
-       * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
-       and grub/disk.h.
-       (grub_efidisk_get_device_handle): New prototype.
-       (grub_efidisk_get_device_name): Likewise.
-
-       * include/grub/mm.h: Include config.h.
-       (MM_DEBUG): Removed.
-       [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
-       [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
-       [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
-       [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
-       [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
-       [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
-       [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
-       [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
-       [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
-
-       * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
-
-       * disk/efi/efidisk.c: Include grub/partition.h.
-       (iterate_child_devices): New function.
-       (add_device): First, compare only last device path nodes, so that
-       devices are sorted by the types.
-       (grub_efidisk_get_device_handle): New function.
-       (grub_efidisk_get_device_name): Likewise.
-
-       * configure.ac (--enable-mm-debug): New option to enable the
-       memory manager debugging feature. This makes the binary much
-       bigger, so is disabled by default.
-
-2006-04-23  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       Use grub_abort instead of grub_stop, and grub_exit must be
-       define in each architecture now. Also, this change adds support
-       for EFI disks.
-
-       * util/i386/pc/grub-probefs.c: Include grub/term.h.
-       (grub_getkey): New function.
-       (grub_term_get_current): Likewise.
-
-       * util/i386/pc/grub-setup.c: Include grub/term.h.
-       (grub_getkey): New function.
-       (grub_term_get_current): Likewise.
-
-       * util/misc.c (grub_stop): Renamed to ...
-       (grub_exit): ... this.
-
-       * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
-       (grub_exit): ... this.
-       (grub_machine_init): Use grub_abort instead of abort.
-       (grub_stop): Removed.
-
-       * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
-       abort.
-
-       * kern/i386/pc/startup.S (grub_exit): New function.
-       (cold_reboot): New label.
-
-       * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
-       (grub_efi_init): Call grub_efidisk_init.
-       (grub_efi_fini): Call grub_efidisk_fini.
-
-       * kern/efi/efi.c: Include grub/mm.h.
-       (grub_efi_console_control_guid): Renamed to ...
-       (console_control_guid): ... this.
-       (grub_efi_loaded_image_guid): Renamed to ...
-       (loaded_image_guid): ... this.
-       (grub_efi_locate_handle): New function.
-       (grub_efi_open_protocol): Likewise.
-       (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
-       GRUB_EFI_CONSOLE_CONTROL_GUID.
-       (grub_efi_exit): Removed.
-       (grub_stop): Likewise.
-       (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
-       (grub_exit): New function.
-       (grub_print_device_path): Likewise.
-
-       * kern/rescue.c (grub_rescue_cmd_exit): New function.
-       (grub_enter_rescue_mode): Register "exit".
-
-       * kern/misc.c (grub_real_dprintf): A cosmetic change.
-       (grub_abort): New function.
-
-       * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
-
-       * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
-
-       * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
-
-       * include/grub/efi/efi.h (grub_efi_exit): Removed.
-       (grub_print_device_path): New prototype.
-       (grub_efi_locate_handle): Likewise.
-       (grub_efi_open_protocol): Likewise.
-
-       * include/grub/efi/disk.h (grub_efidisk_fini): New file.
-       * disk/efi/efidisk.c: Likewise.
-
-       * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
-
-       * include/grub/efi/console_control.h
-       (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
-
-       * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
-       last 8 bytes as an array.
-       (GRUB_EFI_DISK_IO_GUID): New macro.
-       (GRUB_EFI_BLOCK_IO_GUID): Likewise.
-       (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
-       (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
-       grub_uint8_t.
-       (struct grub_efi_guid): Use an array to specify the last 8 bytes.
-       (struct grub_efi_device_path): Rename the member "sub_type" to
-       "subtype".
-       (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
-       (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
-       (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
-       (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
-       (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
-       (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
-       (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
-       (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
-       (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
-       (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
-       (struct grub_efi_pci_device_path): New structure.
-       (grub_efi_pci_device_path_t): New type.
-       (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_pccard_device_path): New structure.
-       (grub_efi_pccard_device_path_t): New type.
-       (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_memory_mapped_device_path): New structure.
-       (grub_efi_memory_mapped_device_path_t): New type.
-       (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_vendor_device_path): New structure.
-       (grub_efi_vendor_device_path_t): New type.
-       (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_controller_device_path): New structure.
-       (grub_efi_controller_device_path_t): New type.
-       (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
-       (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
-       (struct grub_efi_acpi_device_path): New structure.
-       (grub_efi_acpi_device_path_t): New type.
-       (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_expanded_acpi_device_path): New structure.
-       (grub_efi_expanded_acpi_device_path_t): New type.
-       (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
-       (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
-       (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
-       (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
-       (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
-       (struct grub_efi_atapi_device_path): New structure.
-       (grub_efi_atapi_device_path_t): New type.
-       (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_fibre_channel_device_path): New structure.
-       (grub_efi_fibre_channel_device_path_t): New type.
-       (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_1394_device_path): New structure.
-       (grub_efi_1394_device_path_t): New type.
-       (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_usb_device_path): New structure.
-       (grub_efi_usb_device_path_t): New type.
-       (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_usb_class_device_path): New structure.
-       (grub_efi_usb_class_device_path_t): New type.
-       (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_i2o_device_path): New structure.
-       (grub_efi_i2o_device_path_t): New type.
-       (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_mac_address_device_path): New structure.
-       (grub_efi_mac_address_device_path_t): New type.
-       (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_ipv4_device_path): New structure.
-       (grub_efi_ipv4_device_path_t): New type.
-       (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_ipv6_device_path): New structure.
-       (grub_efi_ipv6_device_path_t): New type.
-       (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_infiniband_device_path): New structure.
-       (grub_efi_infiniband_device_path_t): New type.
-       (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_uart_device_path): New structure.
-       (grub_efi_uart_device_path_t): New type.
-       (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_vendor_messaging_device_path): New structure.
-       (grub_efi_vendor_messaging_device_path_t): New type.
-       (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
-       (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
-       (struct grub_efi_hard_drive_device_path): New structure.
-       (grub_efi_hard_drive_device_path_t): New type.
-       (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_cdrom_device_path): New structure.
-       (grub_efi_cdrom_device_path_t): New type.
-       (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_vendor_media_device_path): New structure.
-       (grub_efi_vendor_media_device_path_t): New type.
-       (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_file_path_device_path): New structure.
-       (grub_efi_file_path_device_path_t): New type.
-       (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
-       (struct grub_efi_protocol_device_path): New structure.
-       (grub_efi_protocol_device_path_t): New type.
-       (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
-       (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
-       (struct grub_efi_bios_device_path): New structure.
-       (grub_efi_bios_device_path_t): New type.
-       (struct grub_efi_disk_io): New structure.
-       (grub_efi_disk_io_t): New type.
-       (struct grub_efi_block_io_media): New structure.
-       (grub_efi_block_io_media_t): New type.
-       (struct grub_efi_block_io): New structure.
-       (grub_efi_block_io_t): New type.
-
-       * include/grub/misc.h (grub_stop): Removed.
-       (grub_exit): New prototype.
-       (grub_abort): Likewise.
-
-       * include/grub/disk.h (enum grub_disk_dev_id): Added
-       GRUB_DISK_DEVICE_EFIDISK_ID.
-
-       * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
-       disk/efi/efidisk.c.
-       (kernel_syms.lst): Remove the target if an error occurs.
-
-2006-04-22  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
-       as it was simply too buggy.
-
-2006-04-21  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * kern/misc.c (grub_lltoa): New function.
-       (grub_vsprintf): Added support for the long long suffix,
-       i.e. "ll".
-
-2006-04-20  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * Makefile.in (LDFLAGS): Add variable.
-       (LD): Remove variable.
-       * configure.ac: Add -m32 to LDFLAGS.
-       * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
-       * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
-       (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
-       (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
-       suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
-       variables.
-       * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
-       * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
-       * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
-
-2006-04-20  Vesa Jaaskelainen  <chaac@nic.fi>
-
-       * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
-       length for unknown glyph.
-
-2006-04-20  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       Add support for pre-loaded modules into the EFI port.
-
-       * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
-       completely. Accept one more argument DIR. The caller has changed.
-
-       * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
-
-       * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
-       (grub_efi_loaded_image_guid): New variable.
-       (grub_efi_get_loaded_image): New function.
-       (grub_arch_modules_addr): Likewise.
-
-       * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
-       prototype.
-
-       * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
-       (struct grub_efi_loaded_image): New structure.
-       (grub_efi_loaded_image_t): New type.
-
-2006-04-20  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
-       size with GRUB_OS_AREA_SIZE as grub_size_t instead of
-       grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
-
-2006-04-19  Roger Leigh  <rleigh@whinlatter.ukfsn.org>
-
-       * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
-
-2006-04-19  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * DISTLIST: Added include/grub/efi/console.h,
-       include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
-       kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
-
-       * include/grub/efi/console.h: New file.
-       * include/grub/efi/time.h: Likewise.
-       * include/grub/i386/efi/kernel.h: Likewise.
-       * kern/efi/init.c: Likewise.
-       * kern/efi/mm.c: Likewise.
-       * term/efi/console.c: Likewise.
-
-       * kern/i386/efi/init.c: Do not include grub/machine/time.h.
-       (grub_stop): Removed.
-       (grub_get_rtc): Likewise.
-       (grub_machine_init): Simply call grub_efi_init.
-       (grub_machine_fini): Call grub_efi_fini.
-
-       * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
-       (grub_efi_output_string): Removed.
-       (grub_efi_stall): New function.
-       (grub_stop): Likewise.
-       (grub_get_rtc): Likewise.
-
-       * include/grub/efi/efi.h (grub_efi_output_string): Removed.
-       (grub_efi_stall): New prototype.
-       (grub_efi_allocate_pages): Likewise.
-       (grub_efi_free_pages): Likewise.
-       (grub_efi_get_memory_map): Likewise.
-       (grub_efi_mm_init): Likewise.
-       (grub_efi_mm_fini): Likewise.
-       (grub_efi_init): Likewise.
-       (grub_efi_fini): Likewise.
-
-       * include/grub/i386/efi/time.h: Do not include
-       grub/symbol.h. Include grub/efi/time.h.
-       (GRUB_TICKS_PER_SECOND): Removed.
-       (grub_get_rtc): Likewise.
-
-       * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
-       Added padding. The EFI spec is buggy.
-       (GRUB_EFI_BLACK): New macro.
-       (GRUB_EFI_BLUE): Likewise.
-       (GRUB_EFI_GREEN): Likewise.
-       (GRUB_EFI_CYAN): Likewise.
-       (GRUB_EFI_RED): Likewise.
-       (GRUB_EFI_MAGENTA): Likewise.
-       (GRUB_EFI_BROWN): Likewise.
-       (GRUB_EFI_LIGHTGRAY): Likewise.
-       (GRUB_EFI_BRIGHT): Likewise.
-       (GRUB_EFI_DARKGRAY): Likewise.
-       (GRUB_EFI_LIGHTBLUE): Likewise.
-       (GRUB_EFI_LIGHTGREEN): Likewise.
-       (GRUB_EFI_LIGHTCYAN): Likewise.
-       (GRUB_EFI_LIGHTRED): Likewise.
-       (GRUB_EFI_LIGHTMAGENTA): Likewise.
-       (GRUB_EFI_YELLOW): Likewise.
-       (GRUB_EFI_WHITE): Likewise.
-       (GRUB_EFI_BACKGROUND_BLACK): Likewise.
-       (GRUB_EFI_BACKGROUND_BLUE): Likewise.
-       (GRUB_EFI_BACKGROUND_GREEN): Likewise.
-       (GRUB_EFI_BACKGROUND_CYAN): Likewise.
-       (GRUB_EFI_BACKGROUND_RED): Likewise.
-       (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
-       (GRUB_EFI_BACKGROUND_BROWN): Likewise.
-       (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
-       (GRUB_EFI_TEXT_ATTR): Likewise.
-
-       * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
-       kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
-       (kernel_mod_HEADERS): Added efi/time.h.
-
-2006-04-18  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
-       include/grub/efi/api.h, include/grub/efi/console_control.h,
-       include/grub/efi/efi.h, include/grub/efi/pe32.h,
-       include/grub/i386/efi/time.h, kern/efi/efi.c,
-       kern/i386/efi/init.c, kern/i386/efi/startup.S,
-       and util/i386/efi/grub-mkimage.c.
-
-       * Makefile.in (RMKFILES): Added i386-efi.rmk.
-
-       * genmk.rb (PModule#rule): Do not export symbols if
-       #{prefix}_EXPORTS is set to "no".
-
-       * conf/i386-efi.mk: New file.
-       * conf/i386-efi.rmk: Likewise.
-       * include/grub/efi/api.h: Likewise.
-       * include/grub/efi/console_control.h: Likewise.
-       * include/grub/efi/efi.h: Likewise.
-       * include/grub/efi/pe32.h: Likewise.
-       * include/grub/i386/efi/time.h: Likewise.
-       * kern/efi/efi.c: Likewise.
-       * kern/i386/efi/init.c: Likewise.
-       * kern/i386/efi/startup.S: Likewise.
-       * util/i386/efi/grub-mkimage.c: Likewise.
-
-2006-04-17  Marco Gerards  <marco@gnu.org>
-
-       * include/grub/script.h: Include <grub/parser.h> and
-       "grub_script.tab.h".
-       (struct grub_lexer_param): New struct.
-       (struct grub_parser_param): Likewise.
-       (grub_script_create_arglist): Pass the state in an argument.
-       (grub_script_add_arglist): Likewise.
-       (grub_script_create_cmdline): Likewise.
-       (grub_script_create_cmdblock): Likewise.
-       (grub_script_create_cmdif): Likewise.
-       (grub_script_create_cmdmenu): Likewise.
-       (grub_script_add_cmd): Likewise.
-       (grub_script_arg_add): Likewise.
-       (grub_script_lexer_ref): Likewise.
-       (grub_script_lexer_deref): Likewise.
-       (grub_script_lexer_record_start): Likewise.
-       (grub_script_lexer_record_stop): Likewise.
-       (grub_script_mem_record): Likewise.
-       (grub_script_mem_record_stop): Likewise.
-       (grub_script_malloc): Likewise.
-       (grub_script_yylex): Likewise.
-       (grub_script_yyparse): Likewise.
-       (grub_script_yyerror): Likewise.
-       (grub_script_yylex): Likewise.
-       (grub_script_lexer_init): Return the state.
-
-       * normal/lexer.c (grub_script_lexer_state): Removed variable.
-       (grub_script_lexer_done): Likewise.
-       (grub_script_lexer_getline): Likewise.
-       (grub_script_lexer_refs): Likewise.
-       (script): Likewise.
-       (newscript): Likewise.
-       (record): Likewise.
-       (recording): Likewise.
-       (recordpos): Likewise.
-       (recordlen): Likewise.
-       (grub_script_lexer_init): Return the state instead of setting
-       global variables.
-       (grub_script_lexer_ref): Use the newly added argument for state
-       instead of globals.
-       (grub_script_lexer_deref): Likewise.
-       (grub_script_lexer_record_start): Likewise.
-       (grub_script_lexer_record_stop): Likewise.
-       (recordchar): Likewise.
-       (nextchar): Likewise.
-       (grub_script_yylex2): Likewise.
-       (grub_script_yylex): Likewise.
-       (grub_script_yyerror): Likewise.
-
-       * normal/parser.y (func_mem): Removed variable.
-       (menu_entry): Likewise.
-       (err): Likewise.
-       (%lex-param): New parser option.
-       (%parse-param): Likewise.
-       (script): Always return the AST.
-       (argument): Pass the state around.
-       (arguments): Likewise.
-       (grubcmd): Likewise.
-       (commands): Likewise.
-       (function): Likewise.
-       (menuentry): Likewise.
-       (if_statement): Likewise.
-       (if): Likewise.
-
-       * normal/script.c (grub_script_memused): Removed variable.
-       (grub_script_parsed): Likewise.
-       (grub_script_malloc): Added a state argument.  Use that instead of
-       global variables.
-       (grub_script_mem_record): Likewise.
-       (grub_script_mem_record_stop): Likewise.
-       (grub_script_arg_add): Likewise.
-       (grub_script_add_arglist): Likewise.
-       (grub_script_create_cmdline): Likewise.
-       (grub_script_create_cmdif): Likewise.
-       (grub_script_create_cmdmenu): Likewise.
-       (grub_script_add_cmd): Likewise.
-       (grub_script_parse): Setup the state before calling the parser.
-
-2006-04-16  Marco Gerards  <marco@gnu.org>
-
-       * normal/command.c (grub_command_init): Remove the title command.
-
-       * normal/lexer.c (grub_script_yylex): Renamed from this...
-       (grub_script_yylex2): ... to this.
-       (grub_script_yylex): New function.  Temporary
-       introduced to filter some tokens.
-       (grub_script_yyerror): Print a newline.
-
-       * normal/main.c (read_config_file): Output information about the
-       lines that contain errors.  Wait for a key after all lines have
-       been processed.  Don't return an empty menu.
-
-       * normal/parser.y (func_mem): Don't initialize.
-       (menu_entry): Likewise.
-       (err): New variable.
-       (script): Don't return anything when an error was encountered.
-       (ws, returns): Removed rules.
-       (argument): Disabled concatenated variable support.
-       (arguments): Remove explicit separators.
-       (grubcmd): Likewise.
-       (function): Likewise.
-       (menuentry): Likewise.
-       (if): Likewise.
-       (commands): Likewise.  Add error handling.
-
-       * normal/script.c (grub_script_create_cmdline): If
-       `grub_script_parsed' is 0, assume the parser encountered an error.
-
-2006-04-02  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * configure.ac: Add support for EFI. Fix the typo
-       BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
-
-2006-04-01  Vesa Jaaskelainen  <chaac@nic.fi>
-
-       * util/unifont2pff.rb: Removed unnecessary byte ordering.  Now
-       foreign multibyte characters should be shown correctly.
-
-2006-04-01  Vesa Jaaskelainen  <chaac@nic.fi>
-
-       * normal/main.c (grub_normal_menu_addentry): Fixed menu size
-       calculation.
-       (read_config_file): Made it to close file before returning.
-
-2006-03-31  Vesa Jaaskelainen  <chaac@nic.fi>
-
-       * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
-       include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
-       video/i386/pc/vbefill.c.
-
-       * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
-       video/i386/pc/vbefill.c.
-
-       * include/grub/video.h (grub_video_blit_format): New enum.
-       (grub_video_mode_info): Added new member blit_format.
-       (grub_video_get_blit_format): New function prototype.
-
-       * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
-       function prototype.
-       (grub_video_vbe_map_rgb): Likewise.
-       (grub_video_vbe_unmap_color): Likewise.
-
-       * include/grub/i386/pc/vbeblit.h: New file.
-
-       * include/grub/i386/pc/vbefill.h: New file.
-
-       * video/video.c (grub_video_get_blit_format): New function.
-       (grub_video_vbe_get_video_ptr): Re-declared as non-static.
-       (grub_video_vbe_map_rgb): Likewise.
-       (grub_video_vbe_unmap_color): Likewise.
-
-       * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
-       optimized fills.
-       (grub_video_vbe_blit_render_target): Changed to use more optimized
-       blits.
-       (grub_video_vbe_setup): Added detection for optimized settings.
-       (grub_video_vbe_create_render_target): Likewise.
-
-       * video/i386/pc/vbeblit.c: New file.
-
-       * video/i386/pc/vbefill.c: New file.
-
-2006-03-30  Vesa Jaaskelainen  <chaac@nic.fi>
-
-       * font/manager.c (grub_font_get_glyph): Removed font fixup from
-       here...
-
-       * util/unifont2pff.rb: ... and moved it to here.  Improved argument
-       parsing to support both hex and dec ranges.  If filename was missing
-       show usage information.
-
-2006-03-14  Vesa Jaaskelainen  <chaac@nic.fi>
-
-       * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
-       video/video.c, commands/videotest.c.  Removed term/i386/pc/vesafb.c.
-
-       * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
-       gfxterm.mod, videotest.mod.  Removed vga.mod, vesafb.mod.
-       (video_mod_SOURCES): Added.
-       (video_mod_CFLAGS): Likewise.
-       (video_mod_LDFLAGS): Likewise.
-       (gfxterm_mod_SOURCES): Likewise.
-       (gfxterm_mod_CFLAGS): Likewise.
-       (gfxterm_mod_LDFLAGS): Likewise.
-       (videotest_mod_SOURCES): Likewise.
-       (videotest_mod_CFLAGS): Likewise.
-       (videotest_mod_LDFLAGS): Likewise.
-       (vesafb_mod_SOURCES): Removed.
-       (vesafb_mod_CFLAGS): Likewise.
-       (vesafb_mod_LDFLAGS): Likewise.
-       (vga_mod_SOURCES): Likewise.
-       (vga_mod_CFLAGS): Likewise.
-       (vga_mod_LDFLAGS): Likewise.
-
-       * commands/videotest.c: New file.
-
-       * font/manager.c (fill_with_default_glyph): Modified to use
-       grub_font_glyph.
-       (grub_font_get_glyph): Likewise.
-       (fontmanager): Renamed from this...
-       (font_manager): ... to this.
-
-       * include/grub/font.h (grub_font_glyph): Added new structure.
-       (grub_font_get_glyph): Modified to use grub_font_glyph.
-
-       * include/grub/misc.h (grub_abs): Added as inline function.
-
-       * include/grub/video.h: New file.
-
-       * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
-       (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
-       (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
-       (grub_vbe_get_controller_info): Renamed from this...
-       (grub_vbe_bios_get_controller_info): ... to this.
-       (grub_vbe_get_mode_info): Renamed from this...
-       (grub_vbe_bios_get_mode_info): ... to this.
-       (grub_vbe_set_mode): Renamed from this...
-       (grub_vbe_bios_set_mode): ... to this.
-       (grub_vbe_get_mode): Renamed from this...
-       (grub_vbe_bios_get_mode): ... to this.
-       (grub_vbe_set_memory_window): Renamed from this...
-       (grub_vbe_bios_set_memory_window): ... to this.
-       (grub_vbe_get_memory_window): Renamed from this...
-       (grub_vbe_bios_get_memory_window): ... to this.
-       (grub_vbe_set_scanline_length): Renamed from this...
-       (grub_vbe_set_scanline_length): ... to this.
-       (grub_vbe_get_scanline_length): Renamed from this...
-       (grub_vbe_bios_get_scanline_length): ... to this.
-       (grub_vbe_set_display_start): Renamed from this...
-       (grub_vbe_bios_set_display_start): ... to this.
-       (grub_vbe_get_display_start): Renamed from this...
-       (grub_vbe_bios_get_display_start): ... to this.
-       (grub_vbe_set_palette_data): Renamed from this...
-       (grub_vbe_bios_set_palette_data): ... to this.
-       (grub_vbe_set_pixel_rgb): Removed.
-       (grub_vbe_set_pixel_index): Likewise.
-
-       * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
-       from this...
-       (grub_vbe_bios_get_controller_info): ... to this.
-       (grub_vbe_get_mode_info): Renamed from this...
-       (grub_vbe_bios_get_mode_info): ... to this.
-       (grub_vbe_set_mode): Renamed from this...
-       (grub_vbe_bios_set_mode): ... to this.
-       (grub_vbe_get_mode): Renamed from this...
-       (grub_vbe_bios_get_mode): ... to this.
-       (grub_vbe_set_memory_window): Renamed from this...
-       (grub_vbe_bios_set_memory_window): ... to this.
-       (grub_vbe_get_memory_window): Renamed from this...
-       (grub_vbe_bios_get_memory_window): ... to this.
-       (grub_vbe_set_scanline_length): Renamed from this...
-       (grub_vbe_set_scanline_length): ... to this.
-       (grub_vbe_get_scanline_length): Renamed from this...
-       (grub_vbe_bios_get_scanline_length): ... to this.
-       (grub_vbe_set_display_start): Renamed from this...
-       (grub_vbe_bios_set_display_start): ... to this.
-       (grub_vbe_get_display_start): Renamed from this...
-       (grub_vbe_bios_get_display_start): ... to this.
-       (grub_vbe_set_palette_data): Renamed from this...
-       (grub_vbe_bios_set_palette_data): ... to this.
-       (grub_vbe_bios_get_controller_info): Fixed problem with registers
-       getting corrupted after calling it.  Added more pushes and pops.
-       (grub_vbe_bios_set_mode): Likewise.
-       (grub_vbe_bios_get_mode): Likewise.
-       (grub_vbe_bios_get_memory_window): Likewise.
-       (grub_vbe_bios_set_scanline_length): Likewise.
-       (grub_vbe_bios_get_scanline_length): Likewise.
-       (grub_vbe_bios_get_display_start): Likewise.
-       (grub_vbe_bios_set_palette_data): Likewise.
-
-       * normal/cmdline.c (cl_set_pos): Refresh the screen.
-       (cl_insert): Likewise.
-       (cl_delete): Likewise.
-
-       * term/gfxterm.c: New file.
-
-       * term/i386/pc/vesafb.c: Removed file.
-
-       * video/video.c: New file.
-
-       * video/i386/pc/vbe.c (real2pm): Added new function.
-       (grub_video_vbe_draw_pixel): Likewise.
-       (grub_video_vbe_get_video_ptr): Likewise.
-       (grub_video_vbe_get_pixel): Likewise
-       (grub_video_vbe_init): Likewise.
-       (grub_video_vbe_fini): Likewise.
-       (grub_video_vbe_setup): Likewise.
-       (grub_video_vbe_get_info): Likewise.
-       (grub_video_vbe_set_palette): Likewise.
-       (grub_video_vbe_get_palette): Likewise.
-       (grub_video_vbe_set_viewport): Likewise.
-       (grub_video_vbe_get_viewport): Likewise.
-       (grub_video_vbe_map_color): Likewise.
-       (grub_video_vbe_map_rgb): Likewise.
-       (grub_video_vbe_map_rgba): Likewise.
-       (grub_video_vbe_unmap_color): Likewise.
-       (grub_video_vbe_fill_rect): Likewise.
-       (grub_video_vbe_blit_glyph): Likewise.
-       (grub_video_vbe_blit_bitmap): Likewise.
-       (grub_video_vbe_blit_render_target): Likewise.
-       (grub_video_vbe_scroll): Likewise.
-       (grub_video_vbe_swap_buffers): Likewise.
-       (grub_video_vbe_create_render_target): Likewise.
-       (grub_video_vbe_delete_render_target): Likewise.
-       (grub_video_vbe_set_active_render_target): Likewise.
-       (grub_vbe_set_pixel_rgb): Remove function.
-       (grub_vbe_set_pixel_index): Likewise.
-       (index_color_mode): Remove static variable.
-       (active_mode): Likewise.
-       (framebuffer): Likewise.
-       (bytes_per_scan_line): Likewise.
-       (grub_video_vbe_adapter): Added new static variable.
-       (framebuffer): Likewise.
-       (render_target): Likewise.
-       (initial_mode): Likewise.
-       (mode_in_use): Likewise.
-       (mode_list): Likewise.
-
-2006-03-10  Marco Gerards  <marco@gnu.org>
-
-       * configure.ac (AC_INIT): Bumped to 1.93.
-
-       * DISTLIST: Added `include/grub/hfs.h'.
-
-2006-02-01  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * boot/i386/pc/boot.S (general_error): Before looping, try INT
-       18H, which might help the BIOS falling back to next boot media.
-
-2006-01-25  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * util/i386/pc/grub-install.in: Escape a backslash. Reported by
-       Poe Chen <poe.poechen@gmail.com>.
-
-2006-01-17  Marco Gerards  <marco@gnu.org>
-
-       * include/grub/normal.h: Include <grub/script.h>.
-       (grub_command_list): Removed struct.
-       (grub_command_list_t): Removed type.
-       (grub_menu_entry): Remove members `num' and `command_list'.  Add
-       members `commands' and `sourcecode'.
-       * include/grub/script.h: Add inclusion guards.
-       (grub_script_cmd_menuentry): New struct.
-       (grub_script_execute_menuentry): New prototype.
-       (grub_script_lexer_record_start): Likewise.
-       (grub_script_lexer_record_stop): Likewise.
-       * normal/execute.c (grub_script_execute_menuentry): New function.
-       * normal/lexer.c (record, recording, recordpos, recordlen): New
-       variables.
-       (grub_script_lexer_record_start): New function.
-       (grub_script_lexer_record_stop): Likewise.
-       (recordchar): Likewise.
-       (nextchar): Likewise.
-       (grub_script_yylex): Use `nextchar' to fetch new characters.  Use
-       2048 as the buffer size.  Add the tokens `menuentry' and `@'.
-       * normal/main.c: Include <grub/parser.h> and <grub/script.h>
-       (current_menu): New variable.
-       (free_menu): Mainly rewritten.
-       (grub_normal_menu_addentry): New function.
-       (read_config_file): Rewritten.
-       * normal/menu.c (run_menu_entry): Mainly rewritten.
-       * normal/menu_entry.c (make_screen): Rewritten the code to insert
-       the menu entry.
-       (run): Mainly rewritten.
-       * normal/parser.y (menu_entry): New variable.
-       (GRUB_PARSER_TOKEN_MENUENTRY): New token.
-       (menuentry): New rule.
-       (command): Add `menuentry'.
-       (if_statement): Allow additional returns before `fi'.
-       * normal/script.c (grub_script_create_cmdmenu): New function.
-
-2006-01-03  Marco Gerards  <marco@gnu.org>
-
-       * INSTALL: GNU Bison is required.
-       * configure.ac: Rewritten the test to detect Bison.
-       * Makefile.in (YACC): New variable.  Reported by Xun Sun
-       <xun.sun.cn@gmail.com>.
-
-2006-01-03  Marco Gerards  <marco@gnu.org>
-
-       * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
-       the HFS+ filesystem to filesystem blocks.
-       (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
-       GCC warning is silenced.
-
-2006-01-03  Marco Gerards  <marco@gnu.org>
-
-       * partmap/apple.c (apple_partition_map_iterate): Convert the data
-       read from disk from big endian to host byte order.
-
-2006-01-03  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * fs/hfs.c: Include <grub/hfs.h>.  Added reference to the official
-       documentation.
-       (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
-       (grub_hfs_mount): Grammar fix in error. Make sure this is not an
-       embedded HFS+ filesystem.
-       (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
-       (grub_hfs_sblock): Move from here...
-       * include/grub/hfs.h: To here...  New file.
-       * fs/hfsplus.c: Include <grub/hfs.h>.  Added reference to the official
-       documentation.
-       (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
-       New macros.
-       (grub_hfsplus_volheader): Change type of member `magic' to
-       `grub_uint16_t'.
-       (grub_hfsplus_data): Add new member `embedded_offset'.
-       (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
-       returned block.
-       (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
-       Calculate the offset.
-
-2005-12-25  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
-       Removed.
-       (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
+       configure.ac: Add ia64-specific way to disable floats.
 
-2005-12-25  Yoshinori K. Okuji  <okuji@enbug.org>
+       i386/tsc: Fix unused function warning on xen.
 
-       * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
-       ENV->NAME is NULL after allocating ENV->VALUE.
-
-2005-12-25  Marco Gerards  <marco@gnu.org>
-
-       * kern/env.c (grub_env_set): Rewritten the error handling code.
-
-2005-12-25  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * geninit.sh: Made more robust, and more portable.
-
-2005-12-25  Marco Gerards  <marco@gnu.org>
-
-       Add support for Apple HFS+ filesystems.
-
-       * fs/hfsplus.c: New file.
-
-       * DISTLIST: Added `fs/hfsplus.c'.
+2015-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
-       (hfsplus_mod_SOURCES): New variable.
-       (hfsplus_mod_CFLAGS): Likewise.
-       (hfsplus_mod_LDFLAGS): Likewise.
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
-       (grub_setup_SOURCES): Likewise.
-       (grub_mkdevicemap_SOURCES): Likewise.
-       (grub_emu_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+       Experimental support for clang for sparc64.
+       Automatically discover command line options to make clang and
+       gcc behave in same way.
 
-       * fs/fshelp.c (grub_fshelp_log2blksize): New function.
+       Tested with qemu.
 
-       * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
+2015-02-22  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2005-12-25  Yoshinori K. Okuji  <okuji@enbug.org>
+       Discover which option provides soft-float on configure stage.
+       Deals with clang needing other arguments to stop issuing floating
+       instructions than gcc.
 
-       * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
-       commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
-       include/grub/parser.h, include/grub/script.h, kern/parser.c,
-       kern/sparc64/cache.S, normal/execute.c, normal/function.c,
-       normal/lexer.c, normal/parser.y, normal/script.c, and
-       partmap/gpt.c.
-       Removed kern/sparc64/cache.c.
+2015-02-21  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
-       grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
-       grub_emu_init.c.
+       mips: Switch to more portable .org
+       Binary is unchanged.
 
-       * configure.ac (AC_INIT): Bumped to 1.92.
+       sparc64: Switch to more portable .org.
+       Binaries are unchanged.
 
-2005-12-24  Vesa Jaaskelainen  <chaac@nic.fi>
+       kernel-8086: Switch to more portable .org.
 
-       * kern/err.c (grub_error_push): Added new function to support error
-       stacks.
-       (grub_error_pop): Likewise.
-       (grub_error_stack_items): New local variable to support error stacks.
-       (grub_error_stack_pos): Likewise.
-       (grub_error_stack_assert): Likewise.
-       (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
-       stack depth.
-       (grub_print_error): Added support to print errors from error stack.
+       Relax requirements on asm for non-BIOS i386 platforms.
+       These platforms don't have a hard limit on size of resulting code16
+       code, so we don't care if assembly is bigger than necessarry.
 
-       * include/grub/err.h (grub_error_push): Added function prototype.
-       (grub_error_pop): Likewise.
+       qemu: Switch to more portable .org
+       Binary is checked identical.
 
-2005-12-09  Hollis Blanchard  <hollis@penguinppc.org>
+       qemu: Fix GateA20 enabling.
+       GateA20 code was inactive due to address error.
 
-       * configure.ac: Accept `powerpc64' as host_cpu.
-       (amd64): Rename to `biarch32'.
+       qemu: Fix compilation
 
-       * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
-       non-cacheline-aligned addresses.
+       Remove realmode.S from coreboot and qemu.
+       It's not used there.
 
-       * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
-       (grub_dl_flush_cache): Likewise.  Only call `grub_arch_sync_caches'
-       if `size' is non-zero.
+       Remove obsolete ADDR32 and DATA32 checks.
 
-2005-12-03  Marco Gerards  <mgerards@xs4all.nl>
+       i386: Remove needless ADDR32 prefixes when address is known and fixed.
+       Shaves off 6 bytes in lzma_decompress.img.
 
-       * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
-       and `cd' to make sure the filename is not prefixed with a
-       directory name.
-       (pkgdata_MODULES): Add `gpt.mod'.
-       (gpt_mod_SOURCES): New variable.
-       (gpt_mod_CFLAGS): Likewise.
-       (gpt_mod_LDFLAGS): Likewise.
+       i386-pc/boot: Explicitly mark kernel_address[_high] as local.
+       Otherwise apple asm might try to make accesses relocatable.
 
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
+       Change dot assignmnet to more portable .org.
+       Binary is unchanged (verified)
 
-       * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
-       New macro.
+       i386: Move from explicit ADDR32/DATA32 prefixes to instruction suffixes.
+       Is more portable.
+       Binary is unchanged (verified).
 
-       * partmap/gpt.c: New file.
+       Test which flags make our asm compile.
+       Previously we relied on assumption that clang always needs -no-integrated-as
+       but it's not always true.
 
-       * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
-       GPT partition map is detected.
+       INSTALL: clarify that clang support is experimental
 
-2005-12-03  Vincent Pelletier  <subdino2004@yahoo.fr>
+       zfs/mzap_lookup: Fix argument types
 
-       * commands/i386/pc/play.c: New file.
-       * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
-       (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
-       macros.
+       wildcard: Mark unused argument as such.
 
-2005-11-27  Marco Gerards  <mgerards@xs4all.nl>
+       ofdisk: Exclude floppies from scanning.
+       It causes similar hang as CD on at least the qemu.
 
-       * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
-       ((unused))' to silence gcc warning.
+       configure: Add -msoft-float to CCASFLAGS
+       Otherwise mismatch between API flags triggers linker failure
 
-2005-11-26  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * configure.ac: Correct `AC_PROG_YACC' test.
-
-2005-11-22  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * util/powerpc/ieee1275/grub-install.in: Run the mount point
-       check before installing files.
-
-2005-11-22  Mike Small  <smallm@panix.com>
-
-       * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
-       number regex so multidigit numbers are recognized correctly.
-
-2005-11-22  Mike Small  <smallm@panix.com>
-
-       * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
-       debugging message before attempting to claim memory.
-       (grub_rescue_cmd_initrd): Add a claim debugging message and try
-       multiple addresses in case of failure.
-
-2005-11-22  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * term/tparm.c (get_space): Remove empty `if' statement.
-
-       * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
-
-       * kern/parser.c (check_varstate): Rename `state' to 's'.
-
-2005-11-22  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * partmap/acorn.c: Change `unsigned' to `unsigned int'.  Move all
-       variable definitions to the beginning of each function.  Sort stack
-       variables by size.
-       (find): Rename to `acorn_partition_map_find'.  Cast `grub_disk_read'
-       `buf' argument to `char *'.
-
-2005-11-22  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
-       (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
-       minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
-       hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
-       help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
-       sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
-       configfile.mod, search.mod, gzio.mod and test.mod.
-       (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
-       (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
-       (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
-       (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
-       (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
-       (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
-       (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
-       (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
-       (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
-       (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
-       (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
-       (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
-       (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
-       (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
-       (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
-       (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
-       (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
-       (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
-       (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
-       (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
-       (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
-       (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
-       (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
-
-       * conf/common.mk (grub_modules_init.lst): Use `find' instead of
-       `grep --include'.
-       (pkgdata_MODULES): Add test.mod.
-
-2005-11-18  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>
+       mips/startup_raw: Use more portable .asciz
 
-       * genmk.rb: Fixed list rules moved to Makefile.in.  Recognise
-       appending to variables with "+=".
-       (PModule): Use full pathname to generate *.lst filenames.
-
-       * Makefile.in: Fixed list rules moved from genmk.rb.
-       (.DELETE_ON_ERROR): New special target.
-       (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
-
-       * conf/i386-pc.rmk: Include conf/common.mk.
-       (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
-       minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
-       hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
-       help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
-       sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
-       configfile.mod, search.mod, gzio.mod and test.mod.
-       (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
-       (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
-       (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
-       (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
-       (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
-       (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
-       (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
-       (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
-       (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
-       (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
-       (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
-       (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
-       (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
-       (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
-       (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
-       (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
-       (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
-       (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
-       (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
-       (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
-       (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
-       (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
-       (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
-       here...
-       * conf/common.rmk: ... to here.  New file.
-
-       * conf/common.mk: New file.
-
-2005-11-18  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
-       (grub_script.tab.c): ... here.
-
-       * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
-       (grub_script.tab.c): ... here.
-
-       * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
-       (grub_script.tab.c): ... here.
-
-       * normal/command.c (grub_command_find): Fixed a memory leak of
-       MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
-
-2005-11-13  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>
-
-       * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
-       "@" which marks the start of a comment on ARM.
-       (VARIABLE): Likewise.
-
-2005-11-13  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>
-
-       Add support for Linux/ADFS partition tables.
-
-       * partmap/acorn.c: New file.
-
-       * include/grub/acorn_filecore.h: Likewise.
-
-       * DISTLIST: Added `partmap/acorn.c' and
-       `include/grub/acorn_filecore.h'.
-
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
-       `partmap/acorn.c'.
-       (pkgdata_MODULES): Add `acorn.mod'.
-       (acorn_mod_SOURCES): New variable.
-       (acorn_mod_CFLAGS): Likewise.
-
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
-       `partmap/acorn.c'.
-       (pkgdata_MODULES): Add `acorn.mod'.
-       (acorn_mod_SOURCES): New variable.
-       (acorn_mod_CFLAGS): Likewise.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
-       (pkgdata_MODULES): Add `acorn.mod'.
-       (acorn_mod_SOURCES): New variable.
-       (acorn_mod_CFLAGS): Likewise.
-       (acorn_mod_LDFLAGS): Likewise.
-
-       * include/types.h (grub_disk_addr_t): New typedef.
-
-2005-11-13  Marco Gerards  <mgerards@xs4all.nl>
-
-       * geninit.sh: New file.
-
-       * geninitheader.sh: Likewise.
-
-       * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
-       * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
-       * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
-       * commands/configfile.c (grub_configfile_init)
-       (grub_configfile_fini): Likewise.
-       * commands/default.c (grub_default_init, grub_default_fini):
-       Likewise.
-       * commands/help.c (grub_help_init, grub_help_fini): Likewise.
-       * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
-       * commands/search.c (grub_search_init, grub_search_fini): Likewise.
-       * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
-       Likewise.
-       * commands/test.c (grub_test_init, grub_test_fini): Likewise.
-       * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
-       Likewise.
-       * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
-       * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
-       Likewise.
-       * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
-       Likewise.
-       * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
-       Likewise.
-       * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
-       * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
-       * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
-       * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
-       * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
-       * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
-       * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
-       * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
-       * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
-       * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
-       * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
-       * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
-       * partmap/amiga.c (grub_amiga_partition_map_init)
-       (grub_amiga_partition_map_fini): Likewise.
-       * partmap/apple.c (grub_apple_partition_map_init)
-       (grub_apple_partition_map_fini): Likewise.
-       * partmap/pc.c (grub_pc_partition_map_init)
-       (grub_pc_partition_map_fini): Likewise.
-       * partmap/sun.c (grub_sun_partition_map_init,
-       grub_sun_partition_map_fini): Likewise.
-       * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
-       Likewise.
-
-       * util/grub-emu.c: Include <grub_modules_init.h>.
-       (main): Don't initialize and de-initialize any modules directly,
-       use `grub_init_all' and `grub_fini_all' instead.
-
-       * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
-       `grub_vesafb_mod_init'.
-       (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'.  Updated
-       all users.
-       * term/i386/pc/vga.c (grub_vga_init): Renamed to
-       `grub_vga_mod_init'.  Updated all users.
-       (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
-       (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
-       rules.
-
-       * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
-       Generate a function to initialize the module in utilities.
-       Updated all callers.
-       (GRUB_MOD_FINI): Add argument `name'.  Generate a function to
-       initialize the module in utilities.  Updated all callers.
-
-2005-11-09  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
-       escape sequence and a literal ^L to clear the screen.
-
-       * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
-       when returning from Open Firmware.
-
-2005-11-09  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
-       (grub_ofconsole_height): Likewise.
-       (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
-       manually insert a '\n'.
-       (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
-       `grub_ofconsole_height'.  Return early if these are already set.
-
-2005-11-07  Vincent Pelletier  <subdino2004@yahoo.fr>
-
-       * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
-       `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
-       `normal/execute.c', `normal/lexer.c', `io/gzio.c',
-       `kern/parser.c', `grub_script.tab.c', `normal/function.c'
-       and `normal/script.c'.
-       (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
-       `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
-       (test_mod_SOURCES): New variable.
-       (test_mod_CFLAGS): Likewise.
-       (test_mod_LDFLAGS): Likewise.
-       (pkgdata_MODULES): Add `test.mod'.
-       (grub_script.tab.c): New rule.
-       (grub_script.tab.h): Likewise.
-
-2005-11-07  Marco Gerards  <mgerards@xs4all.nl>
-
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
-       `commands/test.c', `normal/execute.c', `normal/lexer.c',
-       `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
-       (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
-       `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
-       (test_mod_SOURCES): New variable.
-       (test_mod_CFLAGS): Likewise.
-       (pkgdata_MODULES): Add `test.mod'.
-       (grub_script.tab.c): New rule.
-       (grub_script.tab.h): Likewise.
-
-2005-11-06  Marco Gerards  <mgerards@xs4all.nl>
-
-       Add initial scripting support.
-
-       * commands/test.c: New file.
-       * include/grub/script.h: Likewise.
-       * normal/execute.c: Likewise.
-       * normal/function.c: Likewise.
-       * normal/lexer.c: Likewise.
-       * normal/parser.y: Likewise.
-       * normal/script.c: Likewise.
-
-       * configure.ac: Add `AC_PROG_YACC' test.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
-       `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
-       `normal/function.c' and `normal/script.c'.
-       (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
-       `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
-       (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
-       variables.
-       (pkgdata_MODULES): Add `test.mod'.
-       (grub_script.tab.c): New rule.
-       (grub_script.tab.h): Likewise.
-
-       * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
-
-       * include/grub/normal.h (grub_test_init): New prototype.
-       (grub_test_fini): Likewise.
-
-       * normal/command.c: Include <grub/script.h>.
-       (grub_command_execute): Rewritten.
-
-       * util/grub-emu.c (main): Call `grub_test_init' and
-       `grub_test_fini'.
-
-2005-11-03  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
-       to 0.
-       * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
-       there are no pending characters.
-
-2005-11-03  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
-       `grub_strndup' to drop device arguments. Replace unnecessary
-       `grub_strndup' with `grub_strdup'.
-
-2005-11-03  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
-       `debug' environment variable has been set.
-
-2005-11-02  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * Makefile.in (install-local): Use $(DATA).
-       (uninstall): Likewise.
-       * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
-       (sbin_UTILITIES): ... to here.
-       (sbin_SCRIPTS): New variable.
-       (grub_install_SOURCES): New variable.
-       * util/powerpc/ieee1275/grub-install.in: New file.
-       * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
-       variable.
-       (add_segments): Call `grub_util_get_path'.
-
-2005-10-28  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       From Timothy Baldwin:
-       * commands/ls.c (grub_ls_list_files): Close FILE with
-       grub_file_close.
-       * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
-
-2005-10-24  Marco Gerards  <mgerards@xs4all.nl>
-
-       * include/grub/parser.h: New file.
-
-       * kern/parser.c: Likewise.
+       Provide __aeabi_mem{cpy,set}
+       Fixes ARM compilation
 
-       * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
-       (grub_setup_SOURCES): Likewise.
-       (grub_probefs_SOURCES): Likewise.
-       (grub_emu_SOURCES): Likewise.
-       (kernel_img_HEADERS): Add `parser.h'.
+       div_test: Don't try to divide by zero
 
-       * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
-       (grub_emu_SOURCES): Add `kern/parser.c'.
-       (grubof_SOURCES): Likewise.
+       INSTALL: Fix names of host flags to match actual behaviour
 
-       * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
-       (grubof_SOURCES): Add `kern/parser.c'.
+       Strip .MIPS.abiflags which causes compile failure
 
-       * include/grub/misc.h (grub_split_cmdline): Removed prototype.
+2015-02-20  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * kern/misc.c (grub_split_cmdline): Removed function.
+       configure: Move adding of include options to the very end to avoid subshell.
 
-       * kern/rescue.c: Include <grub/parser.h>.
-       (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
-       of `grub_split_cmdline'.
+       configure: Add missing comma.
 
-       * normal/command.c: Include <grub/parser.h>.
-       (grub_command_execute):  Use `grub_parser_split_cmdline' instead
-       of `grub_split_cmdline'.
-
-       * normal/completion.c: Include <grub/parser.h>.
-       (cmdline_state): New variable.
-       (iterate_dir): End the filename with a quote depending on the
-       command line state.
-       (get_state): new function.
-       (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
-       split the arguments and determine the current argument.  When the
-       argument string is not quoted, escape all spaces.
+2015-02-16  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2005-10-23  Vincent Pelletier  <subdino2004@yahoo.fr>
+       ext2: Ignore INCOMPAT_MMP.
+       It's not really incompatible as long as driver never writes to FS.
 
-       * normal/sparc64/setjmp.S: New file.
+       ext2: Support META_BG.
+       This fixes bug that system would become unbootable after ext*
+       online resize if no resize_inode was created at ext* format time.
 
-2005-10-23  Vincent Pelletier  <subdino2004@yahoo.fr>
+2015-02-16  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/sparc64/libgcc.h: New file.
-       * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
-       (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
-       normal/sparc64/setjmp.c.
+       tests: remove hardcoded paths from syslinux_test
+       abs_top_srcdir appeared in Autoconf 2.52f. Minimal grub requirement
+       is 2.60 so we should be good here.
 
-2005-10-23  Vincent Pelletier  <subdino2004@yahoo.fr>
+       build-sys: add syslinux test files to tarball
 
-       * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
-       * kern/sparc64/cache.S: New file.
-       * kern/sparc64/cache.c: Removed.
-       * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
-       (COMMON_CFLAGS): Add -mno-app-regs.  Remove -mcpu=v9 and
-       -mtune=ultrasparc.
-       (COMMON_LDFLAGS): Add -melf64_sparc.
-       (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
-       (grubof_SOURCES): Use cache.S instead of cache.c.
-       (grubof_LDFLAGS): Add -mno-app-regs.  Replace "-Xlinker
-       --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
-       (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
-       commented though.
-       (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
-       (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
-       (linux_mod_CFLAGS): Commented out.
-       (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
-       out because module isn't built.
-       (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
-       (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
-       (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
-       (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
-       (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
-       (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
-       (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
-       (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
-       (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
-       (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
-       (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
-       (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
-       (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
-       (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
+2015-02-16  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2005-10-20  Yoshinori K. Okuji  <okuji@enbug.org>
+       Add test for syslinux converter
 
-       * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
-       grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
-       longer, because HFS should not be used on PC.
+2015-02-16  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2005-10-20  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>
+       Don't remove initrd= parameter.
+       Based on simplified patch by Lunar.
 
-       * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
-       consistently within the loop.
+       Reported by: Lunar
 
-2005-10-15  Marco Gerards  <mgerards@xs4all.nl>
+2015-02-16  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
-       directory can not be read.
+       syslinux_parse: Always output comments even if no entries are found.
 
-2005-10-15  Yoshinori K. Okuji  <okuji@enbug.org>
+2015-02-15  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * configure.ac (AC_INIT): Increase the version number to 1.91.
+       diskfilter_make_raid: more memory leaks in failure path
 
-       * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
-       include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
-       term/i386/pc/serial.c.
+2015-02-14  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2005-10-15  Yoshinori K. Okuji  <okuji@enbug.org>
+       disk/lvm: Use zalloc to ensure that segments are initialised to sane value.
+       Reported by: EmanueL Czirai.
 
-       * kern/file.c (grub_file_seek): Seeking to an offset equal to a
-       file size must be permitted.
+2015-02-14  Daniel Kiper  <daniel.kiper@oracle.com>
 
-       * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
-       between %ah and %al.
+       multiboot2: Fix information request tag size calculation
 
-2005-10-15  Yoshinori K. Okuji  <okuji@enbug.org>
+2015-02-14  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
-       grub_uint64_t.
-       Call the hook with a NUL-terminated filename.
-       (grub_xfs_mount): Use grub_be_to_cpu32 instead of
-       grub_cpu_to_be32.
-
-       * kern/term.c (cursor_state): New variable.
-       (grub_term_set_current): Reset the cursor state on a new
-       terminal.
-       (grub_setcursor): Rewritten to use CURSOR_STATE.
-       (grub_getcursor): New function.
-
-       * include/grub/term.h (grub_getcursor): New prototype.
-
-       * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
-       integers on ARM. Reported by Timothy Baldwin
-       <T.E.Baldwin99@members.leeds.ac.uk>.
-
-2005-10-11  Marco Gerards  <mgerards@xs4all.nl>
-
-       * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
-       allocated.
-       (grub_sfs_dir): Likewise.
-
-2005-10-09  Marco Gerards  <mgerards@xs4all.nl>
-
-       Add support for the SFS filesystem.
-
-       * fs/sfs.c: New file.
-
-       * DISTLIST: Added `fs/sfs.c'.
-
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
-       (grub_probefs_SOURCES): Likewise.
-       (grub_emu_SOURCES): Likewise.
-       (pkgdata_MODULES): Add `sfs.mod'.
-       (sfs_mod_SOURCES): New variable.
-       (sfs_mod_CFLAGS): Likewise.
-       (sfs_mod_LDFLAGS): Likewise.
+       diskfilter: fix double free of lv names for mdraid
+       Avoid micro-optimization in grub_diskfilter_make_raid and make sure
+       name and fullname are independent strings. This avoids need to special
+       case it everywhere else.
 
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
-       (pkgdata_MODULES): Add `sfs.mod'.
-       (sfs_mod_SOURCES): New variable.
-       (sfs_mod_CFLAGS): Likewise.
+       Also fix memory leak in failure case in grub_diskfilter_make_raid.
 
-       * util/grub-emu.c (main): Call `grub_sfs_init' and
-       `grub_sfs_fini'.
+       Closes: 41582
 
-       * include/grub/fs.h (grub_sfs_init): New prototype.
-       (grub_sfs_fini): Likewise.
+2015-02-14  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-2005-10-07  Marco Gerards  <mgerards@xs4all.nl>
+       diskfilter: fix crash in validate_lv for mdraid arrays
+       Commit 750f4bacd3262376ced3f837d8dc78f834ca233a put LV validation before
+       actual vg assignment. Make grub_diskfilter_make_raid to assign ->vg as
+       happens in other cases for consistency. Also clean up redundant code and add
+       explicit NULL lv->vg check in validate_lv.
 
-       Add support for the AFFS filesystem.
+       Also fix segment validation in validate_lv; it became obvious when crash
+       was fixed.
 
-       * fs/affs.c: New file.
+       Closes: 44199
 
-       * DISTLIST: Added `fs/affs.c'.
+2015-02-12  Jiri Slaby  <jslaby@suse.cz>
 
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
-       (grub_probefs_SOURCES): Likewise.
-       (grub_emu_SOURCES): Likewise.
-       (pkgdata_MODULES): Add `affs.mod'.
-       (affs_mod_SOURCES): New variable.
-       (affs_mod_CFLAGS): Likewise.
-       (affs_mod_LDFLAGS): Likewise.
+       util: mkimage, fix gcc5 build failure
+       gcc5 reports:
+       ../util/mkimage.c: In function 'grub_install_get_image_target':
+       ../util/mkimage.c:954:5: error: loop exit may only be reached after undefined behavior [-Werror=aggressive-loop-optimizations]
+            && j < ARRAY_SIZE (image_targets[i].names); j++)
+            ^
+       ../util/mkimage.c:953:39: note: possible undefined statement is here
+             for (j = 0; image_targets[i].names[j]
+                                               ^
 
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
-       (pkgdata_MODULES): Add `affs.mod'.
-       (affs_mod_SOURCES): New variable.
-       (affs_mod_CFLAGS): Likewise.
+       Well, let's move the index 'j' test before accesing the array to:
+       1) make the loop obvious
+       2) make gcc happy
 
-       * util/grub-emu.c (main): Call `grub_affs_init' and
-       `grub_affs_fini'.
+2015-02-03  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * include/grub/fs.h (grub_affs_init): New prototype.
-       (grub_affs_fini): Likewise.
+       arm: implement additional relocations generated by gcc 4.9 at -O3
+       GCC 4.9 also generates R_ARM_THM_MOVW_ABS_NC and R_ARM_THM_MOVT_ABS,
+       as an alternative to ABS32.
 
-2005-10-01  Marco Gerards  <mgerards@xs4all.nl>
+2015-01-30  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
+       setup: fix blocklist size calculation
+       Found by: Coverity scan.
 
-2005-10-01  Marco Gerards  <mgerards@xs4all.nl>
+       grub-fstest: fix descriptor leak
+       Found by: Coverity scan.
 
-       * configure.ac: Accept `x86_64' as host_cpu.  In that case add
-       `-m32' to CFLAGS.
+2015-01-30  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
-       linking.
+       net/pxe: fix error condition
+       Test return value of grub_netbuff_reserve(), buf itself cannot be
+       NULL here.
 
-       * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
-       (COMMON_LDFLAGS): New variable.
-       (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
-       (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
-       (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
-       (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
-       (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
-       (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
-       (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
-       (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
-       (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
-       (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
-       (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
-       (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
-       (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
-       (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
-       (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
-       variables.
-       (normal_mod_ASFLAGS): Add `-m32'.
+       Found by: Coverity scan.
 
-       * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
-       (grub_host_size_t, grub_host_ssize_t): New types.
-       (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
-       dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
-       `GRUB_HOST_SIZEOF_VOID_P'.
+2015-01-30  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * include/grub/kernel.h (struct grub_module_header): Type of
-       member offset changed to `grub_host_off_t'.  Type of member size
-       changed to `grub_host_size_t'.
-       (struct grub_module_info): Type of member offset changed to
-       `grub_host_off_t'.  Type of member size changed to
-       `grub_host_size_t'.
+       grub-mkimage: fix potential NULL pointer dereference
+       Move fatal check whether symtab_section is NULL before first reference.
 
-2005-09-29  Yoshinori K. Okuji  <okuji@enbug.org>
+       Found by: Coverity scan.
 
-       Make GRUB's kernel compliant to Multiboot Specification.
+2015-01-30  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * kern/i386/pc/startup.S (multiboot_header): New label.
-       (multiboot_entry): Likewise.
-       (multiboot_trampoline): Likewise.
+       net/ip: check result of grub_netbuff_push
+       Found by: Coverity scan.
 
-       * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
-       Increased to 0x4A0.
+       tests: add test command file tests
+       This requires access to files in both host and grub image, so
+       implementing as separate test unit instead of script test was
+       more easy.
 
-       * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
-       put parentheses after a question mark.
-       [!GRUB_UTIL] (my_mod): New variable.
+       test: consistently use TMPDIR and same name pattern for temp files
 
-       * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
+       test: fix previous commit - we need to return from subexpression
+       ( ... ) was processed recursively, we need to return from it. Revert
+       this change.
 
-2005-09-28  Marco Gerards  <mgerards@xs4all.nl>
+       test: do not stop after first file test or closing bracket
+       Closes: 44115
 
-       Adds support for the XFS filesystem.  Btrees are not supported
-       yet.
+2015-01-28  Leif Lindholm  <leif.lindholm@linaro.org>
 
-       * fs/xfs.c: New file.
+       configure.ac: don't use -msoft-float for arm64
+       aarch64 toolchains do not support the -msoft-float option added by
+       commit 3661261f. Insted, for arm64 use -march=armv8-a+nofp+nosimd.
 
-       * DISTLIST: Added `fs/xfs.c'.
+       Reported-by: Ryan Harkin <ryan.harkin@linaro.org>
 
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
-       (grub_probefs_SOURCES): Likewise.
-       (grub_emu_SOURCES): Likewise.
-       (pkgdata_MODULES): Add `xfs.mod'.
-       (xfs_mod_SOURCES): New variable.
-       (xfs_mod_CFLAGS): Likewise.
+2015-01-28  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
-       (pkgdata_MODULES): Add `xfs.mod'.
-       (xfs_mod_SOURCES): New variable.
-       (xfs_mod_CFLAGS): Likewise.
+       script/execute.c: fix memory leak.
+       Make sure to continue loop over array after failure to free
+       allocated strings.
 
-       * util/grub-emu.c (main): Call `grub_xfs_init' and
-       `grub_xfs_fini'.
+       Found by: Coverity scan.
 
-       * include/grub/fs.h (grub_xfs_init): New prototype.
-       (grub_xfs_fini): Likewise.
+2015-01-28  Andrei Borzenkov  <arvidjaar@gmail.com>
 
+       syslinux_parse: fix memory leak.
+       Found by: Coverity scan.
 
-2005-09-18  Vesa Jaaskelainen  <chaac@nic.fi>
+2015-01-27  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
-       color modes, allow greater than 16 colors to be configured as
-       a default palette.
+       Change quotes to match overall style in NEWS
 
-2005-09-03  Yoshinori K. Okuji  <okuji@enbug.org>
+       loader/xnu: fix memory leak.
+       Foound by: Coverity scan.
 
-       * normal/completion.c (complete_arguments): Add the qualifier
-       const into OPTIONS.
+       util/grub-probe: fix memory leaks.
+       Found by: Coverity scan.
 
-       From Omniflux <omniflux+lists@omniflux.com>:
-       * include/grub/terminfo.h: New file.
-       * include/grub/tparm.h: Likewise.
-       * include/grub/i386/pc/serial.h: Likewise.
-       * term/terminfo.c: Likewise.
-       * term/tparm.c: Likewise.
-       * term/i386/pc/serial.c: Likewise.
-       * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
-       serial.mod.
-       (terminfo_mod_SOURCES): New variable.
-       (terminfo_mod_CFLAGS): Likewise.
-       (serial_mod_SOURCES): Likewise.
-       (serial_mod_CFLAGS): Likewise.
+       fs/hfsplus: fix memory leak.
+       Found by: Coverity scan.
 
-2005-08-31  Yoshinori K. Okuji  <okuji@enbug.org>
+       fs/zfs/zfscrypt.c: fix indentation.
 
-       * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
-       boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
-       and kern/powerpc/ieee1275/cmain.c, respectively.
+       fs/zfs/zfscrypt.c: fix memory leaks.
+       Found by: Coverity scan.
 
-       * boot/powerpc/ieee1275/crt0.S: Moved to ...
-       * kern/powerpc/ieee1275/crt0.S: ... here.
+       commands/parttool: fix memory leak.
+       Found by: Coverity scan.
 
-       * boot/powerpc/ieee1275/cmain.c: Moved to ...
-       * kern/powerpc/ieee1275/cmain.c: ... here.
+       fs/zfs/zfs.c: fix memory leak.
+       Found by: Coverity scan.
 
-       * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
-       kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
-       instead of boot/powerpc/ieee1275/crt0.S and
-       boot/powerpc/ieee1275/cmain.c, respectively.
+       linux/ofpath: fix descriptor leak
+       Found by: Coverity scan
 
-       * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
-       sectors. It was not used anyway.
+       linux/hostdisk: use strncpy instead of strlcpy
+       strlcpy is not available on Linux as part of standard libraries.
+       It probably is not worth extra configure checks espicially as we
+       need to handle missing function anyway.
 
-2005-08-30  Hollis Blanchard  <hollis@penguinppc.org>
+2015-01-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
-       `unused parameter' warning.
+       Document intentional fallthroughs.
+       Found by: Coverity scan.
 
-2005-08-30  Hollis Blanchard  <hollis@penguinppc.org>
+       linux/ofpath: Fix error handling.
+       Found by: Coverity Scan.
 
-       * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
-       function.
-       (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
-       getcharwidth.
-
-2005-08-28  Marco Gerards  <metgerards@student.han.nl>
-
-       * include/grub/normal.h (enum grub_completion_type): Added
-       `GRUB_COMPLETION_TYPE_ARGUMENT'.
-
-       * normal/cmdline.c (print_completion): Handle
-       the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
-       * normal/menu_entry.c (store_completion): Likewise.
-
-       * normal/completion.c (complete_arguments): New function.
-       (grub_normal_do_completion): Call `complete_arguments' when the
-       current words start with a dash.
-
-2005-08-27  Marco Gerards  <metgerards@student.han.nl>
-
-       * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
-       `gzio.mod' instead of `io.mod').
-
-2005-08-22  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
-       (DISTDIRS): Added io and video.
-       Rewrite the search routine to make an output consistently.
-
-       * DISTLIST: Added conf/sparc64-ieee1275.mk,
-       conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
-       include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
-       io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
-       kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
-       util/powerpc/ieee1275/misc.c.
-
-       * include/grub/gzio.h: New file.
-       * io/gzio.c: Likewise.
-
-       * kern/file.c (grub_file_close): Call grub_device_close only if
-       FILE->DEVICE is not NULL.
-
-       * include/grub/mm.h [!NULL] (NULL): New macro.
-
-       * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
-
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
-       (pkgdata_MODULES): Added gzio.mod.
-       (gzio_mod_SOURCES): New variable.
-       (gzio_mod_CFLAGS): Likewise.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
-       (pkgdata_MODULES): Added gzio.mod.
-       (gzio_mod_SOURCES): New variable.
-       (gzio_mod_CFLAGS): Likewise.
-
-       * commands/cat.c: Include grub/gzio.h.
-       (grub_cmd_cat): Use grub_gzfile_open instead of
-       grub_file_open.
-
-       * commands/cmp.c: Include grub/gzio.h.
-       (grub_cmd_cmp): Use grub_gzfile_open instead of
-       grub_file_open.
-
-       * loader/i386/pc/multiboot.c: Include grub/gzio.h.
-       (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
-       grub_file_open.
-       (grub_rescue_cmd_module): Likewise.
-
-2005-08-21  Vincent Pelletier  <subdino2004@yahoo.fr>
-
-       * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
-       kern/sparc64/ieee1275/init.c because it contains _start.
-       * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
-
-2005-08-21  Vincent Pelletier  <subdino2004@yahoo.fr>
-
-       * configure.ac: Add support for sparc64 host with ieee1275
-       firmware.
-       * configure: Generated from configure.ac.
-       * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
-       instead of int.
-       (grub_ofdisk_read): Likewise.
-       (grub_ofdisk_open): Use %p to print pointer values, and cast the
-       pointers as (void *) to remove a warning.
-       (grub_ofdisk_close): Likewise.
-       (grub_ofdisk_read): Likewise.
-       * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
-       returns, so make it return void to remove a warning.
-       * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
-       Corresponding prototype change.
-       * kern/mm.c (grub_mm_init_region): Use %p to print pointer
-       values, and cast the pointers as (void *) to remove a warning.
-       (grub_mm_dump): Likewise.
-       * conf/sparc64-ieee1275.mk: New file.
-       * conf/sparc64-ieee1275.rmk: Likewise.
-       * include/grub/sparc64/setjmp.h: Likewise.
-       * include/grub/sparc64/types.h: Likewise.
-       * include/grub/sparc64/ieee1275/console.h: Likewise.
-       * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
-       * include/grub/sparc64/ieee1275/kernel.h: Likewise.
-       * include/grub/sparc64/ieee1275/time.h: Likewise.
-       * kern/sparc64/cache.c: Likewise.
-       * kern/sparc64/dl.c: Likewise.
-       * kern/sparc64/ieee1275/init.c: Likewise.
-       * kern/sparc64/ieee1275/openfw.c: Likewise.
+       linux/hostdisk: Limit strcpy size to buffer size.
+       Found by: Coverity scan.
 
-2005-08-21  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * util/console.c (grub_ncurses_putchar): If C is greater than
-       0x7f, set C to a question mark.
-       (grub_ncurses_getcharwidth): New function.
-       (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
-       getcharwidth.
-
-       * normal/menu.c (print_entry): Made aware of Unicode. First,
-       convert TITLE to UCS-4, and predict the cursor position by
-       grub_getcharwidth.
-
-       * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
-       const to SRC.
-       * kern/misc.c (grub_utf16_to_utf8): Likewise.
-
-2005-08-20  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
-       the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
-       grub_strcat.
-
-       * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
-       file by the option BOOT_IMAGE. Use grub_stpcpy instead of
-       grub_strcpy and grub_strlen. Take it into account that a space
-       character is inserted as a delimiter.
-
-2005-08-20  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * partmap/pc.c (pc_partition_map_iterate): Include the value of an
-       invalid magic in the error.
-
-       * commands/search.c: New file.
-
-       * util/grub-emu.c (main): Call grub_search_init and
-       grub_search_fini.
-
-       * kern/rescue.c (grub_rescue_print_disks): Removed.
-       (grub_rescue_print_devices): New function.
-       (grub_rescue_cmd_ls): Use grub_device_iterate with
-       grub_rescue_print_devices instead of grub_disk_dev_iterate with
-       grub_rescue_print_disks.
-
-       * kern/partition.c (grub_partition_iterate): Return the result of
-       PARTMAP->ITERATE instead of GRUB_ERRNO.
-
-       * kern/device.c: Include grub/partition.h.
-       (grub_device_iterate): New function.
-
-       * include/grub/partition.h (grub_partition_iterate): Return int
-       instead of grub_err_t.
-
-       * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
-       prototype.
-       [GRUB_UTIL] (grub_search_fini): Likewise.
-
-       * include/grub/device.h (grub_device_iterate): New prototype.
-
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
-       commands/search.c.
-       (pkgdata_MODULES): Added search.mod.
-       (search_mod_SOURCES): New variable.
-       (search_mod_CFLAGS): Likewise.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
-       (pkgdata_MODULES): Added search.mod.
-       (search_mod_SOURCES): New variable.
-       (search_mod_CFLAGS): Likewise.
-
-       * commands/ls.c (grub_ls_list_disks): Renamed to ...
-       (grub_ls_list_devices): ... this, and use grub_device_iterate.
-       All callers changed.
-
-       * DISTLIST: Added commands/search.c.
-
-2005-08-20  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
-       conversion.
-       (grub_getcharwidth): New function.
-
-       * kern/misc.c (grub_utf8_to_ucs4): New function.
-
-       * include/grub/term.h (struct grub_term): Added a new member
-       "getcharwidth".
-       (grub_getcharwidth): New prototype.
+       fs/zfscrypt: Add missing explicit cast.
+       Found by: Coverity scan.
 
-       * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
+       fs/zfs: Fix error handling.
+       Found by: Coverity Scan.
 
-       * term/i386/pc/console.c (map_char): New function. Segregated from
-       grub_console_putchar.
-       (grub_console_putchar): Use map_char.
-       (grub_console_getcharwidth): New function.
-       (grub_console_term): Specified grub_console_getcharwidth as
-       getcharwidth.
+2015-01-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
-       (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
+       fs/{cbfs,cpio}: Remove useless check if mode is NULL.
+       Callers already ensure that it's not null.
 
-       * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
-       GRUB_ERRNO.
-       (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
-       on grub_strtoul completely.
-       (write_char): Declare local variables in the beginning of the
-       function.
-       (grub_vesafb_getcharwidth): New function.
-       (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
-       getcharwidth.
+       Found by: Coverity Scan.
 
-2005-08-19  Yoshinori K. Okuji  <okuji@enbug.org>
+2015-01-27  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
-       commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
-       commands/i386/pc/vbetest.c.
+       commands/acpi: Use ALIGN_UP rather than manual expression.
+       Improves readability and hopefully automatic scanning.
 
-       * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
-       call grub_vbe_get_controller_info again, because the returned
-       information is volatile.
-       (grub_vbe_set_video_mode): Mostly rewritten.
-       (grub_vbe_get_video_mode): Use grub_vbe_probe and use
-       grub_vbe_status_t correctly.
-       (grub_vbe_get_video_mode_info): Likewise.
-       (grub_vbe_set_pixel_rgb): Use a switch statement rather than
-       several if statements.
+       Found by: Coverity Scan.
 
-       * commands/i386/pc/vbe_list_modes.c: Renamed to ...
-       * commands/i386/pc/vbeinfo.c: ... this.
+2015-01-26  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * commands/i386/pc/vbe_test.c: Renamed to ...
-       * commands/i386/pc/vbetest.c: ... this.
+       util/setup: fix memory leak.
+       Found by: Coverity scan.
 
-       * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
-       ...
-       (grub_cmd_vbeinfo): ... this. Save video modes before
-       iterating. Skip a video mode, if it is not available, not enough
-       information is given or it is monochrome. Show the memory
-       model. Leave the interpretation of MODEVAR to grub_strtoul
-       completely.
-       (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
-       (GRUB_MOD_FINI): Likewise.
-
-       * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
-       (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
-       grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
-       duplicated grub_env_get. Leave the interpretation of MODEVAR to
-       grub_strtoul completely.
-       (real2pm): Removed.
-       (GRUB_MOD_INIT): Rename vbe_test to vbetest.
-       (GRUB_MOD_FINI): Likewise.
-
-       * normal/misc.c: Include grub/mm.h.
-
-       * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
-       vbe_list_modes with vbetest.mod and vbeinfo.mod.
-       (vbe_list_modes_mod_SOURCES): Removed.
-       (vbe_list_modes_mod_CFLAGS): Likewise.
-       (vbe_test_mod_SOURCES): Likewise.
-       (vbe_test_mod_CFLAGS): Likewise.
-       (vbeinfo_mod_SOURCES): New variable.
-       (vbeinfo_mod_CFLAGS): Likewise.
-       (vbetest_mod_SOURCES): Likewise.
-       (vbetest_mod_CFLAGS): Likewise.
-
-2005-08-18  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * normal/misc.c: New file.
-
-       * DISTLIST: Added normal/misc.c.
-
-       * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
-       DISK to HOOK. Call HOOK with DISK.
-       * partmap/apple.c (apple_partition_map_iterate): Likewise.
-       * partmap/pc.c (pc_partition_map_iterate): Likewise.
-       * partmap/sun.c (sun_partition_map_iterate): Likewise.
-
-       * normal/menu_entry.c (struct screen): Added a new member
-       "completion_shown".
-       (completion_buffer): New global variable.
-       (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
-       (store_completion): New function.
-       (complete): Likewise.
-       (clear_completions): Likewise.
-       (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
-       call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
-       a tab, call complete.
-
-       * normal/completion.c (disk_dev): Removed.
-       (print_simple_completion): Likewise.
-       (print_partition_completion): Likewise.
-       (print_func): New global variable.
-       (add_completion): Do not take the arguments WHAT or PRINT any
-       longer. Added a new argument TYPE. Instead of printing directly,
-       call PRINT_FUNC if not NULL.
-       All callers changed.
-       (complete_device): Use a local variable DEV instead of
-       DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
-       (grub_normal_do_completion): Take a new argument HOOK. Do not
-       initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
-       empty string, return NULL instead.
-       All callers changed.
-
-       * normal/cmdline.c (print_completion): New function.
-
-       * kern/partition.c (grub_partition_iterate): Add an argument DISK
-       to HOOK.
-       All callers changed.
-
-       * kern/disk.c (grub_print_partinfo): Removed.
-
-       * include/grub/partition.h (struct grub_partition_map): Add a new
-       argument DISK into HOOK of ITERATE.
-       (grub_partition_iterate): Add a new argument DISK to HOOK.
-
-       * include/grub/normal.h (enum grub_completion_type): New enum.
-       (grub_completion_type_t): New type.
-       (GRUB_COMPLETION_TYPE_COMMAND): New constant.
-       (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
-       (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
-       (GRUB_COMPLETION_TYPE_FILE): Likewise.
-       (grub_normal_do_completion): Added a new argument HOOK.
-       (grub_normal_print_device_info): New prototype.
-
-       * include/grub/disk.h (grub_print_partinfo): Removed.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
-       (normal_mod_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       (normal_mod_SOURCES): Likewise.
-
-       * commands/ls.c (grub_ls_list_disks): Use
-       grub_normal_print_device_info instead of grub_print_partinfo. Free
-       PNAME.
-       (grub_ls_list_files): Use grub_normal_print_device_info instead of
-       duplicating the code.
-
-2005-08-16  Vesa Jaaskelainen  <chaac@nic.fi>
-
-       * commands/i386/pc/vbe_list_modes.c: Update source formatting to
-       follow GCS more precisely.
-       * commands/i386/pc/vbe_test.c: Likewise.
-       * include/grub/i386/pc/vbe.h: Likewise.
-       * term/i386/pc/vesafb.c: Likewise.
-       * video/i386/pc/vbe.c: Likewise.
-
-2005-08-16  Vesa Jaaskelainen  <chaac@nic.fi>
-
-       * DISTLIST: Added term/i386/pc/vesafb.c
-       DISTLIST: Added video/i386/pc/vbe.c
-       DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
-       DISTLIST: Added commands/i386/pc/vbe_test.c.
-       * commands/i386/pc/vbe_list_modes.c: New file.
-       * commands/i386/pc/vbe_test.c: Likewise.
-       * term/i386/pc/vesafb.c: Likewise.
-       * video/i386/pc/vbe.c: Likewise.
-       * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
-       (grub_vbe_probe) Added prototype.
-       (grub_vbe_set_video_mode) Likewise.
-       (grub_vbe_get_video_mode) Likewise.
-       (grub_vbe_get_video_mode_info) Likewise.
-       (grub_vbe_set_pixel_rgb) Likewise.
-       (grub_vbe_set_pixel_index) Likewise.
-       * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
-       (pkgdata_MODULES): Added vesafb.mod.
-       (pkgdata_MODULES): Added vbe_list_modes.mod.
-       (pkgdata_MODULES): Added vbe_test.mod.
-       (vbe_mod_SOURCES): Added.
-       (vbe_mod_CFLAGS): Likewise.
-       (vesafb_mod_SOURCES): Likewise.
-       (vesafb_mod_CFLAGS): Likewise.
-       (vbe_list_modes_mod_SOURCES): Likewise.
-       (vbe_list_modes_mod_CFLAGS): Likewise.
-       (vbe_test_mod_SOURCES): Likewise.
-       (vbe_test_mod_CFLAGS): Likewise.
-
-2005-08-14  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * normal/command.c (grub_command_execute): If INTERACTIVE is
-       false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
-       CMDLINE. Disable the pager if INTERACTIVE is true.
-       All callers are changed.
-
-       * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
-       before reading a config file.
-       * normal/main.c (read_config_file): Even if a command is not
-       found, register it if it is within an entry.
-
-       * util/grub-emu.c: Include sys/types.h and unistd.h.
-       (options): Added --hold.
-       (struct arguments): Added a new member "hold".
-       (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
-       missing.
-       (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
-       cleared by a debugger, if it is not zero.
-
-       * include/grub/normal.h (grub_command_execute): Add an argument
-       INTERACTIVE.
-
-2005-08-14  Vesa Jaaskelainen  <chaac@nic.fi>
-
-       * DISTLIST: Added include/grub/i386/pc/vbe.h.
-
-2005-08-13  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
-       program with another one, because the old one didn't detect a bug
-       in gcc-3.4. Always use regparm 2, because the new test is still
-       not enough for gcc-4.0. Someone must investigate a simple test
-       case which detects a bug in gcc-4.0.
-
-2005-08-12  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * DISTLIST: Added normal/completion.c.
-
-       * normal/completion.c: New file.
-
-       * term/i386/pc/console.c (grub_console_getwh): New function.
-       (grub_console_term): Assign grub_console_getwh to getwh.
-
-       * normal/cmdline.c (grub_tab_complete): Removed. Now the same
-       function is defined in normal/completion.c as
-       grub_normal_do_completion.
-       (grub_cmdline_get): Use grub_normal_do_completion instead of
-       grub_tab_complete.
-
-       * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
-       returns non-zero, otherwise return 0.
-       (grub_partition_iterate): First, probe the partition map. Then,
-       call ITERATE only for this partition map.
-
-       * kern/misc.c (grub_strncmp): Rewritten.
-
-       * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
-       returns non-zero. Otherwise return 0.
-
-       * include/grub/partition.h (grub_partition_map_iterate): Return
-       int instead of void.
-
-       * include/grub/normal.h (grub_normal_do_completion): New prototype.
-
-       * include/grub/misc.h (grub_strncmp): Change the type of N to
-       grub_size_t.
-
-       * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
-       of void.
-
-       * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
-       unsigned explicitly before comparing it with I.
-
-       * kern/main.c (grub_env_write_root): Add the attribute unused into
-       VAR.
-
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
-       normal/completion.c.
-       (normal_mod_SOURCES): Likewise.
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
-       (normal_mod_SOURCES): Likewise.
-
-       * normal/command.c (grub_iterate_commands): If ITERATE returns
-       non-zero, return one immediately.
+       util/mkimage: fix memory leaks.
+       Found by: Coverity scan.
 
-2005-08-09  Vesa Jaaskelainen  <chaac@nic.fi>
+       util/grub-mount: fix descriptor leak.
+       Found by: Coverity scan.
 
-       * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
-       * kern/i386/pc/startup.S: Updated Global Descriptor table's
-       descriptions.
-       (grub_vbe_get_controller_info): New function.
-       (grub_vbe_get_mode_info): Likewise.
-       (grub_vbe_set_mode): Likewise.
-       (grub_vbe_get_mode): Likewise.
-       (grub_vbe_set_memory_window): Likewise.
-       (grub_vbe_get_memory_window): Likewise.
-       (grub_vbe_set_scanline_length): Likewise.
-       (grub_vbe_get_scanline_length): Likewise.
-       (grub_vbe_set_display_start): Likewise.
-       (grub_vbe_get_display_start): Likewise.
-       (grub_vbe_set_palette_data): Likewise.
-       * include/grub/i386/pc/vbe.h: New file.
+       util/grub-mkstandalone: fix memory leak.
+       Found by: Coverity scan.
 
-2005-08-08  Hollis Blanchard  <hollis@penguinppc.org>
+       util/grub-install: rearrange code to avoid memory leak.
+       Found by: Coverity scan.
 
-       * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
-       kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
-       * DISTLIST: Likewise.
-       * kern/ieee1275/of.c: Moved to ...
-       * kern/ieee1275/ieee1275.c: ... here.
+       linux/getroot: fix memory leak.
+       Found by: Coverity scan.
 
-2005-08-08  Hollis Blanchard  <hollis@penguinppc.org>
+       util/install: fix memory leak.
+       Found by: Coverity scan.
 
-       * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
-       (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
-       Pass 0 as `end' parameter to grub_strtoul().
+       util/setup: fix memory leak.
+       Found by: Coverity scan.
 
-2005-08-08  Hollis Blanchard  <hollis@penguinppc.org>
+       linux/ofpath: fix various memory leaks.
+       Found by: Coverity scan.
 
-       * include/grub/powerpc/ieee1275/console.h: Do not include
-       <grub/types.h>.  Do not include <grub/symbol.h>.  Remove ASM_FILE
-       ifdef.
-       (grub_console_cur_color): Remove i386-specific prototype.
-       (grub_console_real_putchar): Likewise.
-       (grub_console_checkkey): Likewise.
-       (grub_console_getkey): Likewise.
-       (grub_console_getxy): Likewise.
-       (grub_console_gotoxy): Likewise.
-       (grub_console_cls): Likewise.
-       (grub_console_setcursor): Likewise.
-       * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
-       Include <grub/machine/console.h>.
-       * term/ieee1275/ofconsole.c: Likewise.
+       linux/getroot: fix descriptor leak.
+       Found by: Coverity scan.
 
-2005-08-08  Yoshinori K. Okuji  <okuji@enbug.org>
+2015-01-26  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * Makefile.in (LIBLZO): New variable.
+       util/misc.c: Check ftello return value.
+       Found by: Coverity scan.
 
-       * configure.ac: Check for LZO version 2.
+       grub-macbless: Fix resource leak.
+       Found by: Coverity scan.
 
-       * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
-       lzo/lzo1x.h instead of lzo1x.h.
+       grub-install: Fix memory leak.
+       Found by: Coverity scan.
 
-       * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
-       of -llzo.
+       grub-install-common: Fix sizeof usage.
+       Found by: Coverity scan.
 
-       * util/i386/pc/grub-setup.c (main): Do not free PREFIX
-       twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
+       util/getroot: Add missing grub_disk_close.
+       Found by: Coverity scan.
 
-       * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
-       copying the data from PARTITION to P.
+       vbe: Fix incorrect register usage.
+       Found by: Coverity scan.
 
-2005-08-07  Yoshinori K. Okuji  <okuji@enbug.org>
+       unix/password: Fix file descriptor leak.
+       Found by: Coverity scan.
 
-       * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
-       negative, unload the module.
+       linux/getroot: Fix error handling.
+       Found by: Coverity scan.
 
-       * util/i386/pc/grub-setup.c (setup): The name of the PC partition
-       map is "pc_partition_map" but not "pc".
-       (usage): Fix the description. The options are --boot-image and
-       --core-image but not --boot-file or --core-file.
-       (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
-       based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
-       DEFAULT_DIRECTORY.
-
-       * util/i386/pc/grub-install.in: Do not specify --boot-file or
-       --core-file. Specify INSTALL_DEVICE as an argument.
-
-       * util/console.c: Include config.h.
-       [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
-       [HAVE_NCURSES_H]: Include ncurses.h.
-       [HAVE_CURSES_H]: Include curses.h.
-       [!A_NORMAL] (A_NORMAL): Defined as zero.
-       [!A_STANDOUT] (A_STANDOUT): Likewise.
-
-       * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
-       -lncurses.
-       * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
-
-       * configure.ac: Check for curses libraries and headers.
-
-       * Makefile.in (LIBCURSES): New variable.
-
-       * genmk.rb (Script::rule): Set the executable bits.
-
-       * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
-       name of the PC partition map is "pc_partition_map" but not "pc".
-
-2005-08-07  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * util/i386/pc/grub-install.in (grub_probefs): New variable.
-       (modules): Likewise.
-       (usage): Added descriptions for --modules and --grub-probefs.
-       Handle --modules and --grub-probefs. Save the arguments in MODULES
-       and GRUB_PROBEFS, respectively.
-       Auto-detect a filesystem module against GRUBDIR. If the result is
-       empty and modules are not specified explicitly, abort the
-       installation. Add the result to MODULES.
-
-       * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
-       disk/powerpc/ieee1275/ofdisk.c,
-       include/grub/powerpc/ieee1275/init.h and
-       term/powerpc/ieee1275/ofconsole.c.
-       Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
-       term/ieee1275/ofconsole.c.
-
-       * include/grub/powerpc/ieee1275/console.h: Resurrected.
-
-       * COPYING: Upgraded to the latest version. Only the address of the
-       FSF office has changed.
-
-2005-08-07  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
-       kern/ieee1275.c with kern/ieee1275/of.c.
-
-       * kern/ieee1275.c: Moved to ...
-       * kern/ieee1275/of.c: ... here.
-
-2005-08-06  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
-       readability.
-
-       * config.guess: Updated to the latest version from gnulib.
-       * config.sub: Likewise.
-       * install.sh: Likewise.
-       * mkinstalldirs: Likewise.
-
-       * include/grub/console.h: Removed. This file is arch-specific. Do
-       not put this in include/grub.
-
-       * include/grub/i386/pc/console.h: Resurrected.
+       linux/blocklist: Fix memory leak.
+       Found by: Coverity scan.
 
-       * util/console.c: Include grub/machine/console.h instead of
-       grub/console.h.
-       * util/grub-emu.c: Likewise.
-
-2005-08-04  Marco Gerards  <metgerards@student.han.nl>
-
-       * kern/term.c (grub_putcode): Use `grub_getwh' instead of
-       hardcoded value.
-
-       From Vincent Pelletier  <subdino2004@yahoo.fr>
-       * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
-       Redefined to use grub_getwh.
-       (grub_term): New member named getwh.
-       (grub_getwh): New prototype.
-       * kern/term.c (grub_getwh): New function.
-       * term/i386/pc/console.c (grub_console_getwh): New function.
-       (grub_console_term): New member `getwh'.
-       * term/i386/pc/vga.c (grub_vga_getwh): New function.
-       (grub_vga_term): New member `getwh'.
-       * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
-       grub_ssize_t.
-       (grub_ofconsole_getw): New function.
-       (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
-       (grub_ofconsole_term): New field named getwh and new initial
-       value.
-
-2005-08-03  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
-       * include/grub/ieee1275/ieee1275.h: ... to here.  All users updated.
-       Move `abort', `grub_reboot', and `grub_halt' prototypes ...
-       * include/grub/powerpc/ieee1275/kernel.h: ... to here.
-       * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
-       of <grub/machine/ieee1275.h>.
-       * commands/ieee1275/reboot.c: Likewise.
-       * boot/powerpc/ieee1275/ieee1275.c: Move ...
-       * kern/ieee1275.c: ... to here.  All users updated.  Change all
-       parameter structs to use new type `grub_ieee1275_cell_t'.
-       * term/powerpc/ieee1275/ofconsole.c: Move ...
-       * term/ieee1275/ofconsole.c: ... to here.  All users updated.
-       * disk/powerpc/ieee1275/ofdisk.c: Move ...
-       * disk/ieee1275/ofdisk.c: ... to here.  All users updated.
-       * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
-       to return int.
-       * include/grub/i386/pc/console.h: Move to include/grub/console.h.
-       Remove unused prototypes.  All users updated.
-       * include/grub/powerpc/ieee1275/console.h: Removed.
-       * include/grub/powerpc/ieee1275/ieee1275.h: Define
-       `grub_ieee1275_cell_t'.
-       * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
-       Cast comparisons with -1 to the correct type.
-       * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
-       type to match `grub_ieee1275_entry_fn'.
-
-2005-08-01  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * DISTLIST: Added util/i386/pc/grub-probefs.c.
-
-       * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
-       (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
-       partmap/sun.c.
-       (grub_probefs_SOURCES): New variable.
-
-       * util/i386/pc/grub-probefs.c: New file.
-
-       * util/i386/pc/grub-setup.c (main): Call
-       grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
-       grub_hfs_init and grub_jfs_init to initialize the system. Call
-       grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
-       grub_pc_partition_map_fini to finish the system.
-
-2005-07-31  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
-       function.
-       (grub_multiboot_load_elf32): Likewise.
-       (grub_multiboot_is_elf64): Likewise.
-       (grub_multiboot_load_elf64): Likewise.
-       (grub_multiboot_load_elf): Likewise.
-       (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
-       an ELF32 or ELF64 file.
-       This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
-
-       From Serbinenko Vladimir <serbinenko.vova@list.ru>:
-       * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
-       NULL before calling FS->LABEL.
-       * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
-       * commands/ls.c (grub_ls_list_files): Show labels, if possible.
-       (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
-       before calling FS->LABEL.
-
-2005-07-26  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * util/i386/pc/grub-install.in (datadir): New variable.
-       (libdir): Removed.
-       (pkgdatadir): New variable.
-       (pkglibdir): Removed.
-
-2005-07-24  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * DISTLIST: Added util/i386/pc/grub-install.in.
-
-       * util/i386/pc/grub-install.in: New file.
-
-       * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
-       (grub_install_SOURCES): Likewise.
-
-       * genmk.rb: Added support for scripts.
-       (Script): New class.
-       (scripts): New variable.
-
-       * Makefile.in (install-local): Install sbin_SCRIPTS by
-       INSTALL_SCRIPT.
-       (uninstall): Remove sbin_SCRIPTS.
-
-       * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
-       device, try to get a GRUB device by
-       grub_util_biosdisk_get_grub_dev.
-       Free DEST_DEV.
-
-       * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
-       description for --device-map.
-
-2005-07-20  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       Change the semantics of variable hooks. They now return strings
-       instead of error values.
-
-       * util/i386/pc/grub-setup.c: Include grub/env.h.
-       (setup): Use grub_device_set_root instead of grub_env_set.
-
-       * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
-       grub_env_get instead of grub_device_set_root and
-       grub_device_get_root, respectively.
-
-       * kern/main.c (grub_env_write_root): New function.
-       (grub_set_root_dev): Register grub_env_write_hook for "root". Use
-       grub_env_set instead of grub_device_set_root.
-
-       * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
-       many variables.
-       (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
-       rather than calling ENV->WRITE_HOOK afterwards.
-       (grub_env_get): Return the result of ENV->READ_HOOK rather than
-       passing a pointer of a pointer.
-       (grub_register_variable_hook): Change the types of "read_hook" and
-       "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
-       respectively.
-       Allocate the default empty string on the heap, because this string
-       may be freed later.
-
-       * kern/device.c: Include grub/env.h.
-       (grub_device_set_root): Removed.
-       (grub_device_get_root): Likewise.
-       (grub_device_open): Use grub_env_get instead of
-       grub_device_get_root.
-
-       * include/grub/env.h (grub_env_read_hook_t): New type.
-       (grub_env_write_hook_t): Likewise.
-       (grub_env_var): Change the types of "read_hook" and "write_hook"
-       to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
-       (grub_register_variable_hook): Likewise.
-
-       * include/grub/device.h (grub_device_set_root): Removed.
-       (grub_device_set_root): Likewise.
-
-       * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
-       make sure that DIRNAME terminates with '/', so that
-       grub_fat_find_dir will fail if PATH is not a directory.
-
-       * commands/ls.c (grub_ls_list_files): Remove the qualifier const
-       from DIRNAME.
-       Use the qualifier auto for print_files and print_files_long.
-       If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
-       as a regular file.
-       Put a newline only if there is no error.
-       (grub_cmd_ls): Remove grub_ls_print_files, because this is not
-       used.
-
-2005-07-20  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * kern/partition.c (grub_partition_probe): Initialize PART to
-       NULL. Otherwise, when no partition map is registered, this returns
-       a garbage.
-
-2005-07-19  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * partmap/apple.c (apple_partition_map_iterate): Check if POS
-       equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
-       valid.
-
-2005-07-18  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * commands/ls.c (grub_ls_list_disks): Print the filesystem
-       information on each device, if it does not have partitions. Print
-       "Device" instead of "Disk", because this function is not specific
-       to disk devices.
-
-       * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
-       static to ensure that it is put on the memory rather than a
-       register.
-
-2005-07-17  Yoshinori Okuji  <okuji@enbug.org>
-
-       * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
-       (grub_cat_init): Likewise.
-       * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
-       (options): Likewise.
-       * commands/configfile.c (GRUB_MOD_INIT): Likewise.
-       (grub_configfile_init): Likewise.
-       * font/manager.c (GRUB_MOD_INIT): Likewise.
-       * commands/help.c (GRUB_MOD_INIT): Likewise.
-       (grub_help_init): Likewise.
-       * normal/command.c (grub_command_init): Likewise.
-       * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
-       * disk/loopback.c (grub_loop_init): Likewise.
-       (GRUB_MOD_INIT): Likewise.
-       * commands/ls.c (grub_ls_init): Likewise.
-       (GRUB_MOD_INIT): Likewise.
-       (options): Likewise.
-       * commands/boot.c (grub_boot_init): Likewise.
-       (GRUB_MOD_INIT): Likewise.
-       * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
-       * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
-       (GRUB_MOD_INIT): Likewise.
-       * commands/cmp.c (grub_cmp_init): Likewise.
-       (GRUB_MOD_INIT): Likewise.
-
-       * normal/arg.c: Use <> instead of "" to include header files.
-       (SHORT_ARG_HELP): New macro.
-       (SHORT_ARG_USAGE): Likewise.
-       (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
-       of 'h' and 'u' for help and usage, respectively. Use more GNU-like
-       descriptions.
-       (find_short): Check if C is 'h' or 'u' explicitly.
-       (grub_arg_show_help): Use space characters instead of tabs. Treat
-       SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
-       are shown with --help and --usage only if they are not used for
-       the command itself.
-       (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
-       'h' and 'u'.
-
-       * include/grub/arg.h (struct grub_arg_option): Add the qualifier
-       const into "longarg". Change the type of "shortarg" to int.
-
-2005-07-17  Yoshinori Okuji  <okuji@enbug.org>
-
-       * boot/i386/pc/boot.S (boot_drive_check): New label.
+       devmapper/getroot: Fix memory leak.
+       Found by: Coverity scan.
 
-       * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
-       macro.
+       normal/misc: Close device on all pathes.
+       Found by: Coverity scan.
 
-       * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
-       which do not pass a boot drive correctly. Copied from GRUB Legacy.
+       normal/main: Fix error handling.
+       Found by: Coverity scan.
 
-2005-07-17  Yoshinori Okuji  <okuji@enbug.org>
+       xnu: Add missing error check.
+       Found by: Coveriy scan.
 
-       * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
-       When turning off Gate A20, skip the check and return immediately,
-       because this is not fatal usually.
+       plan9: Add missing grub_device_close.
+       Found by: Coverity scan.
 
-2005-07-17  Yoshinori Okuji  <okuji@enbug.org>
+       multiboot: Simplify to avoid confusing assignment.
+       Found by: Coverity scan.
 
-       * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
-       be 0x7C00 instead of 0x8000.
+       bsd: Add missing null-pointer check.
+       Found by: Coverity scan.
 
-       * boot/i386/pc/pxeboot.S: Rewritten.
+       lib/syslinux_parse: Add missing error check.
+       Found by: Coverity scan.
 
-       * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
-       EXT_C.
-       (gate_a20_check_state): Read a byte from 0x108000. Invert the
-       result.
+       lib/syslinux_parse: Fix memory leak.
+       Found by: Coveriy scan.
 
-2005-07-16  Yoshinori K. Okuji  <okuji@enbug.org>
+       lib/syslinux_parse: Add missing alloc check.
+       Found by: Coverity scan.
 
-       * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
-       robustness. This routine now supports a BIOS call and System
-       Control Port A to modify the gate A20.
+       i386/pc/mmap: Fix memset size.
+       Found by: Coverity scan.
 
-       * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
-       Increased to 0x440.
+       gfxmenu/theme_loader: Add missing allos error check.
+       Found by: Coverity scan.
 
-2005-07-12  Hollis Blanchard  <hollis@penguinppc.org>
+       gfxmenu/icon_manager: Fix null pointer dereference.
+       Found by: Coverity scan.
 
-       * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
-       device path and resulting ihandle.
-       (grub_ofdisk_close): dprintf the ihandle being closed.
-       (grub_ofdisk_read): dprintf function parameters.
-       * kern/mm.c (grub_mm_init_region): Likewise.
-       * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
-       (grub_linux_boot): dprintf the Linux entry point, initrd address and
-       size, and boot arguments.
-       (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
-       before loading into memory.
-       (grub_rescue_cmd_initrd): dprintf the initrd's address and size
-       before loading into memory.
+       fs/ufs: Add missing error check.
+       Found by: Coverity scan.
 
-2005-07-12  Yoshinori K. Okuji  <okuji@enbug.org>
+       configure.ac: Always add -D_FILE_OFFSET_BITS=64.
 
-       * kern/mm.c: Added much documentation.
-       (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
-       8, set to 5 instead of 8.
+2015-01-25  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2005-07-10  Yoshinori Okuji  <okuji@enbug.org>
+       fs/sfs: Fix error check and add sanity check.
+       Found by: Coverity scan.
 
-       * DISTLIST: Added util/i386/pc/grub-mkimage.c.
+       fs/reiserfs: Fix sector count overflow.
+       Found by: Coverity scan.
 
-       * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
-       (grub_mkdevicemap_SOURCES): New variable.
+       fs/ntfs: Add sizes sanity checks.
+       Found by: Coverity scan.
 
-       * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
-       lib/device.c of GRUB Legacy.
+       fs/ntfs: Add missing free.
+       Found by: Coverity scan.
 
-2005-07-10  Yoshinori Okuji  <okuji@enbug.org>
+2015-01-25  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
-       instead of PATH is NULL.
+       fs/minix: Fix sector promotion to 64-bit.
+       While on it make GRUB_MINIX_ZONE2SECT into function.
 
-2005-07-09  Vincent Pelletier  <subdino2004@yahoo.fr>
+       Found by: Coverity scan
 
-       * commands/cmp.c (BUFFER_SIZE): New macro.
-       (grub_cmd_cmp): Close the right file at the right time.  Compare
-       only data just read.  Don't report files of different  size as
-       identical.  Dynamically allocate buffers.  Move variable
-       declarations at the beginning of function.
+2015-01-25  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2005-07-09  Yoshinori Okuji  <okuji@enbug.org>
+       grub_iso9660_read: Explicitly check read_node return value.
+       Not really needed as grub_errno is already checked but is nicer.
 
-       * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
-       reverse.
+       Found by: Coverity scan.
 
-2004-07-04  Vincent Pelletier  <subdino2004@yahoo.fr>
+2015-01-25  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
-       when backspace is pressed at beginning of line.
+       commands/fileXX: Fix remaining memory leak.
+       Found by: Coverity Scan.
 
-2005-07-03  Yoshinori Okuji  <okuji@enbug.org>
+2015-01-25  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * DISTLIST: Added genfslist.sh.
+       fs/hfs: Add pointer sanity checks.
+       Found by: Coverity scan.
 
-       * normal/main.c (fs_module_list): New variable.
-       (autoload_fs_module): New function.
-       (read_fs_list): Likewise.
-       (grub_normal_execute): Call read_fs_list.
+       fs/hfs/hfs_open: Check that mount succeeded.
+       Found by: Coverity scan.
 
-       * kern/fs.c (grub_fs_autoload_hook): New variable.
-       (grub_fs_probe): Added support for auto-loading.
+       fs/fat: Fix codepath to properly free on error.
+       Found by: Coverity scan.
 
-       * include/grub/normal.h (struct grub_fs_module_list): New struct.
-       (grub_fs_module_list_t): New type.
+       fs/cpio_common: Add a sanity check on namesize.
+       Found by: Coverity scan.
 
-       * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
-       (grub_fs_autoload_hook): New prototype.
+       fs/cbfs: Add missing free.
+       Found by: Coverity scan.
 
-       * genfslist.sh: New file.
+2015-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * genmk.rb: Added a rule to generate a filesystem list.
-
-2005-06-30  Marco Gerards  <metgerards@student.han.nl>
-
-       * configure.ac: Fix the test for cross-compiling.
-
-       * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'.  Don't
-       define GRUB_UTIL anymore.
-
-       * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
-       so this function works on other systems than just big endian.
-       (load_modules): Likewise.
-       (add_segments): Likewise.
-
-2005-06-23  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * kern/misc.c (grub_vsprintf): Add `longfmt'.  If format string
-       contains `l' modifier, get a long from va_arg().
-
-2005-06-23  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * kern/mm.c (grub_free): If the next free block which is being
-       merged is the first free block, set the first block to the block
-       being freed.
-       Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
-
-2005-05-08  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
-       `grub_ieee1275_chosen'.
-
-2005-05-08  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
-       (grub_ieee1275_chosen): New variable.
-       (cmain): Initialize and use `grub_ieee1275_chosen' instead of
-       `chosen'.
-       * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
-       * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
-       Rename first argument to `phandle' for consistency.
-       (grub_ieee1275_get_property_length): Likewise.
-       (grub_ieee1275_next_property): Likewise.  Change type of first argument
-       to grub_ieee1275_phandle_t.
-       * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
-       Move export next to declaration.
-       (grub_ieee1275_chosen): New variable.
-       * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
-       Correct cosmetic typo.
-       * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
-       `grub_ieee1275_chosen'.
-       * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
-       * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
-       (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
-       * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
-       `grub_ieee1275_chosen'.
-
-2005-05-10  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
-       /chosen/bootargs.
-       * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
-       /chosen/bootargs as "variable=value" pairs.
-
-2005-05-08  Vincent Pelletier  <subdino2004@yahoo.fr>
-
-       * include/grub/misc.h (grub_dprintf): New macro.
-       (grub_real_dprintf): New prototype.
-       (grub_strword): Likewise.
-       (grub_iswordseparator): Likewise.
-       * kern/misc.c (grub_real_dprintf): New function.
-       (grub_strword): Likewise.
-       (grub_iswordseparator): Likewise.
-
-2005-04-30  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
-       (roundup): Remove macro.
-       (grub_ieee1275_flags): Make static.
-       (grub_ieee1275_realmode): Remove.
-       (grub_ieee1275_test_flag): New function.
-       (grub_ieee1275_set_flag): Likewise.
-       (find_options): Rename to `grub_ieee1275_find_options'; update
-       callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
-       GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
-       (cmain): New prototype.
-       (cmain): Use `grub_ieee1275_set_flag' instead of accessing
-       `grub_ieee1275_flags' directly.
-       * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
-       machine/biosdisk.h.
-       * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
-       Don't include grub/machine/init.h.
-       (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
-       * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
-       Remove prototype.
-       (grub_ieee1275_realmode): Likewise.
-       (grub_ieee1275_flag): New enum.
-       (grub_ieee1275_test_flag): New prototype.
-       (grub_ieee1275_set_flag): New prototype.
-       * include/grub/powerpc/ieee1275/init.h: Remove file.
-       * include/grub/powerpc/ieee1275/ofdisk.h: New file.
-       * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
-       Include grub/machine/console.h.  Include grub/machine/ofdisk.h.
-       (grub_machine_fini): Don't call `grub_ieee1275_release'.  Remove
-       comment.
-       * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
-       `grub_ieee1275_test_flag'.
-       (grub_ieee1275_encode_devname): Likewise.
-
-2005-04-21  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * include/grub/powerpc/ieee1275/ieee1275.h
-       (grub_ieee1275_encode_devname): New prototype.
-       (grub_ieee1275_get_filename): Likewise.
-       * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
-       function.
-       (grub_set_prefix): Likewise.
-       (grub_machine_init): Call grub_set_prefix.
-       * kern/powerpc/ieee1275/openfw.c: Fix typos.
-       (grub_parse_type): New enum.
-       (grub_ieee1275_get_devargs): New function.
-       (grub_ieee1275_get_devname): Likewise.
-       (grub_ieee1275_parse_args): Likewise.
-       (grub_ieee1275_get_filename): Likewise.
-       (grub_ieee1275_encode_devname): Likewise.
-
-2005-03-30  Marco Gerards  <metgerards@student.han.nl>
-
-       * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
-       `grub_loader_unset'.
-
-2005-03-26  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
-       instead of grub_ieee1275_interpret.
-       (grub_halt_init): New function.
-       (grub_halt_fini): Likewise.
-       (GRUB_MOD_INIT): Correct message grammar.
-       * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
-       instead of grub_ieee1275_interpret.
-       (grub_reboot_init): New function.
-       (grub_reboot_fini): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
-       commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
-       util/i386/pc/misc.c with commands/ieee1275/halt.c,
-       commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
-       * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
-       function.
-       * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
-       Add prototype.
-       * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
-       prototype.
-       (grub_halt): Likewise.
-       * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
-       (cmain): Remove __attribute__((unused)).
-       * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
-       (grub_heap_len): Likewise.
-       (grub_machine_fini): New function.
-       * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
-       (grub_halt): Likewise.
-       * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
-       function.
-       * util/powerpc/ieee1275/misc.c: New file.
-
-2005-03-19  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * DISTLIST: New file.
-       * gendistlist.sh: Likewise.
-
-       * Makefile.in (COMMON_DISTFILES): Removed.
-       (BOOT_DISTFILES): Likewise.
-       (CONF_DISTFILES): Likewise.
-       (DISK_DISTFILES): Likewise.
-       (FS_DISTFILES): Likewise.
-       (INCLUDE_DISTFILES): Likewise.
-       (KERN_DISTFILES): Likewise.
-       (LOADER_DISTFILES): Likewise.
-       (TERM_DISTFILES): Likewise.
-       (UTIL_DISTFILES): Likewise.
-       (DISTFILES): Likewise.
-       (uninstall): Uninstall files in $(pkgdata_DATA).
-       (DISTLIST): New target.
-       (distdir): Use the contents of the file DISTLIST to get a list of
-       distributed files.
-
-2005-03-18  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
-       descriptor. This is ported from GRUB Legacy.
-
-       * gencmdlist.sh: Added an extra semicolon to make it work with
-       old sed versions. Reported by Robert Bihlmeyer
-       <robbe@orcus.priv.at>.
-
-2005-03-08  Yoshinori Okuji  <okuji@enbug.org>
-
-       Automatic loading of commands is supported.
-
-       * normal/main.c (read_command_list): New function.
-       (grub_normal_execute): Call read_command_list.
-
-       * normal/command.c (grub_register_command): Return zero or CMD.
-       Allocate CMD->NAME from the heap.
-       Initialize CMD->MODULE_NAME to zero.
-       Find the same name as well. If the same command is found and it is
-       a dummy command, overwrite members. If it is not a dummy command,
-       return zero.
-       (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
-       (grub_command_find): If a dummy command is found, load a module
-       and retry to find a command only once.
-
-       * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
-       make sure that each command is loaded.
-
-       * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
-       macro.
-       (struct grub_command): Remove const from the member `name'.
-       Add a new member `module_name'.
-       (grub_register_command): Return grub_command_t.
-
-       * commands/help.c (grub_cmd_help): Call grub_command_find to make
-       sure that each command is loaded.
-
-       * genmk.rb (PModule::rule): Specify a module name without the
-       suffix ".mod" to gencmdlist.sh.
-
-2005-03-02  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * gencmdlist.sh: New file.
-
-       * genmk.rb (PModule::rule): Generate a rule for a command list.
-       Clean command.lst.
-       Generate command.lst from $(COMMANDFILES).
-
-       * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
-       (DATA): Added $(pkgdata_DATA).
-       (install-local): Install files in $(pkgdata_DATA).
-
-2005-03-02  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * term/i386/pc/vga.c (debug_command): Removed.
-       (GRUB_MOD_INIT): Do not register the command "debug".
-
-       From Hollis Blanchard:
-       * commands/configfile.c: New file.
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Added
-       commands/configfile.c.
-       (pkgdata_MODULES): Added configfile.mod.
-       (configfile_mod_SOURCES): New variable.
-       (configfile_mod_CFLAGS): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
-       commands/configfile.c.
-       (pkgdata_MODULES): Added configfile.mod.
-       (configfile_mod_SOURCES): New variable.
-       (configfile_mod_CFLAGS): Likewise.
-       * util/grub-emu.c (main): Call grub_configfile_init and
-       grub_configfile_fini.
-       * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
-       prototype.
-       [GRUB_UTIL] (grub_configfile_fini): Likewise.
-
-2005-02-27  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * normal/arg.c (grub_arg_show_help): Do not show the bug report
-       address.
-
-       * commands/help.c (grub_cmd_help): Do not print newlines after
-       the last command in print_command_help.
-
-2005-02-27  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * commands/default.h: New file.
-       * commands/timeout.h: Likewise.
-       * normal/context.c: Likewise.
-
-       * util/misc.c: Do not include sys/times.h.
-       Include sys/time.h and grub/machine/time.h.
-       (grub_get_rtc): Rewritten with gettimeofday.
-
-       * util/grub-emu.c (main): Call grub_default_init and
-       grub_timeout_init before grub_normal_init, and call
-       grub_timeout_fini and grub_default_fini after grub_main.
-
-       * util/console.c (grub_ncurses_checkkey): Return the read
-       character or -1.
-
-       * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
-       timeouts.
-
-       * normal/main.c (read_config_file): Push MENU. If this fails,
-       print an error and wait for a user input.
-       Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
-       If a menu is empty or an error occurs, pop MENU.
-       (grub_normal_execute): Pop and free MENU after grub_menu_run
-       returns.
-
-       * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
-
-       * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
-       include time.h.
-       [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
-       without GRUB_UTIL.
-       * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
-       time.h.
-       [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
-       without GRUB_UTIL.
-
-       * include/grub/normal.h (struct grub_menu_list): New struct.
-       (grub_menu_list_t): New type.
-       (struct grub_context): New struct.
-       (grub_context_t): New type.
-       (grub_register_command): Got rid of EXPORT_FUNC.
-       (grub_unregister_command): Likewise.
-       (grub_context_get): New prototype.
-       (grub_context_get_current_menu): Likewise.
-       (grub_context_push_menu): Likewise.
-       (grub_context_pop_menu): Likewise.
-       [GRUB_UTIL] (grub_default_init): Likewise.
-       [GRUB_UTIL] (grub_default_fini): Likewise.
-       [GRUB_UTIL] (grub_timeout_init): Likewise.
-       [GRUB_UTIL] (grub_timeout_fini): Likewise.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
-       commands/timeout.c and normal/context.c.
-       (pkgdata_MODULES): Added default.mod and timeout.mod.
-       (normal_mod_SOURCES): Added normal/context.c.
-       (default_mod_SOURCES): New variable.
-       (default_mod_CFLAGS): Likewise.
-       (timeout_mod_SOURCES): Likewise.
-       (timeout_mod_CFLAGS): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
-       conf/i386-pc.rmk.
-       (pkgdata_MODULES): Added default.mod and timeout.mod.
-       (normal_mod_SOURCES): Added normal/context.c.
-       (default_mod_SOURCES): New variable.
-       (default_mod_CFLAGS): Likewise.
-       (timeout_mod_SOURCES): Likewise.
-       (timeout_mod_CFLAGS): Likewise.
-
-       * Makefile.in (all-local): Added $(MKFILES).
-
-2005-02-21  Vincent Pelletier  <subdino2004@yahoo.fr>
-
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
-       (grub_emu_SOURCES): Likewise.
-       (pkgdata_MODULES): Add `sun.mod'.
-       (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
-       `partmap/sun.c'.
-       (pkgdata_MODULES): Add `sun.mod'.
-       (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
-       * include/grub/partition.h (grub_sun_partition_map_init): New
-       prototype.
-       (grub_sun_partition_map_fini): Likewise.
-       * partmap/sun.c: New file.
-       * util/grub-emu.c (main): Initialize and de-initialize the sun
-       partitionmap support.
-
-2005-02-19  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       This implements an Emacs-like menu entry editor.
-
-       * normal/menu_entry.c: New file.
-
-       * util/console.c (grub_ncurses_putchar): Translate some Unicode
-       characters to ASCII.
-       (saved_char): New variable.
-       (grub_ncurses_checkkey): Rewritten completely.
-       (grub_ncurses_getkey): Likewise.
-       (grub_ncurses_init): Call raw instead of cbreak.
-
-       * normal/menu.c (print_entry): Do not put a space.
-       (init_page): Renamed to ...
-       (grub_menu_init_page): ... this. All callers changed.
-       (edit_menu_entry): Removed.
-       (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
-
-       * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
-
-       * kern/misc.c (grub_vprintf): Call grub_refresh.
-
-       * normal/menu.c (DISP_LEFT): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
-       * normal/menu.c (DISP_UP): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
-       * normal/menu.c (DISP_RIGHT): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
-       * normal/menu.c (DISP_DOWN): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
-       * normal/menu.c (DISP_HLINE): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
-       * normal/menu.c (DISP_VLINE): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
-       * normal/menu.c (DISP_UL): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
-       * normal/menu.c (DISP_UR): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
-       * normal/menu.c (DISP_LL): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
-       * normal/menu.c (DISP_LR): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
-       * normal/menu.c (TERM_WIDTH): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
-       * normal/menu.c (TERM_HEIGHT): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
-       * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
-       * normal/menu.c (TERM_MARGIN): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
-       * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
-       * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
-       * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
-       * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
-       * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
-       * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
-       * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
-       * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
-       * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
-       * normal/menu.c (TERM_CURSOR_X): Renamed to ...
-       * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
-       All callers changed.
-
-       * include/grub/normal.h: New prototype.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Added
-       normal/menu_entry.c.
-       (normal_mod_SOURCES): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
-       (normal_mod_SOURCES): Likewise.
-
-2005-02-15  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * include/grub/normal.h (grub_halt_init): New prototype.
-       (grub_halt_fini): Likewise.
-       (grub_reboot_init): Likewise.
-       (grub_reboot_fini): Likewise.
-
-       * util/grub-emu.c: Include signal.h.
-       (main_env): New global variable.
-       (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
-       catch C-c.
-       (grub_machine_fini): New function.
-       (main): Call grub_halt_init and grub_reboot_init before
-       grub_main, and grub_reboot_fini and grub_halt_fini after it.
-       Call setjmp with MAIN_ENV to go back afterwards.
-       Call grub_machine_fini right before return.
-
-       * include/grub/util/misc.h: Include setjmp.h.
-       (main_env): New prototype.
-
-       * include/grub/kernel.h (grub_machine_fini): New prototype.
-       * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
-       * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
-
-       * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
-       * kern/i386/pc/init.c (grub_machine_fini): Likewise.
-       * term/i386/pc/console.c (grub_console_fini): Likewise.
-
-       * util/i386/pc/misc.c: New file.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Added
-       util/i386/pc/misc.c, commands/i386/pc/halt.c and
-       commands/i386/pc/reboot.c.
-
-2005-02-14  Guillem Jover  <guillem@hadrons.org>
-
-       * include/grub/dl.h (grub_dl_check_header): New prototype.
-       (grub_arch_dl_check_header): Change return type to grub_err_t,
-       remove size parameter and export function.  Update all callers.
-       * kern/dl.c (grub_dl_check_header): New function.
-       (grub_dl_load_core): Use `grub_dl_check_header' instead of
-       `grub_arch_dl_check_header'.  Check ELF type.  Check if sections
-       are inside the core.
-       * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
-       independent ELF header checks.
-       * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
-       * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
-       `grub_dl_check_header' instead of explicit checks.  Check for the
-       ELF type.
-       * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
-       `grub_dl_check_header' instead of explicit checks.  Remove arch
-       specific ELF header checks.
-
-       * util/grub-emu.c (grub_arch_dl_check_header): Remove the
-       argument SIZE.
-
-2005-02-13  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
-       * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
-
-2005-02-12  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
-       return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
-       (part_map_iterate): Clear `grub_errno' and return 0 if
-       `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
-       * partmap/amiga.c (amiga_partition_map_iterate): Return
-       GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
-       * partmap/apple.c (apple_partition_map_iterate): Likewise.
-
-2005-02-01  Guillem Jover  <guillem@hadrons.org>
-
-       * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
-       help info.
-
-2005-01-31  Marco Gerards  <metgerards@student.han.nl>
-
-       * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
-       Removed prototype.
-       (grub_rescue_cmd_linux): New prototype.
-       (grub_rescue_cmd_initrd): Likewise.
-       * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
-       `bi_rec'.
-       (grub_linux_release_mem): Release the memory for the initrd.
-       (grub_load_linux): Renamed from this...
-       (grub_rescue_cmd_linux): ...To this.  Changed all callers.
-       Changed `entry' not to be static.  Loop over memory regions to
-       find another one when the default fails.
-       (grub_rescue_cmd_initrd): New function.
-       (grub_linux_init): Remove function.
-       (grub_linux_fini): Likewise.
-       (GRUB_MOD_INIT): Register `initrd'.
-       (GRUB_MOD_FINI): Unregister `initrd'.
-       * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
-       Function removed.
-       (grub_linux_normal_fini): Likewise.
-       (GRUB_MOD_INIT): Register `initrd'.
-       (GRUB_MOD_FINI): Unregister `initrd'.
-
-2005-01-31  Marco Gerards  <metgerards@student.han.nl>
-
-       * commands/help.c: New file.
-       * normal/arg.c (show_help): Renamed to...
-       (grub_arg_show_help): ... this.
-       * commands/i386/pc/halt.c: New file.
-       * commands/i386/pc/reboot.c: Likewise.
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
-       (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
-       (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
-       (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
-       variables.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
-       `commands/help.c'.
-       (pkgdata_MODULES): Add `help.mod'.
-       (help_mod_SOURCES, help_mod_CFLAGS): New variables.
-       * grub/i386/pc/init.h (grub_reboot): New prototype.
-       (grub_halt): Likewise.
-       * include/grub/normal.h (grub_arg_show_help): New prototype.
-       (grub_help_init): Likewise.
-       (grub_help_fini): Likewise.
-       * util/grub-emu.c (main): Initialize and deinitialize the help
-       command.
+       font: Add missing free.
+       Found by: Coverity Scan.
 
-       * normal/cmdline.c (grub_cmdline_get): Doc fix.
+       biosdisk: Add missing cast.
+       Found by: Coverity scan.
 
-       * normal/command.c (grub_command_init): Fixed the description of
-       the `set' and `unset' commands.
+       disk/geli: Add missing free.
+       Found by: Coverity scan.
 
-2005-01-31  Marco Gerards  <metgerards@student.han.nl>
+       disk/geli: Add missing seek success check.
+       Found by: Coverity scan.
 
-       * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
-       function.
-       * commands/ieee1275/halt.c: New file.
-       * commands/ieee1275/reboot.c: Likewise.
-       * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
-       `__attribute__ ((unused))'.  Some GCS related fixed.
-       (grub_suspend_init) [GRUB_UTIL]: Function removed.
-       (grub_suspend_fini): Likewise.
-       * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
-       and `halt.mod'.
-       (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
-       (halt_mod_CFLAGS): New variables.
-       * include/grub/powerpc/ieee1275/ieee1275.h
-       (grub_ieee1275_interpret): New prototype.
-
-2005-01-29  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * include/grub/misc.h (memmove): New prototype.
-       (memcpy): Likewise.
-
-2005-01-22  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
-       `devpath' to 0.  Use `name' instead of `devpath' with `grub_strndup'.
-
-2005-01-22  Marco Gerards  <metgerards@student.han.nl>
-
-       * kern/misc.c (grub_strndup): Function rewritten.
-
-2005-01-22  Vincent Pelletier  <subdino2004@yahoo.fr>
-
-       * normal/menu.c (TERM_WIDTH): Macro redefined.
-       (TERM_TOP_BORDER_Y): Likewise.
-       (draw_border): Replaced while-loop by a for-loop.  Make the number
-       of lines consistent with the number of lines displayed in
-       print_entries.  Added a margin below the rectangle.
-       (print_entry): Make the entry fit in the rectangle.
-       (print_entries): Display the scroll arrows next to the right
-       border.
-
-2005-01-21  Marco Gerards  <metgerards@student.han.nl>
-
-       * fs/minix.c (grub_minix_find_file): Reserve more space for
-       `fpath' so the \0 can be stored.  Use `grub_strcpy' instead of
-       `grub_strncpy' to copy `path' into it.
-
-2005-01-21  Marco Gerards  <metgerards@student.han.nl>
-
-       Add the loopback device, a device via which files can be accessed
-       as devices.
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
-       (pkgdata_MODULES): Add loopback.mod.
-       (loopback_mod_SOURCES): New variable.
-       (loopback_mod_CFLAGS): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
-       `disk/loopback.c'.
-       (pkgdata_MODULES): Add loopback.mod.
-       (loopback_mod_SOURCES): New variable.
-       (loopback_mod_CFLAGS): Likewise.
-       * disk/loopback.c: new file.
-       * include/grub/normal.h (grub_loop_init): New prototype.
-       (grub_loop_fini): New prototype.
-       * util/grub-emu.c (main): Initialize and de-initialize loopback
-       support.
-       * include/grub/disk.h (grub_disk_dev_id): Add
-       `GRUB_DISK_DEVICE_LOOPBACK_ID'.
-
-2005-01-20  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
-       function.
-       * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
-       (suspend_mod_SOURCES): New variable.
-       (suspend_mod_CFLAGS): Likewise.
-       * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
-       New prototype.
-       * commands/ieee1275/suspend.c: New file.
-
-2005-01-20  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>
-
-       * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
-       ((unused))' to `__attribute__ ((used))'.
-       (GRUB_MOD_FINI): Likewise.
-       * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
-       * genmk.rb (PModule): Assign space to common symbols when linking
-       modules.
-
-2005-01-20  Marco Gerards  <metgerards@student.han.nl>
-
-       * include/grub/mm.h (grub_mm_init_region): Change the type of the
-       `unsigned' arguments to `grub_size_t'.
-       (grub_malloc): Likewise.
-       (grub_realloc): Likewise.
-       (grub_memalign): Likewise.
-       * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
-       * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
-       * util/misc.c (grub_malloc): Likewise.
-       (grub_realloc): Likewise.
-       * kern/mm.c (get_header_from_pointer): Change the casts to
-       `unsigned' into a cast to `grub_size_t'.
-
-       * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
-       point to `currnode' when `currnode' is changed.
-
-       * util/grub-emu.c (main): Initialize `progname'.  Reported by Nico
-       Schottelius <nico-linux@schottelius.org>.
-
-2005-01-09  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
-       (note_path): Remove variable.
-       (GRUB_IEEE1275_NOTE_NAME): New macro.
-       (GRUB_IEEE1275_NOTE_TYPE): Likewise.
-       (grub_ieee1275_note_hdr): New structure.
-       (grub_ieee1275_note_desc): Likewise.
-       (grub_ieee1275_note): Likewise.
-       (load_note): Remove `dir' argument.  All callers updated.  Remove
-       `note_img' and `path'.  Do not load a file from `note_path'.
-       Initialize a struct grub_ieee1275_note and write that to `out'.
-       Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
-
-2005-01-05  Marco Gerards  <metgerards@student.han.nl>
-
-       * util/misc.c (grub_util_read_image): Revert last change.  It
-       called `grub_util_read_at', which seeks from the beginning of the
-       file.
-
-2005-01-04  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * TODO: Add note about endianness in grub-mkimage.
-       * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
-       section.
-       * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
-       (grub_mkimage_SOURCES): New target.
-       * include/grub/kernel.h (grub_start_addr): Remove variable.
-       (grub_end_addr): Likewise.
-       (grub_total_module_size): Likewise.
-       (grub_kernel_image_size): Likewise.
-       (GRUB_MODULE_MAGIC): New constant.
-       (grub_module_info): New structure.
-       (grub_arch_modules_addr): New prototype.
-       (grub_get_end_addr): Remove prototype.
-       * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
-       * include/grub/powerpc/ieee1275/kernel.h: New file.
-       * include/grub/util/misc.h (grub_util_get_fp_size): New
-       prototype.
-       (grub_util_read_at): Likewise.
-       (grub_util_write_image_at): Likewise.
-       * kern/main.c (grub_get_end_addr): Remove function.
-       (grub_load_modules): Call grub_arch_modules_addr instead of using
-       grub_end_addr.  Look for a grub_module_info struct in memory.  Use
-       the grub_module_info fields instead of calling grub_get_end_addr
-       as loop conditions.  Move grub_add_unused_region code here.
-       (grub_add_unused_region): Remove function.
-       * kern/i386/pc/init.c: Include grub/cache.h.
-       (grub_machine_init): Remove call to grub_get_end_addr.  Remove
-       one call to add_mem_region.
-       (grub_arch_modules_addr): New function.
-       * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
-       (grub_total_module_size): Likewise.
-       Include grub/machine/kernel.h.
-       (grub_arch_modules_addr): New function.
-       * util/grub-emu.c (grub_end_addr): Remove variable.
-       (grub_total_module_size): Likewise.
-       (grub_arch_modules_addr): New function.
-       * util/misc.c: Include unistd.h.
-       (grub_util_get_fp_size): New function.
-       (grub_util_read_at): Likewise.
-       (grub_util_write_image_at): Likewise.
-       (grub_util_read_image): Call grub_util_read_at.
-       (grub_util_write_image): Call grub_util_write_image_at.
-       * util/i386/pc/grub-mkimage.c (generate_image): Allocate
-       additional memory in kernel_img for a struct grub_module_info.
-       Fill in that grub_module_info.
-       * util/powerpc/ieee1275/grub-mkimage.c: New file.
-
-2005-01-03  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
-       New function.
-       * include/grub/powerpc/ieee1275/ieee1275.h
-       (grub_ieee1275_milliseconds): New prototype.
-       * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
-       Change to 1000.
-       * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
-       grub_ieee1275_milliseconds.
-
-2005-01-03  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
-       variable.
-       (find_options): New function.
-       (cmain): Call find_options.
-       * include/grub/powerpc/ieee1275/ieee1275.h
-       (grub_ieee1275_realmode): New extern variable.
-       * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
-       grub_map if grub_ieee1275_realmode is false.
-
-2004-12-29  Marco Gerards  <metgerards@student.han.nl>
-
-       * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
-       lines are inserted and make it work like readline.  Reported by
-       Vincent Pelletier <subdino2004@yahoo.fr>.
-
-2004-12-28  Marco Gerards  <metgerards@student.han.nl>
-
-       * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
-
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
-       `kern/powerpc/cache.S'.
-
-2004-12-27  Marco Gerards  <metgerards@student.han.nl>
-
-       * genmk.rb: Handle the `Program' class in the main loop.  Written
-       by Johan Rydberg <jrydberg@gnu.org>.
-       (Program): New class.
-       (programs): New variable.
-       * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
-       instead of "grub/machine/ieee1275.h".  Include <grub/kernel.h>
-       instead of "grub/kernel.h".  Include <grub/machine/init.h>.
-       (help_arch): Function removed.
-       * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
-       `powerpc/libgcc.h' and `loader.h'.
-       (pkgdata_PROGRAMS): New variable.
-       (sbin_UTILITIES): Variable removed.
-       (grub_emu_SOURCES): Added kern/powerpc/cache.S.
-       (grubof_SOURCES): Variable re-defined so it only includes the
-       core functionality.
-       (grubof_CFLAGS): Remove `-DGRUBOF'.
-       (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
-       (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
-       (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
-       (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
-       (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
-       (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
-       (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
-       (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
-       (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
-       (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
-       (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
-       (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
-       (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
-       (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
-       (pc_mod_CFLAGS): New variables.
-       * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
-       (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
-       * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
-       * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
-       Moved from here...
-       * include/grub/i386/pc/init.h (grub_os_area_addr)
-       (rub_os_area_size): ... to here.
-       * include/grub/powerpc/ieee1275/ieee1275.h
-       (grub_ieee1275_entry_fn): Export symbol.
-       * include/grub/powerpc/ieee1275/init.h: New file.
-       * include/grub/powerpc/libgcc.h: Likewise.
-       * include/grub/cache.h: Likewise.
-       * kern/powerpc/cache.S: Likewise.  Written by Hollis Blanchard
-       <hollis@penguinppc.org>.
-       * kern/dl.c: Include <grub/cache.h>.
-       (grub_dl_flush_cache): New function.
-       (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
-       for this module.
-       * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
-       (grub_console_init): Removed prototypes.
-       (grub_machine_init): Don't initialize the modules anymore.
-       * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
-       static.
-       * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
-       Macro undef removed.
-       (GRUB_HOST_WORDS_BIGENDIAN): New macro.
-       * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
-       relocation `R_PPC_REL32'.  Return an error when the relocation is
-       unknown.
-       * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
-       * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
-       * util/misc.c (grub_arch_sync_caches): Likewise.
-
-2004-12-19  Marco Gerards  <metgerards@student.han.nl>
-
-       * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
-       `symlist.c', add `grubof_symlist.c'.
-       (symlist.c): Variable removed.
-       (grubof_HEADERS): Variable added.
-       (grubof_symlist.c): New target.
-       (kernel_syms.lst): Use `grubof_HEADERS' instead of
-       `kernel_img_HEADERS'.
-       (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
-       * kern/powerpc/dl.c: New file.
-       * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
-       Function removed.
-       (grub_arch_dl_relocate_symbols): Likewise.
-       (grub_register_exported_symbols): Likewise.
-
-2004-12-13  Marco Gerards  <metgerards@student.han.nl>
-
-       * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
-       (grub_ext2_dir): Likewise.  Don't return in case of an error, jump
-       to fail instead.  Reported by Vincent Pelletier
-       <subdino2004@yahoo.fr>.
-
-       * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
-       it is not allocated.  Reported by Vincent Pelletier
-       <subdino2004@yahoo.fr>.
-
-       * normal/cmdline.c (grub_tab_complete): Add a blank line to the
-       output so the output looks better.
-
-2004-12-04  Marco Gerards  <metgerards@student.han.nl>
-
-       Modulize the partition map support and add support for the amiga
-       partition map.
-
-       * commands/ls.c: Include <grub/partition.h> instead of
-       <grub/machine/partition.h>.
-       * kern/disk.c: Likewise.
-       * kern/rescue.c: Likewise.
-       * loader/i386/pc/chainloader.c: Likewise.
-       * normal/cmdline.c: Likewise.
-       * kern/powerpc/ieee1275/init.c: Likewise.
-       (grub_machine_init): Call `grub_pc_partition_map_init',
-       `grub_amiga_partition_map_init' and
-       `grub_apple_partition_map_init'.
-       * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
-       `disk/i386/pc/partition.c'.  Add `kern/partition.c'.
-       (kernel_img_HEADERS): Remove `machine/partition.h'.  Add
-       `partition.h' and `pc_partition.h'.
-       (grub_setup_SOURCES): Remove
-       `disk/i386/pc/partition.c'.  Add `kern/partition.c',
-       `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
-       (grub_emu_SOURCES): Likewise.
-       (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
-       (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
-       (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
-       `disk/powerpc/ieee1275/partition.c'.  Add `kern/partition.c',
-       `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
-       (grubof_SOURCES): Likewise.
-       * disk/i386/pc/partition.c: File removed.
-       * disk/powerpc/ieee1275/partition.c: Likewise.
-       * include/grub/powerpc/ieee1275/partition.h: Likewise.
-       * include/grub/i386/pc/partition.h: Likewise.
-       * kern/partition.c: New file.
-       * partmap/amiga.c: Likewise.
-       * partmap/apple.c: Likewise.
-       * partmap/pc.c: Likewise.
-       * include/grub/partition.h: Likewise..
-       * include/grub/pc_partition.h: Likewise.
-       * util/grub-emu.c: Include <grub/partition.h> instead of
-       <grub/machine/partition.h>.
-       (main): Call `grub_pc_partition_map_init',
-       `grub_amiga_partition_map_init' and
-       `grub_apple_partition_map_init' and deinitialize afterwards.
-       * util/i386/pc/biosdisk.c: Include `#include
-       <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
-       `<grub/machine/partition.h>'.
-       * util/i386/pc/grub-setup.c: Likewise.
-       * util/i386/pc/biosdisk.c: Likewise.
-       (grub_util_biosdisk_get_grub_dev): Only access the PC specific
-       partition information in case of a PC partition.
-       * util/i386/pc/grub-setup.c: Include `#include
-       <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
-       `<grub/machine/partition.h>'.
-       (setup): Only access the PC specific partition information in case
-       of a PC partition.
-
-2004-11-17  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
-       (grub_longjmp): Likewise.
-       * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
-       20.
-       * normal/powerpc/setjmp.S: New file.
-       * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
-       `normal/powerpc/setjmp.S'.
-       (grubof_CFLAGS): Add `-DGRUBOF'.
-       * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
-       [GRUB_UTIL && !GRUBOF].
-
-2004-11-16  Marco Gerards  <metgerards@student.han.nl>
-
-       * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
-       property named `name'.  Correctly handle the error returned by
-       `grub_ieee1275_finddevice' if a device can not be opened.
-
-2004-11-02  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
-       `actual' for negativity.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
-       kern/fshelp.c.
-
-2004-11-01  Marco Gerards  <metgerards@student.han.nl>
-
-       * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
-       (PAGE_OFFSET): New macro.
-       (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.
-       (page): New variable.
-       (wait_vretrace): New function.
-       (set_read_map): Likewise.
-       (set_start_address): Likewise.
-       (grub_vga_init): Use mode 0x10 instead of mode 0x12.  Switch to
-       the right page.
-       (check_vga_mem): Take the page into account.
-       (write_char): Likewise.
-       (write_cursor): Likewise.
-       (scroll_up): Likewise.  Copy the page to the page that is not
-       shown and switch between both pages.
-       (grub_vga_putchar): Fix off by one error.
-       (grub_vga_cls): Wait for the vertical retrace.  Take the page into
-       account.
-
-2004-11-01  Marco Gerards  <metgerards@student.han.nl>
-
-       Add support for iso9660 (including rockridge).
-
-       * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
-       (iso9660_mod_SOURCES): New variable.
-       (iso9660_mod_CFLAGS): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
-       * include/grub/fs.h (grub_iso9660_init): New prototype.
-       * util/grub-emu.c (main): Call `grub_iso9660_init'.
-       * fs/iso9660.c: New file.
-
-       * include/grub/misc.h (grub_strncat): New prototype.
-       * kern/misc.c (grub_strncat): New function.
-
-       * fs/hfs.c (grub_hfs_mount): Translate the error
-       `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
-       * fs/jfs.c (grub_jfs_mount): Likewise.
-       * fs/ufs.c (grub_ufs_mount): Likewise.
-
-2004-10-28  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
-       which initialized BAT registers.
-       * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
-       grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
-       Move from here...
-       * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
-       grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
-       ... to here.
-       * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
-       (grub_mapclaim): Likewise.
-       * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
-       grub_mapclaim instead of grub_ieee1275_claim.  Assign linux_addr by
-       hand.
-
-2004-10-19  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
-       (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
-       -ffreestanding and -msoft-float.
-
-2004-10-15  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
-       append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
-       set in grub_ieee1275_flags.
-
-2004-10-14  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
-       prototype.
-       * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
-       grub_console_init first.
-       Change the memory range used for grub_ieee1275_claim and
-       grub_mm_init_region.
-       Print an error message if the claim fails.
-       Include <grub/misc.h>.
-
-2004-10-13  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
-       Call grub_children_iterate for device nodes of type `scsi',
-       `ide', or `ata'.
-       (grub_ofdisk_open): Remove manual device alias resolution.
-       Fix memory leak when device cannot be opened.
-       * include/grub/powerpc/ieee1275/ieee1275.h
-       (grub_children_iterate): New prototype.
-       * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
-       New function.
-       * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
-       Return -1 if args.size was -1.
-
-2004-10-11  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
-       (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
-       World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
-       Open Firmware's memory for it; claim memory from _start to _end.
-       * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
-       (_end): New extern.
-       (_start): Zero BSS from __bss_start to _end.
-       * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
-       New extern.
-       (GRUB_IEEE1275_NO_PARTITION_0): New #define.
-
-2004-10-11  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
-       -1 if args.base was -1.
-
-2004-10-08  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
-       escape sequence instead of a literal ^L. Also call
-       grub_ofconsole_gotoxy.
-
-2004-10-03  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
-       void *  arguments to grub_addr_t.  All callers updated.  Also make
-       the `result' argument optional.
-       (grub_ieee1275_release): change void * arguments to grub_addr_t.
-       All callers updated.
-
-2004-09-22  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * commands/ls.c (grub_ls_list_files): Use the string following the
-       initial ')', if present, as the filesystem path.
-       * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
-
-       * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
-
-2004-09-18  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       Make the source code of the menu interface more readable.
-
-       * normal/menu.c: Include grub/mm.h.
-       (TERM_WIDTH): New macro.
-       (TERM_HEIGHT): Likewise.
-       (TERM_INFO_HEIGHT): Likewise.
-       (TERM_MARGIN): Likewise.
-       (TERM_SCROLL_WIDTH): Likewise.
-       (TERM_TOP_BORDER_Y): Likewise.
-       (TERM_LEFT_BORDER_X): Likewise.
-       (TERM_BORDER_WIDTH): Likewise.
-       (TERM_MESSAGE_HEIGHT): Likewise.
-       (TERM_BORDER_HEIGHT): Likewise.
-       (TERM_NUM_ENTRIES): Likewise.
-       (TERM_FIRST_ENTRY_Y): Likewise.
-       (TERM_ENTRY_WIDTH): Likewise.
-       (TERM_CURSOR_X): Likewise.
-       (draw_border): Use macros instead of magic numbers.
-       (print_entry): Likewise.
-       (print_entries): Likewise.
-       (run_menu): Likewise. Also, handle the key 'e'.
-       (run_menu_entry): Ignore empty command lines.
-       (print_message): Added a new argument EDIT. If EDIT is true,
-       print a different message.
-       (init_page): Likewise.
-       (edit_menu_entry): New function. Not implemented yet.
-
-2004-09-17  Marco Gerards  <metgerards@student.han.nl>
-
-       Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
-       can be loaded from normal mode.
-
-       * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
-       `multiboot.mod'.
-       (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
-       (multiboot_mod_CFLAGS): New variables.
-       * loader/i386/pc/linux_normal.c: New file.
-       * loader/i386/pc/multiboot_normal.c: Likewise.
-
-       * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
-       attribute `unused'.
-
-       * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type.  Use
-       `fdiro' to read the mode information from instead of `diro'.
-
-       * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
-       looking up a symlink.
-
-       * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
-       macro.
-       * normal/command.c (grub_command_execute): Don't parse the
-       arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
-       flags of the command.
-
-       * normal/menu.c (grub_menu_run): Fix typo.
-
-2004-09-14  Hollis Blanchard  <hollis@penguinppc.org>
-
-       * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
-
-       * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
-       `y + 1' instead of `y - 1'.
-
-       * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
-
-2004-09-14  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       From Hollis Blanchard <hollis@penguinppc.org>:
-       * kern/misc.c (memmove): New alias for grub_memmove.
-       (memcmp): New alias for grub_memcmp.
-       (memset): New alias for grub_memset.
-       * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
-       Change "int handle" to "grub_ieee1275_phandle_t handle".
-       * include/grub/powerpc/ieee1275/ieee1275.h
-       (grub_ieee1275_get_property): Likewise.
-
-2004-09-12  Tomas Ebenlendr  <ebik@ucw.cz>
-
-       Added normal mode command `chainloader' as module chain.mod, which
-       depends on normal.mod and _chain.mod.
-
-       * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
-       (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
-       * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
-       Deleted prototype.
-       * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
-       but arguments parsing moved to ...
-       (grub_chainloader_cmd): ... here.  New function.
-       * include/grub/i386/pc/chainloader.h: New file.
-       * loader/i386/pc/chainloader_normal.c: Likewise.
-
-2004-09-11  Marco Gerards  <metgerards@student.han.nl>
-
-       * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
-       (grub_mkimage_LDFLAGS): Likewise.
-       (grub_emu_SOURCES): Likewise.
-       (kernel_img_HEADERS): Added fshelp.h.
-       * fs/ext2.c: Include <grub/fshelp.h>.
-       (FILETYPE_REG): New macro.
-       (FILETYPE_INO_REG): Likewise.
-       (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
-       Changed all users.
-       (ext2_block_group): Renamed to `grub_ext2_block_group'.  Changed
-       all users.
-       (grub_fshelp_node): New struct.
-       (grub_ext2_data): Added member `diropen'.  Changed member `inode'
-       to a pointer.
-       (grub_ext2_get_file_block): Removed function.
-       (grub_ext2_read_block): New function.
-       (grub_ext2_read_file): Replaced parameter `data' by `node'.
-       This function was written.
-       (grub_ext2_mount): Read the root inode.  Create a diropen struct.
-       (grub_ext2_find_file): Removed function.
-       (grub_ext2_read_symlink): New function.
-       (grub_ext2_iterate_dir): Likewise.
-       (grub_ext2_open): Rewritten.
-       (grub_ext2_dir): Rewritten.
-       * include/grub/fshelp.h: New file.
-       * fs/fshelp.c: Likewise.
-
-2004-09-10  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
-       (print_message): Add a missing newline.
-       (run_menu): Added timeout support.
-       (run_menu_entry): New local function.
-       (grub_menu_run): Added support for booting.
+       disk/diskfilter: Add missing lv presence check.
+       Found by: Coverity scan.
 
-       * kern/loader.c (grub_loader_is_loaded): New function.
+       disk/cryptodisk: Add missing error check.
+       Found by: Coverity scan.
 
-       * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
-       (grub_get_rtc): Exported.
-
-       * include/grub/i386/pc/time.h: Include grub/symbol.h.
-       (grub_get_rtc): Exported.
+2015-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * include/grub/normal.h (struct grub_command_list): Remove
-       constant from the member `command'.
+       disk/ahci: Fix device_map_range argument.
+       Argument is not used on x86, hence it's gone unnoticed.
 
-       * include/grub/loader.h (grub_loader_is_loaded): Declared.
+       Found by: Coverity scan.
 
-       * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
+2015-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
+       disk/AFsplitter: check argument validity before doing any allocs.
+       This avoids possible memory leaks.
 
-2004-08-28  Marco Gerards  <metgerards@student.han.nl>
+       Found by: Coverity scan.
 
-       Add support for the JFS filesystem.
+2015-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * fs/jfs.c: New file.
-       * include/grub/fs.h (grub_jfs_init): New prototype.
-       (grub_jfs_fini): New prototype.
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
-       (grub_emu_SOURCES): Likewise.
-       (pkgdata_MODULES): Add jfs.mod.
-       (jfs_mod_SOURCES): New variable.
-       (jfs_mod_CFLAGS): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
-       (grubof_SOURCES): Likewise.
-       * util/grub-emu.c (main): Initialize and deinitialize JFS support.
+       commands/wildcard: Add missing free.
+       Found by: Coverity scan.
 
-       * fs/fat.c (grub_fat_find_dir): Convert the filename little
-       endian to the host endian.
-       (grub_fat_utf16_to_utf8): Move function from there...
-       * kern/misc.c (grub_utf16_to_utf8): ...to here.  Do not convert
-       the endianness of the source string anymore.
-       * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
-
-2004-08-24  Marco Gerards  <metgerards@student.han.nl>
-
-       * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
-       (grub_boot_fini) [GRUB_UTIL]: Likewise.
-       (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
-       (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
+       commands/verify: Fix sha1 context zeroing-out.
+       Current code doesn't zero-out context completely. It's a minor issue
+       really as sha1 init already takes care of initing the context.
 
-       * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
-       (grub_hfs_iterate_dir): Make the function static.  Add prototypes
-       for `node_found' and `it_dir'.
-       (grub_hfs_dir): Add prototype for `dir_hook'.
+       commands/tr: Simplify and fix missing parameter test.
+       Found by: Coverity scan
 
-       * fs/minix.c (grub_minix_get_file_block): Add prototype for
-       `grub_get_indir'.  Rename `indir' in two blocks to `indir16'
-       and `indir32' to silence a gcc warning.
+       commands/syslinux: Add missing free.
+       Found by: Coverity scan.
 
-       * include/grub/fs.h (grub_hfs_init): New prototype.
-       (grub_hfs_fini): Likewise.
+       commands/parttool: Add missing device close.
+       Found by: Coverity scan.
 
+       commands/nativedisk: Add missing device_close.
+       Found by: Coverity scan.
 
-2004-08-21  Yoshinori K. Okuji  <okuji@enbug.org>
+2015-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       Each disk device has its own id now. This is useful to make use
-       of multiple disk devices.
+       commands/macbless: Handle device opening errors correctly.
+       Wrong variable was checked for errors.
 
-       * include/grub/disk.h (grub_disk_dev_id): New enum.
-       (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
-       (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
+       Found by: Coverity scan.
 
-       * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
-       GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
+2015-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
-       GRUB_DISK_DEVICE_OFDISK_ID as an id.
+       commands/macbless: Fix potential overflow.
+       Is a minor concern as no such FS would be created under normal circumstances
+       and failure was benign.
 
-       * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
-       GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
+       Found by: Coverity scan.
 
-       * include/grub/disk.h (struct grub_disk_dev): Added a new member
-       "id" which is used by the cache manager.
+2015-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
-       of just "GRUB".
+       commands/macbless: Remove incorrect grub_free.
+       Found by: Coverity Scan
 
-2004-08-18  Marco Gerards  <metgerards@student.han.nl>
+       commands/legacycfg: Fix resource leaks.
 
-       * fs/hfs.c: New file.
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
-       (grub_emu_SOURCES): Likewise.
-       (pkgdata_MODULES): Add hfs.mod.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
-       (grubof_SOURCES): Likewise.
-       * util/grub-emu.c (main): Initialize and deinitialize HFS support.
+       zfs: Fix disk-matching logic.
+       Reported by: Tim Chase <dweeezil>
 
-       * include/grub/misc.h (grub_strncasecmp): Add prototype.
-       * kern/misc.c (grub_strncasecmp): Add function.
+       commands/hdparm: Add missing grub_disk_close.
+       Found by: Coverity scan.
 
-2004-08-14  Marco Gerards  <metgerards@student.han.nl>
+       gptsync: Add missing device_close.
+       Found by: Coverity scan
 
-       * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
-       with parentheses.
+       commands/fileXX: Fix memory leak.
+       Found by: Coverity Scan.
 
-       * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
-       (grub_ext2_dir): In case the directory entry type is unknown, read
-       it from the inode.
+2015-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2004-08-02  Peter Bruin  <pjbruin@dds.nl>
+       commands/file: Change the confusing loop stop condition.
+       Old condition was used to zero-out header variable on exit of the loop.
+       This is correct but confusing. Replace with in-loop logic.
 
-       * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
-       grub_load_linux instead of grub_rescue_cmd_linux as second
-       argument of grub_rescue_register_command.
+       Found by: Coverity Scan.
 
-       * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
+2015-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-2004-07-27  Marco Gerards  <metgerards@student.han.nl>
+       commands/acpi: Use ALIGN_UP rather than manual expression.
+       Improves readability and hopefully automatic scanning.
 
-       * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
-       function.
-       * commands/boot.c: Remove the check for `GRUB_UTIL'.
-       * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
-       `loader/powerpc/ieee1275/linux.c',
-       `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
-       * include/grub/powerpc/ieee1275/ieee1275.h
-       (grub_ieee1275_release): New prototype.
-       * include/grub/powerpc/ieee1275/loader.h: Rewritten.
-       * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
-       normal, boot, linux and linux_normal.
-       * loader/powerpc/ieee1275/linux.c: New file.
-       * loader/powerpc/ieee1275/linux_normal.c: Likewise.
-
-2004-07-12  Marco Gerards  <metgerards@student.han.nl>
-
-       * normal/arg.c (grub_arg_parse): Correct error handling after
-       reallocating the argumentlist (check if `argl' is not null instead
-       of checking if `args' is not null).
-       * kern/mm.c (grub_realloc): Return the same pointer when using the
-       same region, instead of returning the header address.
-
-2004-07-11  Marco Gerards  <metgerards@student.han.nl>
-
-       * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
-       one block instead of two when looking for the initial partition.
-       (grub_partition_probe): Initialize the local variable `p' with 0.
-       Use base 10 for the grub_strtoul call.
-       * kern/misc.c (grub_strncpy): Fix off by one bug.  Eliminated the
-       need for one local variable.
-       (grub_strtoul): Don't add the new value to `num', instead of that
-       just assign it.
-
-2004-07-11  Marco Gerards  <metgerards@student.han.nl>
-
-       * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
-       (pxeboot_img_SOURCES): New variable.
-       (pxeboot_img_ASFLAGS): Likewise.
-       (pxeboot_img_LDFLAGS): Likewise.
-       * boot/i386/pc/pxeboot.S: New file.  Based on pxeloader.S from
-       GRUB Legacy and boot.S.  Adopted for GRUB 2 by lode leroy
-       <lode_leroy@hotmail.com>.
-
-2004-06-27  Tomas Ebenlendr  <ebik@ucw.cz>
-
-       * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
-       there was no input.
-
-2004-06-27  Tomas Ebenlendr  <ebik@ucw.cz>
-
-       * normal/cmdline.c (grub_set_history): Fix off by one bug.  Fixed
-       the history buffer logic.
-
-2004-06-27  Tomas Ebenlendr  <ebik@ucw.cz>
-
-       * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
-       (FILETYPE_INO_SYMLINK): New macros.
-       (grub_ext2_find_file): Check if the node is a directory using the
-       inode stat information instead of using the filetype in the
-       dirent.  Exclude the first character of an absolute symlink.
-       (grub_ext2_dir): Mask out the filetype part of the mode member of
-       the inode.
-
-2004-05-24  Marco Gerards  <metgerards@student.han.nl>
-
-       Add support for UFS version 1 and 2.  Add support for the minix
-       filesystem version 1 and 2, both the variants with 14 and 30 long
-       filenames.
-
-       * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
-       fs/minix.c.
-       (grub_emu_SOURCES): Likewise.
-       (pkgdata_MODULES): Add ufs.mod and minix.mod.
-       (ufs_mod_SOURCES): New variable.
-       (ufs_mod_CFLAGS): Likewise.
-       (minix_mod_SOURCES): Likewise.
-       (minix_mod_CFLAGS): Likewise.
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
-       fs/minix.c.
-       (grubof_SOURCES): Likewise.
-       * fs/ufs.c: New file.
-       * fs/minix.c: New file.
-       * include/grub/fs.h (grub_ufs_init): New prototype.
-       (grub_ufs_fini): Likewise.
-       (grub_minix_init): Likewise.
-       (grub_minix_fini): Likewise.
-       * util/grub-emu.c (main): Initialize and deinitialize UFS and
-       minix fs.
-
-2004-04-30  Jeroen Dekkers  <jeroen@dekkers.cx>
-
-       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
-       commands/ls.c, commands/terminal.c, commands/boot.c,
-       commands/cmp.c and commands/cat.c.
-       (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
-
-       * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
-       "env.h"
-
-2004-04-04  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
-       and grub_, respectively. Because the conversion is trivial and
-       mechanical, I omit the details here. Please refer to the CVS
-       if you need more information.
-
-2004-04-04  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * include/pupa: Renamed to ...
-       * include/grub: ... this.
-       * util/i386/pc/pupa-mkimage.c: Renamed to ...
-       * util/i386/pc/grub-mkimage.c: ... this.
-       * util/i386/pc/pupa-setup.c: Renamed to ...
-       * util/i386/pc/grub-setup.c: ... this.
-       * util/pupa-emu.c: Renamed to ...
-       * util/grub-emu.c: ... this.
-
-2004-03-29  Marco Gerards  <metgerards@student.han.nl>
-
-       Add support for the newworld apple macintosh (PPC).  This has been
-       tested on the powerbook 2000 only.  It only adds support for
-       generic ieee1275 functions, console and disk support.  This should
-       be easy to port to other architectures with support for Open
-       Firmware.
-
-       * configure.ac: Accept the powerpc as host_cpu.  In the case of
-       the powerpc cpu set the host_vendor to ieee1275.  Make sure the i386
-       specific tests are only executed while building for the i386.
-       Inverse test for crosscompile.
-       * genmk.rb (Utility): Allow assembler files.
-       * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
-       * conf/powerpc-ieee1275.rmk: New file.
-       * disk/powerpc/ieee1275/ofdisk.c: Likewise.
-       * disk/powerpc/ieee1275/partition.c: Likewise.
-       * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
-       * include/pupa/powerpc/ieee1275/console.h: Likewise.
-       * include/pupa/powerpc/ieee1275/partition.h: Likewise.
-       * include/pupa/powerpc/ieee1275/time.h: Likewise.
-       * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
-       * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
-       * include/pupa/powerpc/ieee1275/loader.h
-       * include/pupa/powerpc/setjmp.h: Likewise.
-       * include/pupa/powerpc/types.h: Likewise.
-       * kern/powerpc/ieee1275/init.c: Likewise.
-       * kern/powerpc/ieee1275/openfw.c: Likewise.
-       * term/powerpc/ieee1275/ofconsole.c: Likewise.
-
-       These files were written by Johan Rydberg
-       (jrydberg@night.trouble.net) and I only modified them slightly.
-
-       * boot/powerpc/ieee1275/cmain.c: New file.
-       * boot/powerpc/ieee1275/crt0.S: Likewise.
-       * boot/powerpc/ieee1275/ieee1275.c: Likewise.
-       * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
-
-2004-03-14  Jeroen Dekkers  <jeroen@dekkers.cx>
-
-       * Makefile.in: Update copyright.
-       * genmodsrc.sh: Likewise.
-       * gensymlist.sh: Likewise.
-       * term/i386/pc/vga.c: Indent correctly.
-
-       * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
-       bugreporting address.
-       * util/i386/pc/pupa-setup.c (usage): Likewise,
-       (main): Call pupa_ext2_init and pupa_ext2_fini.
-
-       * fs/fat.c (log2): Renamed to ...
-       (fat_log2): ... this.
-       All callers changed.
-       * kern/misc.c (memcpy): Alias to pupa_memmove.
-       * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
-       lvalue cast.
-       * util/console.c (pupa_ncurses_fini): Return 0.
-
-       * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
-       Move fail label here.
-       [__GNU__]: Don't warn when using stat.
-       (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
-       (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
-       long int. Use strtol instead of strtoul.
-
-2004-03-14  Marco Gerards  <metgerards@student.han.nl>
-
-       * commands/boot.c: New file.
-       * commands/cat.c: Likewise.
-       * commands/cmp.c: Likewise.
-       * commands/ls.c: Likewise.
-       * commands/terminal.c: Likewise.
-       * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
-       (pupa_register_command): Changed interface to match the new
-       argument parser.
-       (pupa_command_execute): Changed (almost rewritten) so it uses
-       pupa_split_command.  Added support for setting variables using the
-       syntax `foo=bar'.
-       (rescue_command): Changed to work with the new argument parser.
-       (terminal_command): Moved from here to commands/terminal.c.
-       (set_command): New function.
-       (unset_command): New function.
-       (insmod_command): New function.
-       (rmmod_command): New function.
-       (lsmod_command): New function.
-       (pupa_command_init): Don't initialize the command terminal
-       anymore.  Initialize the commands set, unset, insmod, rmmod and
-       lsmod.
-       * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
-       (kernel_img_HEADERS): Add arg.h and env.h.
-       (pupa_mkimage_LDFLAGS): Add kern/env.c.
-       (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
-       commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
-       normal/arg.c.
-       (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
-       terminal.mod.
-       (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
-       (boot_mod_SOURCES): New variable.
-       (terminal_mod_SOURCES): Likewise.
-       (ls_mod_SOURCES): Likewise.
-       (cmp_mod_SOURCES): Likewise.
-       (cat_mod_SOURCES): Likewise.
-
-       * normal/arg.c: New file.
-       * kern/env.c: Likewise.
-       * include/pupa/arg.h: Likewise.
-       * include/pupa/env.h: Likewise.
-       * font/manager.c (font_command): Changed to match argument parsing
-       interface changes.
-       (PUPA_MOD_INIT): Likewise.
-       * hello/hello.c (pupa_cmd_hello): Likewise.
-       (PUPA_MOD_INIT): Likewise.
-       * include/pupa/disk.h: Include <pupa/device.h>.
-       (pupa_print_partinfo): New prototype.
-       * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
-       (pupa_dl_get_prefix): Likewise.
-       * include/pupa/misc.h: Include <pupa/err.h>.
-       (pupa_isgraph): New prototype.
-       (pupa_isdigit): Likewise.
-       (pupa_split_cmdline): Likewise.
-       * include/pupa/normal.h: Include <pupa/arg.h>.
-       (pupa_command): Changed the prototype of the member `func' to
-       match the argument parsing interface.  Added member `options'.
-       (pupa_register_command): Updated to match function.
-       (pupa_arg_parse): New prototype.
-       (pupa_hello_init) [PUPA_UTIL]: New prototype.
-       (pupa_hello_fini) [PUPA_UTIL]: Likewise.
-       (pupa_ls_init) [PUPA_UTIL]: Likewise.
-       (pupa_ls_fini) [PUPA_UTIL]: Likewise.
-       (pupa_cat_init) [PUPA_UTIL]: Likewise.
-       (pupa_cat_fini) [PUPA_UTIL]: Likewise.
-       (pupa_boot_init) [PUPA_UTIL]: Likewise.
-       (pupa_boot_fini) [PUPA_UTIL]: Likewise.
-       (pupa_cmp_init) [PUPA_UTIL]: Likewise.
-       (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
-       (pupa_terminal_init) [PUPA_UTIL]: Likewise.
-       (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
-       * kern/disk.c: Include <pupa/file.h>.
-       (pupa_print_partinfo): New function.
-       * kern/dl.c: Include <pupa/env.h>.
-       (pupa_dl_dir): Variable removed.
-       (pupa_dl_load): Use the environment variable `prefix' instead of
-       the variable pupa_dl_dir.
-       (pupa_dl_set_prefix): Function removed.
-       (pupa_dl_get_prefix): Likewise.
-       * kern/i386/pc/init.c: Include <pupa/env.h>.
-       (pupa_machine_init): Use the environment variable `prefix' instead of
-       using pupa_dl_set_prefix to set the prefix.
-       * kern/main.c: Include <pupa/env.h>.
-       (pupa_set_root_dev): Use the environment variable `prefix' instead of
-       using pupa_dl_get_prefix to get the prefix.
-       * kern/misc.c: Include <pupa/env.h>.
-       (pupa_isdigit): New function.
-       (pupa_isgraph): Likewise.
-       (pupa_ftoa): Likewise.
-       (pupa_vsprintf): Added support for printing values of the type
-       `double'.  Make it possible to format variable output when using
-       formatting like `%1.2%f'.
-       (pupa_split_cmdline): New function.
-       * kern/rescue.c: Include <pupa/env.h>.
-       (next_word): Removed function.
-       (pupa_rescue_cmd_prefix): Likewise.
-       (pupa_rescue_cmd_set): New function.
-       (pupa_rescue_cmd_unset): New function.
-       (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
-       split the command line instead of splitting it here.  Added
-       support for setting variables using the syntax `foo=bar'.  Don't
-       initialize the prefix command anymore.  Initialized the set and
-       unset commands.
-       * normal/cmdline.c: Include <pupa/env.h>.
-       (pupa_tab_complete): Added prototypes for print_simple_completion,
-       print_partition_completion, add_completion, iterate_commands,
-       iterate_dev, iterate_part and iterate_dir. Moved code to print
-       partition information from here to kern/disk.c.
-       (pupa_cmdline_run): Don't check if the function exists anymore.
-       * normal/main.c: Include <pupa/env.h>.
-       (pupa_rescue_cmd_normal): Use the environment variable `prefix'
-       instead of using pupa_dl_get_prefix to get the prefix.
-       * term/i386/pc/vga.c: Include <pupa/arg.h>.
-       (check_vga_mem): Cast pointers to `void *' to silence a gcc
-       warning.
-       (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
-       (pupa_vga_setcolor): Declare unused variables with `__attribute__
-       ((unused))' to silence a gcc warning.
-       (pupa_vga_setcolor): Likewise.
-       (debug_command): Changed to match argument parsing
-       interface changes.
-       * util/pupa-emu.c: Include <pupa/env.h>.
-       (options): Added 0's for unused fields to silence a gcc warning.
-       (argp): Likewise.
-       (main): Use the environment variable `prefix' instead of using
-       pupa_dl_set_prefix to set the prefix.  Initialize the commands ls,
-       boot, cmp, cat and terminal.  Finish the commands boot, cmp, cat
-       and terminal.
-
-       * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
-       * util/misc.c: Include <malloc.h>.
-       (pupa_malloc): Rewritten so errors are correctly reported.
-       (pupa_realloc): Likewise.
-       (pupa_memalign): Likewise.
-       (pupa_mm_init_region): Declare unused variables with
-       `__attribute__ ((unused))' to silence a gcc warning.
-       * normal/i386/setjmp.S: Remove tab at the end of the file to
-       silence a gcc warning.
-       * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
-       variables with `__attribute__ ((unused))' to silence a gcc
-       warning.
-       * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
-       local variable i unsigned to silence a gcc warning.
-
-       * kern/term.c: Include <pupa/misc.h>.
-       (pupa_more_lines): New variable.
-       (pupa_more): Likewise.
-       (pupa_putcode): When the pager is active pause at the end of every
-       screen.
-       (pupa_set_more): New function.
-       * include/pupa/term.h (pupa_set_more): New prototype.
-
-
-2004-03-07  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       Now this project is GRUB 2 rather than PUPA. The location of
-       the CVS repository was moved to GRUB's.
-
-       * configure.ac: Use bug-grub as the reporting address.
-       Use GRUB instead of PUPA.
-       Change the version number to 1.90.
-
-2004-02-24  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * genkernsyms.sh: Updated copyright information.
-       * genmk.rb: Likewise.
-       * genmodsrc.sh: Likewise.
-       * gensymlist.sh: Likewise.
-       * boot/i386/pc/boot.S: Likewise.
-       * boot/i386/pc/diskboot.S: Likewise.
-       * disk/i386/pc/biosdisk.c: Likewise.
-       * disk/i386/pc/partition.c: Likewise.
-       * font/manager.c: Likewise.
-       * fs/ext2.c: Likewise.
-       * fs/fat.c: Likewise.
-       * include/pupa/boot.h: Likewise.
-       * include/pupa/device.h: Likewise.
-       * include/pupa/disk.h: Likewise.
-       * include/pupa/dl.h: Likewise.
-       * include/pupa/elf.h: Likewise.
-       * include/pupa/err.h: Likewise.
-       * include/pupa/file.h: Likewise.
-       * include/pupa/font.h: Likewise.
-       * include/pupa/fs.h: Likewise.
-       * include/pupa/kernel.h: Likewise.
-       * include/pupa/loader.h: Likewise.
-       * include/pupa/misc.h: Likewise.
-       * include/pupa/mm.h: Likewise.
-       * include/pupa/net.h: Likewise.
-       * include/pupa/normal.h: Likewise.
-       * include/pupa/rescue.h: Likewise.
-       * include/pupa/setjmp.h: Likewise.
-       * include/pupa/symbol.h: Likewise.
-       * include/pupa/term.h: Likewise.
-       * include/pupa/types.h: Likewise.
-       * include/pupa/i386/setjmp.h: Likewise.
-       * include/pupa/i386/types.h: Likewise.
-       * include/pupa/i386/pc/biosdisk.h: Likewise.
-       * include/pupa/i386/pc/boot.h: Likewise.
-       * include/pupa/i386/pc/console.h: Likewise.
-       * include/pupa/i386/pc/init.h: Likewise.
-       * include/pupa/i386/pc/kernel.h: Likewise.
-       * include/pupa/i386/pc/linux.h: Likewise.
-       * include/pupa/i386/pc/loader.h: Likewise.
-       * include/pupa/i386/pc/memory.h: Likewise.
-       * include/pupa/i386/pc/multiboot.h: Likewise.
-       * include/pupa/i386/pc/partition.h: Likewise.
-       * include/pupa/i386/pc/time.h: Likewise.
-       * include/pupa/i386/pc/vga.h: Likewise.
-       * include/pupa/i386/pc/util/biosdisk.h: Likewise.
-       * include/pupa/util/getroot.h: Likewise.
-       * include/pupa/util/misc.h: Likewise.
-       * include/pupa/util/resolve.h: Likewise.
-       * kern/device.c: Likewise.
-       * kern/disk.c: Likewise.
-       * kern/dl.c: Likewise.
-       * kern/err.c: Likewise.
-       * kern/file.c: Likewise.
-       * kern/fs.c: Likewise.
-       * kern/loader.c: Likewise.
-       * kern/main.c: Likewise.
-       * kern/misc.c: Likewise.
-       * kern/mm.c: Likewise.
-       * kern/rescue.c: Likewise.
-       * kern/term.c: Likewise.
-       * kern/i386/dl.c: Likewise.
-       * kern/i386/pc/init.c: Likewise.
-       * kern/i386/pc/lzo1x.S: Likewise.
-       * kern/i386/pc/startup.S: Likewise.
-       * loader/i386/pc/chainloader.c: Likewise.
-       * loader/i386/pc/linux.c: Likewise.
-       * loader/i386/pc/multiboot.c: Likewise.
-       * normal/cmdline.c: Likewise.
-       * normal/command.c: Likewise.
-       * normal/main.c: Likewise.
-       * normal/menu.c: Likewise.
-       * normal/i386/setjmp.S: Likewise.
-       * term/i386/pc/console.c: Likewise.
-       * term/i386/pc/vga.c: Likewise.
-       * util/console.c: Likewise.
-       * util/genmoddep.c: Likewise.
-       * util/misc.c: Likewise.
-       * util/pupa-emu.c: Likewise.
-       * util/resolve.c: Likewise.
-       * util/unifont2pff.rb: Likewise.
-       * util/i386/pc/biosdisk.c: Likewise.
-       * util/i386/pc/getroot.c: Likewise.
-       * util/i386/pc/pupa-mkimage.c: Likewise.
-       * util/i386/pc/pupa-setup.c: Likewise.
-
-2004-02-15  Jeroen Dekkers  <jeroen@dekkers.cx>
-
-       * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
-       when it is EXT2_BLOCK_SIZE (data).  New argument READ_HOOK, all
-       callers changed.  Set DATA->DISK->READ_HOOK to READ_HOOK before
-       reading and reset it after reading.
-       (pupa_ext2_close): Return PUPA_ERR_NONE.
-
-       * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
-       Correct value.
-       (struct linux_kernel_header): Add kernel_version and
-       initrd_addr_max.
-       * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
-       pupa_file_read succeeds.
-       (pupa_rescue_cmd_initrd): Implement.
-
-2003-12-03  Marco Gerards  <metgerards@student.han.nl>
-
-       * fs/ext2.c (pupa_ext2_label): New function.
-       (pupa_ext2_fs): Added label.
-       * fs/fat.c (pupa_fat_label): New function.
-       (pupa_fat_fs): Added label.
-       * include/pupa/fs.h (struct pupa_fs): Added prototype label.
-
-       * kern/misc.c (pupa_strndup): New function.
-       * include/pupa/misc.h (pupa_strndup): New prototype.
-
-       * include/pupa/normal.h: Include <pupa/err.h>.
-       (pupa_set_history): New prototype.
-       (pupa_iterate_commands): New prototype.
-       * normal/cmdline.c: Include <pupa/machine/partition.h>,
-       <pupa/disk.h>, <pupa/file.h>.
-       (hist_size): New variable.
-       (hist_lines): Likewise.
-       (hist_end): Likewise.
-       (hist_used): Likewise.
-       (pupa_set_history): New function.
-       (pupa_history_get): Likewise.
-       (pupa_history_add): Likewise.
-       (pupa_history_replace): Likewise.
-       (pupa_tab_complete): Likewise.
-       (pupa_cmdline_run): Added tab completion and history buffer.  Tab
-       completion shows partitionnames while completing partitions, this
-       feature was suggested by Jeff Bailey.
-       * normal/command.c (pupa_iterate_commands): New function.
-       * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
-       (pupa_normal_init): Initialize history buffer.
-       (PUPA_MOD_INIT): Likewise.
-       (pupa_normal_fini): Free the history buffer.
-       (PUPA_MOD_FINI): Likewise.
-
-       * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
-       key.
-
-       * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
-       * configure.ac [i386]: Check for regparam bug.
-       (NESTED_FUNC_ATTR) [! i386]: Defined.
-
-2003-11-17  Marco Gerards  <metgerards@student.han.nl>
-
-       * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
-       (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
-       (pupa_emu_SOURCES): New variable.
-       (pupa_emu_LDFLAGS): Likewise.
-       * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
-       (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
-       * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
-       (pupa_normal_fini) [PUPA_UTIL]: Likewise.
-       * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
-       (pupa_jmp_buf): New typedef.
-       (pupa_setjmp) [PUPA_UTIL]: New macro.
-       (pupa_longjmp) [PUPA_UTIL]: Likewise.
-       * include/pupa/term.h (struct pupa_term): New member `refresh'.
-       (pupa_refresh): New prototype.
-       * include/pupa/util/getroot.h: New file.
-       * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
-       it.
-       * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
-       (pupa_rescue_cmd_cat): Likewise.
-       (pupa_rescue_cmd_ls): Likewise.
-       (pupa_rescue_cmd_testload): Likewise.
-       (pupa_rescue_cmd_lsmod): Likewise.
-       * normal/cmdline.c (pupa_cmdline_get): Likewise.
-       * normal/menu.c (run_menu): Likewise.
-       * kern/term.c (pupa_cls): Likewise.
-       (pupa_refresh): New function.
-       * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
-       (pupa_normal_fini) [PUPA_UTIL]: Likewise.
-       * util/console.c: New file.
-
-       * util/i386/pc/getroot.c: New file.
-       * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
-       (pupa_putchar): New function.
-       (pupa_refresh): Likewise.
-       (xgetcwd): Function moved to ...
-       (strip_extra_slashes): Likewise.
-       (get_prefix): Likewise.
-       * util/i386/pc/getroot.c: ... here.
-       (find_root_device): Function moved and renamed to...
-       * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
-       Changed all callers.
-       * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
-       and renamed to...
-       * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
-       Changed all callers.
-       * util/misc.c (pupa_memalign): New function.
-       (pupa_mm_init_region): Likewise.
-       (pupa_register_exported_symbols): Likewise.
-       (pupa_putchar): Function removed.
-       * util/pupa-emu.c: New file.
-
-2003-11-16  Jeroen Dekkers  <jeroen@dekkers.cx>
-
-       * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
-       (_multiboot_mod_SOURCES): New variable.
-       (_multiboot_mod_CFLAGS): Likewise.
-       * loader/i386/pc/multiboot.c: New file.
-       * include/pupa/i386/pc/multiboot.h: Likewise.
-       * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
-       (pupa_multiboot_real_boot): New function.
-       * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
-       (pupa_multiboot_real_boot): New prototype.
-       (pupa_rescue_cmd_multiboot): Likewise
-       (pupa_rescue_cmd_module): Likewise.
-
-       * kern/loader.c (pupa_loader_set): Continue when
-       pupa_loader_unload_func() fails.
-       (pupa_loader_unset): New function.
-       * include/pupa/loader.h (pupa_loader_unset): New prototype.
-
-       * kern/misc.c (pupa_stpcpy): New function.
-       * include/pupa/misc.h (pupa_stpcpy): New prototype.
-
-2003-11-12  Marco Gerards  <metgerards@student.han.nl>
-
-       * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
-       for available extensions.
-
-       * include/pupa/i386/pc/time.h: New file.
-       * kern/disk.c: Include <pupa/machine/time.h>.
-       (PUPA_CACHE_TIMEOUT): New macro.
-       (pupa_last_time): New variable.
-       (pupa_disk_open): Flush the cache when there was a timeout.
-       (pupa_disk_close): Reset the timer.
-       * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
-       pupa_currticks.
-       * util/misc.c: Include <sys/times.h>
-       (pupa_get_rtc): New function.
-
-2003-11-09  Jeroen Dekkers  <jeroen@dekkers.cx>
-
-       * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
-       as blocks.
-       (pupa_ext2_get_file_block): Use blocks member.
-
-       * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
-       first block. Return -1 instead of pupa_errno on error.
-
-2003-10-27  Marco Gerards  <metgerards@student.han.nl>
-
-       * README: In the pupa-mkimage example use _chain instead of chain
-       and ext2 instead of fat.
-       * TODO: Replace ext2fs with jfs as an example.  Add an item for
-       adding journal playback for ext2fs.
-       * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
-       (pkgdata_MODULES): Added ext2.mod.
-       (ext2_mod_SOURCES): New variable.
-       (ext2_mod_CFLAGS): Likewise.
-       * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
-       * include/pupa/misc.h (pupa_strncpy): New prototype.
-       (pupa_strcat): Likewise.
-       (pupa_strncmp): Likewise.
-       * kern/misc.c (pupa_strcat): Enable function.
-       (pupa_strncpy): New function.
-       (pupa_strncmp): Likewise.
-       * fs/ext2.c: New file.
-
-       * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
-       when the read failed before retrying.
-       * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
-       (_FILE_OFFSET_BITS): Likewise.
-       * configure.ac: Added AC_SYS_LARGEFILE.
-
-2003-09-25  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * genmk.rb (PModule#rule): Make sure to get only symbol names
-       from the output of nm.
-       Reported by Robert Millan <rmh.grub@aybabtu.com>.
-
-2003-09-25  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       I forgot to check in these changes for a long time. This adds
-       incomplete support for VGA console, and this is still very
-       buggy. Also, a lot of consideration is required for I18N,
-       UNICODE, and VGA font issues. Therefore, assume that this is
-       such that "better than nothing".
-
-       * font/manager.c: New file.
-       * include/pupa/font.h: Likewise.
-       * include/pupa/i386/pc/vga.h: Likewise.
-       * term/i386/pc/vga.c: Likewise.
-       * util/unifont2pff.rb: Likewise.
-
-       * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
-       (pkgdata_MODULES): Added vga.mod and font.mod.
-       (vga_mod_SOURCES): New variables.
-       (vga_mod_CFLAGS): Likewise.
-       (font_mod_SOURCES): Likewise.
-       (font_mod_CFLAGS): Likewise.
-
-       * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
-
-       * include/pupa/term.h: Include pupa/err.h.
-       (struct pupa_term): Added init and fini.
-       Changed the argument of putchar to pupa_uint32_t.
-
-       * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
-       (pupa_console_real_putchar): New prototype.
-       (pupa_console_putchar): Removed.
-       (pupa_console_checkkey): Exported.
-       (pupa_console_getkey): Likewise.
-
-       * kern/misc.c (pupa_vsprintf): Add support for UNICODE
-       characters.
-
-       * kern/term.c (pupa_term_set_current): Rewritten.
-       (pupa_putchar): Likewise.
-       (pupa_putcode): New function.
-
-       * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
-       (pupa_console_real_putchar): ... this.
-       (pupa_vga_set_mode): New function.
-       (pupa_vga_get_font): Likewise.
-
-       * normal/command.c: Include pupa/term.h.
-       (terminal_command): New function.
-       (pupa_command_init): Register the command "terminal".
-
-       * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
-       (DISP_UP): Likewise.
-       (DISP_RIGHT): Likewise.
-       (DISP_DOWN): Likewise.
-       (DISP_HLINE): Likewise.
-       (DISP_VLINE): Likewise.
-       (DISP_UL): Likewise.
-       (DISP_UR): Likewise.
-       (DISP_LL): Likewise.
-       (DISP_LR): Likewise.
-
-       * term/i386/pc/console.c (pupa_console_putchar): New function.
-
-2003-02-08  NIIBE Yutaka  <gniibe@m17n.org>
-
-       * util/resolve.c (pupa_util_resolve_dependencies): BUG
-       FIX. Reverse the path_list.
-
-       * include/pupa/normal.h: Export pupa_register_command and
-       pupa_unregister_command.
-
-       * hello/hello.c (pupa_cmd_hello): New module.
-       * conf/i386-pc.rmk: Added hello.mod.
-
-2003-01-31  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * kern/i386/pc/lzo1x.S: New file.
-
-       * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
-       (compress_kernel): New variable.
-       (generate_image): Heavily modified to support compressing a
-       large part of the core image.
-
-       * util/misc.c (pupa_util_read_image): Fix a file descriptor
-       leak.
-       (pupa_util_load_image): New function.
-
-       * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
-       (pupa_compressed_size): New variable.
-       (codestart): Enable Gate A20 here.
-       Decompress the compressed part of the core image.
-       Rearrange the code to put functions and variables which are
-       required for initialization in the non-compressed part.
-       Include lzo1x.S.
-
-       * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
-       here.
-
-       * include/pupa/util/misc.h (pupa_util_write_image): Declared.
-
-       * include/pupa/i386/pc/kernel.h
-       (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
-       (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
-       (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
-       (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
-       (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
-
-       * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
-
-       * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
-       (Utility#rule): Likewise.
-
-       * configure.ac: Check if LZO is available.
-
-2003-01-20  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * include/pupa/normal.h: New file.
-       * include/pupa/setjmp.h: Likewise.
-       * include/pupa/i386/setjmp.h: Likewise.
-       * normal/cmdline.c: Likewise.
-       * normal/command.c: Likewise.
-       * normal/main.c: Likewise.
-       * normal/menu.c: Likewise.
-       * normal/i386/setjmp.S: Likewise.
-
-       * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
-       (pupa_rescue_cmd_initrd): Likewise.
-
-       * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
-       Likewise.
-
-       * kern/i386/pc/startup.S (translation_table): New variable.
-       (translate_keycode): New function.
-       (pupa_console_getkey): Call translate_keycode.
-
-       * kern/rescue.c (attempt_normal_mode): New function.
-       (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
-       it failed, print a message.
-
-       * kern/mm.c (pupa_real_malloc): Print more information when a
-       free magic is broken.
-       (pupa_free): If the first free header is not free actually, set
-       it to P.
-
-       * kern/main.c (pupa_load_normal_mode): Just load the module
-       "normal".
-       (pupa_main): Don't print the message
-       "Entering into rescue mode..." here.
-
-       * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
-       Declared.
-       (pupa_rescue_cmd_initrd): Likewise.
-       (pupa_rescue_cmd_initrd): Likewise.
-
-       * include/pupa/symbol.h (FUNCTION): Specify the type.
-       (VARIABLE): Likewise.
-
-       * include/pupa/err.h (pupa_err_t): Added
-       PUPA_ERR_UNKNOWN_COMMAND.
-
-       * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
-       (pupa_dl_get_prefix): Likewise.
-
-       * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
-       Added _chain.mod and _linux.mod instead of chain.mod and
-       linux.mod.
-       (chain_mod_SOURCES): Renamed to ...
-       (_chain_mod_SOURCES): ... this.
-       (chain_mod_CFLAGS): Renamed to ...
-       (_chain_mod_CFLAGS): ... this.
-       (linux_mod_SOURCES): Renamed to ...
-       (_linux_mod_SOURCES): ... this.
-       (linux_mod_CFLAGS): Renamed to ...
-       (_linux_mod_CFLAGS): ... this.
-       (normal_mod_SOURCES): New variable.
-       (normal_mod_CFLAGS): Likewise.
-       (normal_mod_ASFLAGS): Likewise.
-
-2003-01-18  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
-       possible.
-
-       * kern/dl.c (pupa_dl_ref): Refer depending modules
-       recursively.
-       (pupa_dl_unref): Unrefer depending modules recursively.
-       Don't call pupa_dl_unload implicitly, because PUPA can crash if
-       a module is unloaded before one depending on that module is
-       unloaded.
-       (pupa_dl_unload): Unload depending modules explicitly,
-       if possible.
-
-2003-01-17  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * include/pupa/i386/pc/linux.h: New file.
-       * loader/i386/pc/linux.c: Likewise.
-
-       * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
-       Removed.
-       (pupa_chainloader_unload): Return PUPA_ERR_NONE.
-       (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
-       of PUPA_CHAINLOADER_BOOT_SECTOR.
-
-       * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
-       (pupa_linux_prot_size): New variable.
-       (pupa_linux_tmp_addr): Likewise.
-       (pupa_linux_real_addr): Likewise.
-       (pupa_linux_boot_zimage): New function.
-       (pupa_linux_boot_bzimage): Likewise.
-
-       * kern/i386/pc/init.c (struct mem_region): New structure.
-       (MAX_REGIONS): New macro.
-       (mem_regions): New variable.
-       (num_regions): Likewise.
-       (pupa_os_area_addr): Likewise.
-       (pupa_os_area_size): Likewise.
-       (pupa_lower_mem): Likewise.
-       (pupa_upper_mem): Likewise.
-       (add_mem_region): New function.
-       (compact_mem_regions): Likewise.
-       (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
-       the size of the conventional memory and that of so-called upper
-       memory (before the first memory hole).
-       Instead of adding each found region to free memory, use
-       add_mem_region and add them after removing overlaps.
-       Also, add only 1/4 of the upper memory to free memory. The rest
-       is used for loading OS images. Maybe this is ad hoc, but this
-       makes it much easier to relocate OS images when booting.
-
-       * kern/rescue.c (pupa_rescue_cmd_module): Removed.
-       (pupa_enter_rescue_mode): Don't register initrd and module.
-
-       * kern/mm.c: Include pupa/dl.h.
-
-       * kern/main.c: Include pupa/file.h and pupa/device.h.
-
-       * kern/loader.c (pupa_loader_load_module_func): Removed.
-       (pupa_loader_load_module): Likewise.
-
-       * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
-       ``.o''.
-
-       * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
-       (pupa_linux_tmp_addr): Likewise.
-       (pupa_linux_real_addr): Likewise.
-       (pupa_linux_boot_zimage): Likewise.
-       (pupa_linux_boot_bzimage): Likewise.
-
-       * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
-       (pupa_upper_mem): Likewise.
-       (pupa_gate_a20): Don't export, because turning off Gate A20 in a
-       module is too dangerous.
-
-       * include/pupa/loader.h (pupa_os_area_addr): Declared.
-       (pupa_os_area_size): Likewise.
-       (pupa_loader_set): Remove the first argument. Loader doesn't
-       manage modules or initrd any longer.
-       (pupa_loader_load_module): Removed.
-
-       * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
-       (linux_mod_SOURCES): New variable.
-       (linux_mod_CFLAGS): Likewise.
-
-2003-01-07  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
-       the length of a blocklist correctly.
-
-       * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
-       Use ioctl only if the OS file is a block device.
-       (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
-       not very useful for normal files.
-
-       * kern/main.c (pupa_set_root_dev): New function.
-       (pupa_load_normal_mode): Likewise.
-       (pupa_main): Call those above.
-
-       * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
-       pupa_uint16_t.
-
-       * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
-
-2003-01-06  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
-       (setup): Configure the installed partition information and the
-       dl prefix.
-
-       * loader/i386/pc/chainloader.c (my_mod): New variable.
-       (pupa_chainloader_unload): New function.
-       (pupa_rescue_cmd_chainloader): Refer itself.
-       (PUPA_MOD_INIT): Save its own module in MY_MOD.
-
-       * kern/i386/pc/startup.S (install_partition): Removed.
-       (version_string): Likewise.
-       (config_file): Likewise.
-       (pupa_install_dos_part): New variable.
-       (pupa_install_bsd_part): Likewise.
-       (pupa_prefix): Likewise.
-       (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
-
-       * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
-       and pupa/misc.h.
-       (make_install_device): New function.
-       (pupa_machine_init): Set the dl prefix.
-
-       * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
-       (buf): Renamed to ...
-       (linebuf): ... this.
-       (pupa_rescue_cmd_prefix): New function.
-       (pupa_rescue_cmd_insmod): Likewise.
-       (pupa_rescue_cmd_rmmod): Likewise.
-       (pupa_rescue_cmd_lsmod): Likewise.
-       (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
-       rmmod and lsmod.
-
-       * kern/mm.c (pupa_memalign): If failed even after invalidating
-       disk caches, unload unneeded modules and retry.
-
-       * kern/misc.c (pupa_memmove): New function.
-       (pupa_memcpy): Removed.
-       (pupa_strcpy): New function.
-       (pupa_itoa): Made static.
-
-       * kern/dl.c (pupa_dl_iterate): New function.
-       (pupa_dl_ref): Likewise.
-       (pupa_dl_unref): Likewise.
-       (pupa_dl_unload): Return if succeeded or not.
-       (pupa_dl_unload_unneeded): New function.
-       (pupa_dl_unload_all): Likewise.
-       (pupa_dl_init): Renamed to ...
-       (pupa_dl_set_prefix): ... this.
-       (pupa_dl_get_prefix): New function.
-
-       * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
-       (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
-       (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
-       (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
-       (pupa_install_dos_part): Declared.
-       (pupa_install_bsd_part): Likewise.
-       (pupa_prefix): Likewise.
-       (pupa_boot_drive): Likewise.
-
-       * include/pupa/types.h: Fix a typo.
-
-       * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
-       pupa_memmove.
-       (pupa_memmove): Declared.
-       (pupa_strcpy): Likewise.
-
-       * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
-       pupa_mod_init takes one argument, its own module.
-       (pupa_dl_unload_unneeded): Declared.
-       (pupa_dl_unload_all): Likewise.
-       (pupa_dl_ref): Likewise.
-       (pupa_dl_unref): Likewise.
-       (pupa_dl_iterate): Likewise.
-       (pupa_dl_init): Renamed to ...
-       (pupa_dl_set_prefix): ... this.
-       (pupa_dl_get_prefix): Declared.
-
-       * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
-       (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
-       unloaded.
-       (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
-       (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
-
-       * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
-       -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
-
-2003-01-03  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * util/i386/pc/pupa-setup.c (setup): Define the internal
-       function find_first_partition_start at the top level, because GCC
-       3.0.x cannot compile internal functions in deeper scopes
-       correctly.
-       (find_root_device): Use lstat instead of stat.
-       Don't follow symbolic links.
-       Fix the path-constructing code.
-
-       * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
-       (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
-       by a BLKGETSIZE ioctl first, because block devices don't fill
-       the member st_mode of the structure stat on Linux.
-       [__linux__] (linux_find_partition): Use a temporary buffer
-       REAL_DEV for the working space. Copy it to DEV before returning.
-       (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
-       buffer cache consistent.
-       (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
-       strncmp. The previous value was merely wrong.
-       (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
-
-       * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
-       FAT size is 12. The previous value was merely wrong.
-
-       * kern/main.c (pupa_main): Don't split the starting message from
-       newlines.
-
-       * kern/term.c (pupa_putchar): Put CR after LF instead of before
-       LF, because BIOS goes crazy about character attributes in this
-       case.
-
-2003-01-03  Yoshinori K. Okuji  <okuji@enbug.org>
-
-       * include/i386/pc/util/biosdisk.h: New file.
-       * util/i386/pc/biosdisk.c: Likewise.
-       * util/i386/pc/pupa-setup.c: Likewise.
-
-       * Makefile.in (INCLUDE_DISTFILES): Added
-       include/pupa/i386/pc/util/biosdisk.h.
-       (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
-       directory util/i386/pc.
-       (install-local): Added a rule for sbin_UTILITIES.
-       (uninstall): Likewise.
-
-       * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
-
-       * util/misc.c (xrealloc): New function.
-       (pupa_malloc): Likewise.
-       (pupa_free): Likewise.
-       (pupa_realloc): Likewise.
-       (pupa_stop): Likewise.
-       (pupa_putchar): Likewise.
-
-       * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
-
-       * include/pupa/util/misc.h (xrealloc): Declared.
-
-       * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
-       macro.
-       (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
-       (PUPA_BOOT_MACHINE_BPB_END): ... this.
-
-       * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
-       [PUPA_UTIL] (pupa_fat_fini): Likewise.
-
-       * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
-       way should be implemented.
-       [PUPA_UTIL] (pupa_fat_fini): Likewise.
+       Found by: Coverity Scan.
 
-       * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
-       the size of NAME for safety.
-       (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
-       0x88.
+2015-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
-       (pupa_setup_SOURCES): Likewise.
+       uhci: Fix null pointer dereference.
+       Found by: Coverity scan.
 
-       * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
+       Always add -msoft-float to avoid compiler generating float arithmetics.
 
-2002-12-28  Yoshinori K. Okuji  <okuji@enbug.org>
+2015-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
-       bunch of pushl's from pusha, because this destroys the return
-       value.
+       Generate empty ChangeLog if no .git is available.
+       When making dist from a git snapshot without repo available make dist would
+       fail to find ChangeLog. Generate empty ChangeLog if no ChangeLog is already
+       present and repo is not available.
 
-2002-12-28  Yoshinori K. Okuji  <okuji@enbug.org>
+       Reported by: Andrei Borzenkov <arvidjaar@gmail.com>
 
-       Use -mrtd and -mregparm=3 to reduce the generated code sizes.
-       This means that any missing prototypes could be fatal. Also, you
-       must take care when writing assembly code. See the comments at
-       the beginning of startup.S, for more details.
+2015-01-24  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * kern/i386/pc/startup.S (pupa_halt): Modified for the new
-       compilation mechanism.
-       (pupa_chainloader_real_boot): Likewise.
-       (pupa_biosdisk_rw_int13_extensions): Likewise.
-       (pupa_biosdisk_rw_standard): Likewise.
-       (pupa_biosdisk_check_int13_extensions): Likewise.
-       (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
-       (pupa_biosdisk_get_diskinfo_standard): Likewise.
-       (pupa_get_memsize): Likewise.
-       (pupa_get_mmap_entry): Likewise.
-       (pupa_console_putchar): Likewise.
-       (pupa_console_setcursor): Likewise.
-       (pupa_getrtsecs): Use pushl instead of push.
+       Makefile.am: Fix Changelog cutoff address.
+       gitlog-to-changelog Doesn't generate entries for cutoff day, only
+       for days after the cutoff date, adjust by one to compensate.
 
-       * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
-       memory instead of the stack for a mmap entry, because some
-       BIOSes may ignore the maximum size and overflow.
+       efidisk: Return the determined root disk even if partition is unknown.
 
-       * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
+       util/grub-mkrescue.c: Always include part_msdos and part_gpt on EFI.
+       When booted from stick, EFI would use GPT partition and our root
+       device detection algortihm depends on GRUB's ability to see the same
+       partitions. Hence include msdos and gpt partmap modules on EFI even when
+       they're not needed to access root filesystem.
 
-       * genmk.rb (PModule#rule): Compile automatically generated
-       sources with module-specific CFLAGS as well as other sources.
+       conf/Makefile.common: Remove unused {LD,C}FLAGS_CPU.
 
-2002-12-27  Yoshinori K. Okuji  <okuji@enbug.org>
+       Autogenerate ChangeLog from git changelog.
+       Old ChangeLog is moved to ChangeLog-2015. For all changes starting from
+       this one ChangeLog will be generated from gitlog only on explicit make
+       invocation and make dist.
 
-       * configure.ac: Check ld.
-       Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
-       respectively, before checking endianness and sizes.
+2015-01-23  Vladimir Serbinenko  <phcoder@gmail.com>
 
-       * Makefile.in (LD): New variable.
+               * tests/file_filter/file: Really add missing file.
 
-2002-12-27  Yoshinori K. Okuji  <okuji@enbug.org>
+2015-01-23  Andrei Borzenkov  <arvidjaar@gmail.com>
 
-       * Makefile.in (BUILD_CC): CC -> BUILD_CC.
+       Mention platform "none" in NEWS
 
-2002-12-27  Yoshinori K. Okuji  <okuji@enbug.org>
+2015-01-23  Andrey Borzenkov  <arvidjaar@gmail.com>
 
-       * Changelog: New file.
+       accept also hdX as alias to native Xen disk name
+       To be compatible with legacy pv-grub, sort disks by increasing order of handle
+       value. This allows reusing legacy pv-grub menu.lst which is using hdX names.
 
+       Suggested-By: Michael Chang <mchang@suse.com>
+       Closes: 44026