aboutsummaryrefslogtreecommitdiff
path: root/plat/juno/platform.mk
diff options
context:
space:
mode:
authorJuan Castillo <juan.castillo@arm.com>2015-01-07 10:39:25 +0000
committerDan Handley <dan.handley@arm.com>2015-01-28 18:26:59 +0000
commit6eadf7627fe1c2adb10b720210293fceea503b23 (patch)
treee24769e6adb091bd7ec1cf5c7b887de1e48c6fed /plat/juno/platform.mk
parentb7124ea7f6fe1e1e73a0975cfb0fa34cabd73b2a (diff)
TBB: add a platform specific function to validate the ROTPK
This patch adds the function plat_match_rotpk() to the platform porting layer to provide a Root Of Trust Public key (ROTPK) verification mechanism. This function is called during the Trusted Board Boot process and receives a supposed valid copy of the ROTPK as a parameter, usually obtained from an external source (for instance, a certificate). It returns 0 (success) if that key matches the actual ROTPK stored in the system or any other value otherwise. The mechanism to access the actual ROTPK stored in the system is platform specific and should be implemented as part of this function. The format of the ROTPK is also platform specific (to save memory, some platforms might store a hash of the key instead of the whole key). TRUSTED_BOARD_BOOT build option has been added to allow the user to enable the Trusted Board Boot features. The implementation of the plat_match_rotpk() funtion is mandatory when Trusted Board Boot is enabled. For development purposes, FVP and Juno ports provide a dummy function that returns always success (valid key). A safe trusted boot implementation should provide a proper matching function. Documentation updated accordingly. Change-Id: I74ff12bc2b041556c48533375527d9e8c035b8c3
Diffstat (limited to 'plat/juno/platform.mk')
-rw-r--r--plat/juno/platform.mk5
1 files changed, 5 insertions, 0 deletions
diff --git a/plat/juno/platform.mk b/plat/juno/platform.mk
index 158e3ac..8beaecf 100644
--- a/plat/juno/platform.mk
+++ b/plat/juno/platform.mk
@@ -90,6 +90,11 @@ BL31_SOURCES += drivers/arm/cci400/cci400.c \
plat/juno/plat_topology.c \
plat/juno/scpi.c
+ifneq (${TRUSTED_BOARD_BOOT},0)
+ BL1_SOURCES += plat/juno/juno_trusted_boot.c
+ BL2_SOURCES += plat/juno/juno_trusted_boot.c
+endif
+
ifneq (${RESET_TO_BL31},0)
$(error "Using BL3-1 as the reset vector is not supported on Juno. \
Please set RESET_TO_BL31 to 0.")