提交 b59f6971 编写于 作者: A Alexander Graf

efi_loader: Use compiler constants for image loader

The EFI image loader tries to determine which target architecture we're
working with to only load PE binaries that match.

So far this has worked based on CONFIG defines, because the target CPU
was always indicated by a config define. With sandbox however, this is
not longer true as all sandbox targets only encompass a single CONFIG
option and so we need to use compiler defines to determine the CPU
architecture.
Signed-off-by: NAlexander Graf <agraf@suse.de>
上级 c726913a
...@@ -19,25 +19,25 @@ const efi_guid_t efi_simple_file_system_protocol_guid = ...@@ -19,25 +19,25 @@ const efi_guid_t efi_simple_file_system_protocol_guid =
const efi_guid_t efi_file_info_guid = EFI_FILE_INFO_GUID; const efi_guid_t efi_file_info_guid = EFI_FILE_INFO_GUID;
static int machines[] = { static int machines[] = {
#if defined(CONFIG_ARM64) #if defined(__aarch64__)
IMAGE_FILE_MACHINE_ARM64, IMAGE_FILE_MACHINE_ARM64,
#elif defined(CONFIG_ARM) #elif defined(__arm__)
IMAGE_FILE_MACHINE_ARM, IMAGE_FILE_MACHINE_ARM,
IMAGE_FILE_MACHINE_THUMB, IMAGE_FILE_MACHINE_THUMB,
IMAGE_FILE_MACHINE_ARMNT, IMAGE_FILE_MACHINE_ARMNT,
#endif #endif
#if defined(CONFIG_X86_64) #if defined(__x86_64__)
IMAGE_FILE_MACHINE_AMD64, IMAGE_FILE_MACHINE_AMD64,
#elif defined(CONFIG_X86) #elif defined(__i386__)
IMAGE_FILE_MACHINE_I386, IMAGE_FILE_MACHINE_I386,
#endif #endif
#if defined(CONFIG_CPU_RISCV_32) #if defined(__riscv) && (__riscv_xlen == 32)
IMAGE_FILE_MACHINE_RISCV32, IMAGE_FILE_MACHINE_RISCV32,
#endif #endif
#if defined(CONFIG_CPU_RISCV_64) #if defined(__riscv) && (__riscv_xlen == 64)
IMAGE_FILE_MACHINE_RISCV64, IMAGE_FILE_MACHINE_RISCV64,
#endif #endif
0 }; 0 };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册