Philipp Deppenwiese merged this change.

View Change

Approvals: build bot (Jenkins): Verified Philipp Deppenwiese: Looks good to me, approved Julius Werner: Looks good to me, approved
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(-)

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

To view, visit change 27559. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I17954247029df627a3f4db8b73993bd549e55967
Gerrit-Change-Number: 27559
Gerrit-PatchSet: 5
Gerrit-Owner: Patrick Rudolph <patrick.rudolph@9elements.com>
Gerrit-Reviewer: David Hendricks <david.hendricks@gmail.com>
Gerrit-Reviewer: Julius Werner <jwerner@chromium.org>
Gerrit-Reviewer: Patrick Rudolph <patrick.rudolph@9elements.com>
Gerrit-Reviewer: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-Reviewer: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
Gerrit-Reviewer: T.Michael Turney <tturne@codeaurora.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>