Kconfig 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. config EFI_LOADER
  2. bool "Support running UEFI applications"
  3. depends on OF_LIBFDT && ( \
  4. ARM && (SYS_CPU = arm1136 || \
  5. SYS_CPU = arm1176 || \
  6. SYS_CPU = armv7 || \
  7. SYS_CPU = armv8) || \
  8. X86 || RISCV || SANDBOX)
  9. # We need EFI_STUB_64BIT to be set on x86_64 with EFI_STUB
  10. depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT
  11. # We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB
  12. depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
  13. default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
  14. select LIB_UUID
  15. select HAVE_BLOCK_DEVICE
  16. select REGEX
  17. imply CFB_CONSOLE_ANSI
  18. imply USB_KEYBOARD_FN_KEYS
  19. imply VIDEO_ANSI
  20. help
  21. Select this option if you want to run UEFI applications (like GNU
  22. GRUB or iPXE) on top of U-Boot. If this option is enabled, U-Boot
  23. will expose the UEFI API to a loaded application, enabling it to
  24. reuse U-Boot's device drivers.
  25. if EFI_LOADER
  26. config EFI_GET_TIME
  27. bool "GetTime() runtime service"
  28. depends on DM_RTC
  29. default y
  30. help
  31. Provide the GetTime() runtime service at boottime. This service
  32. can be used by an EFI application to read the real time clock.
  33. config EFI_SET_TIME
  34. bool "SetTime() runtime service"
  35. depends on EFI_GET_TIME
  36. default n
  37. help
  38. Provide the SetTime() runtime service at boottime. This service
  39. can be used by an EFI application to adjust the real time clock.
  40. config EFI_DEVICE_PATH_TO_TEXT
  41. bool "Device path to text protocol"
  42. default y
  43. help
  44. The device path to text protocol converts device nodes and paths to
  45. human readable strings.
  46. config EFI_LOADER_HII
  47. bool "HII protocols"
  48. default y
  49. help
  50. The Human Interface Infrastructure is a complicated framework that
  51. allows UEFI applications to draw fancy menus and hook strings using
  52. a translation framework.
  53. U-Boot implements enough of its features to be able to run the UEFI
  54. Shell, but not more than that.
  55. config EFI_UNICODE_COLLATION_PROTOCOL2
  56. bool "Unicode collation protocol"
  57. default y
  58. help
  59. The Unicode collation protocol is used for lexical comparisons. It is
  60. required to run the UEFI shell.
  61. if EFI_UNICODE_COLLATION_PROTOCOL2
  62. config EFI_UNICODE_CAPITALIZATION
  63. bool "Support Unicode capitalization"
  64. default y
  65. help
  66. Select this option to enable correct handling of the capitalization of
  67. Unicode codepoints in the range 0x0000-0xffff. If this option is not
  68. set, only the the correct handling of the letters of the codepage
  69. used by the FAT file system is ensured.
  70. config EFI_UNICODE_COLLATION_PROTOCOL
  71. bool "Deprecated version of the Unicode collation protocol"
  72. default n
  73. help
  74. In EFI 1.10 a version of the Unicode collation protocol using ISO
  75. 639-2 language codes existed. This protocol is not part of the UEFI
  76. specification any longer. Unfortunately it is required to run the
  77. UEFI Self Certification Test (SCT) II, version 2.6, 2017.
  78. Choose this option for testing only. It is bound to be removed.
  79. endif
  80. config EFI_LOADER_BOUNCE_BUFFER
  81. bool "EFI Applications use bounce buffers for DMA operations"
  82. depends on ARM64
  83. default n
  84. help
  85. Some hardware does not support DMA to full 64bit addresses. For this
  86. hardware we can create a bounce buffer so that payloads don't have to
  87. worry about platform details.
  88. config EFI_PLATFORM_LANG_CODES
  89. string "Language codes supported by firmware"
  90. default "en-US"
  91. help
  92. This value is used to initialize the PlatformLangCodes variable. Its
  93. value is a semicolon (;) separated list of language codes in native
  94. RFC 4646 format, e.g. "en-US;de-DE". The first language code is used
  95. to initialize the PlatformLang variable.
  96. config EFI_HAVE_RUNTIME_RESET
  97. # bool "Reset runtime service is available"
  98. bool
  99. default y
  100. depends on ARCH_BCM283X || FSL_LAYERSCAPE || PSCI_RESET || SYSRESET_X86
  101. config EFI_GRUB_ARM32_WORKAROUND
  102. bool "Workaround for GRUB on 32bit ARM"
  103. default y
  104. depends on ARM && !ARM64
  105. help
  106. GRUB prior to version 2.04 requires U-Boot to disable caches. This
  107. workaround currently is also needed on systems with caches that
  108. cannot be managed via CP15.
  109. config EFI_RNG_PROTOCOL
  110. bool "EFI_RNG_PROTOCOL support"
  111. depends on DM_RNG
  112. default y
  113. help
  114. Provide a EFI_RNG_PROTOCOL implementation using the hardware random
  115. number generator of the platform.
  116. config EFI_LOAD_FILE2_INITRD
  117. bool "EFI_FILE_LOAD2_PROTOCOL for Linux initial ramdisk"
  118. default n
  119. help
  120. Expose a EFI_FILE_LOAD2_PROTOCOL that the Linux UEFI stub can
  121. use to load the initial ramdisk. Once this is enabled using
  122. initrd=<ramdisk> will stop working.
  123. config EFI_INITRD_FILESPEC
  124. string "initramfs path"
  125. default "host 0:1 initrd"
  126. depends on EFI_LOAD_FILE2_INITRD
  127. help
  128. Full path of the initramfs file, e.g. mmc 0:2 initramfs.cpio.gz.
  129. config EFI_SECURE_BOOT
  130. bool "Enable EFI secure boot support"
  131. depends on EFI_LOADER
  132. select SHA256
  133. select RSA
  134. select RSA_VERIFY_WITH_PKEY
  135. select IMAGE_SIGN_INFO
  136. select ASYMMETRIC_KEY_TYPE
  137. select ASYMMETRIC_PUBLIC_KEY_SUBTYPE
  138. select X509_CERTIFICATE_PARSER
  139. select PKCS7_MESSAGE_PARSER
  140. default n
  141. help
  142. Select this option to enable EFI secure boot support.
  143. Once SecureBoot mode is enforced, any EFI binary can run only if
  144. it is signed with a trusted key. To do that, you need to install,
  145. at least, PK, KEK and db.
  146. endif