1config EFI_LOADER 2 bool "Support running UEFI applications" 3 depends on OF_LIBFDT && ( \ 4 ARM && (SYS_CPU = arm1136 || \ 5 SYS_CPU = arm1176 || \ 6 SYS_CPU = armv7 || \ 7 SYS_CPU = armv8) || \ 8 X86 || RISCV || SANDBOX) 9 # We need EFI_STUB_64BIT to be set on x86_64 with EFI_STUB 10 depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT 11 # We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB 12 depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT 13 default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8 14 select LIB_UUID 15 select HAVE_BLOCK_DEVICE 16 select REGEX 17 imply CFB_CONSOLE_ANSI 18 help 19 Select this option if you want to run UEFI applications (like GNU 20 GRUB or iPXE) on top of U-Boot. If this option is enabled, U-Boot 21 will expose the UEFI API to a loaded application, enabling it to 22 reuse U-Boot's device drivers. 23 24if EFI_LOADER 25 26config EFI_GET_TIME 27 bool "GetTime() runtime service" 28 depends on DM_RTC 29 default y 30 help 31 Provide the GetTime() runtime service at boottime. This service 32 can be used by an EFI application to read the real time clock. 33 34config EFI_SET_TIME 35 bool "SetTime() runtime service" 36 depends on EFI_GET_TIME 37 default n 38 help 39 Provide the SetTime() runtime service at boottime. This service 40 can be used by an EFI application to adjust the real time clock. 41 42config EFI_DEVICE_PATH_TO_TEXT 43 bool "Device path to text protocol" 44 default y 45 help 46 The device path to text protocol converts device nodes and paths to 47 human readable strings. 48 49config EFI_LOADER_HII 50 bool "HII protocols" 51 default y 52 help 53 The Human Interface Infrastructure is a complicated framework that 54 allows UEFI applications to draw fancy menus and hook strings using 55 a translation framework. 56 57 U-Boot implements enough of its features to be able to run the UEFI 58 Shell, but not more than that. 59 60config EFI_UNICODE_COLLATION_PROTOCOL2 61 bool "Unicode collation protocol" 62 default y 63 help 64 The Unicode collation protocol is used for lexical comparisons. It is 65 required to run the UEFI shell. 66 67if EFI_UNICODE_COLLATION_PROTOCOL2 68 69config EFI_UNICODE_CAPITALIZATION 70 bool "Support Unicode capitalization" 71 default y 72 help 73 Select this option to enable correct handling of the capitalization of 74 Unicode codepoints in the range 0x0000-0xffff. If this option is not 75 set, only the the correct handling of the letters of the codepage 76 used by the FAT file system is ensured. 77 78config EFI_UNICODE_COLLATION_PROTOCOL 79 bool "Deprecated version of the Unicode collation protocol" 80 default n 81 help 82 In EFI 1.10 a version of the Unicode collation protocol using ISO 83 639-2 language codes existed. This protocol is not part of the UEFI 84 specification any longer. Unfortunately it is required to run the 85 UEFI Self Certification Test (SCT) II, version 2.6, 2017. 86 87 Choose this option for testing only. It is bound to be removed. 88 89endif 90 91config EFI_LOADER_BOUNCE_BUFFER 92 bool "EFI Applications use bounce buffers for DMA operations" 93 depends on ARM64 94 default n 95 help 96 Some hardware does not support DMA to full 64bit addresses. For this 97 hardware we can create a bounce buffer so that payloads don't have to 98 worry about platform details. 99 100config EFI_PLATFORM_LANG_CODES 101 string "Language codes supported by firmware" 102 default "en-US" 103 help 104 This value is used to initialize the PlatformLangCodes variable. Its 105 value is a semicolon (;) separated list of language codes in native 106 RFC 4646 format, e.g. "en-US;de-DE". The first language code is used 107 to initialize the PlatformLang variable. 108 109config EFI_HAVE_RUNTIME_RESET 110 # bool "Reset runtime service is available" 111 bool 112 default y 113 depends on ARCH_BCM283X || FSL_LAYERSCAPE || PSCI_RESET || SYSRESET_X86 114 115config EFI_GRUB_ARM32_WORKAROUND 116 bool "Workaround for GRUB on 32bit ARM" 117 default y 118 depends on ARM && !ARM64 119 help 120 GRUB prior to version 2.04 requires U-Boot to disable caches. This 121 workaround currently is also needed on systems with caches that 122 cannot be managed via CP15. 123endif 124