efi_default_filename.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. #ifndef _EFI_DEFAULT_FILENAME_H
  11. #define _EFI_DEFAULT_FILENAME_H
  12. #include <host_arch.h>
  13. #undef BOOTEFI_NAME
  14. #ifdef CONFIG_SANDBOX
  15. #if HOST_ARCH == HOST_ARCH_X86_64
  16. #define BOOTEFI_NAME "BOOTX64.EFI"
  17. #elif HOST_ARCH == HOST_ARCH_X86
  18. #define BOOTEFI_NAME "BOOTIA32.EFI"
  19. #elif HOST_ARCH == HOST_ARCH_AARCH64
  20. #define BOOTEFI_NAME "BOOTAA64.EFI"
  21. #elif HOST_ARCH == HOST_ARCH_ARM
  22. #define BOOTEFI_NAME "BOOTARM.EFI"
  23. #elif HOST_ARCH == HOST_ARCH_RISCV32
  24. #define BOOTEFI_NAME "BOOTRISCV32.EFI"
  25. #elif HOST_ARCH == HOST_ARCH_RISCV64
  26. #define BOOTEFI_NAME "BOOTRISCV64.EFI"
  27. #else
  28. #error Unsupported UEFI architecture
  29. #endif
  30. #else
  31. #if defined(CONFIG_ARM64)
  32. #define BOOTEFI_NAME "BOOTAA64.EFI"
  33. #elif defined(CONFIG_ARM)
  34. #define BOOTEFI_NAME "BOOTARM.EFI"
  35. #elif defined(CONFIG_X86_64)
  36. #define BOOTEFI_NAME "BOOTX64.EFI"
  37. #elif defined(CONFIG_X86)
  38. #define BOOTEFI_NAME "BOOTIA32.EFI"
  39. #elif defined(CONFIG_ARCH_RV32I)
  40. #define BOOTEFI_NAME "BOOTRISCV32.EFI"
  41. #elif defined(CONFIG_ARCH_RV64I)
  42. #define BOOTEFI_NAME "BOOTRISCV64.EFI"
  43. #else
  44. #error Unsupported UEFI architecture
  45. #endif
  46. #endif
  47. #endif