.. | .. |
---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | menu "EFI (Extensible Firmware Interface) Support" |
---|
2 | 3 | depends on EFI |
---|
3 | 4 | |
---|
4 | 5 | config EFI_VARS |
---|
5 | 6 | tristate "EFI Variable Support via sysfs" |
---|
6 | | - depends on EFI |
---|
| 7 | + depends on EFI && (X86 || IA64) |
---|
7 | 8 | default n |
---|
8 | 9 | help |
---|
9 | 10 | If you say Y here, you are able to get EFI (Extensible Firmware |
---|
10 | 11 | Interface) variable information via sysfs. You may read, |
---|
11 | 12 | write, create, and destroy EFI variables through this interface. |
---|
12 | | - |
---|
13 | | - Note that using this driver in concert with efibootmgr requires |
---|
14 | | - at least test release version 0.5.0-test3 or later, which is |
---|
15 | | - available from: |
---|
16 | | - <http://linux.dell.com/efibootmgr/testing/efibootmgr-0.5.0-test3.tar.gz> |
---|
17 | | - |
---|
18 | | - Subsequent efibootmgr releases may be found at: |
---|
19 | | - <http://github.com/vathpela/efibootmgr> |
---|
| 13 | + Note that this driver is only retained for compatibility with |
---|
| 14 | + legacy users: new users should use the efivarfs filesystem |
---|
| 15 | + instead. |
---|
20 | 16 | |
---|
21 | 17 | config EFI_ESRT |
---|
22 | 18 | bool |
---|
.. | .. |
---|
25 | 21 | |
---|
26 | 22 | config EFI_VARS_PSTORE |
---|
27 | 23 | tristate "Register efivars backend for pstore" |
---|
28 | | - depends on EFI_VARS && PSTORE |
---|
| 24 | + depends on PSTORE |
---|
29 | 25 | default y |
---|
30 | 26 | help |
---|
31 | 27 | Say Y here to enable use efivars as a backend to pstore. This |
---|
.. | .. |
---|
74 | 70 | Ranges can be set up to this value using comma-separated list. |
---|
75 | 71 | The default value is 8. |
---|
76 | 72 | |
---|
| 73 | +config EFI_SOFT_RESERVE |
---|
| 74 | + bool "Reserve EFI Specific Purpose Memory" |
---|
| 75 | + depends on EFI && EFI_STUB && ACPI_HMAT |
---|
| 76 | + default ACPI_HMAT |
---|
| 77 | + help |
---|
| 78 | + On systems that have mixed performance classes of memory EFI |
---|
| 79 | + may indicate specific purpose memory with an attribute (See |
---|
| 80 | + EFI_MEMORY_SP in UEFI 2.8). A memory range tagged with this |
---|
| 81 | + attribute may have unique performance characteristics compared |
---|
| 82 | + to the system's general purpose "System RAM" pool. On the |
---|
| 83 | + expectation that such memory has application specific usage, |
---|
| 84 | + and its base EFI memory type is "conventional" answer Y to |
---|
| 85 | + arrange for the kernel to reserve it as a "Soft Reserved" |
---|
| 86 | + resource, and set aside for direct-access (device-dax) by |
---|
| 87 | + default. The memory range can later be optionally assigned to |
---|
| 88 | + the page allocator by system administrator policy via the |
---|
| 89 | + device-dax kmem facility. Say N to have the kernel treat this |
---|
| 90 | + memory as "System RAM" by default. |
---|
| 91 | + |
---|
| 92 | + If unsure, say Y. |
---|
| 93 | + |
---|
77 | 94 | config EFI_PARAMS_FROM_FDT |
---|
78 | 95 | bool |
---|
79 | 96 | help |
---|
.. | .. |
---|
84 | 101 | config EFI_RUNTIME_WRAPPERS |
---|
85 | 102 | bool |
---|
86 | 103 | |
---|
87 | | -config EFI_ARMSTUB |
---|
| 104 | +config EFI_GENERIC_STUB |
---|
88 | 105 | bool |
---|
89 | 106 | |
---|
90 | 107 | config EFI_ARMSTUB_DTB_LOADER |
---|
91 | 108 | bool "Enable the DTB loader" |
---|
92 | | - depends on EFI_ARMSTUB |
---|
| 109 | + depends on EFI_GENERIC_STUB && !RISCV |
---|
93 | 110 | default y |
---|
94 | 111 | help |
---|
95 | 112 | Select this config option to add support for the dtb= command |
---|
.. | .. |
---|
102 | 119 | functionality for bootloaders that do not have such support |
---|
103 | 120 | this option is necessary. |
---|
104 | 121 | |
---|
| 122 | +config EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER |
---|
| 123 | + bool "Enable the command line initrd loader" if !X86 |
---|
| 124 | + depends on EFI_STUB && (EFI_GENERIC_STUB || X86) |
---|
| 125 | + default y |
---|
| 126 | + depends on !RISCV |
---|
| 127 | + help |
---|
| 128 | + Select this config option to add support for the initrd= command |
---|
| 129 | + line parameter, allowing an initrd that resides on the same volume |
---|
| 130 | + as the kernel image to be loaded into memory. |
---|
| 131 | + |
---|
| 132 | + This method is deprecated. |
---|
| 133 | + |
---|
105 | 134 | config EFI_BOOTLOADER_CONTROL |
---|
106 | 135 | tristate "EFI Bootloader Control" |
---|
107 | | - depends on EFI_VARS |
---|
108 | 136 | default n |
---|
109 | | - ---help--- |
---|
| 137 | + help |
---|
110 | 138 | This module installs a reboot hook, such that if reboot() is |
---|
111 | 139 | invoked with a string argument NNN, "NNN" is copied to the |
---|
112 | 140 | "LoaderEntryOneShot" EFI variable, to be read by the |
---|
.. | .. |
---|
179 | 207 | have been evicted, since otherwise it will trigger even on clean |
---|
180 | 208 | reboots. |
---|
181 | 209 | |
---|
182 | | -config EFI_CUSTOM_SSDT_OVERLAYS |
---|
183 | | - bool "Load custom ACPI SSDT overlay from an EFI variable" |
---|
184 | | - depends on EFI_VARS && ACPI |
---|
185 | | - default ACPI_TABLE_UPGRADE |
---|
| 210 | +config EFI_RCI2_TABLE |
---|
| 211 | + bool "EFI Runtime Configuration Interface Table Version 2 Support" |
---|
| 212 | + depends on X86 || COMPILE_TEST |
---|
186 | 213 | help |
---|
187 | | - Allow loading of an ACPI SSDT overlay from an EFI variable specified |
---|
188 | | - by a kernel command line option. |
---|
| 214 | + Displays the content of the Runtime Configuration Interface |
---|
| 215 | + Table version 2 on Dell EMC PowerEdge systems as a binary |
---|
| 216 | + attribute 'rci2' under /sys/firmware/efi/tables directory. |
---|
189 | 217 | |
---|
190 | | - See Documentation/admin-guide/acpi/ssdt-overlays.rst for more |
---|
191 | | - information. |
---|
| 218 | + RCI2 table contains BIOS HII in XML format and is used to populate |
---|
| 219 | + BIOS setup page in Dell EMC OpenManage Server Administrator tool. |
---|
| 220 | + The BIOS setup page contains BIOS tokens which can be configured. |
---|
| 221 | + |
---|
| 222 | + Say Y here for Dell EMC PowerEdge systems. |
---|
| 223 | + |
---|
| 224 | +config EFI_DISABLE_PCI_DMA |
---|
| 225 | + bool "Clear Busmaster bit on PCI bridges during ExitBootServices()" |
---|
| 226 | + help |
---|
| 227 | + Disable the busmaster bit in the control register on all PCI bridges |
---|
| 228 | + while calling ExitBootServices() and passing control to the runtime |
---|
| 229 | + kernel. System firmware may configure the IOMMU to prevent malicious |
---|
| 230 | + PCI devices from being able to attack the OS via DMA. However, since |
---|
| 231 | + firmware can't guarantee that the OS is IOMMU-aware, it will tear |
---|
| 232 | + down IOMMU configuration when ExitBootServices() is called. This |
---|
| 233 | + leaves a window between where a hostile device could still cause |
---|
| 234 | + damage before Linux configures the IOMMU again. |
---|
| 235 | + |
---|
| 236 | + If you say Y here, the EFI stub will clear the busmaster bit on all |
---|
| 237 | + PCI bridges before ExitBootServices() is called. This will prevent |
---|
| 238 | + any malicious PCI devices from being able to perform DMA until the |
---|
| 239 | + kernel reenables busmastering after configuring the IOMMU. |
---|
| 240 | + |
---|
| 241 | + This option will cause failures with some poorly behaved hardware |
---|
| 242 | + and should not be enabled without testing. The kernel commandline |
---|
| 243 | + options "efi=disable_early_pci_dma" or "efi=no_disable_early_pci_dma" |
---|
| 244 | + may be used to override this option. |
---|
192 | 245 | |
---|
193 | 246 | endmenu |
---|
| 247 | + |
---|
| 248 | +config EFI_EMBEDDED_FIRMWARE |
---|
| 249 | + bool |
---|
| 250 | + depends on EFI |
---|
| 251 | + select CRYPTO_LIB_SHA256 |
---|
194 | 252 | |
---|
195 | 253 | config UEFI_CPER |
---|
196 | 254 | bool |
---|
.. | .. |
---|
209 | 267 | bool |
---|
210 | 268 | depends on ACPI |
---|
211 | 269 | default n |
---|
| 270 | + |
---|
| 271 | +config EFI_EARLYCON |
---|
| 272 | + def_bool y |
---|
| 273 | + depends on EFI && SERIAL_EARLYCON && !ARM && !IA64 |
---|
| 274 | + select FONT_SUPPORT |
---|
| 275 | + select ARCH_USE_MEMREMAP_PROT |
---|
| 276 | + |
---|
| 277 | +config EFI_CUSTOM_SSDT_OVERLAYS |
---|
| 278 | + bool "Load custom ACPI SSDT overlay from an EFI variable" |
---|
| 279 | + depends on EFI && ACPI |
---|
| 280 | + default ACPI_TABLE_UPGRADE |
---|
| 281 | + help |
---|
| 282 | + Allow loading of an ACPI SSDT overlay from an EFI variable specified |
---|
| 283 | + by a kernel command line option. |
---|
| 284 | + |
---|
| 285 | + See Documentation/admin-guide/acpi/ssdt-overlays.rst for more |
---|
| 286 | + information. |
---|