+2011-1-10 signed off by Jason Fleischli <jason.fleischli@hp.com>
+ * Uptake of SUSE patches
+ - add sysfs support for efi vars (formerly /proc/efi/vars)
+ - fix strncpy overflow
+ - fix bzimage alloc
+ - cleanups
+ - support longer command line
+ - yet some more mac fixes
+ - align elilo with latest kernel boot protocol format.
+ - new memory management strategy for initrd and kernel image loading.
+ * add force text mode command line option.
+ * replace error output on GOP handle failed, downgraded to normal
+ print status with more informative output.
+
+2009-10-22 signed off by Jason Fleischli <jason.fleischli@hp.com>
+ * elilo 3.12 release commit
+ * Added additional #defines for debug levels to reduce the output
+ * Added Mac console patch rework from Julien Blache @ debian
+ this fixes the invisible console output from elilo on Macs
+ * Moved static ELILO_VERSION variable from elilo.c to elilo.h
+ so that elilo will print its version string and arch on startup.
+ * Fixed bug 2825044 ExitBootServices error handling, correctly deal
+ with changed memory map key if memory map changes from under elilo.
+ * Added memory map key to map debug output.
+ * Fixed bug 2874380 netbooting just flat broken. fixed ia64, x86_64
+ ia32, fixed handling of server side support of tfpt options (get file size)
+ elilo now attempts to get file size before attempting read of file
+ to set the buffers up correctly and deal with tftp servers that dont
+ support options extensions a little better.
+ * netboot, fixed bad blocksize handling
+ * netboot, fixed filename length for elilo-x86_64.conf type on tftp
+ server.
+ * increased bzimage kernel max length sizes to 4mb on i386 and 8mb on
+ x86_64... this is a legacy design hold over from original design and
+ needs to be re-written to do dynamic size memory management based on
+ the size of the actual vmlinuz image, as ia64/gzip does.
+2008-04-02 signed off by Jason Fleischli <jason.fleischli@hp.com>
+ * elilo 3.10 release commit
+ * Bumped version string to 3.10
+ * added PTR_FMT 32bit & 64bit pointer translation for correct output
+ * elilo hang bugfix x86_64 non-standard kernels with non-traditional start address
+ elilo will pull the start address from the kernel elf header for 2.6
+ or newer kernels, map memory and use that start address, else use standard
+ 1MB default start address. And handle case of overlapping kernels
+ and initrds in memory. Patch contributor Stuart Hayes @ Dell,
+ thanks Stuart!
+ * ported kernel start adress fix to ia32
+ * eliminated all possible compiler warnings except those actually
+ caused by gnu-efi that cant be fixed here.
+ * Debug output improvement, added pauses with visual feedback when
+ user sets debug & verbose options.
+ * bugfix added missing find_bits function definition back into ia32
+ subtree
+ * bugfix loader_probe now correctly errors out if no loaders
+ registered.
+
+2008-01-11 signed off by Jason Fleischli <jason.fleischli@hp.com>
+ * Various compile warning cleanups.
+
+2008-01-03 signed off by Jason Fleischli <jason.fleischli@hp.com>
+ * Patch contribution from Scott Davilla <davilla@4pi.com>
+ when x is zero for the first call to add_memory_region, e820_map[-1]
+ will access memory outside the bounds of e820_map. While this does
+ not result in any problems as there is a UINT32 unused_8[41] block
+ above the e820_map[0] location that should have been zeroed by the
+ bootloader, the code should not access outside the bounds of
+ structures.
+
+2008-01-03 Jason Fleischli <jason.fleischli@hp.com>
+ * initrd.c -- Let the allocator decide where to grab the memory from
+ the efi memory map. Current start_addr=image->start_addr forces the
+ same efi region everytime, and has a 7mb limit. ramdisk (initrd.img)
+ files larger than 7MB wouldnt fit into the memory region assumed by
+ the image->start_addr resulting in an elilo hang. Leaving start_addr
+ NULL at initialization forces alloc_pages to get a memory region
+ sufficient for the size of the initrd image.
+
+2007-12-19 Jason Fleischli <jason.fleischli@hp.com>
+ * bumping version string to 3.8
+
+2007-12-19 Jason Fleischli <jason.fleischli@hp.com>
+ * MORE PATCHES FROM INTEL FOR IA32 X86_64.
+ * Fix compile warning for cmdline_addr assignment.
+ * Fix an issue caused by uninitialized e820_nr_map in fill_e820map.
+ * On some machines, there are too many EFI memory map entries, so that,
+ the number of E820 map entries converted from EFI memory map exceeds
+ the limit (128). This patch fixes this bug by merging consecutive
+ memory map entries with the same type.
+ * CL_MAGIC is not supported by 32-bit boot protocol. So, the kernel
+ command line passing code is changed accordingly.
+ * EFI-2.0 boot support patches have been accepted into Linux kernel
+ 2.6.24-rc4 and EFI runtime service patches have been accepted by
+ Linux kernel 2.6.24-rc4-mm1. There are some changes during the
+ merging, so there are some updates for elilo ia32/x86_64 too.
+ * The x86_64 boot parameters of Linux kernel is rearranged to line up
+ with ia32 boot parameters.
+ * The boot loader signature of IA32 and x86_64 is redefined to
+ make it possible for Linux kernel to distinguish whether the
+ underlying firmware is EFI 32 or EFI 64.
+ * The EFI framebuffer type ID is changed in Linux kernel to
+ conform to Linux kernel framebuffer type ID grouping rules. So the
+ EFI framebuffer type ID setting code in ELILO is changed accordingly.
+ * E820 memory map is added to IA32 to make it possible for
+ Linux kernel not to depend on EFI memory map on EFI 32.
+
+2007-09-27 Jason Fleischli <jason.fleischli@hp.com>
+ * updating changelog for last commit that was omitted
+ * incorporating AGriffis patches to enhance parsing
+ passes root= option to kernel options and accounts for -- option
+ designation.
+
+2007-07-19 Jason Fleischli <jason.fleischli@hp.com>
+ * Integrated x86_64 support patches from Chandramouli Narayanan
+ <mouli@linux.intel.com> changes summarized in following bullets.
+ * alloc.c -- adds patch contributors credit to copyright
+ * alloc.c -- adds uefi_call_wrapper around BS->function calls
+ * alloc.c -- adds call to Print on VERB_PRT
+ * alternate.c -- adds patch contributors credit around copyright
+ * alternate.c -- adds uefi_call_wrapper around RT->function calls
+ * simple.c -- adds patch contributors credit to copyright
+ * simple.c -- adds uefi_call_wrapper around ip->ReadKeyStroke
+ * textmenu.c -- adds patch contributors credit to copyright
+ * textmenu.c -- adds uefi_call_wrapper around ClearScreen &
+ SetTextAttr
+ * textmenu.c -- adds uefi_call_wrapper around ip->ReadKeyStroke
+ * elilo.c -- adds patch contributors credit to copyright
+ * elilo.c -- fixes version number for ELILO_VERSION macro to current
+ * elilo.c -- adds uefi_call_wrapper around BS->function calls
+ * elilo.c -- adds uefi_call_wrapper around RT->function calls
+ * fileops.c -- adds patch contributors credit to copyright
+ * fileops.c -- adds uefi_call_wrapper around BS->function calls
+ * fileops.c -- adds uefi_call_wrapper around RT->function calls
+ * fileops.c -- adds uefi_call_wrapper around blkio->function calls
+ * localfs.c -- adds patch contributors credit to copyright
+ * localfs.c -- changed EFI_HANDLE *dev declaration to non-pointer type
+ * localfs.c -- adds uefi_call_wrapper around lfs->volume->functions
+ * localfs.c -- adds uefi_call_wrapper around BS->function calls
+ * netfs.c -- adds patch contributors credit to copyright
+ * netfs.c -- adds uefi_call_wrapper around nfs->pxe->function calls
+ * netfs.c -- adds uefi_call_wrapper around BS->function calls
+ * getopt.c -- changed int to char in StrChr() function
+ * Make.defaults -- adds patch contributors credit to copyright
+ * Make.defaults -- adds cflag for efi function wrapper
+ * Makefile -- adds patch contributors credit to copyright
+ * Makefile -- x86_64 subdir and a new rule for .S
+ * util.c -- adds patch contributors credit to copyright
+ * util.c -- adds uefi_call_wrapper to systab->functions
+ * util.c -- adds uefi_call_wrapper to conin->functions
+ * util.c -- adds uefi_call_wrapper to BS->functions
+ * util.c -- doubles ELILO_MEMMAP_SIZE_DEFAULT in get_memmap() function
+ * bootparams.c -- uses ia32 params for x86_64 addition.. hmmmm?
+ * config.c -- adds patch contributors credit to copyright
+ * config.c -- adds define reference for x86_64.conf
+ * config.c -- in config_error() removes use of va_list which maps to
+ the gnu C-lib iface __gnuc_va_list. Replaces the use of _IPrint on
+ the va_list with direct use of IPrint(systab->ConOut, msg);
+ *maintainer note, this probably introduces a bug, in light of this
+ note from the patch submitter --> "On some x86_64 systems with
+ EFI1.10 firmware I tested, early boot messages did not appear on console.
+ However, I didn't encounter this behavior on x86_64 systems with UEFI2.0
+ firmware"
+ * elf.h -- adds #def for x86_64
+ * glue_netfs.c -- adds patch contributors credit to copyright
+ * glue_netfs.c -- adds define for x86_64.conf
+ * sysdeps.h -- adds patch contributors credit to copyright
+ * sysdeps.h -- add include reference for new x86_64 subdir
+ * x86_64/ -- new subdir - all based on elilo/ia32 subdir
+ * x86_64/bin_to_h.c -- new file, stream fed binary to hex converter
+ * x86_64/bzimage.c -- new file, binary compressed kernel support
+ * x86_64/gzip.c -- new file, embedded gzip
+ * x86_64/gzip_loader.c -- new file, embedded gzip
+ * x86_64/gzip.h -- new file, embedded gzip
+ * x86_64/inflate.c -- new file, a pkzip method 8 embedded decompressor
+ * x86_64/Makefile -- new file
+ * x86_64/plain_loader.c -- new file, for loading non-compressed kernels
+ * x86_64/private.h -- new file
+ * x86_64/rmswitch.S -- new file, RealMode assembly module
+ * x86_64/sysdeps.h -- new file, system stuff for x86_64, e820 mapping
+ added.
+ * x86_64/sysdeps.c -- new file, system stuff for x86_64
+ * elilo.txt -- documentation update, add Intel to copyright
+ * README.gnu-efi -- documentation update for x86_64
+
+2006-01-27 Alex Williamson <alex.williamson@hp.com>
+ * Found a couple more places where vmcode isn't zeroed, causing the
+ option to get carried over to labels it shouldn't.
+