[PATCH v2 27/39] efi_loader: Rename and move CMD_BOOTEFI_HELLO_COMPILE

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Aug 7 03:01:47 CEST 2024


On 06.08.24 14:58, Simon Glass wrote:
> This is not actually a command so the name is confusing. Use
> BOOTEFI_HELLO_COMPILE instead. Put it in the efi_loader directory
> with the other such config options.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> (no changes since v1)
>
>   arch/arm/lib/Makefile            |  2 +-
>   arch/riscv/lib/Makefile          |  2 +-
>   arch/x86/lib/Makefile            |  2 +-
>   cmd/Kconfig                      | 14 +-------------
>   configs/octeontx2_95xx_defconfig |  2 +-
>   configs/octeontx2_96xx_defconfig |  2 +-
>   configs/octeontx_81xx_defconfig  |  2 +-
>   configs/octeontx_83xx_defconfig  |  2 +-
>   doc/develop/uefi/uefi.rst        |  2 +-
>   lib/efi_loader/Kconfig           | 12 ++++++++++++
>   lib/efi_loader/Makefile          |  2 +-
>   test/py/tests/test_efi_fit.py    |  2 +-
>   test/py/tests/test_efi_loader.py |  2 +-
>   13 files changed, 24 insertions(+), 24 deletions(-)
>
> diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile
> index 67275fba616..406797f998c 100644
> --- a/arch/arm/lib/Makefile
> +++ b/arch/arm/lib/Makefile
> @@ -130,7 +130,7 @@ CFLAGS_REMOVE_$(EFI_CRT0) := $(CFLAGS_NON_EFI)
>   CFLAGS_$(EFI_RELOC) := $(CFLAGS_EFI)
>   CFLAGS_REMOVE_$(EFI_RELOC) := $(CFLAGS_NON_EFI)
>
> -extra-$(CONFIG_CMD_BOOTEFI_HELLO_COMPILE) += $(EFI_CRT0) $(EFI_RELOC)
> +extra-$(CONFIG_BOOTEFI_HELLO_COMPILE) += $(EFI_CRT0) $(EFI_RELOC)

In scripts/Makefile.lib we have this line:

$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o
$(obj)/efi_freestanding.o

This is enough to build efi_crt0.o and efi_reloc.o when needed.

Please, remove the extra-* lines for these objects.

>   # TODO: As of v2019.01 the relocation code for the EFI application cannot
>   # be built on ARMv7-M.
>   ifndef CONFIG_CPU_V7M
> diff --git a/arch/riscv/lib/Makefile b/arch/riscv/lib/Makefile
> index 65dc49f6fa5..3bd90c7a354 100644
> --- a/arch/riscv/lib/Makefile
> +++ b/arch/riscv/lib/Makefile
> @@ -36,7 +36,7 @@ CFLAGS_REMOVE_$(EFI_CRT0) := $(CFLAGS_NON_EFI)
>   CFLAGS_$(EFI_RELOC) := $(CFLAGS_EFI)
>   CFLAGS_REMOVE_$(EFI_RELOC) := $(CFLAGS_NON_EFI)
>
> -extra-$(CONFIG_CMD_BOOTEFI_HELLO_COMPILE) += $(EFI_CRT0) $(EFI_RELOC)
> +extra-$(CONFIG_BOOTEFI_HELLO_COMPILE) += $(EFI_CRT0) $(EFI_RELOC)
>   extra-$(CONFIG_CMD_BOOTEFI_SELFTEST) += $(EFI_CRT0) $(EFI_RELOC)
>   extra-$(CONFIG_EFI) += $(EFI_CRT0) $(EFI_RELOC)

ditto

Best regards

Heinrich

>
> diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile
> index 8fc35e1b51e..70dccd7f983 100644
> --- a/arch/x86/lib/Makefile
> +++ b/arch/x86/lib/Makefile
> @@ -97,7 +97,7 @@ endif
>   else
>
>   ifndef CONFIG_SPL_BUILD
> -ifneq ($(CONFIG_CMD_BOOTEFI_SELFTEST)$(CONFIG_CMD_BOOTEFI_HELLO_COMPILE),)
> +ifneq ($(CONFIG_CMD_BOOTEFI_SELFTEST)$(CONFIG_BOOTEFI_HELLO_COMPILE),)
>   extra-y += $(EFI_CRT0) $(EFI_RELOC)
>   endif
>   endif
> diff --git a/cmd/Kconfig b/cmd/Kconfig
> index 978f44eda42..fcf6bb73f88 100644
> --- a/cmd/Kconfig
> +++ b/cmd/Kconfig
> @@ -431,21 +431,9 @@ config CMD_BOOTEFI_BOOTMGR
>   	  This subcommand will allow you to select the UEFI binary to be booted
>   	  via UEFI variables Boot####, BootOrder, and BootNext.
>
> -config CMD_BOOTEFI_HELLO_COMPILE
> -	bool "Compile a standard EFI hello world binary for testing"
> -	default y
> -	help
> -	  This compiles a standard EFI hello world application with U-Boot so
> -	  that it can be used with the test/py testing framework. This is useful
> -	  for testing that EFI is working at a basic level, and for bringing
> -	  up EFI support on a new architecture.
> -
> -	  No additional space will be required in the resulting U-Boot binary
> -	  when this option is enabled.
> -
>   config CMD_BOOTEFI_HELLO
>   	bool "Allow booting a standard EFI hello world for testing"
> -	depends on CMD_BOOTEFI_BINARY && CMD_BOOTEFI_HELLO_COMPILE
> +	depends on CMD_BOOTEFI_BINARY && BOOTEFI_HELLO_COMPILE
>   	default y if CMD_BOOTEFI_SELFTEST
>   	help
>   	  This adds a standard EFI hello world application to U-Boot so that
> diff --git a/configs/octeontx2_95xx_defconfig b/configs/octeontx2_95xx_defconfig
> index c5dc4f4dfa6..23c313375ac 100644
> --- a/configs/octeontx2_95xx_defconfig
> +++ b/configs/octeontx2_95xx_defconfig
> @@ -38,7 +38,7 @@ CONFIG_SYS_PBSIZE=1050
>   CONFIG_BOARD_EARLY_INIT_R=y
>   CONFIG_HUSH_PARSER=y
>   CONFIG_SYS_PROMPT="Marvell> "
> -# CONFIG_CMD_BOOTEFI_HELLO_COMPILE is not set
> +# CONFIG_BOOTEFI_HELLO_COMPILE is not set
>   CONFIG_CMD_MD5SUM=y
>   CONFIG_MD5SUM_VERIFY=y
>   CONFIG_CMD_MX_CYCLIC=y
> diff --git a/configs/octeontx2_96xx_defconfig b/configs/octeontx2_96xx_defconfig
> index ad61b80300f..197e72acd1f 100644
> --- a/configs/octeontx2_96xx_defconfig
> +++ b/configs/octeontx2_96xx_defconfig
> @@ -38,7 +38,7 @@ CONFIG_SYS_PBSIZE=1050
>   CONFIG_BOARD_EARLY_INIT_R=y
>   CONFIG_HUSH_PARSER=y
>   CONFIG_SYS_PROMPT="Marvell> "
> -# CONFIG_CMD_BOOTEFI_HELLO_COMPILE is not set
> +# CONFIG_BOOTEFI_HELLO_COMPILE is not set
>   CONFIG_CMD_MD5SUM=y
>   CONFIG_MD5SUM_VERIFY=y
>   CONFIG_CMD_MX_CYCLIC=y
> diff --git a/configs/octeontx_81xx_defconfig b/configs/octeontx_81xx_defconfig
> index 1d39bce6abd..b501d653c27 100644
> --- a/configs/octeontx_81xx_defconfig
> +++ b/configs/octeontx_81xx_defconfig
> @@ -39,7 +39,7 @@ CONFIG_SYS_PBSIZE=1050
>   CONFIG_BOARD_EARLY_INIT_R=y
>   CONFIG_HUSH_PARSER=y
>   CONFIG_SYS_PROMPT="Marvell> "
> -# CONFIG_CMD_BOOTEFI_HELLO_COMPILE is not set
> +# CONFIG_BOOTEFI_HELLO_COMPILE is not set
>   CONFIG_CMD_MD5SUM=y
>   CONFIG_MD5SUM_VERIFY=y
>   CONFIG_CMD_MX_CYCLIC=y
> diff --git a/configs/octeontx_83xx_defconfig b/configs/octeontx_83xx_defconfig
> index ba9fc5f9553..4a537f5cbbe 100644
> --- a/configs/octeontx_83xx_defconfig
> +++ b/configs/octeontx_83xx_defconfig
> @@ -37,7 +37,7 @@ CONFIG_SYS_PBSIZE=1050
>   CONFIG_BOARD_EARLY_INIT_R=y
>   CONFIG_HUSH_PARSER=y
>   CONFIG_SYS_PROMPT="Marvell> "
> -# CONFIG_CMD_BOOTEFI_HELLO_COMPILE is not set
> +# CONFIG_BOOTEFI_HELLO_COMPILE is not set
>   CONFIG_CMD_MD5SUM=y
>   CONFIG_MD5SUM_VERIFY=y
>   CONFIG_CMD_MX_CYCLIC=y
> diff --git a/doc/develop/uefi/uefi.rst b/doc/develop/uefi/uefi.rst
> index d450b12bf80..9aeee23a32e 100644
> --- a/doc/develop/uefi/uefi.rst
> +++ b/doc/develop/uefi/uefi.rst
> @@ -693,7 +693,7 @@ Executing the built in hello world application
>
>   A hello world UEFI application can be built with::
>
> -    CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y
> +    CONFIG_BOOTEFI_HELLO_COMPILE=y
>
>   It can be embedded into the U-Boot binary with::
>
> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> index 1179c31bb13..ab2c1c44364 100644
> --- a/lib/efi_loader/Kconfig
> +++ b/lib/efi_loader/Kconfig
> @@ -516,4 +516,16 @@ config EFI_HTTP_BOOT
>   	  Enabling this option adds EFI HTTP Boot support. It allows to
>   	  directly boot from network.
>
> +config BOOTEFI_HELLO_COMPILE
> +	bool "Compile a standard EFI hello world binary for testing"
> +	default y
> +	help
> +	  This compiles a standard EFI hello world application with U-Boot so
> +	  that it can be used with the test/py testing framework. This is useful
> +	  for testing that EFI is working at a basic level, and for bringing
> +	  up EFI support on a new architecture.
> +
> +	  No additional space will be required in the resulting U-Boot binary
> +	  when this option is enabled.
> +
>   endif
> diff --git a/lib/efi_loader/Makefile b/lib/efi_loader/Makefile
> index 2af6f2066b5..27dbd9e760d 100644
> --- a/lib/efi_loader/Makefile
> +++ b/lib/efi_loader/Makefile
> @@ -27,7 +27,7 @@ always += boothart.efi
>   targets += boothart.o
>   endif
>
> -ifneq ($(CONFIG_CMD_BOOTEFI_HELLO_COMPILE),)
> +ifneq ($(CONFIG_BOOTEFI_HELLO_COMPILE),)
>   always += helloworld.efi
>   targets += helloworld.o
>   endif
> diff --git a/test/py/tests/test_efi_fit.py b/test/py/tests/test_efi_fit.py
> index 0ad483500f8..550058a30fd 100644
> --- a/test/py/tests/test_efi_fit.py
> +++ b/test/py/tests/test_efi_fit.py
> @@ -119,7 +119,7 @@ FDT_DATA = '''
>   '''
>
>   @pytest.mark.buildconfigspec('bootm_efi')
> - at pytest.mark.buildconfigspec('cmd_bootefi_hello_compile')
> + at pytest.mark.buildconfigspec('BOOTEFI_HELLO_COMPILE')
>   @pytest.mark.buildconfigspec('fit')
>   @pytest.mark.notbuildconfigspec('generate_acpi_table')
>   @pytest.mark.requiredtool('dtc')
> diff --git a/test/py/tests/test_efi_loader.py b/test/py/tests/test_efi_loader.py
> index 85473a9049b..ef1f1f1afb3 100644
> --- a/test/py/tests/test_efi_loader.py
> +++ b/test/py/tests/test_efi_loader.py
> @@ -148,7 +148,7 @@ def fetch_tftp_file(u_boot_console, env_conf):
>       return addr
>
>   @pytest.mark.buildconfigspec('of_control')
> - at pytest.mark.buildconfigspec('cmd_bootefi_hello_compile')
> + at pytest.mark.buildconfigspec('BOOTEFI_HELLO_COMPILE')
>   def test_efi_helloworld_net(u_boot_console):
>       """Run the helloworld.efi binary via TFTP.
>



More information about the U-Boot mailing list