#define __OVMF_WORK_AREA_H__\r
\r
#include <ConfidentialComputingGuestAttr.h>\r
+#include <IndustryStandard/Tpm20.h>\r
\r
//\r
// Confidential computing work area header definition. Any change\r
SEC_SEV_ES_WORK_AREA SevEsWorkArea;\r
} SEV_WORK_AREA;\r
\r
+//\r
+// Start of TDX Specific WorkArea definition\r
+//\r
+\r
+#define TDX_MEASUREMENT_TDHOB_BITMASK 0x1\r
+#define TDX_MEASUREMENT_CFVIMG_BITMASK 0x2\r
+\r
+typedef struct _TDX_MEASUREMENTS_DATA {\r
+ UINT32 MeasurementsBitmap;\r
+ UINT8 TdHobHashValue[SHA384_DIGEST_SIZE];\r
+ UINT8 CfvImgHashValue[SHA384_DIGEST_SIZE];\r
+} TDX_MEASUREMENTS_DATA;\r
+\r
//\r
// The TDX work area definition\r
//\r
typedef struct _SEC_TDX_WORK_AREA {\r
- UINT32 PageTableReady;\r
- UINT32 Gpaw;\r
- UINT64 HobList;\r
+ UINT32 PageTableReady;\r
+ UINT32 Gpaw;\r
+ UINT64 HobList;\r
+ TDX_MEASUREMENTS_DATA TdxMeasurementsData;\r
} SEC_TDX_WORK_AREA;\r
\r
typedef struct _TDX_WORK_AREA {\r
SEC_TDX_WORK_AREA SecTdxWorkArea;\r
} TDX_WORK_AREA;\r
\r
+//\r
+// End of TDX Specific WorkArea definition\r
+//\r
+\r
typedef union {\r
CONFIDENTIAL_COMPUTING_WORK_AREA_HEADER Header;\r
SEV_WORK_AREA SevWorkArea;\r