hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/firmware/efi/Kconfig
....@@ -1,22 +1,18 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 menu "EFI (Extensible Firmware Interface) Support"
23 depends on EFI
34
45 config EFI_VARS
56 tristate "EFI Variable Support via sysfs"
6
- depends on EFI
7
+ depends on EFI && (X86 || IA64)
78 default n
89 help
910 If you say Y here, you are able to get EFI (Extensible Firmware
1011 Interface) variable information via sysfs. You may read,
1112 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.
2016
2117 config EFI_ESRT
2218 bool
....@@ -25,7 +21,7 @@
2521
2622 config EFI_VARS_PSTORE
2723 tristate "Register efivars backend for pstore"
28
- depends on EFI_VARS && PSTORE
24
+ depends on PSTORE
2925 default y
3026 help
3127 Say Y here to enable use efivars as a backend to pstore. This
....@@ -74,6 +70,27 @@
7470 Ranges can be set up to this value using comma-separated list.
7571 The default value is 8.
7672
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
+
7794 config EFI_PARAMS_FROM_FDT
7895 bool
7996 help
....@@ -84,12 +101,12 @@
84101 config EFI_RUNTIME_WRAPPERS
85102 bool
86103
87
-config EFI_ARMSTUB
104
+config EFI_GENERIC_STUB
88105 bool
89106
90107 config EFI_ARMSTUB_DTB_LOADER
91108 bool "Enable the DTB loader"
92
- depends on EFI_ARMSTUB
109
+ depends on EFI_GENERIC_STUB && !RISCV
93110 default y
94111 help
95112 Select this config option to add support for the dtb= command
....@@ -102,11 +119,22 @@
102119 functionality for bootloaders that do not have such support
103120 this option is necessary.
104121
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
+
105134 config EFI_BOOTLOADER_CONTROL
106135 tristate "EFI Bootloader Control"
107
- depends on EFI_VARS
108136 default n
109
- ---help---
137
+ help
110138 This module installs a reboot hook, such that if reboot() is
111139 invoked with a string argument NNN, "NNN" is copied to the
112140 "LoaderEntryOneShot" EFI variable, to be read by the
....@@ -179,18 +207,48 @@
179207 have been evicted, since otherwise it will trigger even on clean
180208 reboots.
181209
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
186213 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.
189217
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.
192245
193246 endmenu
247
+
248
+config EFI_EMBEDDED_FIRMWARE
249
+ bool
250
+ depends on EFI
251
+ select CRYPTO_LIB_SHA256
194252
195253 config UEFI_CPER
196254 bool
....@@ -209,3 +267,20 @@
209267 bool
210268 depends on ACPI
211269 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.