xref: /openbmc/linux/drivers/firmware/efi/Kconfig (revision e5c86679)
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_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
105config 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
115config EFI_TEST
116	tristate "EFI Runtime Service Tests Support"
117	depends on EFI
118	default n
119	help
120	  This driver uses the efi.<service> function pointers directly instead
121	  of going through the efivar API, because it is not trying to test the
122	  kernel subsystem, just for testing the UEFI runtime service
123	  interfaces which are provided by the firmware. This driver is used
124	  by the Firmware Test Suite (FWTS) for testing the UEFI runtime
125	  interfaces readiness of the firmware.
126	  Details for FWTS are available from:
127	  <https://wiki.ubuntu.com/FirmwareTestSuite>
128
129	  Say Y here to enable the runtime services support via /dev/efi_test.
130	  If unsure, say N.
131
132config APPLE_PROPERTIES
133	bool "Apple Device Properties"
134	depends on EFI_STUB && X86
135	select EFI_DEV_PATH_PARSER
136	select UCS2_STRING
137	help
138	  Retrieve properties from EFI on Apple Macs and assign them to
139	  devices, allowing for improved support of Apple hardware.
140	  Properties that would otherwise be missing include the
141	  Thunderbolt Device ROM and GPU configuration data.
142
143	  If unsure, say Y if you have a Mac.  Otherwise N.
144
145endmenu
146
147config UEFI_CPER
148	bool
149
150config EFI_DEV_PATH_PARSER
151	bool
152	depends on ACPI
153	default n
154