blob: 6501ee56aaf110ea152e7e7bbf97a6e827aa168f [file] [log] [blame]
Alexander Graf67ee7052016-03-04 01:10:07 +01001config EFI_LOADER
Heinrich Schuchardt96b236a2019-05-11 10:27:58 +02002 bool "Support running UEFI applications"
Simon Glass82c5388f2018-09-15 00:50:53 -06003 depends on (ARM || X86 || RISCV || SANDBOX) && OF_LIBFDT
Alexander Graf5e247172018-01-24 14:54:21 +01004 # We need EFI_STUB_64BIT to be set on x86_64 with EFI_STUB
5 depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT
6 # We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB
7 depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
Alexander Graf67ee7052016-03-04 01:10:07 +01008 default y
Adam Ford70c8f052018-02-06 12:14:28 -06009 select LIB_UUID
Adam Fordb10ba902018-02-06 12:43:56 -060010 select HAVE_BLOCK_DEVICE
Heinrich Schuchardt9e18bfa2019-01-22 21:35:23 +010011 select REGEX
Heinrich Schuchardt35550cc2018-04-29 23:37:12 +020012 imply CFB_CONSOLE_ANSI
Alexander Graf67ee7052016-03-04 01:10:07 +010013 help
Heinrich Schuchardt96b236a2019-05-11 10:27:58 +020014 Select this option if you want to run UEFI applications (like GNU
15 GRUB or iPXE) on top of U-Boot. If this option is enabled, U-Boot
16 will expose the UEFI API to a loaded application, enabling it to
17 reuse U-Boot's device drivers.
Alexander Graf7c00a3c2016-05-11 18:25:48 +020018
Heinrich Schuchardt0cbab582019-05-08 23:17:38 +020019if EFI_LOADER
20
Heinrich Schuchardt3db35912019-05-11 09:53:33 +020021config EFI_DEVICE_PATH_TO_TEXT
22 bool "Device path to text protocol"
23 default y
24 help
25 The device path to text protocol converts device nodes and paths to
26 human readable strings.
27
Heinrich Schuchardt0cbab582019-05-08 23:17:38 +020028config EFI_LOADER_HII
29 bool "HII protocols"
30 default y
31 help
32 The Human Interface Infrastructure is a complicated framework that
33 allows UEFI applications to draw fancy menus and hook strings using
34 a translation framework.
35
36 U-Boot implements enough of its features to be able to run the UEFI
37 Shell, but not more than that.
38
Heinrich Schuchardt532fec72019-05-08 23:24:26 +020039config EFI_UNICODE_COLLATION_PROTOCOL
40 bool "Unicode collation protocol"
41 default y
42 help
43 The Unicode collation protocol is used for lexical comparisons. It is
44 required to run the UEFI shell.
45
46if EFI_UNICODE_COLLATION_PROTOCOL
47
Heinrich Schuchardt58ddcd32018-09-04 19:34:56 +020048config EFI_UNICODE_CAPITALIZATION
49 bool "Support Unicode capitalization"
Heinrich Schuchardt58ddcd32018-09-04 19:34:56 +020050 default y
51 help
52 Select this option to enable correct handling of the capitalization of
53 Unicode codepoints in the range 0x0000-0xffff. If this option is not
54 set, only the the correct handling of the letters of the codepage
55 used by the FAT file system is ensured.
56
Heinrich Schuchardt532fec72019-05-08 23:24:26 +020057endif
58
Alexander Graf7c00a3c2016-05-11 18:25:48 +020059config EFI_LOADER_BOUNCE_BUFFER
60 bool "EFI Applications use bounce buffers for DMA operations"
Heinrich Schuchardt0cbab582019-05-08 23:17:38 +020061 depends on ARM64
Alexander Graf7c00a3c2016-05-11 18:25:48 +020062 default n
63 help
64 Some hardware does not support DMA to full 64bit addresses. For this
65 hardware we can create a bounce buffer so that payloads don't have to
66 worry about platform details.
Alexander Graf44be5da2019-02-11 15:24:00 +010067
Heinrich Schuchardt0cbab582019-05-08 23:17:38 +020068config EFI_PLATFORM_LANG_CODES
69 string "Language codes supported by firmware"
70 default "en-US"
Alexander Graf44be5da2019-02-11 15:24:00 +010071 help
Heinrich Schuchardt0cbab582019-05-08 23:17:38 +020072 This value is used to initialize the PlatformLangCodes variable. Its
73 value is a semicolon (;) separated list of language codes in native
74 RFC 4646 format, e.g. "en-US;de-DE". The first language code is used
75 to initialize the PlatformLang variable.
Alexander Graf44be5da2019-02-11 15:24:00 +010076
Heinrich Schuchardt0cbab582019-05-08 23:17:38 +020077endif