mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-26 04:53:42 +00:00
6f3badb67d
GRUB on ARM 32bit prior to version 2.04 lacks proper handling of caches.
In U-Boot v2019.04 a workaround for this was inadvertently removed.
The workaround is currently also needed for booting on systems with caches
that cannot be managed via CP15 (e.g. with an i.MX6 CPU).
Re-enable the workaround and make it customizable.
Fixes: f69d63fae2
("efi_loader: use efi_start_image() for bootefi")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
118 lines
3.8 KiB
Text
118 lines
3.8 KiB
Text
config EFI_LOADER
|
|
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
|
|
# We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB
|
|
depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
|
|
default y
|
|
select LIB_UUID
|
|
select HAVE_BLOCK_DEVICE
|
|
select REGEX
|
|
imply CFB_CONSOLE_ANSI
|
|
help
|
|
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"
|
|
default y
|
|
help
|
|
Select this option to enable correct handling of the capitalization of
|
|
Unicode codepoints in the range 0x0000-0xffff. If this option is not
|
|
set, only the the correct handling of the letters of the codepage
|
|
used by the FAT file system is ensured.
|
|
|
|
config EFI_UNICODE_COLLATION_PROTOCOL
|
|
bool "Deprecated version of the Unicode collation protocol"
|
|
default n
|
|
help
|
|
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 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_PLATFORM_LANG_CODES
|
|
string "Language codes supported by firmware"
|
|
default "en-US"
|
|
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.
|
|
|
|
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
|