Kconfig 6.4 KB

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