Setting the --target-efi option for any architecture but x86_64 results in an error while trying to compile the tests: $ ./configure --arch=arm64 --cross-prefix=aarch64-linux-gnu- --target-efi $ make clean && make Makefile:46: *** Cannot build aarch64 tests as EFI apps. Stop. Which might come as a surprise for users, as the help message for the configure script makes no mention of an architectur being incompatible with the option. Document that --target-efi applies only to the x86_64 architecture and check for illegal usage in the configure script, instead of failing later, at compile time. Signed-off-by: Alexandru Elisei <alexandru.elisei@xxxxxxx> --- Makefile | 4 ---- configure | 7 ++++++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 4f4ad235fe0c..5af17f129ced 100644 --- a/Makefile +++ b/Makefile @@ -40,11 +40,7 @@ OBJDIRS += $(LIBFDT_objdir) # EFI App ifeq ($(TARGET_EFI),y) -ifeq ($(ARCH_NAME),x86_64) EFI_ARCH = x86_64 -else -$(error Cannot build $(ARCH_NAME) tests as EFI apps) -endif EFI_CFLAGS := -DTARGET_EFI # The following CFLAGS and LDFLAGS come from: # - GNU-EFI/Makefile.defaults diff --git a/configure b/configure index 0ac9c85502ff..6620e78ec09c 100755 --- a/configure +++ b/configure @@ -74,7 +74,7 @@ usage() { pl011,mmio32,ADDR Specify a PL011 compatible UART at address ADDR. Supported register stride is 32 bit only. - --target-efi Boot and run from UEFI + --target-efi Boot and run from UEFI (x86_64 only) EOF exit 1 } @@ -177,6 +177,11 @@ else fi fi +if [ "$target_efi" ] && [ "$arch" != "x86_64" ]; then + echo "--target-efi is not supported for $arch" + usage +fi + if [ -z "$page_size" ]; then [ "$arch" = "arm64" ] && page_size="65536" [ "$arch" = "arm" ] && page_size="4096" -- 2.35.1