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 && ( \ |
Heinrich Schuchardt | 38064ee | 2019-11-19 04:19:09 +0100 | [diff] [blame] | 4 | ARM && (SYS_CPU = arm1136 || \ |
| 5 | SYS_CPU = arm1176 || \ |
| 6 | SYS_CPU = armv7 || \ |
| 7 | SYS_CPU = armv8) || \ |
Heinrich Schuchardt | b20bb09 | 2019-11-17 10:44:16 +0100 | [diff] [blame] | 8 | X86 || RISCV || SANDBOX) |
Alexander Graf | 6698bb3 | 2018-01-24 14:54:21 +0100 | [diff] [blame] | 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 |
Heinrich Schuchardt | 6919619 | 2021-09-07 08:56:47 +0200 | [diff] [blame] | 13 | depends on BLK |
Simon Glass | c779e0d | 2021-09-24 18:30:17 -0600 | [diff] [blame] | 14 | depends on DM_ETH || !NET |
Simon Glass | e16c47f | 2021-11-03 21:09:07 -0600 | [diff] [blame] | 15 | depends on !EFI_APP |
Heinrich Schuchardt | b7cdecf | 2019-11-20 18:48:02 +0100 | [diff] [blame] | 16 | default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8 |
Heinrich Schuchardt | d30924f | 2022-05-02 06:27:00 +0200 | [diff] [blame] | 17 | select CHARSET |
AKASHI Takahiro | a9bf024 | 2022-04-19 10:05:12 +0900 | [diff] [blame] | 18 | select DM_EVENT |
Jan Kiszka | 6ae4948 | 2022-04-27 07:47:15 +0200 | [diff] [blame] | 19 | select EVENT |
AKASHI Takahiro | a9bf024 | 2022-04-19 10:05:12 +0900 | [diff] [blame] | 20 | select EVENT_DYNAMIC |
Adam Ford | a451bc2 | 2018-02-06 12:14:28 -0600 | [diff] [blame] | 21 | select LIB_UUID |
AKASHI Takahiro | 7a06fd7 | 2022-04-19 10:01:56 +0900 | [diff] [blame] | 22 | imply PARTITION_UUIDS |
Adam Ford | 1811a92 | 2018-02-06 12:43:56 -0600 | [diff] [blame] | 23 | select HAVE_BLOCK_DEVICE |
Heinrich Schuchardt | dba5148 | 2019-01-22 21:35:23 +0100 | [diff] [blame] | 24 | select REGEX |
Heinrich Schuchardt | 93f6201 | 2020-03-21 20:45:50 +0100 | [diff] [blame] | 25 | imply FAT |
| 26 | imply FAT_WRITE |
Heinrich Schuchardt | 8876e1b | 2019-12-04 22:58:58 +0100 | [diff] [blame] | 27 | imply USB_KEYBOARD_FN_KEYS |
Heinrich Schuchardt | faadc04 | 2020-01-15 00:49:35 +0100 | [diff] [blame] | 28 | imply VIDEO_ANSI |
Alexander Graf | ed980b8 | 2016-03-04 01:10:07 +0100 | [diff] [blame] | 29 | help |
Heinrich Schuchardt | 9363fd2 | 2019-05-11 10:27:58 +0200 | [diff] [blame] | 30 | Select this option if you want to run UEFI applications (like GNU |
| 31 | GRUB or iPXE) on top of U-Boot. If this option is enabled, U-Boot |
| 32 | will expose the UEFI API to a loaded application, enabling it to |
| 33 | reuse U-Boot's device drivers. |
Alexander Graf | 51735ae | 2016-05-11 18:25:48 +0200 | [diff] [blame] | 34 | |
Heinrich Schuchardt | 5684c8d | 2019-05-08 23:17:38 +0200 | [diff] [blame] | 35 | if EFI_LOADER |
Alexander Graf | 5fbb289 | 2019-02-11 15:24:00 +0100 | [diff] [blame] | 36 | |
Heinrich Schuchardt | ff2f532 | 2021-01-15 19:02:50 +0100 | [diff] [blame] | 37 | config CMD_BOOTEFI_BOOTMGR |
| 38 | bool "UEFI Boot Manager" |
| 39 | default y |
Simon Glass | bc06aa0 | 2022-07-30 15:52:21 -0600 | [diff] [blame] | 40 | select BOOTMETH_GLOBAL if BOOTSTD |
Heinrich Schuchardt | ff2f532 | 2021-01-15 19:02:50 +0100 | [diff] [blame] | 41 | help |
| 42 | Select this option if you want to select the UEFI binary to be booted |
| 43 | via UEFI variables Boot####, BootOrder, and BootNext. This enables the |
| 44 | 'bootefi bootmgr' command. |
| 45 | |
AKASHI Takahiro | c57c943 | 2020-10-29 13:47:45 +0900 | [diff] [blame] | 46 | config EFI_SETUP_EARLY |
| 47 | bool |
AKASHI Takahiro | a9bf024 | 2022-04-19 10:05:12 +0900 | [diff] [blame] | 48 | default y |
AKASHI Takahiro | c57c943 | 2020-10-29 13:47:45 +0900 | [diff] [blame] | 49 | |
Heinrich Schuchardt | be66b89 | 2020-07-14 19:18:33 +0200 | [diff] [blame] | 50 | choice |
| 51 | prompt "Store for non-volatile UEFI variables" |
| 52 | default EFI_VARIABLE_FILE_STORE |
| 53 | help |
| 54 | Select where non-volatile UEFI variables shall be stored. |
| 55 | |
Heinrich Schuchardt | 5f7dcf0 | 2020-03-19 18:21:58 +0000 | [diff] [blame] | 56 | config EFI_VARIABLE_FILE_STORE |
| 57 | bool "Store non-volatile UEFI variables as file" |
| 58 | depends on FAT_WRITE |
Heinrich Schuchardt | 5f7dcf0 | 2020-03-19 18:21:58 +0000 | [diff] [blame] | 59 | help |
Heinrich Schuchardt | be66b89 | 2020-07-14 19:18:33 +0200 | [diff] [blame] | 60 | Select this option if you want non-volatile UEFI variables to be |
| 61 | stored as file /ubootefi.var on the EFI system partition. |
| 62 | |
| 63 | config EFI_MM_COMM_TEE |
| 64 | bool "UEFI variables storage service via OP-TEE" |
| 65 | depends on OPTEE |
| 66 | help |
| 67 | If OP-TEE is present and running StandAloneMM, dispatch all UEFI |
| 68 | variable related operations to that. The application will verify, |
| 69 | authenticate and store the variables on an RPMB. |
| 70 | |
Tom Saeger | f2288a2 | 2022-03-22 15:21:10 -0600 | [diff] [blame] | 71 | config EFI_VARIABLE_NO_STORE |
| 72 | bool "Don't persist non-volatile UEFI variables" |
| 73 | help |
| 74 | If you choose this option, non-volatile variables cannot be persisted. |
| 75 | You could still provide non-volatile variables via |
| 76 | EFI_VARIABLES_PRESEED. |
| 77 | |
Heinrich Schuchardt | be66b89 | 2020-07-14 19:18:33 +0200 | [diff] [blame] | 78 | endchoice |
Heinrich Schuchardt | 5f7dcf0 | 2020-03-19 18:21:58 +0000 | [diff] [blame] | 79 | |
Heinrich Schuchardt | 7dda163 | 2020-07-14 21:25:28 +0200 | [diff] [blame] | 80 | config EFI_VARIABLES_PRESEED |
| 81 | bool "Initial values for UEFI variables" |
Tom Saeger | f2288a2 | 2022-03-22 15:21:10 -0600 | [diff] [blame] | 82 | depends on !EFI_MM_COMM_TEE |
Heinrich Schuchardt | 7dda163 | 2020-07-14 21:25:28 +0200 | [diff] [blame] | 83 | help |
| 84 | Include a file with the initial values for non-volatile UEFI variables |
| 85 | into the U-Boot binary. If this configuration option is set, changes |
| 86 | to authentication related variables (PK, KEK, db, dbx) are not |
| 87 | allowed. |
| 88 | |
| 89 | if EFI_VARIABLES_PRESEED |
| 90 | |
| 91 | config EFI_VAR_SEED_FILE |
| 92 | string "File with initial values of non-volatile UEFI variables" |
| 93 | default ubootefi.var |
| 94 | help |
| 95 | File with initial values of non-volatile UEFI variables. The file must |
| 96 | be in the same format as the storage in the EFI system partition. The |
| 97 | easiest way to create it is by setting the non-volatile variables in |
| 98 | U-Boot. If a relative file path is used, it is relative to the source |
| 99 | directory. |
| 100 | |
| 101 | endif |
| 102 | |
Heinrich Schuchardt | c0c21d6 | 2020-12-20 11:05:38 +0100 | [diff] [blame] | 103 | config EFI_VAR_BUF_SIZE |
| 104 | int "Memory size of the UEFI variable store" |
| 105 | default 16384 |
| 106 | range 4096 2147483647 |
| 107 | help |
| 108 | This defines the size in bytes of the memory area reserved for keeping |
| 109 | UEFI variables. |
| 110 | |
| 111 | When using StandAloneMM (CONFIG_EFI_MM_COMM_TEE=y) this value should |
| 112 | match the value of PcdFlashNvStorageVariableSize used to compile the |
| 113 | StandAloneMM module. |
| 114 | |
| 115 | Minimum 4096, default 16384. |
| 116 | |
Heinrich Schuchardt | 5ec48e3 | 2019-05-31 22:56:02 +0200 | [diff] [blame] | 117 | config EFI_GET_TIME |
| 118 | bool "GetTime() runtime service" |
| 119 | depends on DM_RTC |
| 120 | default y |
| 121 | help |
| 122 | Provide the GetTime() runtime service at boottime. This service |
| 123 | can be used by an EFI application to read the real time clock. |
| 124 | |
| 125 | config EFI_SET_TIME |
| 126 | bool "SetTime() runtime service" |
| 127 | depends on EFI_GET_TIME |
Heinrich Schuchardt | 31cadc3 | 2020-11-21 20:52:18 +0100 | [diff] [blame] | 128 | default y if ARCH_QEMU || SANDBOX |
Heinrich Schuchardt | 5ec48e3 | 2019-05-31 22:56:02 +0200 | [diff] [blame] | 129 | help |
| 130 | Provide the SetTime() runtime service at boottime. This service |
| 131 | can be used by an EFI application to adjust the real time clock. |
| 132 | |
AKASHI Takahiro | 2bc27ca | 2020-11-17 09:27:55 +0900 | [diff] [blame] | 133 | config EFI_HAVE_CAPSULE_SUPPORT |
| 134 | bool |
| 135 | |
| 136 | config EFI_RUNTIME_UPDATE_CAPSULE |
| 137 | bool "UpdateCapsule() runtime service" |
AKASHI Takahiro | 2bc27ca | 2020-11-17 09:27:55 +0900 | [diff] [blame] | 138 | select EFI_HAVE_CAPSULE_SUPPORT |
| 139 | help |
| 140 | Select this option if you want to use UpdateCapsule and |
| 141 | QueryCapsuleCapabilities API's. |
| 142 | |
AKASHI Takahiro | c74cd8b | 2020-11-17 09:27:56 +0900 | [diff] [blame] | 143 | config EFI_CAPSULE_ON_DISK |
| 144 | bool "Enable capsule-on-disk support" |
Masami Hiramatsu | 7660cfe | 2022-03-21 22:37:56 +0900 | [diff] [blame] | 145 | depends on SYSRESET |
AKASHI Takahiro | c74cd8b | 2020-11-17 09:27:56 +0900 | [diff] [blame] | 146 | select EFI_HAVE_CAPSULE_SUPPORT |
AKASHI Takahiro | c74cd8b | 2020-11-17 09:27:56 +0900 | [diff] [blame] | 147 | help |
| 148 | Select this option if you want to use capsule-on-disk feature, |
| 149 | that is, capsules can be fetched and executed from files |
| 150 | under a specific directory on UEFI system partition instead of |
| 151 | via UpdateCapsule API. |
| 152 | |
Ilias Apalodimas | 0fa5020 | 2021-06-29 07:55:51 +0300 | [diff] [blame] | 153 | config EFI_IGNORE_OSINDICATIONS |
| 154 | bool "Ignore OsIndications for CapsuleUpdate on-disk" |
| 155 | depends on EFI_CAPSULE_ON_DISK |
Ilias Apalodimas | 0fa5020 | 2021-06-29 07:55:51 +0300 | [diff] [blame] | 156 | help |
| 157 | There are boards where U-Boot does not support SetVariable at runtime. |
| 158 | Select this option if you want to use the capsule-on-disk feature |
| 159 | without setting the EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED |
| 160 | flag in variable OsIndications. |
| 161 | |
AKASHI Takahiro | c74cd8b | 2020-11-17 09:27:56 +0900 | [diff] [blame] | 162 | config EFI_CAPSULE_ON_DISK_EARLY |
| 163 | bool "Initiate capsule-on-disk at U-Boot boottime" |
| 164 | depends on EFI_CAPSULE_ON_DISK |
AKASHI Takahiro | c74cd8b | 2020-11-17 09:27:56 +0900 | [diff] [blame] | 165 | select EFI_SETUP_EARLY |
| 166 | help |
| 167 | Normally, without this option enabled, capsules will be |
| 168 | executed only at the first time of invoking one of efi command. |
| 169 | If this option is enabled, capsules will be enforced to be |
| 170 | executed as part of U-Boot initialisation so that they will |
| 171 | surely take place whatever is set to distro_bootcmd. |
| 172 | |
AKASHI Takahiro | bb7e71d | 2020-11-17 09:28:00 +0900 | [diff] [blame] | 173 | config EFI_CAPSULE_FIRMWARE |
| 174 | bool |
AKASHI Takahiro | bb7e71d | 2020-11-17 09:28:00 +0900 | [diff] [blame] | 175 | |
AKASHI Takahiro | 8d99026 | 2020-11-30 18:12:11 +0900 | [diff] [blame] | 176 | config EFI_CAPSULE_FIRMWARE_MANAGEMENT |
| 177 | bool "Capsule: Firmware Management Protocol" |
| 178 | depends on EFI_HAVE_CAPSULE_SUPPORT |
| 179 | default y |
| 180 | help |
| 181 | Select this option if you want to enable capsule-based |
| 182 | firmware update using Firmware Management Protocol. |
| 183 | |
Ilias Apalodimas | b891ff1 | 2021-06-22 17:38:52 +0300 | [diff] [blame] | 184 | config EFI_CAPSULE_FIRMWARE_FIT |
| 185 | bool "FMP driver for FIT images" |
| 186 | depends on FIT |
| 187 | depends on EFI_CAPSULE_FIRMWARE_MANAGEMENT |
| 188 | select UPDATE_FIT |
| 189 | select DFU |
Sughosh Ganu | a9e6f01 | 2022-04-15 11:29:37 +0530 | [diff] [blame] | 190 | select SET_DFU_ALT_INFO |
Ilias Apalodimas | b891ff1 | 2021-06-22 17:38:52 +0300 | [diff] [blame] | 191 | select EFI_CAPSULE_FIRMWARE |
| 192 | help |
| 193 | Select this option if you want to enable firmware management protocol |
| 194 | driver for FIT image |
| 195 | |
| 196 | config EFI_CAPSULE_FIRMWARE_RAW |
| 197 | bool "FMP driver for raw images" |
| 198 | depends on EFI_CAPSULE_FIRMWARE_MANAGEMENT |
| 199 | depends on SANDBOX || (!SANDBOX && !EFI_CAPSULE_FIRMWARE_FIT) |
| 200 | select DFU_WRITE_ALT |
| 201 | select DFU |
Sughosh Ganu | a9e6f01 | 2022-04-15 11:29:37 +0530 | [diff] [blame] | 202 | select SET_DFU_ALT_INFO |
Ilias Apalodimas | b891ff1 | 2021-06-22 17:38:52 +0300 | [diff] [blame] | 203 | select EFI_CAPSULE_FIRMWARE |
| 204 | help |
| 205 | Select this option if you want to enable firmware management protocol |
| 206 | driver for raw image |
| 207 | |
Sughosh Ganu | 04be98b | 2020-12-30 19:27:09 +0530 | [diff] [blame] | 208 | config EFI_CAPSULE_AUTHENTICATE |
| 209 | bool "Update Capsule authentication" |
| 210 | depends on EFI_CAPSULE_FIRMWARE |
| 211 | depends on EFI_CAPSULE_ON_DISK |
| 212 | depends on EFI_CAPSULE_FIRMWARE_MANAGEMENT |
Alexandru Gagniuc | 464010b | 2021-05-24 14:28:57 -0500 | [diff] [blame] | 213 | select HASH |
Sughosh Ganu | 04be98b | 2020-12-30 19:27:09 +0530 | [diff] [blame] | 214 | select SHA256 |
| 215 | select RSA |
| 216 | select RSA_VERIFY |
| 217 | select RSA_VERIFY_WITH_PKEY |
| 218 | select X509_CERTIFICATE_PARSER |
| 219 | select PKCS7_MESSAGE_PARSER |
| 220 | select PKCS7_VERIFY |
Sughosh Ganu | dd40cf6 | 2021-04-07 17:23:31 +0530 | [diff] [blame] | 221 | select IMAGE_SIGN_INFO |
Masahisa Kojima | f6081a8 | 2021-05-14 09:53:36 +0900 | [diff] [blame] | 222 | select EFI_SIGNATURE_SUPPORT |
Sughosh Ganu | 04be98b | 2020-12-30 19:27:09 +0530 | [diff] [blame] | 223 | help |
| 224 | Select this option if you want to enable capsule |
| 225 | authentication |
| 226 | |
Heinrich Schuchardt | 64b5ba4 | 2019-05-11 09:53:33 +0200 | [diff] [blame] | 227 | config EFI_DEVICE_PATH_TO_TEXT |
| 228 | bool "Device path to text protocol" |
| 229 | default y |
| 230 | help |
| 231 | The device path to text protocol converts device nodes and paths to |
| 232 | human readable strings. |
| 233 | |
Heinrich Schuchardt | 59593a5 | 2021-01-16 09:44:25 +0100 | [diff] [blame] | 234 | config EFI_DEVICE_PATH_UTIL |
| 235 | bool "Device path utilities protocol" |
| 236 | default y |
| 237 | help |
| 238 | The device path utilities protocol creates and manipulates device |
| 239 | paths and device nodes. It is required to run the EFI Shell. |
| 240 | |
Heinrich Schuchardt | 4cb07d8 | 2021-01-16 09:33:24 +0100 | [diff] [blame] | 241 | config EFI_DT_FIXUP |
| 242 | bool "Device tree fixup protocol" |
| 243 | depends on !GENERATE_ACPI_TABLE |
| 244 | default y |
| 245 | help |
| 246 | The EFI device-tree fix-up protocol provides a function to let the |
| 247 | firmware apply fix-ups. This may be used by boot loaders. |
| 248 | |
Alexander Graf | 5fbb289 | 2019-02-11 15:24:00 +0100 | [diff] [blame] | 249 | config EFI_LOADER_HII |
Heinrich Schuchardt | 5684c8d | 2019-05-08 23:17:38 +0200 | [diff] [blame] | 250 | bool "HII protocols" |
Heinrich Schuchardt | 084f093 | 2019-04-07 23:58:50 +0200 | [diff] [blame] | 251 | default y |
Alexander Graf | 5fbb289 | 2019-02-11 15:24:00 +0100 | [diff] [blame] | 252 | help |
| 253 | The Human Interface Infrastructure is a complicated framework that |
| 254 | allows UEFI applications to draw fancy menus and hook strings using |
| 255 | a translation framework. |
| 256 | |
| 257 | 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] | 258 | Shell, but not more than that. |
Heinrich Schuchardt | 5684c8d | 2019-05-08 23:17:38 +0200 | [diff] [blame] | 259 | |
Heinrich Schuchardt | 95ab381 | 2019-05-16 07:52:58 +0200 | [diff] [blame] | 260 | config EFI_UNICODE_COLLATION_PROTOCOL2 |
Heinrich Schuchardt | 3349973 | 2019-05-08 23:24:26 +0200 | [diff] [blame] | 261 | bool "Unicode collation protocol" |
| 262 | default y |
| 263 | help |
| 264 | The Unicode collation protocol is used for lexical comparisons. It is |
| 265 | required to run the UEFI shell. |
| 266 | |
Heinrich Schuchardt | 95ab381 | 2019-05-16 07:52:58 +0200 | [diff] [blame] | 267 | if EFI_UNICODE_COLLATION_PROTOCOL2 |
Heinrich Schuchardt | 3349973 | 2019-05-08 23:24:26 +0200 | [diff] [blame] | 268 | |
Heinrich Schuchardt | 5684c8d | 2019-05-08 23:17:38 +0200 | [diff] [blame] | 269 | config EFI_UNICODE_CAPITALIZATION |
| 270 | bool "Support Unicode capitalization" |
| 271 | default y |
| 272 | help |
| 273 | Select this option to enable correct handling of the capitalization of |
| 274 | Unicode codepoints in the range 0x0000-0xffff. If this option is not |
| 275 | set, only the the correct handling of the letters of the codepage |
| 276 | used by the FAT file system is ensured. |
| 277 | |
Heinrich Schuchardt | 3349973 | 2019-05-08 23:24:26 +0200 | [diff] [blame] | 278 | endif |
| 279 | |
Heinrich Schuchardt | 5684c8d | 2019-05-08 23:17:38 +0200 | [diff] [blame] | 280 | config EFI_LOADER_BOUNCE_BUFFER |
| 281 | bool "EFI Applications use bounce buffers for DMA operations" |
| 282 | depends on ARM64 |
Heinrich Schuchardt | 5684c8d | 2019-05-08 23:17:38 +0200 | [diff] [blame] | 283 | help |
| 284 | Some hardware does not support DMA to full 64bit addresses. For this |
| 285 | hardware we can create a bounce buffer so that payloads don't have to |
| 286 | worry about platform details. |
| 287 | |
| 288 | config EFI_PLATFORM_LANG_CODES |
| 289 | string "Language codes supported by firmware" |
| 290 | default "en-US" |
| 291 | help |
| 292 | This value is used to initialize the PlatformLangCodes variable. Its |
| 293 | value is a semicolon (;) separated list of language codes in native |
| 294 | RFC 4646 format, e.g. "en-US;de-DE". The first language code is used |
| 295 | to initialize the PlatformLang variable. |
| 296 | |
Heinrich Schuchardt | 953661a | 2019-07-05 18:12:16 +0200 | [diff] [blame] | 297 | config EFI_HAVE_RUNTIME_RESET |
| 298 | # bool "Reset runtime service is available" |
| 299 | bool |
| 300 | default y |
Heinrich Schuchardt | 9c54729 | 2020-12-02 16:22:11 +0100 | [diff] [blame] | 301 | depends on ARCH_BCM283X || FSL_LAYERSCAPE || PSCI_RESET || \ |
| 302 | SANDBOX || SYSRESET_X86 |
Heinrich Schuchardt | 953661a | 2019-07-05 18:12:16 +0200 | [diff] [blame] | 303 | |
Heinrich Schuchardt | 6f3badb | 2019-07-22 22:04:36 +0200 | [diff] [blame] | 304 | config EFI_GRUB_ARM32_WORKAROUND |
| 305 | bool "Workaround for GRUB on 32bit ARM" |
Heinrich Schuchardt | 4bad14a | 2021-03-03 14:05:05 +0100 | [diff] [blame] | 306 | default n if ARCH_BCM283X || ARCH_SUNXI || ARCH_QEMU |
Heinrich Schuchardt | 6f3badb | 2019-07-22 22:04:36 +0200 | [diff] [blame] | 307 | default y |
| 308 | depends on ARM && !ARM64 |
| 309 | help |
| 310 | GRUB prior to version 2.04 requires U-Boot to disable caches. This |
| 311 | workaround currently is also needed on systems with caches that |
| 312 | cannot be managed via CP15. |
Sughosh Ganu | f552fa4 | 2019-12-29 00:01:05 +0530 | [diff] [blame] | 313 | |
| 314 | config EFI_RNG_PROTOCOL |
| 315 | bool "EFI_RNG_PROTOCOL support" |
| 316 | depends on DM_RNG |
Peter Robinson | bdf329e | 2020-04-01 11:15:01 +0100 | [diff] [blame] | 317 | default y |
Sughosh Ganu | f552fa4 | 2019-12-29 00:01:05 +0530 | [diff] [blame] | 318 | help |
Heinrich Schuchardt | 0e22885 | 2020-02-14 23:28:58 +0100 | [diff] [blame] | 319 | Provide a EFI_RNG_PROTOCOL implementation using the hardware random |
| 320 | number generator of the platform. |
Sughosh Ganu | f552fa4 | 2019-12-29 00:01:05 +0530 | [diff] [blame] | 321 | |
Ilias Apalodimas | c1c0210 | 2020-11-11 11:18:11 +0200 | [diff] [blame] | 322 | config EFI_TCG2_PROTOCOL |
| 323 | bool "EFI_TCG2_PROTOCOL support" |
Ilias Apalodimas | 48ee084 | 2021-05-11 14:40:58 +0300 | [diff] [blame] | 324 | default y |
Ilias Apalodimas | c1c0210 | 2020-11-11 11:18:11 +0200 | [diff] [blame] | 325 | depends on TPM_V2 |
Masahisa Kojima | 54bec17 | 2021-12-07 14:15:31 +0900 | [diff] [blame] | 326 | # Sandbox TPM currently fails on GetCapabilities needed for TCG2 |
| 327 | depends on !SANDBOX |
Ilias Apalodimas | 48ee084 | 2021-05-11 14:40:58 +0300 | [diff] [blame] | 328 | select SHA1 |
| 329 | select SHA256 |
Ilias Apalodimas | 48ee084 | 2021-05-11 14:40:58 +0300 | [diff] [blame] | 330 | select SHA384 |
| 331 | select SHA512 |
Masahisa Kojima | 163a0d7 | 2021-05-26 12:09:58 +0900 | [diff] [blame] | 332 | select HASH |
Masahisa Kojima | 3d49ee8 | 2021-10-26 17:27:24 +0900 | [diff] [blame] | 333 | select SMBIOS_PARSER |
Ilias Apalodimas | c1c0210 | 2020-11-11 11:18:11 +0200 | [diff] [blame] | 334 | help |
| 335 | Provide a EFI_TCG2_PROTOCOL implementation using the TPM hardware |
| 336 | of the platform. |
| 337 | |
Ilias Apalodimas | c8d0fd5 | 2020-11-30 11:47:40 +0200 | [diff] [blame] | 338 | config EFI_TCG2_PROTOCOL_EVENTLOG_SIZE |
| 339 | int "EFI_TCG2_PROTOCOL EventLog size" |
| 340 | depends on EFI_TCG2_PROTOCOL |
Masahisa Kojima | d934ed5 | 2021-07-14 22:00:01 +0900 | [diff] [blame] | 341 | default 65536 |
Ilias Apalodimas | c8d0fd5 | 2020-11-30 11:47:40 +0200 | [diff] [blame] | 342 | help |
| 343 | Define the size of the EventLog for EFI_TCG2_PROTOCOL. Note that |
| 344 | this is going to be allocated twice. One for the eventlog it self |
| 345 | and one for the configuration table that is required from the spec |
| 346 | |
Ilias Apalodimas | ec80b47 | 2020-02-21 09:55:45 +0200 | [diff] [blame] | 347 | config EFI_LOAD_FILE2_INITRD |
| 348 | bool "EFI_FILE_LOAD2_PROTOCOL for Linux initial ramdisk" |
Ilias Apalodimas | 53f6a5a | 2021-03-17 21:55:00 +0200 | [diff] [blame] | 349 | default y |
Ilias Apalodimas | ec80b47 | 2020-02-21 09:55:45 +0200 | [diff] [blame] | 350 | help |
Ilias Apalodimas | 53f6a5a | 2021-03-17 21:55:00 +0200 | [diff] [blame] | 351 | Linux v5.7 and later can make use of this option. If the boot option |
| 352 | selected by the UEFI boot manager specifies an existing file to be used |
| 353 | as initial RAM disk, a Linux specific Load File2 protocol will be |
| 354 | installed and Linux 5.7+ will ignore any initrd=<ramdisk> command line |
| 355 | argument. |
Ilias Apalodimas | ec80b47 | 2020-02-21 09:55:45 +0200 | [diff] [blame] | 356 | |
AKASHI Takahiro | 9bf09b5 | 2020-04-14 11:51:38 +0900 | [diff] [blame] | 357 | config EFI_SECURE_BOOT |
| 358 | bool "Enable EFI secure boot support" |
Simon Glass | 1eccbb1 | 2021-09-25 19:43:29 -0600 | [diff] [blame] | 359 | depends on EFI_LOADER && FIT_SIGNATURE |
Alexandru Gagniuc | 464010b | 2021-05-24 14:28:57 -0500 | [diff] [blame] | 360 | select HASH |
AKASHI Takahiro | 9bf09b5 | 2020-04-14 11:51:38 +0900 | [diff] [blame] | 361 | select SHA256 |
| 362 | select RSA |
| 363 | select RSA_VERIFY_WITH_PKEY |
| 364 | select IMAGE_SIGN_INFO |
| 365 | select ASYMMETRIC_KEY_TYPE |
| 366 | select ASYMMETRIC_PUBLIC_KEY_SUBTYPE |
| 367 | select X509_CERTIFICATE_PARSER |
| 368 | select PKCS7_MESSAGE_PARSER |
AKASHI Takahiro | 1115edd | 2020-07-21 19:35:22 +0900 | [diff] [blame] | 369 | select PKCS7_VERIFY |
AKASHI Takahiro | 634f6b2 | 2022-07-05 14:48:14 +0900 | [diff] [blame] | 370 | select MSCODE_PARSER |
Masahisa Kojima | f6081a8 | 2021-05-14 09:53:36 +0900 | [diff] [blame] | 371 | select EFI_SIGNATURE_SUPPORT |
AKASHI Takahiro | 9bf09b5 | 2020-04-14 11:51:38 +0900 | [diff] [blame] | 372 | help |
| 373 | Select this option to enable EFI secure boot support. |
| 374 | Once SecureBoot mode is enforced, any EFI binary can run only if |
| 375 | it is signed with a trusted key. To do that, you need to install, |
| 376 | at least, PK, KEK and db. |
| 377 | |
Masahisa Kojima | f6081a8 | 2021-05-14 09:53:36 +0900 | [diff] [blame] | 378 | config EFI_SIGNATURE_SUPPORT |
| 379 | bool |
| 380 | |
Jose Marinho | 64a8aae | 2021-03-02 17:26:38 +0000 | [diff] [blame] | 381 | config EFI_ESRT |
| 382 | bool "Enable the UEFI ESRT generation" |
| 383 | depends on EFI_CAPSULE_FIRMWARE_MANAGEMENT |
| 384 | default y |
| 385 | help |
| 386 | Enabling this option creates the ESRT UEFI system table. |
| 387 | |
Jose Marinho | 6b92c17 | 2021-12-23 14:51:07 +0000 | [diff] [blame] | 388 | config EFI_ECPT |
| 389 | bool "Enable the UEFI ECPT generation" |
| 390 | default y |
| 391 | help |
| 392 | Enabling this option created the ECPT UEFI table. |
| 393 | |
Jose Marinho | 648a8dc | 2021-12-17 12:55:05 +0000 | [diff] [blame^] | 394 | config EFI_EBBR_2_0_CONFORMANCE |
| 395 | bool "Add the EBBRv2.0 conformance entry to the ECPT table" |
| 396 | depends on EFI_ECPT |
| 397 | depends on EFI_LOADER_HII |
| 398 | depends on EFI_RISCV_BOOT_PROTOCOL || !RISCV |
| 399 | depends on EFI_RNG_PROTOCOL || !DM_RNG |
| 400 | depends on EFI_UNICODE_COLLATION_PROTOCOL2 |
| 401 | default y |
| 402 | help |
| 403 | Enabling this option adds the EBBRv2.0 conformance entry to the ECPT UEFI table. |
| 404 | |
Sunil V L | 1ccf871 | 2022-01-28 20:48:44 +0530 | [diff] [blame] | 405 | config EFI_RISCV_BOOT_PROTOCOL |
| 406 | bool "RISCV_EFI_BOOT_PROTOCOL support" |
| 407 | default y |
| 408 | depends on RISCV |
| 409 | help |
| 410 | The EFI_RISCV_BOOT_PROTOCOL is used to transfer the boot hart ID |
| 411 | to the next boot stage. It should be enabled as it is meant to |
| 412 | replace the transfer via the device-tree. The latter is not |
| 413 | possible on systems using ACPI. |
| 414 | |
Heinrich Schuchardt | 5684c8d | 2019-05-08 23:17:38 +0200 | [diff] [blame] | 415 | endif |