Message ID | 20240815202424.766778-4-sjg@chromium.org |
---|---|
State | Changes Requested |
Delegated to: | Tom Rini |
Headers | show |
Series | efi: Add a test for EFI bootmeth | expand |
On Thu, 15 Aug 2024 at 23:24, Simon Glass <sjg@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@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') > -@pytest.mark.buildconfigspec('cmd_bootefi_hello_compile') > +@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') > -@pytest.mark.buildconfigspec('cmd_bootefi_hello_compile') > +@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@linaro.org>
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') -@pytest.mark.buildconfigspec('cmd_bootefi_hello_compile') +@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') -@pytest.mark.buildconfigspec('cmd_bootefi_hello_compile') +@pytest.mark.buildconfigspec('BOOTEFI_HELLO_COMPILE') def test_efi_helloworld_net(u_boot_console): """Run the helloworld.efi binary via TFTP.
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@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(-)