summaryrefslogtreecommitdiff
path: root/gnu-efi/ChangeLog
diff options
context:
space:
mode:
authorSteve McIntyre <steve@einval.com>2021-03-23 23:49:46 +0000
committerSteve McIntyre <steve@einval.com>2021-03-23 23:49:46 +0000
commit1251a7ba86fc40a6aad8b4fecdbca2b61808d9fa (patch)
tree2125fda549aaca55cb49a48d54be77dec7fbf3df /gnu-efi/ChangeLog
parent85b409232ce89b34626df9d72abedf5d4f5ccef6 (diff)
parent031e5cce385d3f96b1caa1d53495332a7eb03749 (diff)
downloadefi-boot-shim-debian/15.3-1.tar.gz
efi-boot-shim-debian/15.3-1.zip
Update upstream source from tag 'upstream/15.3'debian/15.3-1
Update to upstream version '15.3' with Debian dir 1b484f1c1ac270604a5a1451b34de4b0865c6211
Diffstat (limited to 'gnu-efi/ChangeLog')
-rw-r--r--gnu-efi/ChangeLog1324
1 files changed, 1324 insertions, 0 deletions
diff --git a/gnu-efi/ChangeLog b/gnu-efi/ChangeLog
new file mode 100644
index 00000000..b30ba252
--- /dev/null
+++ b/gnu-efi/ChangeLog
@@ -0,0 +1,1324 @@
+ Updated Changelog
+
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 37d7bee82a627999563069b090866076e055a871
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Thu May 14 12:38:39 2015 -0400
+
+ Added some missing error code descriptions
+
+ Signed-off-by: Peter Jones <pjones@redhat.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit dae0b4b0b0d522caecf09123db2cf0250c37a169
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Thu May 14 12:20:51 2015 -0400
+
+ Turns out we actually need setjmp in one of gnu-efi's prominent
+ users, and it seems to make more sense to put it here than in
+ the application.
+
+ All of these are derived from the Tiano code, but I re-wrote the
+ x86_64 one because we use the ELF psABI calling conventions instead
+ of the MS ABI calling conventions. Which is to say you probably
+ shouldn't setjmp()/longjmp() between functions with EFIAPI (aka
+ __attribute__((ms_abi))) and those without.
+
+ Signed-off-by: Peter Jones <pjones@redhat.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit b5a8e93cec396381a6d2beee022abbf50100f2fd
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Fri Apr 10 08:49:50 2015 -0400
+
+ Bump version to 3.0.2
+
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 01c9f11ed5ad55661e8fc8a3eee35c578564754b
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Fri Apr 10 08:46:40 2015 -0400
+
+ Fix ARM32 and AARCH64 builds
+ Without these added into SUBDIRS the initplat.c compilation will fail.
+
+ Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
+ Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit dada63fd3de148c6f8551d253355c113547cd5a0
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Mar 23 10:41:43 2015 -0400
+
+ [PATCH] _SPrint: fix NULL termination
+
+ maxlen is the maximum string length not the buffer size.
+
+ Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit ce7098fb52e5fd4d16038964d029eb759f28eaaf
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Thu Feb 19 11:22:45 2015 -0500
+
+ Enable out-of-tree building
+
+ This patch enables building gnu-efi outside of the source tree.
+ That in turn enables building for multiple architectures in parallel.
+
+ The build directory is controlled by the OBJDIR make variable. It
+ defaults to the value of ARCH, and can be overridden from the command
+ line.
+
+ This patch also cleans up some doubled slashes between INSTALLROOT
+ and PREFIX.
+
+ Signed-off-by: Jonathan Boeing <jonathan.n.boeing@gmail.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit f64cef26270bfbe04f038da33f95ae3f14c071bc
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Tue Jan 6 15:49:50 2015 -0500
+
+ Since we're keeping this in git, it'd be nice not to see a bunch
+ of make targets in 'status'
+
+ Signed-off-by: Peter Jones <pjones@redhat.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 322efb6b21ed0a5e42e8f124fd22bf0f8dbf01ae
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Jan 5 13:20:43 2015 -0500
+
+ version number changed from VERSION = 3.0u to VERSION = 3.0.1
+
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 09027207f7c18af6caa45a744fc15c90b2a829db
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Jan 5 13:13:22 2015 -0500
+
+ From: Pete Batard <pete@akeo.ie>
+ Date: Wed, 10 Dec 2014 21:08:34 +0000
+ Subject: [PATCH] fixes for MSVC compilation
+
+ These fixes are needed to address the following error and warnings when compiling the library part
+ using Visual Studio 2013 Community Edition (as in https://github.com/pbatard/uefi-simple):
+ * "lib\x86_64\math.c(49): error C4235: nonstandard extension used : '_asm' keyword not supported
+ on this architecture"
+ * "lib\print.c(98): error C2059: syntax error : '('" due to placement of EFIAPI macro
+ * "lib\cmdline.c(94): warning C4090: 'function' : different 'const' qualifiers"
+ * "lib\smbios.c(25): warning C4068: unknown pragma"
+ * Also update macro definitions in "inc\<arch>\efibind.h" for MSVC
+
+ Signed-off-by: Pete Batard <pete@akeo.ie>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 15805ff38b83a72c2c7c96a24bd642ee1176d819
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Tue Nov 25 14:23:21 2014 -0500
+
+ Add README.git file. Instructions on how to archive.
+
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit b868aa75669723b7e32f46524822e17e388fe2ba
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Tue Nov 25 13:26:45 2014 -0500
+
+ This patch makes generating releases from git a very simple process; you
+ simply edit the makefile's "VERSION" line to the new version, commit
+ that as its own commit, and do: "make test-archive". That'll make a
+ file in the current directory gnu-efi-$VERSION.tar.bz2 , with its top
+ level directory gnu-efi-$VERSION/ and the source tree under that.
+
+ Once you've tested that and you're sure it's what you want to release,
+ you do "make archive", which will tag a release in git and generate a
+ final tarball from it. You then push to the archive, being sure to
+ include the tag:
+
+ git push origin master:master --tags
+
+ And upload the archive wherever it's supposed to go.
+
+ Signed-off-by: Peter Jones <pjones@redhat.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 530d68ba191850edafc6da22cb2df55bec0c5fa5
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Tue Nov 25 10:09:50 2014 -0500
+
+ The gnu-efi-3.0 toplevel subdirectory is really annoying. Kill it.
+
+ Signed-off-by: Peter Jones <pjones@redhat.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 00bd66ef46b59a1623a293491a8b2c65a6d61975
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Nov 24 14:33:09 2014 -0500
+
+ FreeBSD's binutils doesn't have "-j <glob>" support, so we need to
+ include non-globbed versions of .rel/.rela individually.
+
+ Signed-off-by: Peter Jones <pjones@redhat.com>
+ Signed-off-by: Bill Paul <wpaul@windriver.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 56eb64d3c06854b9b68d61e3c2d3bdf6ff2a9853
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Nov 24 14:27:14 2014 -0500
+
+ Right now we wind up trying to build gnuefi/.o from a source file that's
+ an empty string. This is caused by the macros trying to generate
+ install rules, but there's no real reason to have all that anyway. So
+ just have some static install rules that are simpler and don't generate
+ stuff on the fly.
+
+ Signed-off-by: Peter Jones <pjones@redhat.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 65e28a90a7be9e990b360286cea31e63319217fb
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Nov 24 12:17:45 2014 -0500
+
+ Add current OsIndications values.
+
+ Signed-off-by: Peter Jones <pjones@redhat.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com
+
+commit be231055ce14d17610f0d7b6133a87b99a22662b
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Nov 24 12:15:34 2014 -0500
+
+ Add the QueryVariableInfo() API.
+
+ Signed-off-by: Peter Jones <pjones@redhat.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 60efb7a2939b65a01e95aa8b535f1b756d984fba
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Nov 24 12:13:23 2014 -0500
+
+ Add the capsule API.
+
+ Signed-off-by: Peter Jones <pjones@redhat.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit ef08b655d1f8dfbd9a0f3a86d5685b24695ef12f
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Nov 17 16:05:42 2014 -0500
+
+ Fix Table Header misspelling. Change from EFI_TABLE_HEARDER to
+ EFI_TABLE_HEADER.
+
+ Signed-Off-By: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 370cce41da3fff41ba38feb1262002aff2d85ffd
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Thu Nov 6 14:41:40 2014 -0500
+
+ If CROSS_COMPILE is set, ignore the ARCH value supplied on the
+ command line and use the target machine of the cross compiler.
+
+ Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit d32fb845433ff6fb38e81ae0d9273454e7d18197
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Thu Nov 6 14:30:03 2014 -0500
+
+ Allow reuse of this file beyond GPL compatible software,
+ update the license of crt0-efi-aarch64.S to dual 2-clause BSD/GPLv2+.
+
+ Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit aa1df67f48f3c035fa8891e1bb311ec21500d6d9
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Tue Oct 21 11:08:47 2014 -0400
+
+ Add the missing Variable attributes
+
+ From: Jeremy Compostella <jeremy.compostella@intel.com>
+ Date: Mon, 13 Oct 2014 17:50:50 +0200
+ Subject: [PATCH] Add the missing Variable attributes
+
+ Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 5706dff09364cbbec37f47e2fe1350747f631d74
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Tue Aug 26 10:54:22 2014 -0400
+
+ From: David Decotigny <decot@googlers.com>
+ Date: Mon, 25 Aug 2014 13:28:49 -0700
+ Subject: [PATCH] document that binutils >= 2.24 needed.
+
+ commit ac983081 "Add support for non-PE/COFF capable objcopy" depends
+ on objcopy accepting wildcards for the section names. This feature is
+ available only with binutils >= 2.24 (binutils 2e62b7218 "PR
+ binutils/15033").
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 6c10e225bc759d69af520a551b9d7b37f3ae0a82
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Aug 25 08:51:23 2014 -0400
+
+ From: David Decotigny <decot@googlers.com>
+ Date: Thu, 31 Jul 2014 18:19:16 -0700
+ Subject: [PATCH 5/5] allow to use external stdarg.h
+
+ in cases we use gnu-efi together with other libs that define stdarg.h,
+ break the tie by telling gnu-efi to use that stdarg.h .
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 16d65c0669258c8044e3549b2d9eb0cf0eb08f5a
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Tue Aug 19 12:07:00 2014 -0400
+
+ From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ Date: Mon, 11 Aug 2014 15:39:16 +0200
+ Subject: [PATCH] Add support for 32-bit ARM
+
+ This adds support for 32-bit ARM using an approach similar to the one used for
+ 64-bit ARM (AArch64), i.e., it does not rely on an objcopy that is aware of EFI
+ or PE/COFF, but lays out the entire PE/COFF header using the assembler.
+
+ In the 32-bit ARM case (which does not have a division instruction), some code
+ has been imported from the Linux kernel to perform the division operations in
+ software.
+
+ Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit b28143d4fb4f6969dc0c87c853d3527d889951d7
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Fri Aug 8 15:54:19 2014 -0400
+
+ Updated Changelog
+
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 1525190354f5faac33015e17c9ba7ea2bb2be35b
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Fri Aug 8 15:35:09 2014 -0400
+
+ From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ Date: Fri, 8 Aug 2014 18:16:59 +0200
+ Subject: [PATCH 4/4] Add support for 64-bit ARM (AArch64)
+
+ This adds support for 64-bit ARM (AArch64) environments. Since there is no
+ EFI-capable objcopy for this platform, this contains a manually laid out
+ PE/COFF header using the assembler.
+
+ In addition, it includes the relocation bits, some string functions that GCC
+ assumes are available and other glue to hold it all together.
+
+ This can be cross built using
+
+ make CROSS_COMPILE=aarch64-linux-gnu-
+
+ Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit ac983081525f9483941517dfb53cf8d0163d49c0
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Fri Aug 8 15:32:26 2014 -0400
+
+ From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ Date: Fri, 8 Aug 2014 17:53:42 +0200
+ Subject: [PATCH 3/4] Add support for non-PE/COFF capable objcopy
+
+ Introduce HAVE_EFI_OBJCOPY and set it if objcopy for $ARCH support PE/COOF and
+ EFI, i.e., it supports --target efi-[app|bsdrv|rtdrv] options. Use it to decide
+ whether to invoke objcopy with those options or use the linker to populate the
+ PE/COFF header.
+
+ Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit fb063f0f65543b3e2bf55a39d5aa70b17a98c65e
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Fri Aug 8 15:26:38 2014 -0400
+
+ From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ Date: Fri, 8 Aug 2014 17:37:36 +0200
+ Subject: [PATCH 2/4] Add support for cross compilation
+
+ This changes the logic that defines ARCH (and HOSTARCH) to take CROSS_COMPILE
+ into account. Also, $prefix is not assigned, so that the default will be what
+ is on the path rather than hardcoded in /usr/bin.
+
+ This results in the build doing the right thing if CROSS_COMPILE is set in the
+ environment and no ARCH or prefix options are passed to make, aligning it with
+ most other CROSS_COMPILE compatible projects.
+
+ Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 7a98d83fc32de6cf0b1ce5e12dfe80690f29fb3f
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Fri Aug 8 15:25:03 2014 -0400
+
+ From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ Date: Fri, 8 Aug 2014 16:50:45 +0200
+ Subject: [PATCH 1/4] Restrict GNU_EFI_USE_MS_ABI GCC version test to x86_64
+
+ The version test only applies to x86_64 builds, so no need to do it
+ for other archs.
+
+ Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit f42974dd9a7d0ea690d293f88396abd289f0014c
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Fri Aug 8 15:21:16 2014 -0400
+
+ From: David Decotigny <decot@googlers.com>
+ Date: Thu, 31 Jul 2014 13:42:23 -0700
+ Subject: [PATCH 4/4] Use Shell protocols to retrieve argc/argv, when
+ available.
+
+ New header files efishellintf.h efishellparm.h are coming from EDK
+ II, initial location and license at top of files. Only modifications:
+ - efishellintf.h: s/EFI_FILE_PROTOCOL/EFI_FILE/ + expand BITx macros (1<<x)
+ - efishellparm.h: typedef VOID *SHELL_FILE_HANDLE to avoid including
+ ShellBase.h
+ - both: removed extern EFI_GUID variable decls
+
+ This also adds apps/t8.c, a simple demo.
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit a61fa058e9a87f966de3342b8c95fdbdcb007827
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Fri Aug 8 15:17:32 2014 -0400
+
+ From: David Decotigny <decot@googlers.com>
+ Date: Thu, 31 Jul 2014 13:41:52 -0700
+ Subject: [PATCH 3/4] document format of LoadedImage::LoadOptions data
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 2f440200c855154f929d28971b2fd702ea7a207a
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Fri Aug 8 15:15:59 2014 -0400
+
+ From: David Decotigny <decot@googlers.com>
+ Date: Thu, 31 Jul 2014 13:39:37 -0700
+ Subject: [PATCH 2/4] Use OpenProtocol instead of HandleProtocol
+
+ UEFI 2.x recommends OpenProtocol instead of HandleProtocol.
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 7f173da1e54f8cfe4c7c7c091ab6585af07b25ce
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Fri Aug 8 15:14:26 2014 -0400
+
+ From: David Decotigny <decot@googlers.com>
+ Date: Thu, 31 Jul 2014 13:30:07 -0700
+ Subject: [PATCH 1/4] move cmdline parser to its own file
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 0ad8fb87cbc59f58675b18253ad802ba51f1d132
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Wed Jul 30 15:06:36 2014 -0400
+
+ From: David Decotigny <decot@googlers.com>
+ Date: Mon, 28 Jul 2014 21:28:50 -0700
+ Subject: [PATCH 3/3] make cmdline parsing a 1st class citizen
+
+ Refactor ParseCmdline and apps/Alloc+FreePages to factorize
+ boilerplate and move the new parser to the main API.
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit ff7ec964f2c0de0cfc4b52cfdd356003450f28bf
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Wed Jul 30 15:05:28 2014 -0400
+
+ From: David Decotigny <decot@googlers.com>
+ Date: Mon, 28 Jul 2014 21:00:52 -0700
+ Subject: [PATCH 2/3] Avoid buffer overflow while parsing the cmdline args
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 8d86ee202a9bb553375f56ae1d2944818112b68b
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Wed Jul 30 15:04:44 2014 -0400
+
+ From: David Decotigny <decot@googlers.com>
+ Date: Mon, 28 Jul 2014 21:01:35 -0700
+ Subject: [PATCH 1/3] Fix cmdline parser
+
+ The cmdline parser would not return the correct number of args, would
+ allocate one too many. Also make it clear from the declaration that we
+ expect a suitably lare argv.
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 1ec094bfaf46a610a740dadc0150bf457dd72345
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Wed Jul 23 09:54:25 2014 -0400
+
+ From: Julian Klode <julian.klode@gmail.com>
+ Date: Mon, 21 Jul 2014 14:26:23 -0400
+ Subject: [PATCH] inc/efistdarg.h: Use gcc builtins instead of stdarg.h or broken stubs
+
+ We cannot use stdarg.h, as this breaks applications compiling
+ with -nostdinc because those will not find the header.
+ We also cannot use the stubs, as they just produce broken code,
+ as seen in the gummiboot 45-1 Debian release.
+
+ Signed-off-by: Julian Klode <julian.klode@gmail.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 6caab22f23434f41f42cfe7591d9a7ae66de9f0a
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Thu Jun 19 10:39:23 2014 -0400
+
+ From: Laszlo Ersek <lersek@redhat.com>
+ Date: Mon, 2 Jun 2014 23:26:48 +0200
+ Subject: [PATCH] always observe EFIAPI calling convention when calling
+ STO.SetAttribute
+
+ We have to consider the following cases wrt. the PRINT_STATE.Output and
+ PRINT_STATE.SetAttr EFIAPI function pointers, especially when building for
+ x86_64 with gcc:
+
+ (1) The compiler is new enough, and EFIAPI actually ensures the Microsoft
+ calling convention. In this case everything happens to work fine even
+ if we forget uefi_call_wrapper(), because the wrapper would expand to
+ a normal C function call anyway.
+
+ (2) Otherwise (ie. gcc is old), EFIAPI expands to nothing, and we must
+ take into account the called function's origin:
+
+ (2a) If the callee that is declared EFIAPI is *defined* inside gnu-efi,
+ then EFIAPI means nothing for the callee too, so caller and callee
+ only understand each other if the caller intentionally omits
+ uefi_call_wrapper().
+
+ (2b) If the callee that is declared EFIAPI is defined by the platform
+ UEFI implementation, then the caller *must* use
+ uefi_call_wrapper().
+
+ The PRINT_STATE.Output EFIAPI function pointer is dereferenced correctly:
+ the PFLUSH() distinguishes cases (2a) from (2b) by using IsLocalPrint().
+
+ However use of the PRINT_STATE.SetAttr EFIAPI function pointer is not
+ always correct:
+
+ - The PSETATTR() helper function always relies on the wrapper (case (2b)).
+ This is correct, because PRINT_STATE.SetAttr always points to a
+ platform-provided function.
+
+ - The DbgPrint() function contains two incorrect calls: they mistakenly
+ assume case (2a) (or case (1)), even though the pointer always points to
+ a platform function, implying (2b). (The error is masked in case (1).)
+ Fix them.
+
+ Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit ecfd1ded9a799c3a572d4eb7fbb52582fe4d3390
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Tue Jun 10 12:59:09 2014 -0400
+
+ Add VPoolPrint Function
+
+ Equivalent to PoolPrint but using a va_list parameter
+
+ Signed-off-by: Sylvain Chouleur <sylvain.chouleur@intel.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit f16d93f3b9e314336a387a3885c7fd2f176c41d3
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Fri May 16 11:33:51 2014 -0400
+
+ Revert "The prototype of DbgPrint() is incorrect, at the end of "inc/efidebug.h"."
+ A problem was found compiling on GCC 4.8.
+
+ This reverts commit 644898eabc06c8efaa3aa54f84cdd468960a2f6c.
+
+commit 644898eabc06c8efaa3aa54f84cdd468960a2f6c
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Wed May 14 09:09:47 2014 -0400
+
+ The prototype of DbgPrint() is incorrect, at the end of "inc/efidebug.h".
+ Consequently, when your program calls DbgPrint() via the DEBUG() macro,
+ it fails to set up the stack correctly (it does not pass the arguments
+ through the ellipsis (...) according to the EFIAPI calling convention).
+ However, va_start() inside DbgPrint() *assumes* that stack.
+
+ Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 8921ba2fc5f6163bdad3b5902c5d9d638415dde0
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Apr 14 18:49:23 2014 -0400
+
+ Cleaned up compile warnings.
+
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 42cca551dbf1c0be9e02e8d3d3c417ce35749638
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Apr 14 14:04:11 2014 -0400
+
+ Module lib/ParseCmdLine.c has errors, it incorrectly mixes "char" and "CHAR16"
+ and uses a pointer to argv[] like it's argv[]. The compiler only issues
+ warnings though. Here is a patch to remove compiler warnings and make the
+ code behave.
+
+ Signed-off-by: Bernard Burette <bub75@users.sf.net>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 4e8460f1aedd2724de876be5b154eb5752bfada5
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Apr 14 13:53:03 2014 -0400
+
+ Here is a very small patch to remove a compiler warning when processing lib/smbios.c.
+
+ Signed-off-by: Bernard Burette <bub75@users.sf.net>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 6a0875ca2fcb67e7d1a1e2d15f3bcc645329dc75
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Apr 14 13:45:16 2014 -0400
+
+ Here is a very small patch to remove compiler warning in function
+ "LibLocateHandleByDiskSignature()" because the "Start" variable is
+ give a value which is not used.
+
+ Signed-off-by: Bernard Burette <bub75@users.sf.net>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit d5f35dfb8008ba65bcc641559accd9bc13386ef9
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Apr 14 13:40:29 2014 -0400
+
+ Here is a very small patch to remove *~ files in include diretory.
+
+ Signed-off-by: Bernard Burette <bub75@users.sf.net>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 1a04669a7bb022984c9b54a0f73d7d67a2540fb7
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Apr 14 12:45:57 2014 -0400
+
+ Here is a patch for "DevicePathToStr()" to display device path according to UEFI 2 specification.
+ The path is in the two files inc/efidevp.h and lib/dpath.c.
+
+ It also add the Sata device path and removes the "/?" path for unknown device paths.
+
+ Signed-off-by: Bernard Burette <bub75@users.sf.net>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit 3c62e78556aea01e9798380cd46794c6ca09d4bd
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Tue Apr 1 10:26:44 2014 -0400
+
+ Removed GPL code setjmp_ia32.S, setjmp_ia64.S, setjmp_x86_64.S
+ Not used anymore.
+
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+commit f9baa4f622cf34576d73e00d4a774a31f0f81fd7
+Author: Nigel Croxon <nigel.croxon@hp.com>
+Date: Mon Mar 31 08:37:56 2014 -0400
+
+ Remove incumbent GPL 'debian' subdiretory.
+ Update ChangeLog
+
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+
+Changelog format change from here and above to 'git log' style.
+
+2014-04-01 Nigel Croxon <nigel.croxon@hp.com>
+
+ Removed GPL code setjmp_ia32.S, setjmp_ia64.S, setjmp_x86_64.S
+ Not used anymore.
+
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2014-03-17 Nigel Croxon <nigel.croxon@hp.com>
+
+ Add support for the simple pointer and absolute pointer protocols
+
+ Signed-off-by: John Cronin <johncronin@users.sf.net>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2014-03-14 Nigel Croxon <nigel.croxon@hp.com>
+
+ Trying to recurse into subdirectories of object files may lead
+ to an error if the directory doesn't exist. Even when cleaning.
+
+ Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2014-03-14 Nigel Croxon <nigel.croxon@hp.com>
+
+ Make install used to copy files unconditionnally to their
+ destination. However, if the destination is used by another
+ Makefile, it will always see modified files. "install" target
+ now only updates the files when they need to.
+
+ Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2014-02-13 Nigel Croxon <nigel.croxon@hp.com>
+
+ Patch GNU-EFI to remove the ELILO code
+
+ Signed-off-by: Jerry Hoemann <jerry.hoemann@hp.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2014-02-13 Nigel Croxon <nigel.croxon@hp.com>
+
+ Initialize Status before calling GrowBuffer()
+ Status must be initialized before calling GrowBuffer() as it may
+ otherwise be uninitialized or set to EFI_BUFFER_TOO_SMALL by
+ other functions.
+
+ Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2014-01-23 Nigel Croxon <nigel.croxon@hp.com>
+
+ These changes allow manually overridden SRCDIR (current source
+ directory) and TOPDIR (top of source tree) to separate the
+ build directory from the source tree.
+
+ Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2014-01-16 Nigel Croxon <nigel.croxon@hp.com>
+ compilation: fix uninitialized variables warning
+
+ Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2014-01-13 Nigel Croxon <nigel.croxon@hp.com>
+ Implement VSPrint function, prints a formatted unicode string to a buffer.
+
+ Signed-off-by: Jeremy Compostella <jeremy.compostella@gmail.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2014-01-10 Nigel Croxon <nigel.croxon@hp.com>
+ Created lib/argify.c and inc/argify.h containing the function argify.
+ It contains verbatim copy of the comment at beginning of file from
+ elilo.
+ There was no COPYING file in the elilo source that the comment refers to.
+
+ Signed-off-by: Jerry Hoemann <jerry.hoemann@hp.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2014-01-08 Nigel Croxon <nigel.croxon@hp.com>
+ The information needed is not really the host architecture as given by
+ the kernel arch. The information actually needed is the default target
+ of gcc.
+
+ Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2013-10-11 Nigel Croxon <nigel.croxon@hp.com>
+ Added support for SetVariable to store volatile variable,
+ and SetNVVariable to store non volatile variable.
+
+ Signed-off-by: Sylvain Chouleur <sylvain.chouleur@gmail.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2013-10-07 Nigel Croxon <nigel.croxon@hp.com>
+
+ Atoi needs to have consistent declaration/definition.
+
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2013-10-07 Nigel Croxon <nigel.croxon@hp.com>
+ if you have a function that takes const arguments and then
+ e.g. tries to copy StrCmp, gcc will give you warnings about those
+ calls, and the warnings are right. These clutter up other things
+ you might miss that you should be more concered about.
+
+ You could work around it through vigorous typecasting
+ to non-const types, but why should you have to? All of these
+ functions are regorously defined as not changing their input
+ - it is const, and should be marked as such.
+
+ Signed-off-by: Peter Jones <pjones@redhat.com>
+
+2013-10-02 Nigel Croxon <nigel.croxon@hp.com>
+
+ Added two simple applications to allocate/free memory at EFI.
+ Used to test/find memory fragmentation issues linux.
+
+ Signed-off-by: Jerry Hoemann <jerry.hoemann@hp.com>
+ Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
+
+2013-06-25 Nigel Croxon <nigel.croxon@hp.com>
+ Sample boot service driver.
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+
+2013-06-25 Nigel Croxon <nigel.croxon@hp.com>
+Date: Tue Jun 25 08:47:03 2013 -0400
+
+ Be more pedantic when linking, don't allow duplicate symbols,
+ abort upon first error. Also make sure linker script comes
+ last for apps.
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+
+2013-06-25 Nigel Croxon <nigel.croxon@hp.com>
+ Fix compilation on x86_64 without HAVE_USE_MS_ABI
+ make -C apps would fail on tcc.c because uefi_call_wrapper()
+ doesn't deal correctly with efi_callO-type invocation.
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+
+2013-06-12 Nigel Croxon <nigel.croxon@hp.com>
+ Fix typo when disabling mno-mmx
+
+ Signed-Off-By: Nigel Croxon <nigel.croxon@hp.com>
+
+2013-06-12 Nigel Croxon <nigel.croxon@hp.com>
+ Disable MMX and SSE
+
+ GCC 4.8.0 adds some optimizations that will use movups/movaps (and use
+ %xmm* registers) when they're faster, and of course that won't work at
+ all since UEFI firmwares aren't guaranteed to initialize the mmx/sse
+ instructions.
+
+ This will be even more annoying, since most UEFI firmwares don't
+ initialize the #DE or #UD trap handlers, and your backtrace will be a
+ random path through uninitialized memory, occasionally including
+ whatever address the IDT has for #UD, but also addresses like "0x4" and
+ "0x507" that you don't normally expect to see in your call path.
+
+ Signed-off-by: Peter Jones <pjones@redhat.com>
+
+ Author: Nigel Croxon <nigel.croxon@hp.com>
+ Date: Wed Jun 12 10:29:40 2013 -0400
+
+ bug in make 3.82 expand to odd values
+
+ Some Makefiles tickle a bug in make 3.82 that cause libefi.a
+ and libgnuefi.a dependencies to expand to the odd values:
+
+ libefi.a: boxdraw.o) smbios.o) ...
+ libgnuefi.a(reloc_x86_64.o:
+
+ The patch replaces libgnuefi.a($(OBJS)) & libefi.a($(OBJS))
+ with an equivalent expansion that should work with any make
+ that supports $(patsubst).
+
+ Author: Nigel Croxon <nigel.croxon@hp.com>
+ Date: Wed Jun 12 09:53:01 2013 -0400
+
+ support .text.* sections on x86_64
+
+ Group them in .text. Also add vague linkage sections in .text.
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+
+ Author: Nigel Croxon <nigel.croxon@hp.com>
+ Date: Wed Jun 12 09:51:36 2013 -0400
+
+ cleanup and fix Make.defaults
+
+ Reorder variables in Make.defaults so that they are grouped by
+ functions. Also fixed ifeq (x,y) to have required syntax and make it
+ work for ARCH amd64->x86_64 renaming on BSD. Also provides top-level
+ Makefile with a "mkvars" target that displays effective variables.
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+
+ Author: Nigel Croxon <nigel.croxon@hp.com>
+ Date: Wed Jun 12 09:47:16 2013 -0400
+
+ automatically determine number of uefi_call_wrapper() args on x86_64
+
+ Instead of asking developers to explicitly pass the number of
+ parameters to the functions that get called, we determine them
+ automatically at preprocessing time. This should result in more
+ robust code.
+
+ Argument va_num is now ignored in x86_64 code, both with and
+ without HAVE_USE_MS_ABI.
+
+ Credits to the macro magic given in the comments.
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+
+ Author: Nigel Croxon <nigel.croxon@hp.com>
+ Date: Wed Jun 12 09:38:10 2013 -0400
+
+ fix parameter-passing corruption on x86_64 for >= 5 args
+
+ On x86_64 without HAVE_USE_MS_ABI support, uefi_call_wrapper() is a
+ variadic function. Parameters >=5 are copied to the stack and, when
+ passed small immediate values (and possibly other parameters), gcc
+ would emit a movl instruction before calling uefi_call_wrapper(). As a
+ result, only the lower 32b of these stack values are significant, the
+ upper 32b potentially contain garbage. Considering that
+ uefi_call_wrapper() assumes these arguments are clean 64b values
+ before calling the efi_callX() trampolines, the latter may be passed
+ garbage. This makes calling functions like
+ EFI_PCI_IO_PROTOCOL.Mem.Read()/Write() or BS->OpenProtocol() quite
+ unreliable.
+
+ This patch fixes this by turning uefi_call_wrapper() into a macro that
+ allows to expose the efi_callX() trampoline signatures to the callers,
+ so that gcc can know upfront that it has to pass all arguments to
+ efi_callX() as clean 64b values (eg. movq for immediates). The
+ _cast64_efi_callX macros are just here to avoid a gcc warning, they do
+ nothing otherwise.
+
+ Signed-off-by: David Decotigny <decot@googlers.com>
+
+ Author: noxorc <nigel.croxon@hp.com>
+ Date: Wed May 15 15:26:16 2013 -0400
+
+ - Removes the ElfW() macro usage from reloc_ia32.c and reloc_x86_64.c. These
+ macros only exist in link.h on Linux. On FreeBSD, the equivalent macro is
+ __ElfN(). But the macro usage is redundant. You're only going to compile the
+ ia32 file for IA32 binaries and the x86_64 file for X64 binaries. If you had
+ just one file built for both cases, then using the macro might make more
+ sense.
+
+ - Removes the "#define foo_t efi_foo_t" macros from reloc_ia32.c and
+ reloc_x86_64.c.
+
+ - Modifies inc/x86_64/efibind.h and inc/ia32/efibind.h to use the new
+ definitions for uint64_t, int64_t and int8_t. The 64-bit types are now defined
+ as:
+
+ typedef int __attribute__((__mode__(__DI__))) int64_t;
+ typedef unsigned int __attribute__((__mode__(__DI__))) uint64_t;
+
+ This removes the conflict between the host types dragged in by elf.h and the
+ type definitions in efibind.h that made the #define foo_t efi_foo_t" hack
+ necessary. Also, int8_t is now defined as signed char instead of just char
+ (assuming char == signed char is apparently not good enough).
+
+ - Also modifies these files to use stdint.h instead of stdint-gcc.h. It's
+ unclear if this is completely correct, but stdint-gcc.h is not present with
+ all GCC installs, and if you use -std=c99 or later you will force this case to
+ be hit. This also can break clang, which doesn't have a stdint-gcc.h at all.
+
+ - Removes the #include of <link.h> from reloc_ia32.c and reloc_x86_64.c (since
+ with the previous changes it's not needed anymore).
+
+ - Places the #include of <elf.h> after #include <efi>/#include <efilib.h> so
+ that we know the types will always be defined properly, in case you build on a
+ system where <elf.h> doesn't automatically pull in the right header files to
+ define all the needed types. (This actually happens on VxWorks. It's harmless
+ elsewhere. If you don't care about VxWorks, you can leave this out.)
+
+ - Modifies setjmp_ia32.S and setjmp_x86_64.S so to change "function" to
+ @function. The clang compiler doesn't like the former. Clang and GCC both like
+ the latter.
+
+ - Modifles Make.defaults so that if ARCH is detected as "amd64," it's changed
+ to "x86_64." It happens that uname -m on 64-bit FreeBSD reports the former
+ rather than the latter, which breaks the build. This may also be the case on
+ some other OSes. There's a way to force uname(1) to return x86_64 as the
+ machine type, but this way is a little friendlier.
+
+ - Creates gnuefi/elf_ia32_fbsd_efi.lds which specifies the object file type as
+ elf-ia32-freebsd. This is required for building on FreeBSD/i386, not just
+ FreeBSD/amd64.
+
+ - Modifies apps/Makefile to always use
+ $(TOPDIR)/gnuefi/elf_$(ARCH)_fbsd_efi.lds when building on either 32-bit or
+ 64-bit FreeBSD instead of just for the x86_64 case.
+
+ - Changed LDFLAGS in Make.defaults to include --no-undefined. This will cause
+ linking to fail if there are any unsatisfied symbols when creating foo.so
+ during any of the app builds, as opposed to just silently succeeding and
+ producing an unusable binary.
+
+ - Changed CFLAGS to include -ffreestanding -fno-stack-protector -fno-stack-
+ check. This prevents clang from inserting a call to memset() when compiling
+ the RtZeroMem() and RtSetMem() routines in lib/runtime/efirtlib.c and guards
+ against the native compiler in some Linux distros from adding in stack
+ checking code which relies on libc help that isn't present in the EFI runtime
+ environment.
+
+ This does the following:
+
+ - Cleans up the ia32 and x86-64 relocation code a bit (tries to break the
+ dependency between the host ELF headers and the EFI runtime environment)
+ - Avoids the dependency on stdint-gcc.h which may not always be available
+ - Allows GNU EFI to build out of the box on both FreeBSD/i386 and
+ FreeBSD/amd64
+ - Allows GNU EFI to build out of the box with either GCC or clang on
+ FreeBSD/i386 and FreeBSD/amd64 9.0 and later.
+ - Makes things a little easier to port to VxWorks
+ - Avoids creating un-runable binaries with unresolved symbol definitions
+ (which can be very confusing to debug)
+
+ Author: noxorc <nigel.croxon@hp.com>
+ Date: Wed May 8 16:29:45 2013 -0400
+
+ Add the definitions for TCP, UDP and IP, for both IPv4 and IPv6.
+
+
+2013-05-02 Nigel Croxon <nigel.croxon@hp.com>
+ * Chnage from Matt Fleming <matt.fleming@intel.com>
+ - Preparation for adding the networking protocol definitions.
+ Add the service binding protocol.
+
+2013-02-21 Nigel Croxon <nigel.croxon@hp.com>
+ * Change from Peter Jones <pjones@redhat.com>
+ - Previously we were incorrectly passing 3 functions with
+ the System V ABI to UEFI functions as EFI ABI functions.
+ Mark them as EFIAPI so the compiler will (in our new
+ GNU_EFI_USE_MS_ABI world) use the correct ABI.
+ - These need to be EFIAPI functions because in some cases
+ they call ST->ConOut->OutputString(), which is an EFIAPI
+ function. (Which means that previously in cases that
+ needed "cdecl", these didn't work right.)
+ - If the compiler version is new enough, and GNU_EFI_USE_MS_ABI
+ is defined, use the function attribute ms_abi on everything
+ defined with "EFIAPI". Such calls will no longer go through
+ efi_call*, and as such will be properly type-checked.
+ - Honor PREFIX and LIBDIR correctly when passed in during the build.
+ - Add machine type defines for i386, arm/thumb, ia64, ebc, x86_64.
+ - __STDC_VERSION__ never actually gets defined unless there's a
+ --std=... line. So we were accidentally defining lots of c99
+ types ourself. Since it's 2012, use --std=c11 where appropriate,
+ and if it's defined and we're using gcc, actually include gcc's
+ stdint definitions.
+ - New test application added: route80h. This is a test program
+ for PciIo. It routes ioport 80h on ICH10 to PCI. This is also
+ useful on a very limited set of hardware to enable use of
+ a port 80h debug card.
+ - New test applcation added: modelist. This lists video modes
+ the GOP driver is showing us.
+ * Change from Finnbarr Murphy
+ - https://sourceforge.net/p/gnu-efi/feature-requests/2/
+ Please add the following status codes to <efierr.h>
+ EFI_INCOMPATIBLE_VERSION 25
+ EFI_SECURITY_VIOLATION 26
+ EFI_CRC_ERROR 27
+ EFI_END_OF_MEDIA 28
+ EFI_END_OF_FILE 31
+ EFI_INVALID_LANGUAGE 32
+ EFI_COMPROMISED_DATA 33
+ * Change from SourceForge.net Bug report
+ - https://sourceforge.net/p/gnu-efi/bugs/5/
+ BufferSize is a UINT64 *. The file shipped with GNU EFI is from
+ 1998 whereas the latest one is from 2004. I suspect Intel changed
+ the API in order handle 64-bit systems.
+ * Change from Felipe Contreras <felipe.contreras@gmail.com>
+ - The current code seems to screw the stack at certain points.
+ Multiple people have complained that gummiboot hangs right away,
+ which is in part the fault of gummiboot, but happens only
+ because the stack gets screwed. x86_64 EFI already aligns the
+ stack, so there's no need for so much code to find a proper
+ alignment, we always need to shift by 8 anyway.
+ * Change from A. Steinmetz
+ - https://sourceforge.net/p/gnu-efi/patches/1/
+ The patch prepares for elilo to support uefi pxe over ipv6
+ See uefi spec 2.3.1 errata c page 963 as reference.
+ Verfied on an ASUS Sabertooth X79 BIOS Rev. 2104 system which
+ is able to do an IPv6 UEFI PXE boot.
+ * Release 3.0t
+
+2012-09-21 Nigel Croxon <nigel.croxon@hp.com>
+ * Change from Peter Jones <pjones@redhat.com>
+ - EFI Block I/O protocol versions 2 and 3 provide more information
+ regarding physical disk layout, including alingment offset at the
+ beginning of the disk ("LowestAlignedLba"), logical block size
+ ("LogicalBlocksPerPhysicalBlock"), and optimal block transfer size
+ ("OptimalTransferLengthGranularity").
+ * Release 3.0r
+
+2012-04-30 Nigel Croxon <nigel.croxon@hp.com>
+ * Change from Matt Fleming <matt.fleming@intel.com>
+ - The .reloc section is now 4096-byte boundary for x86_64.
+ Without this patch the .reloc section will not adhere to
+ the alignment value in the FileAlignment field (512 bytes by
+ default) of the PE/COFF header. This results in a signed
+ executable failing to boot in a secure boot environment.
+ * Release 3.0q
+
+2011-12-12 Nigel Croxon <nigel.croxon@hp.com>
+ * Changes from Fenghua Yu <fenghua.yu@intel.com>
+ - This fixes redefined types compilation failure for tcc.c on x86_64 machines.
+ * Release 3.0p
+
+2011-11-15 Nigel Croxon <nigel.croxon@hp.com>
+ * Changes from Darren Hart <dvhart@linux.intel.com>
+ - Conditionally assign toolchain binaries to allow overriding them.
+ - Force a dependency on lib for gnuefi.
+ * Release 3.0n
+
+2011-08-23 Nigel Croxon <nigel.croxon@hp.com>
+ * Changes from Peter Jones <pjones@redhat.com>
+ - Add guarantee 16-byte stack alignment on x86_64.
+ - Add routine to make callbacks work.
+ - Add apps/tcc.efi to test calling convention.
+ * Release 3.0m
+
+2011-07-22 Nigel Croxon <nigel.croxon@hp.com>
+ * Changed Makefiles from GPL to BSD.
+ * Changes from Peter Jones <pjones@redhat.com>
+ - Add ifdefs for ia64 to mirror ia32 and x86-64 so that
+ one can build with GCC.
+ - Add headers for PciIo.
+ - Add the UEFI 2.x bits for EFI_BOOT_SERVICES
+ - Add an ignore for .note.GNU-stack section in X86-64 linker maps.
+ * Release 3.0l
+
+2011-04-07 Nigel Croxon <nigel.croxon@hp.com>
+ * Change license from GPL to BSD.
+ * Release 3.0j
+
+2009-09-12 Julien BLACHE <jb@jblache.org>
+ * Add support for FreeBSD.
+ * Release 3.0i
+
+2009-09-11 Julien BLACHE <jb@jblache.org>
+ * Fix elf_ia32_efi.lds linker script to be compatible with the new
+ linker behaviour. Patch from the RedHat bugzilla 492183.
+
+2009-06-18 Nigel Croxon <nigel.croxon@hp.com>
+ * Release 3.0h
+
+2008-11-06 Nigel Croxon <nigel.croxon@hp.com>
+ * Fix to not having any relocations at all.
+
+2008-09-18 Nigel Croxon <nigel.croxon@hp.com>
+ * Use LIBDIR in makefiles
+ * Add setjmp/longjmp
+ * Fixes incorrect section attribute in crt0-efi-ia32.S
+ * Adds value EfiResetShutdown to enum EFI_RESET_TYPE
+ * Fixes a RAW warning in reloc_ia64.S
+ * Adds the USB HCI device path structure in the headers
+ patches were supplied by Peter Jones @ RedHat
+
+2008-02-22 Nigel Croxon <nigel.croxon@hp.com>
+ * Added '-mno-red-zone' to x68_64 compiles.
+ Patch provided by Mats Andersson.
+
+2008-01-23 Nigel Croxon <nigel.croxon@hp.com>
+ * release 3.0e to support x86_64
+ EFI calling convention, the stack should be aligned in 16 bytes
+ to make it possible to use SSE2 in EFI boot services.
+ This patch fixes this issue. Patch provided by Huang Ying from Intel.
+
+2007-05-11 Nigel Croxon <nigel.croxon@hp.com>
+ * release 3.0d to support x86_64 from Chandramouli Narayanan
+ from Intel and based on 3.0c-1
+
+2006-03-21 Stephane Eranian <eranian@hpl.hp.com>
+ * merged patch to support gcc-4.1 submitted by
+ Raymund Will from Novell/SuSE
+
+2006-03-20 Stephane Eranian <eranian@hpl.hp.com>
+ * updated ia-64 and ia-32 linker scripts to
+ match latest gcc. The new gcc may put functions in
+ .text* sections. patch submitted by H.J. Lu from Intel.
+
+2004-11-19 Stephane Eranian <eranian@hpl.hp.com>
+ * added patch to ignore .eh_frame section for IA-32. Patch
+ submitted by Jim Wilson
+
+2004-09-23 Stephane Eranian <eranian@hpl.hp.com>
+ * added patch to discard unwind sections, newer toolchains
+ complained about them. Patch submitted by Jesse Barnes from SGI.
+
+2003-09-29 Stephane Eranian <eranian@hpl.hp.com>
+ * updated elf_ia64_efi.lds to reflect new data sections
+ created by gcc-3.3. Patch provided by Andreas Schwab from Suse.
+
+2003-06-20 Stephane Eranian <eranian@hpl.hp.com>
+ * updated elf_ia64_efi.lds and elf_ia32_efi.lds to include
+ new types data sections produced by recent version of gcc-3.x
+
+2002-02-22 Stephane Eranian <eranian@hpl.hp.com>
+ * release 3.0a
+ * modified both IA-64 and IA-32 loader scripts to add support for the
+ new .rodata sections names (such as rodata.str2.8). Required
+ for new versions of gcc3.x.
+
+2001-06-20 Stephane Eranian <eranian@hpl.hp.com>
+ * release 3.0
+ * split gnu-efi package in two different packages: the libary+include+crt and the bootloader.
+ * removed W2U() hack and related files to get from wide-char to unicode.
+ * Use -fshort-wchar option for unicode.
+ * restructured Makefiles now install under INSTALLROOT.
+
+2001-04-06 Stephane Eranian <eranian@hpl.hp.com>
+
+ * incorporated patches from David and Michael Johnston at Intel
+ to get the package to compile for IA-32 linux target.
+
+ * Fixed ELILO to compile for Ia-32 (does not execute yet, though):
+ Makefile and start_kernel() function.
+
+2001-04-06 Andreas Schwab <schwab@suse.de>
+
+ * Fixed config.c to
+ get the timeout directive to do something. implemented the global
+ root= directive.
+
+ * Fix the efi_main() to deal with the -C option properly
+
+2001-04-05 Stephane Eranian <eranian@hpl.hp.com>
+
+ * update efi library to latest EFI toolkit 1.02 as distributed
+ by Intel. Fixed header + library files to compile with GCC
+
+ * merged ELI and LILO (as of gnu-efi-1.1) together, mostly
+ taking the config file feature of ELI.
+
+ * renamed LILO to ELILO to make the distinction
+
+ * restructured code to make it easier to understand and maintain
+
+ * fixed FPSWA driver checking and loading: we try all possible
+ files and let the driver itself figure out if it is the most
+ recent.
+ * added support for compression (gzip) but keep support for plain
+ ELF image. ELILO autodetects the format
+
+ * change the way the kernel is invoked. Now we call it in
+ physical memory mode. This breaks the dependency between the
+ kernel code and the loader. No more lilo_start.c madness.
+
+ * changed the way the boot_params are passed. We don't use the
+ ZERO_PAGE_ADDR trick anymore. Instead we use EFI runtime memory.
+ The address of the structure is passed to the kernel in r28
+ by our convention.
+
+ * released as gnu-efi-2.0
+
+2001-04-03 David Mosberger <davidm@hpl.hp.com>
+
+ * gnuefi/reloc_ia32.c (_relocate): Change return type from "void"
+ to "int". Return error status if relocation fails for some
+ reason.
+
+ * gnuefi/elf_ia32_efi.lds: Drop unneeded ".rel.reloc" section.
+
+ * gnuefi/crt0-efi-ia32.S (_start): Exit if _relocate() returns with
+ non-zero exit status.
+
+ * inc/ia32/efibind.h [__GNUC__]: Force 8-byte alignment for 64-bit
+ types as that is what EFI appears to be expecting, despite the
+ "#pragma pack()" at the beginning of the file!
+
+2001-03-29 David Mosberger <davidm@hpl.hp.com>
+
+ * gnuefi/reloc_ia32.c: Add a couple of defines to work around
+ libc/efilib collision on uint64_t et al.
+ (_relocate): Use ELF32_R_TYPE() instead of ELFW(R_TYPE)().
+
+ * gnuefi/crt0-efi-ia32.S (dummy): Add a dummy relocation entry.
+
+2001-03-29 David Mosberger <davidm@hpl.hp.com>
+
+ * gnuefi/reloc_ia32.c: Add a couple of defines to work around
+ libc/efilib collision on uint64_t et al.
+ (_relocate): Use ELF32_R_TYPE() instead of ELFW(R_TYPE)().
+
+ * gnuefi/crt0-efi-ia32.S (dummy): Add a dummy relocation entry.
+
+2000-10-26 David Mosberger <davidm@hpl.hp.com>
+
+ * gnuefi/elf_ia64_efi.lds: Mention .rela.sdata.
+
+ * Make.defaults (CFLAGS): Remove -nostdinc flags so we can pick
+ up the C compiler's stdarg.h.
+
+ * inc/stdarg.h: Remove this file. It's not correct for gcc (nor
+ most other optimizing compilers).
+
+2000-10-10 Stephane Eranian <eranian@hpl.hp.com>
+
+ * cleaned up the error message and printing of those.
+ * added support to load the FPSWA from a file in case support is not
+ present in the firmware already
+ * fixed split_args() to do the right thing when you have leading spaces
+ before kernel name
+ * changed the argify() function to rely on \0 instead of LoadOptionSize
+ as the field seems to be broken with current firmware
+ * bumped version to 1.0
+
+2000-10-04 David Mosberger <davidm@hpl.hp.com>
+
+ * gnuefi/reloc_ia64.S: Reserve space for up to 750 function descriptors.
+
+ * gnuefi/elf_ia64_efi.lds: Add .sdata section for small data and
+ put __gp in the "middle" of it.
+
+ * gnuefi/crt0-efi-ia64.S (_start): Use movl/add to load
+ gp-relative addresses that could be out of the range of the addl
+ offset.
+ * gnuefi/reloc_ia64.S (_relocate): Ditto.
+
+ * apps/Makefile: Remove standard rules and include Make.rules instead.
+ * lilo/Makefile: Ditto.
+
+ * Make.rules: New file.
+
+2000-08-04 Stephane Eranian <eranian@hpl.hp.com>
+ * released version 0.9
+ * incorporated ACPI changes for Asuza by NEC < kouchi@hpc.bs1.fc.nec.co.jp>
+ * added support for initrd (-i option) original ELI code from Bill Nottingham <notting@redhat.com>)
+ * lots of cleanups
+ * got rid of #ifdef LILO_DEBUG and uses macro instead
+ * fix a few extra memory leaks in create_boot_params()
+ * added exit capability just before starting the kernel
+
+2000-06-22 David Mosberger <davidm@hpl.hp.com>
+
+ * gnuefi/elf_ia64_efi.lds: Add .srodata, .ctors, .IA64.unwind,
+ .IA64.unwind_info to .data section and .rela.ctors to .rela
+ section.
+
+2000-04-03 David Mosberger <davidm@hpl.hp.com>
+
+ * lilo/lilo.c (LILO_VERSION): Up version number to 0.9.
+
+ * gnuefi/elf_ia64_efi.lds: Include .IA_64.unwind and
+ .IA_64.unwind_info in .data segment to avoid EFI load error
+ "ImageAddress: pointer outside of image" error due to the .dynsym
+ relocations against these sections.
+
+ * ChangeLog: Moved from lilo/ChangeLogs.
+
+ * gnuefi/reloc_ia64.S: fixed typo: .space directive had constant
+ 100 hardcoded instead of using MAX_FUNCTION_DESCRIPTORS
+ macro. Duh.
+
+2000-03-17 Stephane Eranian <eranian@hpl.hp.com>
+
+ * Released 0.8
+ * replace the getopt.c with new version free with better license
+ * created a documentation file
+ * fix a couple of memory leaks
+ * code cleanups
+ * created a separate directory for lilo in the gnu-efi package.
+ * added support for the BOOT_IMAGE argument to kernel
+ * default is to build natively now
+