mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-19 05:31:32 +00:00
efi_loader: Make HII a config option
Heinrich ran into issues with HII and iPXE which lead to #SErrors on his Odroid-C2 system. We definitely do not want to regress just yet, so let's not expose the HII protocols by default. Instead, let's make it a config option that people can play with This way, we can stabilize the code in tree without breaking any users. Once someone figures out, why this breaks iPXE (probably a NULL dereference), we can enable it by default. Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de> --- v1 -> v2: - Remove HII selftest as well v2 -> v3: - Make config option
This commit is contained in:
parent
2f8ab1218f
commit
5fbb28958b
3 changed files with 18 additions and 1 deletions
|
@ -34,3 +34,18 @@ config EFI_LOADER_BOUNCE_BUFFER
|
||||||
Some hardware does not support DMA to full 64bit addresses. For this
|
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
|
hardware we can create a bounce buffer so that payloads don't have to
|
||||||
worry about platform details.
|
worry about platform details.
|
||||||
|
|
||||||
|
config EFI_LOADER_HII
|
||||||
|
bool "Expose HII protocols to EFI applications"
|
||||||
|
depends on EFI_LOADER
|
||||||
|
default n
|
||||||
|
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. The code is experimental still, so
|
||||||
|
beware that your system might break with HII enabled.
|
||||||
|
|
||||||
|
If unsure, say n.
|
||||||
|
|
|
@ -1558,6 +1558,7 @@ efi_status_t efi_setup_loaded_image(struct efi_device_path *device_path,
|
||||||
if (ret != EFI_SUCCESS)
|
if (ret != EFI_SUCCESS)
|
||||||
goto failure;
|
goto failure;
|
||||||
|
|
||||||
|
#if CONFIG_IS_ENABLED(EFI_LOADER_HII)
|
||||||
ret = efi_add_protocol(&obj->header,
|
ret = efi_add_protocol(&obj->header,
|
||||||
&efi_guid_hii_string_protocol,
|
&efi_guid_hii_string_protocol,
|
||||||
(void *)&efi_hii_string);
|
(void *)&efi_hii_string);
|
||||||
|
@ -1575,6 +1576,7 @@ efi_status_t efi_setup_loaded_image(struct efi_device_path *device_path,
|
||||||
(void *)&efi_hii_config_routing);
|
(void *)&efi_hii_config_routing);
|
||||||
if (ret != EFI_SUCCESS)
|
if (ret != EFI_SUCCESS)
|
||||||
goto failure;
|
goto failure;
|
||||||
|
#endif
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
failure:
|
failure:
|
||||||
|
|
|
@ -25,7 +25,6 @@ efi_selftest_exception.o \
|
||||||
efi_selftest_exitbootservices.o \
|
efi_selftest_exitbootservices.o \
|
||||||
efi_selftest_fdt.o \
|
efi_selftest_fdt.o \
|
||||||
efi_selftest_gop.o \
|
efi_selftest_gop.o \
|
||||||
efi_selftest_hii.o \
|
|
||||||
efi_selftest_loaded_image.o \
|
efi_selftest_loaded_image.o \
|
||||||
efi_selftest_manageprotocols.o \
|
efi_selftest_manageprotocols.o \
|
||||||
efi_selftest_memory.o \
|
efi_selftest_memory.o \
|
||||||
|
@ -41,6 +40,7 @@ efi_selftest_variables.o \
|
||||||
efi_selftest_watchdog.o
|
efi_selftest_watchdog.o
|
||||||
|
|
||||||
obj-$(CONFIG_CPU_V7) += efi_selftest_unaligned.o
|
obj-$(CONFIG_CPU_V7) += efi_selftest_unaligned.o
|
||||||
|
obj-$(CONFIG_EFI_LOADER_HII) += efi_selftest_hii.o
|
||||||
|
|
||||||
ifeq ($(CONFIG_BLK)$(CONFIG_PARTITIONS),yy)
|
ifeq ($(CONFIG_BLK)$(CONFIG_PARTITIONS),yy)
|
||||||
obj-y += efi_selftest_block_device.o
|
obj-y += efi_selftest_block_device.o
|
||||||
|
|
Loading…
Add table
Reference in a new issue