VirtualBox

Ignore:
Timestamp:
Apr 14, 2023 3:17:44 PM (23 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
156854
Message:

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/FirmwareNew

  • trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Spdm.h

    r85718 r99404  
    88**/
    99
    10 
    1110#ifndef __SPDM_H__
    1211#define __SPDM_H__
     
    1716/// SPDM response code
    1817///
    19 #define SPDM_DIGESTS               0x01
    20 #define SPDM_CERTIFICATE           0x02
    21 #define SPDM_CHALLENGE_AUTH        0x03
    22 #define SPDM_VERSION               0x04
    23 #define SPDM_MEASUREMENTS          0x60
    24 #define SPDM_CAPABILITIES          0x61
    25 #define SPDM_SET_CERT_RESPONSE     0x62
    26 #define SPDM_ALGORITHMS            0x63
    27 #define SPDM_ERROR                 0x7F
     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
    2827///
    2928/// SPDM request code
     
    4241///
    4342typedef 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;
    4847} SPDM_MESSAGE_HEADER;
    4948
     
    5453///
    5554typedef struct {
    56   SPDM_MESSAGE_HEADER  Header;
     55  SPDM_MESSAGE_HEADER    Header;
    5756} SPDM_GET_VERSION_REQUEST;
    5857
     
    6160///
    6261typedef 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];
    6766} SPDM_VERSION_RESPONSE;
    6867
     
    7170///
    7271typedef 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;
    7776} SPDM_VERSION_NUMBER;
    7877
     
    8180///
    8281typedef struct {
    83   SPDM_MESSAGE_HEADER  Header;
     82  SPDM_MESSAGE_HEADER    Header;
    8483} SPDM_GET_CAPABILITIES_REQUEST;
    8584
     
    8887///
    8988typedef 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;
    9594} SPDM_CAPABILITIES_RESPONSE;
    9695
     
    9897/// SPDM GET_CAPABILITIES response Flags
    9998///
    100 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CACHE_CAP       BIT0
    101 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CERT_CAP        BIT1
    102 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CHAL_CAP        BIT2
    103 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP        (BIT3 | BIT4)
    104 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP_NO_SIG   BIT3
    105 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP_SIG      BIT4
    106 #define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_FRESH_CAP  BIT5
     99#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
    107106
    108107///
     
    110109///
    111110typedef 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];
    124123} SPDM_NEGOTIATE_ALGORITHMS_REQUEST;
    125124
     
    127126/// SPDM NEGOTIATE_ALGORITHMS request BaseAsymAlgo
    128127///
    129 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_2048           BIT0
    130 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_2048           BIT1
    131 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_3072           BIT2
    132 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_3072           BIT3
    133 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P256   BIT4
    134 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_4096           BIT5
    135 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_4096           BIT6
    136 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P384   BIT7
    137 #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P521   BIT8
     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
    138137
    139138///
    140139/// SPDM NEGOTIATE_ALGORITHMS request BaseHashAlgo
    141140///
    142 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_256               BIT0
    143 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_384               BIT1
    144 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_512               BIT2
    145 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_256              BIT3
    146 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_384              BIT4
    147 #define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_512              BIT5
     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
    148147
    149148///
     
    151150///
    152151typedef 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];
    166165} SPDM_ALGORITHMS_RESPONSE;
    167166
     
    169168/// SPDM NEGOTIATE_ALGORITHMS response MeasurementHashAlgo
    170169///
    171 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_RAW_BIT_STREAM_ONLY BIT0
    172 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_256     BIT1
    173 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_384     BIT2
    174 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_512     BIT3
    175 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_256    BIT4
    176 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_384    BIT5
    177 #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_512    BIT6
     170#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
    178177
    179178///
     
    181180///
    182181typedef struct {
    183   SPDM_MESSAGE_HEADER  Header;
     182  SPDM_MESSAGE_HEADER    Header;
    184183} SPDM_GET_DIGESTS_REQUEST;
    185184
     
    188187///
    189188typedef struct {
    190   SPDM_MESSAGE_HEADER  Header;
    191 //UINT8                Digest[DigestSize];
     189  SPDM_MESSAGE_HEADER    Header;
     190  // UINT8                Digest[DigestSize];
    192191} SPDM_DIGESTS_RESPONSE;
    193192
     
    196195///
    197196typedef struct {
    198   SPDM_MESSAGE_HEADER  Header;
    199   UINT16               Offset;
    200   UINT16               Length;
     197  SPDM_MESSAGE_HEADER    Header;
     198  UINT16                 Offset;
     199  UINT16                 Length;
    201200} SPDM_GET_CERTIFICATE_REQUEST;
    202201
     
    205204///
    206205typedef 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];
    211210} SPDM_CERTIFICATE_RESPONSE;
    212211
     
    215214///
    216215typedef struct {
    217   SPDM_MESSAGE_HEADER  Header;
    218   UINT8                Nonce[32];
     216  SPDM_MESSAGE_HEADER    Header;
     217  UINT8                  Nonce[32];
    219218} SPDM_CHALLENGE_REQUEST;
    220219
     
    223222///
    224223typedef 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];
    232231} SPDM_CHALLENGE_AUTH_RESPONSE;
    233232
     
    236235///
    237236typedef struct {
    238   SPDM_MESSAGE_HEADER  Header;
    239   UINT8                Nonce[32];
     237  SPDM_MESSAGE_HEADER    Header;
     238  UINT8                  Nonce[32];
    240239} SPDM_GET_MEASUREMENTS_REQUEST;
    241240
     
    244243///
    245244typedef struct {
    246   UINT8                Index;
    247   UINT8                MeasurementSpecification;
    248   UINT16               MeasurementSize;
    249 //UINT8                Measurement[MeasurementSize];
     245  UINT8     Index;
     246  UINT8     MeasurementSpecification;
     247  UINT16    MeasurementSize;
     248  // UINT8                Measurement[MeasurementSize];
    250249} SPDM_MEASUREMENT_BLOCK_COMMON_HEADER;
    251250
    252 #define SPDM_MEASUREMENT_BLOCK_HEADER_SPECIFICATION_DMTF BIT0
     251#define SPDM_MEASUREMENT_BLOCK_HEADER_SPECIFICATION_DMTF  BIT0
    253252
    254253///
     
    256255///
    257256typedef struct {
    258   UINT8                DMTFSpecMeasurementValueType;
    259   UINT16               DMTFSpecMeasurementValueSize;
    260 //UINT8                DMTFSpecMeasurementValue[DMTFSpecMeasurementValueSize];
     257  UINT8     DMTFSpecMeasurementValueType;
     258  UINT16    DMTFSpecMeasurementValueSize;
     259  // UINT8                DMTFSpecMeasurementValue[DMTFSpecMeasurementValueSize];
    261260} SPDM_MEASUREMENT_BLOCK_DMTF_HEADER;
    262261
     
    274273///
    275274typedef 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];
    284283} SPDM_MEASUREMENTS_RESPONSE;
    285284
     
    288287///
    289288typedef struct {
    290   SPDM_MESSAGE_HEADER  Header;
     289  SPDM_MESSAGE_HEADER    Header;
    291290  // Param1 == Error Code
    292291  // Param2 == Error Data
    293 //UINT8                ExtendedErrorData[];
     292  // UINT8                ExtendedErrorData[];
    294293} SPDM_ERROR_RESPONSE;
    295294
     
    310309///
    311310typedef struct {
    312   SPDM_MESSAGE_HEADER  Header;
     311  SPDM_MESSAGE_HEADER    Header;
    313312  // Param1 == RequestCode
    314313  // Param2 == Token
     
    318317
    319318#endif
    320 
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette