1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * When a boot option does not provide a file path the EFI file to be 4 * booted is \EFI\BOOT\$(BOOTEFI_NAME).EFI. The architecture specific 5 * file name is defined in this include. 6 * 7 * Copyright (c) 2022, Heinrich Schuchardt <xypron.glpk@gmx.de> 8 * Copyright (c) 2022, Linaro Limited 9 */ 10 11 #ifndef _EFI_DEFAULT_FILENAME_H 12 #define _EFI_DEFAULT_FILENAME_H 13 14 #include <host_arch.h> 15 16 #undef BOOTEFI_NAME 17 18 #ifdef CONFIG_SANDBOX 19 20 #if HOST_ARCH == HOST_ARCH_X86_64 21 #define BOOTEFI_NAME "BOOTX64.EFI" 22 #elif HOST_ARCH == HOST_ARCH_X86 23 #define BOOTEFI_NAME "BOOTIA32.EFI" 24 #elif HOST_ARCH == HOST_ARCH_AARCH64 25 #define BOOTEFI_NAME "BOOTAA64.EFI" 26 #elif HOST_ARCH == HOST_ARCH_ARM 27 #define BOOTEFI_NAME "BOOTARM.EFI" 28 #elif HOST_ARCH == HOST_ARCH_RISCV32 29 #define BOOTEFI_NAME "BOOTRISCV32.EFI" 30 #elif HOST_ARCH == HOST_ARCH_RISCV64 31 #define BOOTEFI_NAME "BOOTRISCV64.EFI" 32 #else 33 #error Unsupported UEFI architecture 34 #endif 35 36 #else 37 38 #if defined(CONFIG_ARM64) 39 #define BOOTEFI_NAME "BOOTAA64.EFI" 40 #elif defined(CONFIG_ARM) 41 #define BOOTEFI_NAME "BOOTARM.EFI" 42 #elif defined(CONFIG_X86_64) 43 #define BOOTEFI_NAME "BOOTX64.EFI" 44 #elif defined(CONFIG_X86) 45 #define BOOTEFI_NAME "BOOTIA32.EFI" 46 #elif defined(CONFIG_ARCH_RV32I) 47 #define BOOTEFI_NAME "BOOTRISCV32.EFI" 48 #elif defined(CONFIG_ARCH_RV64I) 49 #define BOOTEFI_NAME "BOOTRISCV64.EFI" 50 #else 51 #error Unsupported UEFI architecture 52 #endif 53 54 #endif 55 56 #endif 57