diff options
Diffstat (limited to 'gnu-efi/ChangeLog')
-rw-r--r-- | gnu-efi/ChangeLog | 1324 |
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 + |