TBB: add TBBR Chain of Trust
This patch adds a CoT based on the Trusted Board Boot Requirements
document*. The CoT consists of an array of authentication image
descriptors indexed by the image identifiers.
A new header file with TBBR image identifiers has been added.
Platforms that use the TBBR (i.e. ARM platforms) may reuse these
definitions as part of their platform porting.
PLATFORM PORT - IMPORTANT:
Default image IDs have been removed from the platform common
definitions file (common_def.h). As a consequence, platforms that
used those common definitons must now either include the IDs
provided by the TBBR header file or define their own IDs.
*The NVCounter authentication method has not been implemented yet.
Change-Id: I7c4d591863ef53bb0cd4ce6c52a60b06fa0102d5
diff --git a/include/plat/arm/common/arm_def.h b/include/plat/arm/common/arm_def.h
index c93b684..64dc683 100644
--- a/include/plat/arm/common/arm_def.h
+++ b/include/plat/arm/common/arm_def.h
@@ -32,6 +32,7 @@
#include <common_def.h>
#include <platform_def.h>
+#include <tbbr_img_def.h>
#include <xlat_tables.h>
diff --git a/include/plat/common/common_def.h b/include/plat/common/common_def.h
index 705878d..1b3203e 100644
--- a/include/plat/common/common_def.h
+++ b/include/plat/common/common_def.h
@@ -47,42 +47,6 @@
*/
#define FIRMWARE_WELCOME_STR "Booting Trusted Firmware\n"
-/* Firmware Image Package */
-#define FIP_IMAGE_ID 0
-
-/* Trusted Boot Firmware BL2 */
-#define BL2_IMAGE_ID 1
-
-/* SCP Firmware BL3-0 */
-#define BL30_IMAGE_ID 2
-
-/* EL3 Runtime Firmware BL31 */
-#define BL31_IMAGE_ID 3
-
-/* Secure Payload BL32 (Trusted OS) */
-#define BL32_IMAGE_ID 4
-
-/* Non-Trusted Firmware BL33 */
-#define BL33_IMAGE_ID 5
-
-#if TRUSTED_BOARD_BOOT
-
-/* Certificates */
-#define BL2_CERT_ID 6
-#define TRUSTED_KEY_CERT_ID 7
-
-#define BL30_KEY_CERT_ID 8
-#define BL31_KEY_CERT_ID 9
-#define BL32_KEY_CERT_ID 10
-#define BL33_KEY_CERT_ID 11
-
-#define BL30_CERT_ID 12
-#define BL31_CERT_ID 13
-#define BL32_CERT_ID 14
-#define BL33_CERT_ID 15
-
-#endif /* TRUSTED_BOARD_BOOT */
-
/*
* Some of the platform porting definitions use the 'ull' suffix in order to
* avoid subtle integer overflow errors due to implicit integer type promotion