[PATCH v4 03/14] efi_loader: Rename and move CMD_BOOTEFI_HELLO_COMPILE
Ilias Apalodimas
ilias.apalodimas at linaro.org
Mon Aug 26 12:22:55 CEST 2024
On Thu, 15 Aug 2024 at 23:24, Simon Glass <sjg at chromium.org> 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.
>
> The link rule (for $(obj)/%_efi.so) in scripts/Makefile.lib handles
> pulling in efi_crt0.o and efi_reloc.o so drop the 'extra' rules.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> (no changes since v3)
>
> Changes in v3:
> - Drop the extra- rules since scripts/Makefile.lib takes care of it
>
> arch/arm/lib/Makefile | 1 -
> arch/riscv/lib/Makefile | 1 -
> 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, 22 insertions(+), 24 deletions(-)
>
> diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile
> index 67275fba616..4e54c577cc3 100644
> --- a/arch/arm/lib/Makefile
> +++ b/arch/arm/lib/Makefile
> @@ -130,7 +130,6 @@ 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)
> # 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..4f6272aab6e 100644
> --- a/arch/riscv/lib/Makefile
> +++ b/arch/riscv/lib/Makefile
> @@ -36,7 +36,6 @@ 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_CMD_BOOTEFI_SELFTEST) += $(EFI_CRT0) $(EFI_RELOC)
> extra-$(CONFIG_EFI) += $(EFI_CRT0) $(EFI_RELOC)
>
> diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile
> index 8fc35e1b51e..8bc8d92172b 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),)
> extra-y += $(EFI_CRT0) $(EFI_RELOC)
> endif
> endif
> diff --git a/cmd/Kconfig b/cmd/Kconfig
> index 8af136d2bd4..f8a7e03400a 100644
> --- a/cmd/Kconfig
> +++ b/cmd/Kconfig
> @@ -438,21 +438,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.
>
> --
> 2.34.1
>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
More information about the U-Boot
mailing list