1menu "EFI (Extensible Firmware Interface) Support" 2 depends on EFI 3 4config EFI_VARS 5 tristate "EFI Variable Support via sysfs" 6 depends on EFI 7 default n 8 help 9 If you say Y here, you are able to get EFI (Extensible Firmware 10 Interface) variable information via sysfs. You may read, 11 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> 20 21config EFI_ESRT 22 bool 23 depends on EFI && !IA64 24 default y 25 26config EFI_VARS_PSTORE 27 tristate "Register efivars backend for pstore" 28 depends on EFI_VARS && PSTORE 29 default y 30 help 31 Say Y here to enable use efivars as a backend to pstore. This 32 will allow writing console messages, crash dumps, or anything 33 else supported by pstore to EFI variables. 34 35config EFI_VARS_PSTORE_DEFAULT_DISABLE 36 bool "Disable using efivars as a pstore backend by default" 37 depends on EFI_VARS_PSTORE 38 default n 39 help 40 Saying Y here will disable the use of efivars as a storage 41 backend for pstore by default. This setting can be overridden 42 using the efivars module's pstore_disable parameter. 43 44config EFI_RUNTIME_MAP 45 bool "Export efi runtime maps to sysfs" 46 depends on X86 && EFI && KEXEC_CORE 47 default y 48 help 49 Export efi runtime memory maps to /sys/firmware/efi/runtime-map. 50 That memory map is used for example by kexec to set up efi virtual 51 mapping the 2nd kernel, but can also be used for debugging purposes. 52 53 See also Documentation/ABI/testing/sysfs-firmware-efi-runtime-map. 54 55config EFI_FAKE_MEMMAP 56 bool "Enable EFI fake memory map" 57 depends on EFI && X86 58 default n 59 help 60 Saying Y here will enable "efi_fake_mem" boot option. 61 By specifying this parameter, you can add arbitrary attribute 62 to specific memory range by updating original (firmware provided) 63 EFI memmap. 64 This is useful for debugging of EFI memmap related feature. 65 e.g. Address Range Mirroring feature. 66 67config EFI_MAX_FAKE_MEM 68 int "maximum allowable number of ranges in efi_fake_mem boot option" 69 depends on EFI_FAKE_MEMMAP 70 range 1 128 71 default 8 72 help 73 Maximum allowable number of ranges in efi_fake_mem boot option. 74 Ranges can be set up to this value using comma-separated list. 75 The default value is 8. 76 77config EFI_PARAMS_FROM_FDT 78 bool 79 help 80 Select this config option from the architecture Kconfig if 81 the EFI runtime support gets system table address, memory 82 map address, and other parameters from the device tree. 83 84config EFI_RUNTIME_WRAPPERS 85 bool 86 87config EFI_ARMSTUB 88 bool 89 90config EFI_ARMSTUB_DTB_LOADER 91 bool "Enable the DTB loader" 92 depends on EFI_ARMSTUB 93 default y 94 help 95 Select this config option to add support for the dtb= command 96 line parameter, allowing a device tree blob to be loaded into 97 memory from the EFI System Partition by the stub. 98 99 If the device tree is provided by the platform or by 100 the bootloader this option may not be needed. 101 But, for various development reasons and to maintain existing 102 functionality for bootloaders that do not have such support 103 this option is necessary. 104 105config EFI_BOOTLOADER_CONTROL 106 tristate "EFI Bootloader Control" 107 depends on EFI_VARS 108 default n 109 ---help--- 110 This module installs a reboot hook, such that if reboot() is 111 invoked with a string argument NNN, "NNN" is copied to the 112 "LoaderEntryOneShot" EFI variable, to be read by the 113 bootloader. If the string matches one of the boot labels 114 defined in its configuration, the bootloader will boot once 115 to that label. The "LoaderEntryRebootReason" EFI variable is 116 set with the reboot reason: "reboot" or "shutdown". The 117 bootloader reads this reboot reason and takes particular 118 action according to its policy. 119 120config EFI_CAPSULE_LOADER 121 tristate "EFI capsule loader" 122 depends on EFI 123 help 124 This option exposes a loader interface "/dev/efi_capsule_loader" for 125 users to load EFI capsules. This driver requires working runtime 126 capsule support in the firmware, which many OEMs do not provide. 127 128 Most users should say N. 129 130config EFI_CAPSULE_QUIRK_QUARK_CSH 131 bool "Add support for Quark capsules with non-standard headers" 132 depends on X86 && !64BIT 133 select EFI_CAPSULE_LOADER 134 default y 135 help 136 Add support for processing Quark X1000 EFI capsules, whose header 137 layout deviates from the layout mandated by the UEFI specification. 138 139config EFI_TEST 140 tristate "EFI Runtime Service Tests Support" 141 depends on EFI 142 default n 143 help 144 This driver uses the efi.<service> function pointers directly instead 145 of going through the efivar API, because it is not trying to test the 146 kernel subsystem, just for testing the UEFI runtime service 147 interfaces which are provided by the firmware. This driver is used 148 by the Firmware Test Suite (FWTS) for testing the UEFI runtime 149 interfaces readiness of the firmware. 150 Details for FWTS are available from: 151 <https://wiki.ubuntu.com/FirmwareTestSuite> 152 153 Say Y here to enable the runtime services support via /dev/efi_test. 154 If unsure, say N. 155 156config APPLE_PROPERTIES 157 bool "Apple Device Properties" 158 depends on EFI_STUB && X86 159 select EFI_DEV_PATH_PARSER 160 select UCS2_STRING 161 help 162 Retrieve properties from EFI on Apple Macs and assign them to 163 devices, allowing for improved support of Apple hardware. 164 Properties that would otherwise be missing include the 165 Thunderbolt Device ROM and GPU configuration data. 166 167 If unsure, say Y if you have a Mac. Otherwise N. 168 169config RESET_ATTACK_MITIGATION 170 bool "Reset memory attack mitigation" 171 depends on EFI_STUB 172 help 173 Request that the firmware clear the contents of RAM after a reboot 174 using the TCG Platform Reset Attack Mitigation specification. This 175 protects against an attacker forcibly rebooting the system while it 176 still contains secrets in RAM, booting another OS and extracting the 177 secrets. This should only be enabled when userland is configured to 178 clear the MemoryOverwriteRequest flag on clean shutdown after secrets 179 have been evicted, since otherwise it will trigger even on clean 180 reboots. 181 182endmenu 183 184config UEFI_CPER 185 bool 186 187config UEFI_CPER_ARM 188 bool 189 depends on UEFI_CPER && ( ARM || ARM64 ) 190 default y 191 192config UEFI_CPER_X86 193 bool 194 depends on UEFI_CPER && X86 195 default y 196 197config EFI_DEV_PATH_PARSER 198 bool 199 depends on ACPI 200 default n 201 202config EFI_EARLYCON 203 def_bool y 204 depends on SERIAL_EARLYCON && !ARM && !IA64 205 select FONT_SUPPORT 206 select ARCH_USE_MEMREMAP_PROT 207