Philipp Deppenwiese has submitted this change and it was merged. ( https://review.coreboot.org/27559 )
Change subject: arch/arm64: Add Kconfig to include BL31 as blob ......................................................................
arch/arm64: Add Kconfig to include BL31 as blob
Add Kconfig options to not build the Arm Trusted Firmware, but use a precompiled binary instead. To be used on platforms that do not have upstream Arm Trusted Firmware support and useful for development purposes.
It is recommended to use upstream Arm Trusted Firmware where possible.
Change-Id: I17954247029df627a3f4db8b73993bd549e55967 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com Reviewed-on: https://review.coreboot.org/27559 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Julius Werner jwerner@chromium.org Reviewed-by: Philipp Deppenwiese zaolin.daisuki@gmail.com --- M src/arch/arm64/Kconfig M src/arch/arm64/Makefile.inc 2 files changed, 17 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Philipp Deppenwiese: Looks good to me, approved Julius Werner: Looks good to me, approved
diff --git a/src/arch/arm64/Kconfig b/src/arch/arm64/Kconfig index cae558b..71c9f04 100644 --- a/src/arch/arm64/Kconfig +++ b/src/arch/arm64/Kconfig @@ -31,6 +31,14 @@ 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 3c3cd20..e2c44eb4 100644 --- a/src/arch/arm64/Makefile.inc +++ b/src/arch/arm64/Makefile.inc @@ -156,6 +156,8 @@
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 @@
.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