1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324 |
- Updated Changelog
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 37d7bee82a627999563069b090866076e055a871
- Author: Nigel Croxon <[email protected]>
- Date: Thu May 14 12:38:39 2015 -0400
- Added some missing error code descriptions
-
- Signed-off-by: Peter Jones <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit dae0b4b0b0d522caecf09123db2cf0250c37a169
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit b5a8e93cec396381a6d2beee022abbf50100f2fd
- Author: Nigel Croxon <[email protected]>
- Date: Fri Apr 10 08:49:50 2015 -0400
- Bump version to 3.0.2
-
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 01c9f11ed5ad55661e8fc8a3eee35c578564754b
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Acked-by: Ard Biesheuvel <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit dada63fd3de148c6f8551d253355c113547cd5a0
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit ce7098fb52e5fd4d16038964d029eb759f28eaaf
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit f64cef26270bfbe04f038da33f95ae3f14c071bc
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 322efb6b21ed0a5e42e8f124fd22bf0f8dbf01ae
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- commit 09027207f7c18af6caa45a744fc15c90b2a829db
- Author: Nigel Croxon <[email protected]>
- Date: Mon Jan 5 13:13:22 2015 -0500
- From: Pete Batard <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 15805ff38b83a72c2c7c96a24bd642ee1176d819
- Author: Nigel Croxon <[email protected]>
- Date: Tue Nov 25 14:23:21 2014 -0500
- Add README.git file. Instructions on how to archive.
-
- Signed-off-by: Nigel Croxon <[email protected]>
- commit b868aa75669723b7e32f46524822e17e388fe2ba
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 530d68ba191850edafc6da22cb2df55bec0c5fa5
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 00bd66ef46b59a1623a293491a8b2c65a6d61975
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Bill Paul <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 56eb64d3c06854b9b68d61e3c2d3bdf6ff2a9853
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 65e28a90a7be9e990b360286cea31e63319217fb
- Author: Nigel Croxon <[email protected]>
- Date: Mon Nov 24 12:17:45 2014 -0500
- Add current OsIndications values.
-
- Signed-off-by: Peter Jones <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]
- commit be231055ce14d17610f0d7b6133a87b99a22662b
- Author: Nigel Croxon <[email protected]>
- Date: Mon Nov 24 12:15:34 2014 -0500
- Add the QueryVariableInfo() API.
-
- Signed-off-by: Peter Jones <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 60efb7a2939b65a01e95aa8b535f1b756d984fba
- Author: Nigel Croxon <[email protected]>
- Date: Mon Nov 24 12:13:23 2014 -0500
- Add the capsule API.
-
- Signed-off-by: Peter Jones <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit ef08b655d1f8dfbd9a0f3a86d5685b24695ef12f
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- commit 370cce41da3fff41ba38feb1262002aff2d85ffd
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit d32fb845433ff6fb38e81ae0d9273454e7d18197
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit aa1df67f48f3c035fa8891e1bb311ec21500d6d9
- Author: Nigel Croxon <[email protected]>
- Date: Tue Oct 21 11:08:47 2014 -0400
- Add the missing Variable attributes
-
- From: Jeremy Compostella <[email protected]>
- Date: Mon, 13 Oct 2014 17:50:50 +0200
- Subject: [PATCH] Add the missing Variable attributes
-
- Signed-off-by: Jeremy Compostella <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 5706dff09364cbbec37f47e2fe1350747f631d74
- Author: Nigel Croxon <[email protected]>
- Date: Tue Aug 26 10:54:22 2014 -0400
- From: David Decotigny <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 6c10e225bc759d69af520a551b9d7b37f3ae0a82
- Author: Nigel Croxon <[email protected]>
- Date: Mon Aug 25 08:51:23 2014 -0400
- From: David Decotigny <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 16d65c0669258c8044e3549b2d9eb0cf0eb08f5a
- Author: Nigel Croxon <[email protected]>
- Date: Tue Aug 19 12:07:00 2014 -0400
- From: Ard Biesheuvel <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit b28143d4fb4f6969dc0c87c853d3527d889951d7
- Author: Nigel Croxon <[email protected]>
- Date: Fri Aug 8 15:54:19 2014 -0400
- Updated Changelog
-
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 1525190354f5faac33015e17c9ba7ea2bb2be35b
- Author: Nigel Croxon <[email protected]>
- Date: Fri Aug 8 15:35:09 2014 -0400
- From: Ard Biesheuvel <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit ac983081525f9483941517dfb53cf8d0163d49c0
- Author: Nigel Croxon <[email protected]>
- Date: Fri Aug 8 15:32:26 2014 -0400
- From: Ard Biesheuvel <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit fb063f0f65543b3e2bf55a39d5aa70b17a98c65e
- Author: Nigel Croxon <[email protected]>
- Date: Fri Aug 8 15:26:38 2014 -0400
- From: Ard Biesheuvel <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 7a98d83fc32de6cf0b1ce5e12dfe80690f29fb3f
- Author: Nigel Croxon <[email protected]>
- Date: Fri Aug 8 15:25:03 2014 -0400
- From: Ard Biesheuvel <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit f42974dd9a7d0ea690d293f88396abd289f0014c
- Author: Nigel Croxon <[email protected]>
- Date: Fri Aug 8 15:21:16 2014 -0400
- From: David Decotigny <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit a61fa058e9a87f966de3342b8c95fdbdcb007827
- Author: Nigel Croxon <[email protected]>
- Date: Fri Aug 8 15:17:32 2014 -0400
- From: David Decotigny <[email protected]>
- Date: Thu, 31 Jul 2014 13:41:52 -0700
- Subject: [PATCH 3/4] document format of LoadedImage::LoadOptions data
-
- Signed-off-by: David Decotigny <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 2f440200c855154f929d28971b2fd702ea7a207a
- Author: Nigel Croxon <[email protected]>
- Date: Fri Aug 8 15:15:59 2014 -0400
- From: David Decotigny <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 7f173da1e54f8cfe4c7c7c091ab6585af07b25ce
- Author: Nigel Croxon <[email protected]>
- Date: Fri Aug 8 15:14:26 2014 -0400
- From: David Decotigny <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 0ad8fb87cbc59f58675b18253ad802ba51f1d132
- Author: Nigel Croxon <[email protected]>
- Date: Wed Jul 30 15:06:36 2014 -0400
- From: David Decotigny <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit ff7ec964f2c0de0cfc4b52cfdd356003450f28bf
- Author: Nigel Croxon <[email protected]>
- Date: Wed Jul 30 15:05:28 2014 -0400
- From: David Decotigny <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 8d86ee202a9bb553375f56ae1d2944818112b68b
- Author: Nigel Croxon <[email protected]>
- Date: Wed Jul 30 15:04:44 2014 -0400
- From: David Decotigny <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 1ec094bfaf46a610a740dadc0150bf457dd72345
- Author: Nigel Croxon <[email protected]>
- Date: Wed Jul 23 09:54:25 2014 -0400
- From: Julian Klode <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 6caab22f23434f41f42cfe7591d9a7ae66de9f0a
- Author: Nigel Croxon <[email protected]>
- Date: Thu Jun 19 10:39:23 2014 -0400
- From: Laszlo Ersek <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit ecfd1ded9a799c3a572d4eb7fbb52582fe4d3390
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit f16d93f3b9e314336a387a3885c7fd2f176c41d3
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 8921ba2fc5f6163bdad3b5902c5d9d638415dde0
- Author: Nigel Croxon <[email protected]>
- Date: Mon Apr 14 18:49:23 2014 -0400
- Cleaned up compile warnings.
-
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 42cca551dbf1c0be9e02e8d3d3c417ce35749638
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 4e8460f1aedd2724de876be5b154eb5752bfada5
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 6a0875ca2fcb67e7d1a1e2d15f3bcc645329dc75
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit d5f35dfb8008ba65bcc641559accd9bc13386ef9
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 1a04669a7bb022984c9b54a0f73d7d67a2540fb7
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- commit 3c62e78556aea01e9798380cd46794c6ca09d4bd
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- commit f9baa4f622cf34576d73e00d4a774a31f0f81fd7
- Author: Nigel Croxon <[email protected]>
- Date: Mon Mar 31 08:37:56 2014 -0400
- Remove incumbent GPL 'debian' subdiretory.
- Update ChangeLog
-
- Signed-off-by: Nigel Croxon <[email protected]>
- Changelog format change from here and above to 'git log' style.
- 2014-04-01 Nigel Croxon <[email protected]>
- Removed GPL code setjmp_ia32.S, setjmp_ia64.S, setjmp_x86_64.S
- Not used anymore.
- Signed-off-by: Nigel Croxon <[email protected]>
- 2014-03-17 Nigel Croxon <[email protected]>
- Add support for the simple pointer and absolute pointer protocols
-
- Signed-off-by: John Cronin <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- 2014-03-14 Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- 2014-03-14 Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- 2014-02-13 Nigel Croxon <[email protected]>
- Patch GNU-EFI to remove the ELILO code
-
- Signed-off-by: Jerry Hoemann <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- 2014-02-13 Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- 2014-01-23 Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- 2014-01-16 Nigel Croxon <[email protected]>
- compilation: fix uninitialized variables warning
-
- Signed-off-by: Jeremy Compostella <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- 2014-01-13 Nigel Croxon <[email protected]>
- Implement VSPrint function, prints a formatted unicode string to a buffer.
-
- Signed-off-by: Jeremy Compostella <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- 2014-01-10 Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- 2014-01-08 Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- 2013-10-11 Nigel Croxon <[email protected]>
- Added support for SetVariable to store volatile variable,
- and SetNVVariable to store non volatile variable.
-
- Signed-off-by: Sylvain Chouleur <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- 2013-10-07 Nigel Croxon <[email protected]>
- Atoi needs to have consistent declaration/definition.
-
- Signed-off-by: Nigel Croxon <[email protected]>
- 2013-10-07 Nigel Croxon <[email protected]>
- 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 <[email protected]>
- 2013-10-02 Nigel Croxon <[email protected]>
- Added two simple applications to allocate/free memory at EFI.
- Used to test/find memory fragmentation issues linux.
-
- Signed-off-by: Jerry Hoemann <[email protected]>
- Signed-off-by: Nigel Croxon <[email protected]>
- 2013-06-25 Nigel Croxon <[email protected]>
- Sample boot service driver.
-
- Signed-off-by: David Decotigny <[email protected]>
- 2013-06-25 Nigel Croxon <[email protected]>
- 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 <[email protected]>
- 2013-06-25 Nigel Croxon <[email protected]>
- 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 <[email protected]>
- 2013-06-12 Nigel Croxon <[email protected]>
- Fix typo when disabling mno-mmx
-
- Signed-Off-By: Nigel Croxon <[email protected]>
- 2013-06-12 Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- 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 <[email protected]>
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Author: Nigel Croxon <[email protected]>
- 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 <[email protected]>
- Author: noxorc <[email protected]>
- 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 <[email protected]>
- 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 <[email protected]>
- * Chnage from Matt Fleming <[email protected]>
- - Preparation for adding the networking protocol definitions.
- Add the service binding protocol.
- 2013-02-21 Nigel Croxon <[email protected]>
- * Change from Peter Jones <[email protected]>
- - 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 <[email protected]>
- - 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 <[email protected]>
- * Change from Peter Jones <[email protected]>
- - 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 <[email protected]>
- * Change from Matt Fleming <[email protected]>
- - 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 <[email protected]>
- * Changes from Fenghua Yu <[email protected]>
- - This fixes redefined types compilation failure for tcc.c on x86_64 machines.
- * Release 3.0p
- 2011-11-15 Nigel Croxon <[email protected]>
- * Changes from Darren Hart <[email protected]>
- - Conditionally assign toolchain binaries to allow overriding them.
- - Force a dependency on lib for gnuefi.
- * Release 3.0n
- 2011-08-23 Nigel Croxon <[email protected]>
- * Changes from Peter Jones <[email protected]>
- - 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 <[email protected]>
- * Changed Makefiles from GPL to BSD.
- * Changes from Peter Jones <[email protected]>
- - 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 <[email protected]>
- * Change license from GPL to BSD.
- * Release 3.0j
- 2009-09-12 Julien BLACHE <[email protected]>
- * Add support for FreeBSD.
- * Release 3.0i
- 2009-09-11 Julien BLACHE <[email protected]>
- * 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 <[email protected]>
- * Release 3.0h
- 2008-11-06 Nigel Croxon <[email protected]>
- * Fix to not having any relocations at all.
- 2008-09-18 Nigel Croxon <[email protected]>
- * 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 <[email protected]>
- * Added '-mno-red-zone' to x68_64 compiles.
- Patch provided by Mats Andersson.
- 2008-01-23 Nigel Croxon <[email protected]>
- * 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 <[email protected]>
- * release 3.0d to support x86_64 from Chandramouli Narayanan
- from Intel and based on 3.0c-1
- 2006-03-21 Stephane Eranian <[email protected]>
- * merged patch to support gcc-4.1 submitted by
- Raymund Will from Novell/SuSE
- 2006-03-20 Stephane Eranian <[email protected]>
- * 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 <[email protected]>
- * added patch to ignore .eh_frame section for IA-32. Patch
- submitted by Jim Wilson
- 2004-09-23 Stephane Eranian <[email protected]>
- * added patch to discard unwind sections, newer toolchains
- complained about them. Patch submitted by Jesse Barnes from SGI.
- 2003-09-29 Stephane Eranian <[email protected]>
- * 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 <[email protected]>
- * 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 <[email protected]>
- * 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 <[email protected]>
- * 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 <[email protected]>
- * 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 <[email protected]>
- * 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 <[email protected]>
- * 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 <[email protected]>
- * 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 <[email protected]>
- * 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 <[email protected]>
- * 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 <[email protected]>
-
- * 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 <[email protected]>
- * 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 <[email protected]>
-
- * 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 <[email protected]>
- * released version 0.9
- * incorporated ACPI changes for Asuza by NEC < [email protected]>
- * added support for initrd (-i option) original ELI code from Bill Nottingham <[email protected]>)
- * 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 <[email protected]>
- * 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 <[email protected]>
- * 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 <[email protected]>
- * 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
|