Changeset 99404 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Spdm.h
- Timestamp:
- Apr 14, 2023 3:17:44 PM (23 months ago)
- svn:sync-xref-src-repo-rev:
- 156854
- Location:
- trunk/src/VBox/Devices/EFI/FirmwareNew
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/FirmwareNew
-
Property svn:mergeinfo
changed from (toggle deleted branches)
to (toggle deleted branches)/vendor/edk2/current 103735-103757,103769-103776,129194-145445 /vendor/edk2/current 103735-103757,103769-103776,129194-156846
-
Property svn:mergeinfo
changed from (toggle deleted branches)
-
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Spdm.h
r85718 r99404 8 8 **/ 9 9 10 11 10 #ifndef __SPDM_H__ 12 11 #define __SPDM_H__ … … 17 16 /// SPDM response code 18 17 /// 19 #define SPDM_DIGESTS 20 #define SPDM_CERTIFICATE 21 #define SPDM_CHALLENGE_AUTH 22 #define SPDM_VERSION 23 #define SPDM_MEASUREMENTS 24 #define SPDM_CAPABILITIES 25 #define SPDM_SET_CERT_RESPONSE 26 #define SPDM_ALGORITHMS 27 #define SPDM_ERROR 18 #define SPDM_DIGESTS 0x01 19 #define SPDM_CERTIFICATE 0x02 20 #define SPDM_CHALLENGE_AUTH 0x03 21 #define SPDM_VERSION 0x04 22 #define SPDM_MEASUREMENTS 0x60 23 #define SPDM_CAPABILITIES 0x61 24 #define SPDM_SET_CERT_RESPONSE 0x62 25 #define SPDM_ALGORITHMS 0x63 26 #define SPDM_ERROR 0x7F 28 27 /// 29 28 /// SPDM request code … … 42 41 /// 43 42 typedef struct { 44 UINT8 SPDMVersion;45 UINT8 RequestResponseCode;46 UINT8 Param1;47 UINT8 Param2;43 UINT8 SPDMVersion; 44 UINT8 RequestResponseCode; 45 UINT8 Param1; 46 UINT8 Param2; 48 47 } SPDM_MESSAGE_HEADER; 49 48 … … 54 53 /// 55 54 typedef struct { 56 SPDM_MESSAGE_HEADER Header;55 SPDM_MESSAGE_HEADER Header; 57 56 } SPDM_GET_VERSION_REQUEST; 58 57 … … 61 60 /// 62 61 typedef struct { 63 SPDM_MESSAGE_HEADER Header;64 UINT8 Reserved;65 UINT8 VersionNumberEntryCount;66 //SPDM_VERSION_NUMBER VersionNumberEntry[VersionNumberEntryCount];62 SPDM_MESSAGE_HEADER Header; 63 UINT8 Reserved; 64 UINT8 VersionNumberEntryCount; 65 // SPDM_VERSION_NUMBER VersionNumberEntry[VersionNumberEntryCount]; 67 66 } SPDM_VERSION_RESPONSE; 68 67 … … 71 70 /// 72 71 typedef struct { 73 UINT16 Alpha:4;74 UINT16 UpdateVersionNumber:4;75 UINT16 MinorVersion:4;76 UINT16 MajorVersion:4;72 UINT16 Alpha : 4; 73 UINT16 UpdateVersionNumber : 4; 74 UINT16 MinorVersion : 4; 75 UINT16 MajorVersion : 4; 77 76 } SPDM_VERSION_NUMBER; 78 77 … … 81 80 /// 82 81 typedef struct { 83 SPDM_MESSAGE_HEADER Header;82 SPDM_MESSAGE_HEADER Header; 84 83 } SPDM_GET_CAPABILITIES_REQUEST; 85 84 … … 88 87 /// 89 88 typedef struct { 90 SPDM_MESSAGE_HEADER Header;91 UINT8 Reserved;92 UINT8 CTExponent;93 UINT16 Reserved2;94 UINT32 Flags;89 SPDM_MESSAGE_HEADER Header; 90 UINT8 Reserved; 91 UINT8 CTExponent; 92 UINT16 Reserved2; 93 UINT32 Flags; 95 94 } SPDM_CAPABILITIES_RESPONSE; 96 95 … … 98 97 /// SPDM GET_CAPABILITIES response Flags 99 98 /// 100 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CACHE_CAP BIT0101 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CERT_CAP BIT1102 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CHAL_CAP BIT2103 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP (BIT3 | BIT4)104 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP_NO_SIG 105 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP_SIG 106 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_FRESH_CAP BIT599 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CACHE_CAP BIT0 100 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CERT_CAP BIT1 101 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CHAL_CAP BIT2 102 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP (BIT3 | BIT4) 103 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP_NO_SIG BIT3 104 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP_SIG BIT4 105 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_FRESH_CAP BIT5 107 106 108 107 /// … … 110 109 /// 111 110 typedef struct { 112 SPDM_MESSAGE_HEADER Header;113 UINT16 Length;114 UINT8 MeasurementSpecification;115 UINT8 Reserved;116 UINT32 BaseAsymAlgo;117 UINT32 BaseHashAlgo;118 UINT8 Reserved2[12];119 UINT8 ExtAsymCount;120 UINT8 ExtHashCount;121 UINT16 Reserved3;122 //UINT32 ExtAsym[ExtAsymCount];123 //UINT32 ExtHash[ExtHashCount];111 SPDM_MESSAGE_HEADER Header; 112 UINT16 Length; 113 UINT8 MeasurementSpecification; 114 UINT8 Reserved; 115 UINT32 BaseAsymAlgo; 116 UINT32 BaseHashAlgo; 117 UINT8 Reserved2[12]; 118 UINT8 ExtAsymCount; 119 UINT8 ExtHashCount; 120 UINT16 Reserved3; 121 // UINT32 ExtAsym[ExtAsymCount]; 122 // UINT32 ExtHash[ExtHashCount]; 124 123 } SPDM_NEGOTIATE_ALGORITHMS_REQUEST; 125 124 … … 127 126 /// SPDM NEGOTIATE_ALGORITHMS request BaseAsymAlgo 128 127 /// 129 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_2048 130 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_2048 131 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_3072 132 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_3072 133 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P256 134 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_4096 135 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_4096 136 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P384 137 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P521 128 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_2048 BIT0 129 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_2048 BIT1 130 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_3072 BIT2 131 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_3072 BIT3 132 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P256 BIT4 133 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_4096 BIT5 134 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_4096 BIT6 135 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P384 BIT7 136 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P521 BIT8 138 137 139 138 /// 140 139 /// SPDM NEGOTIATE_ALGORITHMS request BaseHashAlgo 141 140 /// 142 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_256 143 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_384 144 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_512 145 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_256 146 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_384 147 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_512 141 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_256 BIT0 142 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_384 BIT1 143 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_512 BIT2 144 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_256 BIT3 145 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_384 BIT4 146 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_512 BIT5 148 147 149 148 /// … … 151 150 /// 152 151 typedef struct { 153 SPDM_MESSAGE_HEADER Header;154 UINT16 Length;155 UINT8 MeasurementSpecificationSel;156 UINT8 Reserved;157 UINT32 MeasurementHashAlgo;158 UINT32 BaseAsymSel;159 UINT32 BaseHashSel;160 UINT8 Reserved2[12];161 UINT8 ExtAsymSelCount;162 UINT8 ExtHashSelCount;163 UINT16 Reserved3;164 //UINT32 ExtAsymSel[ExtAsymSelCount];165 //UINT32 ExtHashSel[ExtHashSelCount];152 SPDM_MESSAGE_HEADER Header; 153 UINT16 Length; 154 UINT8 MeasurementSpecificationSel; 155 UINT8 Reserved; 156 UINT32 MeasurementHashAlgo; 157 UINT32 BaseAsymSel; 158 UINT32 BaseHashSel; 159 UINT8 Reserved2[12]; 160 UINT8 ExtAsymSelCount; 161 UINT8 ExtHashSelCount; 162 UINT16 Reserved3; 163 // UINT32 ExtAsymSel[ExtAsymSelCount]; 164 // UINT32 ExtHashSel[ExtHashSelCount]; 166 165 } SPDM_ALGORITHMS_RESPONSE; 167 166 … … 169 168 /// SPDM NEGOTIATE_ALGORITHMS response MeasurementHashAlgo 170 169 /// 171 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_RAW_BIT_STREAM_ONLY BIT0172 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_256 BIT1173 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_384 BIT2174 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_512 BIT3175 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_256 BIT4176 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_384 BIT5177 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_512 BIT6170 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_RAW_BIT_STREAM_ONLY BIT0 171 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_256 BIT1 172 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_384 BIT2 173 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_512 BIT3 174 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_256 BIT4 175 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_384 BIT5 176 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_512 BIT6 178 177 179 178 /// … … 181 180 /// 182 181 typedef struct { 183 SPDM_MESSAGE_HEADER Header;182 SPDM_MESSAGE_HEADER Header; 184 183 } SPDM_GET_DIGESTS_REQUEST; 185 184 … … 188 187 /// 189 188 typedef struct { 190 SPDM_MESSAGE_HEADER Header;191 //UINT8 Digest[DigestSize];189 SPDM_MESSAGE_HEADER Header; 190 // UINT8 Digest[DigestSize]; 192 191 } SPDM_DIGESTS_RESPONSE; 193 192 … … 196 195 /// 197 196 typedef struct { 198 SPDM_MESSAGE_HEADER Header;199 UINT16 Offset;200 UINT16 Length;197 SPDM_MESSAGE_HEADER Header; 198 UINT16 Offset; 199 UINT16 Length; 201 200 } SPDM_GET_CERTIFICATE_REQUEST; 202 201 … … 205 204 /// 206 205 typedef struct { 207 SPDM_MESSAGE_HEADER Header;208 UINT16 PortionLength;209 UINT16 RemainderLength;210 //UINT8 CertChain[CertChainSize];206 SPDM_MESSAGE_HEADER Header; 207 UINT16 PortionLength; 208 UINT16 RemainderLength; 209 // UINT8 CertChain[CertChainSize]; 211 210 } SPDM_CERTIFICATE_RESPONSE; 212 211 … … 215 214 /// 216 215 typedef struct { 217 SPDM_MESSAGE_HEADER Header;218 UINT8 Nonce[32];216 SPDM_MESSAGE_HEADER Header; 217 UINT8 Nonce[32]; 219 218 } SPDM_CHALLENGE_REQUEST; 220 219 … … 223 222 /// 224 223 typedef struct { 225 SPDM_MESSAGE_HEADER Header;226 //UINT8 CertChainHash[DigestSize];227 //UINT8 Nonce[32];228 //UINT8 MeasurementSummaryHash[DigestSize];229 //UINT16 OpaqueLength;230 //UINT8 OpaqueData[OpaqueLength];231 //UINT8 Signature[KeySize];224 SPDM_MESSAGE_HEADER Header; 225 // UINT8 CertChainHash[DigestSize]; 226 // UINT8 Nonce[32]; 227 // UINT8 MeasurementSummaryHash[DigestSize]; 228 // UINT16 OpaqueLength; 229 // UINT8 OpaqueData[OpaqueLength]; 230 // UINT8 Signature[KeySize]; 232 231 } SPDM_CHALLENGE_AUTH_RESPONSE; 233 232 … … 236 235 /// 237 236 typedef struct { 238 SPDM_MESSAGE_HEADER Header;239 UINT8 Nonce[32];237 SPDM_MESSAGE_HEADER Header; 238 UINT8 Nonce[32]; 240 239 } SPDM_GET_MEASUREMENTS_REQUEST; 241 240 … … 244 243 /// 245 244 typedef struct { 246 UINT8 247 UINT8 248 UINT16 249 //UINT8 Measurement[MeasurementSize];245 UINT8 Index; 246 UINT8 MeasurementSpecification; 247 UINT16 MeasurementSize; 248 // UINT8 Measurement[MeasurementSize]; 250 249 } SPDM_MEASUREMENT_BLOCK_COMMON_HEADER; 251 250 252 #define SPDM_MEASUREMENT_BLOCK_HEADER_SPECIFICATION_DMTF BIT0251 #define SPDM_MEASUREMENT_BLOCK_HEADER_SPECIFICATION_DMTF BIT0 253 252 254 253 /// … … 256 255 /// 257 256 typedef struct { 258 UINT8 259 UINT16 260 //UINT8 DMTFSpecMeasurementValue[DMTFSpecMeasurementValueSize];257 UINT8 DMTFSpecMeasurementValueType; 258 UINT16 DMTFSpecMeasurementValueSize; 259 // UINT8 DMTFSpecMeasurementValue[DMTFSpecMeasurementValueSize]; 261 260 } SPDM_MEASUREMENT_BLOCK_DMTF_HEADER; 262 261 … … 274 273 /// 275 274 typedef struct { 276 SPDM_MESSAGE_HEADER Header;277 UINT8 NumberOfBlocks;278 UINT8 MeasurementRecordLength[3];279 //UINT8 MeasurementRecord[MeasurementRecordLength];280 //UINT8 Nonce[32];281 //UINT16 OpaqueLength;282 //UINT8 OpaqueData[OpaqueLength];283 //UINT8 Signature[KeySize];275 SPDM_MESSAGE_HEADER Header; 276 UINT8 NumberOfBlocks; 277 UINT8 MeasurementRecordLength[3]; 278 // UINT8 MeasurementRecord[MeasurementRecordLength]; 279 // UINT8 Nonce[32]; 280 // UINT16 OpaqueLength; 281 // UINT8 OpaqueData[OpaqueLength]; 282 // UINT8 Signature[KeySize]; 284 283 } SPDM_MEASUREMENTS_RESPONSE; 285 284 … … 288 287 /// 289 288 typedef struct { 290 SPDM_MESSAGE_HEADER Header;289 SPDM_MESSAGE_HEADER Header; 291 290 // Param1 == Error Code 292 291 // Param2 == Error Data 293 //UINT8 ExtendedErrorData[];292 // UINT8 ExtendedErrorData[]; 294 293 } SPDM_ERROR_RESPONSE; 295 294 … … 310 309 /// 311 310 typedef struct { 312 SPDM_MESSAGE_HEADER Header;311 SPDM_MESSAGE_HEADER Header; 313 312 // Param1 == RequestCode 314 313 // Param2 == Token … … 318 317 319 318 #endif 320
Note:
See TracChangeset
for help on using the changeset viewer.