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 help 94 Select this config option to add support for the dtb= command 95 line parameter, allowing a device tree blob to be loaded into 96 memory from the EFI System Partition by the stub. 97 98 The device tree is typically provided by the platform or by 99 the bootloader, so this option is mostly for development 100 purposes only. 101 102config EFI_BOOTLOADER_CONTROL 103 tristate "EFI Bootloader Control" 104 depends on EFI_VARS 105 default n 106 ---help--- 107 This module installs a reboot hook, such that if reboot() is 108 invoked with a string argument NNN, "NNN" is copied to the 109 "LoaderEntryOneShot" EFI variable, to be read by the 110 bootloader. If the string matches one of the boot labels 111 defined in its configuration, the bootloader will boot once 112 to that label. The "LoaderEntryRebootReason" EFI variable is 113 set with the reboot reason: "reboot" or "shutdown". The 114 bootloader reads this reboot reason and takes particular 115 action according to its policy. 116 117config EFI_CAPSULE_LOADER 118 tristate "EFI capsule loader" 119 depends on EFI 120 help 121 This option exposes a loader interface "/dev/efi_capsule_loader" for 122 users to load EFI capsules. This driver requires working runtime 123 capsule support in the firmware, which many OEMs do not provide. 124 125 Most users should say N. 126 127config EFI_CAPSULE_QUIRK_QUARK_CSH 128 bool "Add support for Quark capsules with non-standard headers" 129 depends on X86 && !64BIT 130 select EFI_CAPSULE_LOADER 131 default y 132 help 133 Add support for processing Quark X1000 EFI capsules, whose header 134 layout deviates from the layout mandated by the UEFI specification. 135 136config EFI_TEST 137 tristate "EFI Runtime Service Tests Support" 138 depends on EFI 139 default n 140 help 141 This driver uses the efi.<service> function pointers directly instead 142 of going through the efivar API, because it is not trying to test the 143 kernel subsystem, just for testing the UEFI runtime service 144 interfaces which are provided by the firmware. This driver is used 145 by the Firmware Test Suite (FWTS) for testing the UEFI runtime 146 interfaces readiness of the firmware. 147 Details for FWTS are available from: 148 <https://wiki.ubuntu.com/FirmwareTestSuite> 149 150 Say Y here to enable the runtime services support via /dev/efi_test. 151 If unsure, say N. 152 153config APPLE_PROPERTIES 154 bool "Apple Device Properties" 155 depends on EFI_STUB && X86 156 select EFI_DEV_PATH_PARSER 157 select UCS2_STRING 158 help 159 Retrieve properties from EFI on Apple Macs and assign them to 160 devices, allowing for improved support of Apple hardware. 161 Properties that would otherwise be missing include the 162 Thunderbolt Device ROM and GPU configuration data. 163 164 If unsure, say Y if you have a Mac. Otherwise N. 165 166config RESET_ATTACK_MITIGATION 167 bool "Reset memory attack mitigation" 168 depends on EFI_STUB 169 help 170 Request that the firmware clear the contents of RAM after a reboot 171 using the TCG Platform Reset Attack Mitigation specification. This 172 protects against an attacker forcibly rebooting the system while it 173 still contains secrets in RAM, booting another OS and extracting the 174 secrets. This should only be enabled when userland is configured to 175 clear the MemoryOverwriteRequest flag on clean shutdown after secrets 176 have been evicted, since otherwise it will trigger even on clean 177 reboots. 178 179endmenu 180 181config UEFI_CPER 182 bool 183 184config UEFI_CPER_ARM 185 bool 186 depends on UEFI_CPER && ( ARM || ARM64 ) 187 default y 188 189config UEFI_CPER_X86 190 bool 191 depends on UEFI_CPER && X86 192 default y 193 194config EFI_DEV_PATH_PARSER 195 bool 196 depends on ACPI 197 default n 198