]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Library/PeilessStartupLib/IntelTdx.c
OvmfPkg: Refactor MeasureHobList
[mirror_edk2.git] / OvmfPkg / Library / PeilessStartupLib / IntelTdx.c
index 4e8dca3d77125cdae64e95399818c51cf8918d45..ae0ffcc95da506c99bd4e0746381938896faadb0 100644 (file)
 \r
 #include "PeilessStartupInternal.h"\r
 \r
-#pragma pack(1)\r
-\r
-#define HANDOFF_TABLE_DESC  "TdxTable"\r
-typedef struct {\r
-  UINT8                      TableDescriptionSize;\r
-  UINT8                      TableDescription[sizeof (HANDOFF_TABLE_DESC)];\r
-  UINT64                     NumberOfTables;\r
-  EFI_CONFIGURATION_TABLE    TableEntry[1];\r
-} TDX_HANDOFF_TABLE_POINTERS2;\r
-\r
-#pragma pack()\r
-\r
 #define FV_HANDOFF_TABLE_DESC  "Fv(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)"\r
 typedef PLATFORM_FIRMWARE_BLOB2_STRUCT CFV_HANDOFF_TABLE_POINTERS2;\r
 \r
-/**\r
-  Measure the Hoblist passed from the VMM.\r
-\r
-  @param[in] VmmHobList    The Hoblist pass the firmware\r
-\r
-  @retval EFI_SUCCESS           Fv image is measured successfully\r
-                                or it has been already measured.\r
-  @retval Others                Other errors as indicated\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-MeasureHobList (\r
-  IN CONST VOID  *VmmHobList\r
-  )\r
-{\r
-  EFI_PEI_HOB_POINTERS         Hob;\r
-  TDX_HANDOFF_TABLE_POINTERS2  HandoffTables;\r
-  EFI_STATUS                   Status;\r
-\r
-  if (!TdIsEnabled ()) {\r
-    ASSERT (FALSE);\r
-    return EFI_UNSUPPORTED;\r
-  }\r
-\r
-  Hob.Raw = (UINT8 *)VmmHobList;\r
-\r
-  //\r
-  // Parse the HOB list until end of list.\r
-  //\r
-  while (!END_OF_HOB_LIST (Hob)) {\r
-    Hob.Raw = GET_NEXT_HOB (Hob);\r
-  }\r
-\r
-  //\r
-  // Init the log event for HOB measurement\r
-  //\r
-\r
-  HandoffTables.TableDescriptionSize = sizeof (HandoffTables.TableDescription);\r
-  CopyMem (HandoffTables.TableDescription, HANDOFF_TABLE_DESC, sizeof (HandoffTables.TableDescription));\r
-  HandoffTables.NumberOfTables = 1;\r
-  CopyGuid (&(HandoffTables.TableEntry[0].VendorGuid), &gUefiOvmfPkgTokenSpaceGuid);\r
-  HandoffTables.TableEntry[0].VendorTable = (VOID *)VmmHobList;\r
-\r
-  Status = TpmMeasureAndLogData (\r
-             1,                                              // PCRIndex\r
-             EV_EFI_HANDOFF_TABLES2,                         // EventType\r
-             (VOID *)&HandoffTables,                         // EventData\r
-             sizeof (HandoffTables),                         // EventSize\r
-             (UINT8 *)(UINTN)VmmHobList,                     // HashData\r
-             (UINTN)((UINT8 *)Hob.Raw - (UINT8 *)VmmHobList) // HashDataLen\r
-             );\r
-\r
-  if (EFI_ERROR (Status)) {\r
-    ASSERT (FALSE);\r
-  }\r
-\r
-  return Status;\r
-}\r
-\r
 /**\r
   Get the FvName from the FV header.\r
 \r