[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