Merge tag 'efi-2019-10-rc2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
[platform/kernel/u-boot.git] / lib / efi_loader / Kconfig
index 50b0501..c7027a9 100644 (file)
@@ -1,5 +1,5 @@
 config EFI_LOADER
-       bool "Support running EFI Applications in U-Boot"
+       bool "Support running UEFI applications"
        depends on (ARM || X86 || RISCV || SANDBOX) && OF_LIBFDT
        # We need EFI_STUB_64BIT to be set on x86_64 with EFI_STUB
        depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT
@@ -11,14 +11,58 @@ config EFI_LOADER
        select REGEX
        imply CFB_CONSOLE_ANSI
        help
-         Select this option if you want to run EFI applications (like grub2)
-         on top of U-Boot. If this option is enabled, U-Boot will expose EFI
-         interfaces to a loaded EFI application, enabling it to reuse U-Boot's
-         device drivers.
+         Select this option if you want to run UEFI applications (like GNU
+         GRUB or iPXE) on top of U-Boot. If this option is enabled, U-Boot
+         will expose the UEFI API to a loaded application, enabling it to
+         reuse U-Boot's device drivers.
+
+if EFI_LOADER
+
+config EFI_GET_TIME
+       bool "GetTime() runtime service"
+       depends on DM_RTC
+       default y
+       help
+         Provide the GetTime() runtime service at boottime. This service
+         can be used by an EFI application to read the real time clock.
+
+config EFI_SET_TIME
+       bool "SetTime() runtime service"
+       depends on EFI_GET_TIME
+       default n
+       help
+         Provide the SetTime() runtime service at boottime. This service
+         can be used by an EFI application to adjust the real time clock.
+
+config EFI_DEVICE_PATH_TO_TEXT
+       bool "Device path to text protocol"
+       default y
+       help
+         The device path to text protocol converts device nodes and paths to
+         human readable strings.
+
+config EFI_LOADER_HII
+       bool "HII protocols"
+       default y
+       help
+         The Human Interface Infrastructure is a complicated framework that
+         allows UEFI applications to draw fancy menus and hook strings using
+         a translation framework.
+
+         U-Boot implements enough of its features to be able to run the UEFI
+         Shell, but not more than that.
+
+config EFI_UNICODE_COLLATION_PROTOCOL2
+       bool "Unicode collation protocol"
+       default y
+       help
+         The Unicode collation protocol is used for lexical comparisons. It is
+         required to run the UEFI shell.
+
+if EFI_UNICODE_COLLATION_PROTOCOL2
 
 config EFI_UNICODE_CAPITALIZATION
        bool "Support Unicode capitalization"
-       depends on EFI_LOADER
        default y
        help
          Select this option to enable correct handling of the capitalization of
@@ -26,33 +70,49 @@ config EFI_UNICODE_CAPITALIZATION
          set, only the the correct handling of the letters of the codepage
          used by the FAT file system is ensured.
 
-config EFI_PLATFORM_LANG_CODES
-       string "Language codes supported by firmware"
-       depends on EFI_LOADER
-       default "en-US"
+config EFI_UNICODE_COLLATION_PROTOCOL
+       bool "Deprecated version of the Unicode collation protocol"
+       default n
        help
-         This value is used to initialize the PlatformLangCodes variable. Its
-         value is a semicolon (;) separated list of language codes in native
-         RFC 4646 format, e.g. "en-US;de-DE". The first language code is used
-         to initialize the PlatformLang variable.
+         In EFI 1.10 a version of the Unicode collation protocol using ISO
+         639-2 language codes existed. This protocol is not part of the UEFI
+         specification any longer. Unfortunately it is required to run the
+         UEFI Self Certification Test (SCT) II, version 2.6, 2017.
+
+         Choose this option for testing only. It is bound to be removed.
+
+endif
 
 config EFI_LOADER_BOUNCE_BUFFER
        bool "EFI Applications use bounce buffers for DMA operations"
-       depends on EFI_LOADER && ARM64
+       depends on ARM64
        default n
        help
          Some hardware does not support DMA to full 64bit addresses. For this
          hardware we can create a bounce buffer so that payloads don't have to
          worry about platform details.
 
-config EFI_LOADER_HII
-       bool "Expose HII protocols to EFI applications"
-       depends on EFI_LOADER
-       default y
+config EFI_PLATFORM_LANG_CODES
+       string "Language codes supported by firmware"
+       default "en-US"
        help
-         The Human Interface Infrastructure is a complicated framework that
-         allows UEFI applications to draw fancy menus and hook strings using
-         a translation framework.
+         This value is used to initialize the PlatformLangCodes variable. Its
+         value is a semicolon (;) separated list of language codes in native
+         RFC 4646 format, e.g. "en-US;de-DE". The first language code is used
+         to initialize the PlatformLang variable.
 
-         U-Boot implements enough of its features to be able to run the UEFI
-         Shell, but not more than that.
+config EFI_HAVE_RUNTIME_RESET
+       # bool "Reset runtime service is available"
+       bool
+       default y
+       depends on ARCH_BCM283X || FSL_LAYERSCAPE || PSCI_RESET || SYSRESET_X86
+
+config EFI_GRUB_ARM32_WORKAROUND
+       bool "Workaround for GRUB on 32bit ARM"
+       default y
+       depends on ARM && !ARM64
+       help
+         GRUB prior to version 2.04 requires U-Boot to disable caches. This
+         workaround currently is also needed on systems with caches that
+         cannot be managed via CP15.
+endif