]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Include/WorkArea.h
OvmfPkg: Add Tdx measurement data structure in WorkArea
[mirror_edk2.git] / OvmfPkg / Include / WorkArea.h
index 6c3702b716f051ca8bf624993f01bbb696f83a1d..b1c7045ce18c336aca2cc23fa74efebc13297f1f 100644 (file)
@@ -11,6 +11,7 @@
 #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
@@ -64,13 +65,27 @@ typedef struct _SEV_WORK_AREA {
   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
@@ -78,6 +93,10 @@ typedef struct _TDX_WORK_AREA {
   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