Merge branch 'nvme-5.2-rc2' of git://git.infradead.org/nvme into for-linus
[linux-2.6-microblaze.git] / drivers / firmware / efi / Kconfig
1 menu "EFI (Extensible Firmware Interface) Support"
2         depends on EFI
3
4 config 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
21 config EFI_ESRT
22         bool
23         depends on EFI && !IA64
24         default y
25
26 config 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
35 config 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
44 config 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
55 config 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
67 config 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
77 config 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
84 config EFI_RUNTIME_WRAPPERS
85         bool
86
87 config EFI_ARMSTUB
88         bool
89
90 config 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
105 config 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
120 config 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
130 config 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
139 config 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
156 config 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
169 config 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
182 endmenu
183
184 config UEFI_CPER
185         bool
186
187 config UEFI_CPER_ARM
188         bool
189         depends on UEFI_CPER && ( ARM || ARM64 )
190         default y
191
192 config UEFI_CPER_X86
193         bool
194         depends on UEFI_CPER && X86
195         default y
196
197 config EFI_DEV_PATH_PARSER
198         bool
199         depends on ACPI
200         default n
201
202 config EFI_EARLYCON
203         def_bool y
204         depends on SERIAL_EARLYCON && !ARM && !IA64
205         select FONT_SUPPORT
206         select ARCH_USE_MEMREMAP_PROT