mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
efi: Conflict efi_loader with different stub bitness
We have 2 users of the EFI headers: efi_loader and the EFI stub. Efi_loader always expects that the bitness of the definitions it uses is identical to the execution. The EFI stub however allows to run x86_64 U-Boot on 32bit EFI and the other way around, so it allows for different bitness of EFI definitions and U-Boot environment. This patch explicitly requests via Kconfig that efi_loader can only be enabled if the bitness is identical. Because we can run efi_loader on x86_64 without EFI stub enabled, it also ensures that this case propagates the correct ABI constraints. Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
4f6c7b12ed
commit
6698bb343f
2 changed files with 5 additions and 1 deletions
|
@ -19,7 +19,7 @@
|
|||
#include <linux/string.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#ifdef CONFIG_EFI_STUB_64BIT
|
||||
#if CONFIG_EFI_STUB_64BIT || (!defined(CONFIG_EFI_STUB) && defined(__x86_64__))
|
||||
/* EFI uses the Microsoft ABI which is not the default for GCC */
|
||||
#define EFIAPI __attribute__((ms_abi))
|
||||
#else
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
config EFI_LOADER
|
||||
bool "Support running EFI Applications in U-Boot"
|
||||
depends on (ARM || X86) && OF_LIBFDT
|
||||
# We need EFI_STUB_64BIT to be set on x86_64 with EFI_STUB
|
||||
depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT
|
||||
# We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB
|
||||
depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
|
||||
default y
|
||||
help
|
||||
Select this option if you want to run EFI applications (like grub2)
|
||||
|
|
Loading…
Reference in a new issue