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