From e4fd69564532018a4124c6f9d8ba76da766629bd Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Sun, 30 Dec 2018 10:52:41 +0100 Subject: [PATCH] efi_selftest: allow building on ARMv7-M ARMv7-M only supports the Thumb instruction set. Our current crt0 code does not support it. With the patch we can build all unit tests of the EFI subsystem that do not require crt0. Signed-off-by: Heinrich Schuchardt Signed-off-by: Alexander Graf --- arch/arm/lib/Makefile | 6 +++++- lib/efi_selftest/Makefile | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile index 655727f431..48ee6c3c60 100644 --- a/arch/arm/lib/Makefile +++ b/arch/arm/lib/Makefile @@ -106,5 +106,9 @@ 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) +# TODO: As of v2019.01 the relocation code for the EFI application cannot +# be built on ARMv7-M. +ifndef CONFIG_CPU_V7M +#extra-$(CONFIG_CMD_BOOTEFI_SELFTEST) += $(EFI_CRT0) $(EFI_RELOC) +endif extra-$(CONFIG_EFI) += $(EFI_CRT0) $(EFI_RELOC) diff --git a/lib/efi_selftest/Makefile b/lib/efi_selftest/Makefile index 743b482044..5b804692aa 100644 --- a/lib/efi_selftest/Makefile +++ b/lib/efi_selftest/Makefile @@ -45,9 +45,9 @@ ifeq ($(CONFIG_BLK)$(CONFIG_PARTITIONS),yy) obj-y += efi_selftest_block_device.o endif -# TODO: As of v2018.01 the relocation code for the EFI application cannot -# be built on x86_64. -ifeq ($(CONFIG_X86_64)$(CONFIG_SANDBOX),) +# TODO: As of v2019.01 the relocation code for the EFI application cannot +# be built on ARMv7-M, Sandbox, and x86_64. +ifeq ($(CONFIG_SANDBOX)$(CONFIG_CPU_V7M)$(CONFIG_X86_64),) obj-y += \ efi_selftest_startimage_exit.o \ -- 2.39.5