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