diff options
-rw-r--r-- | src/arch/arm64/Kconfig | 8 | ||||
-rw-r--r-- | src/arch/arm64/Makefile.inc | 9 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/arch/arm64/Kconfig b/src/arch/arm64/Kconfig index cae558b1c4..71c9f042f5 100644 --- a/src/arch/arm64/Kconfig +++ b/src/arch/arm64/Kconfig @@ -31,6 +31,14 @@ config ARM64_USE_ARM_TRUSTED_FIRMWARE default n depends on ARCH_RAMSTAGE_ARM64 +config ARM64_BL31_EXTERNAL_FILE + string "Path to external BL31.ELF (leave empty to build from source)" + depends on ARM64_USE_ARM_TRUSTED_FIRMWARE + help + The blob to use instead of building the Arm Trusted Firmware + from tree. It is discouraged as compatibility with out-of-tree + blobs may break anytime. + config ARM64_USE_SECURE_OS bool default n diff --git a/src/arch/arm64/Makefile.inc b/src/arch/arm64/Makefile.inc index 3c3cd20370..e2c44eb479 100644 --- a/src/arch/arm64/Makefile.inc +++ b/src/arch/arm64/Makefile.inc @@ -156,6 +156,8 @@ $(objcbfs)/ramstage.debug: $$(ramstage-objs) ifeq ($(CONFIG_ARM64_USE_ARM_TRUSTED_FIRMWARE),y) +ifeq ($(CONFIG_ARM64_BL31_EXTERNAL_FILE),"") + BL31_SOURCE := $(top)/3rdparty/arm-trusted-firmware BL31_BUILD := $(abspath $(obj)/3rdparty/arm-trusted-firmware) BL31_TARGET := $(BL31_BUILD)/bl31/bl31.elf @@ -205,6 +207,13 @@ $(BL31): $(obj)/build.h .PHONY: $(BL31) +else + +BL31 := $(call strip_quotes,$(CONFIG_ARM64_BL31_EXTERNAL_FILE)) + +endif # CONFIG_ARM64_BUILD_ARM_TRUSTED_FIRMWARE + + BL31_CBFS := $(CONFIG_CBFS_PREFIX)/bl31 $(BL31_CBFS)-file := $(BL31) $(BL31_CBFS)-type := payload |