![]() |
TF-M Reference Manual
1.2.0
TrustedFirmware-M
|
#include <stdint.h>
#include <stddef.h>
Go to the source code of this file.
Data Structures | |
struct | shared_data_tlv_header |
struct | shared_data_tlv_entry |
struct | tfm_boot_data |
Store the data for the runtime SW. More... | |
#define BOOT_SEED 0x00 |
Definition at line 91 of file tfm_boot_status.h.
#define CLAIM_MASK 0x3F /* 6 bit */ |
Definition at line 154 of file tfm_boot_status.h.
#define GET_IAS_CLAIM | ( | tlv_type | ) | (GET_MINOR(tlv_type) & CLAIM_MASK) |
Definition at line 158 of file tfm_boot_status.h.
#define GET_IAS_MEASUREMENT_CLAIM | ( | ias_claim | ) |
Definition at line 161 of file tfm_boot_status.h.
#define GET_IAS_MODULE | ( | tlv_type | ) | (GET_MINOR(tlv_type) >> MODULE_POS) |
Definition at line 157 of file tfm_boot_status.h.
#define GET_MAJOR | ( | tlv_type | ) | ((tlv_type) >> MAJOR_POS) |
Definition at line 149 of file tfm_boot_status.h.
#define GET_MINOR | ( | tlv_type | ) | ((tlv_type) & MINOR_MASK) |
Definition at line 150 of file tfm_boot_status.h.
#define HW_VERSION 0x01 |
Definition at line 92 of file tfm_boot_status.h.
#define MAJOR_MASK 0xF /* 4 bit */ |
Definition at line 143 of file tfm_boot_status.h.
#define MAJOR_POS 12 /* 12 bit */ |
Definition at line 144 of file tfm_boot_status.h.
#define MEASUREMENT_CLAIM_POS 3 /* 3 bit */ |
Definition at line 155 of file tfm_boot_status.h.
#define MINOR_MASK 0xFFF /* 12 bit */ |
Definition at line 145 of file tfm_boot_status.h.
#define MODULE_POS 6 /* 6 bit */ |
Definition at line 153 of file tfm_boot_status.h.
#define SECURITY_LIFECYCLE 0x02 |
Definition at line 93 of file tfm_boot_status.h.
#define SET_IAS_MINOR | ( | sw_module, | |
claim | |||
) | (((sw_module) << 6) | (claim)) |
Definition at line 159 of file tfm_boot_status.h.
#define SET_TLV_TYPE | ( | major, | |
minor | |||
) | ((((major) & MAJOR_MASK) << MAJOR_POS) | ((minor) & MINOR_MASK)) |
Definition at line 147 of file tfm_boot_status.h.
#define SHARED_DATA_ENTRY_HEADER_SIZE sizeof(struct shared_data_tlv_entry) |
Definition at line 205 of file tfm_boot_status.h.
#define SHARED_DATA_ENTRY_SIZE | ( | size | ) | (size + SHARED_DATA_ENTRY_HEADER_SIZE) |
Definition at line 206 of file tfm_boot_status.h.
#define SHARED_DATA_HEADER_SIZE sizeof(struct shared_data_tlv_header) |
Definition at line 179 of file tfm_boot_status.h.
#define SHARED_DATA_TLV_INFO_MAGIC 0x2016 |
Definition at line 165 of file tfm_boot_status.h.
#define SW_AROT 0x03 |
Definition at line 71 of file tfm_boot_status.h.
#define SW_BL2 0x01 |
Definition at line 69 of file tfm_boot_status.h.
#define SW_BOOT_RECORD 0x3F |
Definition at line 86 of file tfm_boot_status.h.
#define SW_GENERAL 0x00 |
The shared data between boot loader and runtime SW is TLV encoded. The shared data is stored in a well known location in secure memory and this is a contract between boot loader and runtime SW.
The structure of shared data must be the following:
This table gives of overview about the tlv_type field in the entry header. The tlv_type always composed from a major and minor number. Major number identifies the addressee in runtime SW, who should process the data entry. Minor number used to encode more info about the data entry. The actual definition of minor number could change per major number. In case of boot status data, which is going to be processed by initial attestation service the minor number is split further to two part: sw_module and claim. The sw_module identifies the SW component in the system which the data item belongs to and the claim part identifies the exact type of the data.
|------------------------------------—| | tlv_type (16) | |------------------------------------—| | tlv_major(4)| tlv_minor(12) | |------------------------------------—| | MAJOR_IAS | sw_module(6) | claim(6) | |------------------------------------—| | MAJOR_CORE | TBD | |------------------------------------—|
Definition at line 68 of file tfm_boot_status.h.
#define SW_MAX 0x07 |
Definition at line 75 of file tfm_boot_status.h.
#define SW_MEASURE_TYPE 0x09 |
Definition at line 85 of file tfm_boot_status.h.
#define SW_MEASURE_VALUE 0x08 |
Definition at line 84 of file tfm_boot_status.h.
#define SW_NSPE 0x05 |
Definition at line 73 of file tfm_boot_status.h.
#define SW_PROT 0x02 |
Definition at line 70 of file tfm_boot_status.h.
#define SW_S_NS 0x06 |
Definition at line 74 of file tfm_boot_status.h.
#define SW_SIGNER_ID 0x01 |
Definition at line 80 of file tfm_boot_status.h.
#define SW_SPE 0x04 |
Definition at line 72 of file tfm_boot_status.h.
#define SW_TYPE 0x03 |
Definition at line 82 of file tfm_boot_status.h.
#define SW_VERSION 0x00 |
Definition at line 79 of file tfm_boot_status.h.
#define TLV_MAJOR_CORE 0x0 |
Definition at line 22 of file tfm_boot_status.h.
#define TLV_MAJOR_IAS 0x1 |
Definition at line 23 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_AROT_MEASURE_TYPE ((SW_AROT << 6) | SW_MEASURE_TYPE) |
Definition at line 116 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_AROT_MEASURE_VALUE ((SW_AROT << 6) | SW_MEASURE_VALUE) |
Definition at line 115 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_AROT_SIGNER_ID ((SW_AROT << 6) | SW_SIGNER_ID) |
Definition at line 118 of file tfm_boot_status.h.
Definition at line 119 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_AROT_VERSION ((SW_AROT << 6) | SW_VERSION) |
Definition at line 117 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_BL2_MEASURE_TYPE ((SW_BL2 << 6) | SW_MEASURE_TYPE) |
Definition at line 102 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_BL2_MEASURE_VALUE ((SW_BL2 << 6) | SW_MEASURE_VALUE) |
Definition at line 101 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_BL2_SIGNER_ID ((SW_BL2 << 6) | SW_SIGNER_ID) |
Definition at line 104 of file tfm_boot_status.h.
Definition at line 105 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_BL2_VERSION ((SW_BL2 << 6) | SW_VERSION) |
Definition at line 103 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_BOOT_SEED ((SW_GENERAL << 6) | BOOT_SEED) |
Definition at line 96 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_HW_VERSION ((SW_GENERAL << 6) | HW_VERSION) |
Definition at line 97 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_NSPE_MEASURE_TYPE ((SW_NSPE << 6) | SW_MEASURE_TYPE) |
Definition at line 123 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_NSPE_MEASURE_VALUE ((SW_NSPE << 6) | SW_MEASURE_VALUE) |
Definition at line 122 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_NSPE_SIGNER_ID ((SW_NSPE << 6) | SW_SIGNER_ID) |
Definition at line 125 of file tfm_boot_status.h.
Definition at line 126 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_NSPE_VERSION ((SW_NSPE << 6) | SW_VERSION) |
Definition at line 124 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_PROT_MEASURE_TYPE ((SW_PROT << 6) | SW_MEASURE_TYPE) |
Definition at line 109 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_PROT_MEASURE_VALUE ((SW_PROT << 6) | SW_MEASURE_VALUE) |
Definition at line 108 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_PROT_SIGNER_ID ((SW_PROT << 6) | SW_SIGNER_ID) |
Definition at line 111 of file tfm_boot_status.h.
Definition at line 112 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_PROT_VERSION ((SW_PROT << 6) | SW_VERSION) |
Definition at line 110 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_S_NS_MEASURE_TYPE ((SW_S_NS << 6) | SW_MEASURE_TYPE) |
Definition at line 137 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_S_NS_MEASURE_VALUE ((SW_S_NS << 6) | SW_MEASURE_VALUE) |
Definition at line 136 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_S_NS_SIGNER_ID ((SW_S_NS << 6) | SW_SIGNER_ID) |
Definition at line 139 of file tfm_boot_status.h.
Definition at line 140 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_S_NS_VERSION ((SW_S_NS << 6) | SW_VERSION) |
Definition at line 138 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_SLC ((SW_GENERAL << 6) | SECURITY_LIFECYCLE) |
Definition at line 98 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_SPE_MEASURE_TYPE ((SW_SPE << 6) | SW_MEASURE_TYPE) |
Definition at line 130 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_SPE_MEASURE_VALUE ((SW_SPE << 6) | SW_MEASURE_VALUE) |
Definition at line 129 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_SPE_SIGNER_ID ((SW_SPE << 6) | SW_SIGNER_ID) |
Definition at line 132 of file tfm_boot_status.h.
Definition at line 133 of file tfm_boot_status.h.
#define TLV_MINOR_IAS_SPE_VERSION ((SW_SPE << 6) | SW_VERSION) |
Definition at line 131 of file tfm_boot_status.h.