summaryrefslogtreecommitdiff
path: root/lib/efi_loader
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2019-05-08 23:24:26 +0200
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2019-05-12 20:54:22 +0200
commit334997356e6c394d0898bdb746e7794f4b226ef3 (patch)
tree204c2d35cc2480e88d78084e7dbc1e48175aa67e /lib/efi_loader
parent9363fd22df56dcb81aa4f3a8c3adbed539fe297d (diff)
efi_loader: make Unicode collation protocol customizable
The Unicode collation protocol is not needed for EBBR compliance. So let's make it a customizable option. The Unicode capitalization table is only needed by this protocol. So let it depend on the Unicode collation protocol. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'lib/efi_loader')
-rw-r--r--lib/efi_loader/Kconfig11
-rw-r--r--lib/efi_loader/Makefile2
-rw-r--r--lib/efi_loader/efi_root_node.c2
3 files changed, 14 insertions, 1 deletions
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index 2b7ac6855f..3feb04a5ed 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -29,6 +29,15 @@ config EFI_LOADER_HII
U-Boot implements enough of its features to be able to run the UEFI
Shell, but not more than that.
+config EFI_UNICODE_COLLATION_PROTOCOL
+ 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_PROTOCOL
+
config EFI_UNICODE_CAPITALIZATION
bool "Support Unicode capitalization"
default y
@@ -38,6 +47,8 @@ config EFI_UNICODE_CAPITALIZATION
set, only the the correct handling of the letters of the codepage
used by the FAT file system is ensured.
+endif
+
config EFI_LOADER_BOUNCE_BUFFER
bool "EFI Applications use bounce buffers for DMA operations"
depends on ARM64
diff --git a/lib/efi_loader/Makefile b/lib/efi_loader/Makefile
index e6bbe43154..2b1ae61a3d 100644
--- a/lib/efi_loader/Makefile
+++ b/lib/efi_loader/Makefile
@@ -30,7 +30,7 @@ obj-y += efi_memory.o
obj-y += efi_root_node.o
obj-y += efi_runtime.o
obj-y += efi_setup.o
-obj-y += efi_unicode_collation.o
+obj-$(CONFIG_EFI_UNICODE_COLLATION_PROTOCOL) += efi_unicode_collation.o
obj-y += efi_variable.o
obj-y += efi_watchdog.o
obj-$(CONFIG_LCD) += efi_gop.o
diff --git a/lib/efi_loader/efi_root_node.c b/lib/efi_loader/efi_root_node.c
index 38514e0820..f36ca3456e 100644
--- a/lib/efi_loader/efi_root_node.c
+++ b/lib/efi_loader/efi_root_node.c
@@ -58,9 +58,11 @@ efi_status_t efi_root_node_register(void)
/* Device path utilities protocol */
&efi_guid_device_path_utilities_protocol,
(void *)&efi_device_path_utilities,
+#if CONFIG_IS_ENABLED(EFI_UNICODE_COLLATION_PROTOCOL)
/* Unicode collation protocol */
&efi_guid_unicode_collation_protocol,
(void *)&efi_unicode_collation_protocol,
+#endif
#if CONFIG_IS_ENABLED(EFI_LOADER_HII)
/* HII string protocol */
&efi_guid_hii_string_protocol,