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