xref: /rk3399_ARM-atf/include/drivers/measured_boot/metadata.h (revision e7d14fa83f3dd50d2ee2aa1e269851eb9e351951)
1a77a7444STamas Ban /*
2a77a7444STamas Ban  * Copyright (c) 2024, Arm Limited. All rights reserved.
3a77a7444STamas Ban  *
4a77a7444STamas Ban  * SPDX-License-Identifier: BSD-3-Clause
5a77a7444STamas Ban  */
6a77a7444STamas Ban 
7a77a7444STamas Ban #ifndef METADATA_H
8a77a7444STamas Ban #define METADATA_H
9a77a7444STamas Ban 
10d9506028STamas Ban /* Minimum measurement value size that can be requested to store */
11d9506028STamas Ban #define MEASUREMENT_VALUE_MIN_SIZE	32U
12d9506028STamas Ban /* Maximum measurement value size that can be requested to store */
13d9506028STamas Ban #define MEASUREMENT_VALUE_MAX_SIZE	64U
14d9506028STamas Ban /* Minimum signer id size that can be requested to store */
15d9506028STamas Ban #define SIGNER_ID_MIN_SIZE		MEASUREMENT_VALUE_MIN_SIZE
16d9506028STamas Ban /* Maximum signer id size that can be requested to store */
17d9506028STamas Ban #define SIGNER_ID_MAX_SIZE		MEASUREMENT_VALUE_MAX_SIZE
18d9506028STamas Ban /* The theoretical maximum image version is: "255.255.65535\0" */
19d9506028STamas Ban #define VERSION_MAX_SIZE		14U
20d9506028STamas Ban /* Example sw_type: "BL_2, BL_33, etc." */
21d9506028STamas Ban #define SW_TYPE_MAX_SIZE		32U
22d9506028STamas Ban 
23a77a7444STamas Ban /*
24a77a7444STamas Ban  * Images, measured during the boot process, have some associated metadata.
25a77a7444STamas Ban  * One of these types of metadata is the image identifier strings. These macros
26a77a7444STamas Ban  * define these strings. They are used across the different measured boot
27a77a7444STamas Ban  * backends.
28a77a7444STamas Ban  * Note that these strings follow the standardization recommendations
29a77a7444STamas Ban  * defined in the Arm Server Base Security Guide (a.k.a. SBSG, Arm DEN 0086),
30a77a7444STamas Ban  * where applicable. They should not be changed in the code.
31a77a7444STamas Ban  * Where the SBSG does not make recommendations, we are free to choose any
32a77a7444STamas Ban  * naming convention.
33a77a7444STamas Ban  * The key thing is to choose meaningful strings so that when the measured boot
34a77a7444STamas Ban  * metadata is used in attestation, the different components can be identified.
35a77a7444STamas Ban  */
36a77a7444STamas Ban #define MBOOT_BL2_IMAGE_STRING		"BL_2"
37a77a7444STamas Ban #define MBOOT_BL31_IMAGE_STRING		"SECURE_RT_EL3"
38a77a7444STamas Ban #if defined(SPD_opteed)
39a77a7444STamas Ban #define MBOOT_BL32_IMAGE_STRING		"SECURE_RT_EL1_OPTEE"
40a77a7444STamas Ban #elif defined(SPD_tspd)
41a77a7444STamas Ban #define MBOOT_BL32_IMAGE_STRING		"SECURE_RT_EL1_TSPD"
42a77a7444STamas Ban #elif defined(SPD_tlkd)
43a77a7444STamas Ban #define MBOOT_BL32_IMAGE_STRING		"SECURE_RT_EL1_TLKD"
44a77a7444STamas Ban #elif defined(SPD_trusty)
45a77a7444STamas Ban #define MBOOT_BL32_IMAGE_STRING		"SECURE_RT_EL1_TRUSTY"
46*a8a09e31STamas Ban #elif defined(SPD_spmd)
47*a8a09e31STamas Ban #define MBOOT_BL32_IMAGE_STRING		"SECURE_RT_EL1_SPMD"
48a77a7444STamas Ban #else
49a77a7444STamas Ban #define MBOOT_BL32_IMAGE_STRING		"SECURE_RT_EL1_UNKNOWN"
50a77a7444STamas Ban #endif /* SPD_opteed */
51a77a7444STamas Ban #define MBOOT_BL32_EXTRA1_IMAGE_STRING	"SECURE_RT_EL1_OPTEE_EXTRA1"
52a77a7444STamas Ban #define MBOOT_BL32_EXTRA2_IMAGE_STRING	"SECURE_RT_EL1_OPTEE_EXTRA2"
53a77a7444STamas Ban #define MBOOT_BL33_IMAGE_STRING		"BL_33"
54a77a7444STamas Ban #define MBOOT_FW_CONFIG_STRING		"FW_CONFIG"
55a77a7444STamas Ban #define MBOOT_HW_CONFIG_STRING		"HW_CONFIG"
56a77a7444STamas Ban #define MBOOT_NT_FW_CONFIG_STRING	"NT_FW_CONFIG"
57a77a7444STamas Ban #define MBOOT_SCP_BL2_IMAGE_STRING	"SYS_CTRL_2"
58a77a7444STamas Ban #define MBOOT_SOC_FW_CONFIG_STRING	"SOC_FW_CONFIG"
59a77a7444STamas Ban #define MBOOT_STM32_STRING		"STM32"
60a77a7444STamas Ban #define MBOOT_TB_FW_CONFIG_STRING	"TB_FW_CONFIG"
61a77a7444STamas Ban #define MBOOT_TOS_FW_CONFIG_STRING	"TOS_FW_CONFIG"
62a77a7444STamas Ban #define MBOOT_RMM_IMAGE_STRING		"RMM"
63a77a7444STamas Ban #define MBOOT_SP1_STRING		"SP1"
64a77a7444STamas Ban #define MBOOT_SP2_STRING		"SP2"
65a77a7444STamas Ban #define MBOOT_SP3_STRING		"SP3"
66a77a7444STamas Ban #define MBOOT_SP4_STRING		"SP4"
67a77a7444STamas Ban #define MBOOT_SP5_STRING		"SP5"
68a77a7444STamas Ban #define MBOOT_SP6_STRING		"SP6"
69a77a7444STamas Ban #define MBOOT_SP7_STRING		"SP7"
70a77a7444STamas Ban #define MBOOT_SP8_STRING		"SP8"
71a77a7444STamas Ban 
72a77a7444STamas Ban #endif /* METADATA_H */
73