16d65c06 | 19-Aug-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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 o
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>
show more ...
|
b28143d4 | 08-Aug-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
Updated Changelog
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com> |
15251903 | 08-Aug-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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) environment
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>
show more ...
|
ac983081 | 08-Aug-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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 objcop
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>
show more ...
|
fb063f0f | 08-Aug-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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) t
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>
show more ...
|
7a98d83f | 08-Aug-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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
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>
show more ...
|
f42974dd | 08-Aug-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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 efis
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>
show more ...
|
a61fa058 | 08-Aug-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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.
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>
show more ...
|
2f440200 | 08-Aug-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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 HandlePro
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>
show more ...
|
7f173da1 | 08-Aug-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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-o
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>
show more ...
|
0ad8fb87 | 30-Jul-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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 facto
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>
show more ...
|
ff7ec964 | 30-Jul-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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@googl
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>
show more ...
|
8d86ee20 | 30-Jul-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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 allocat
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>
show more ...
|
1ec094bf | 23-Jul-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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 th
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>
show more ...
|
6caab22f | 19-Jun-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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
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>
show more ...
|
ecfd1ded | 10-Jun-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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> |
f16d93f3 | 16-May-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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. |
644898ea | 14-May-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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 p
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>
show more ...
|
8921ba2f | 14-Apr-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
Cleaned up compile warnings.
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com> |
42cca551 | 14-Apr-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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 compi
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>
show more ...
|
4e8460f1 | 14-Apr-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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> |
6a0875ca | 14-Apr-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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 <b
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>
show more ...
|
d5f35dfb | 14-Apr-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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> |
1a04669a | 14-Apr-2014 |
Nigel Croxon <nigel.croxon@hp.com> |
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 rem
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>
show more ...
|
3c62e785 | 01-Apr-2014 |
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> |