+/**\r
+ Do a hash operation on a data buffer, extend a specific TPM PCR with the hash result,\r
+ and build a GUIDed HOB recording the event which will be passed to the DXE phase and\r
+ added into the Event Log.\r
+\r
+ @param[in] This Indicates the calling context\r
+ @param[in] Flags Bitmap providing additional information.\r
+ @param[in] HashData Physical address of the start of the data buffer\r
+ to be hashed, extended, and logged.\r
+ @param[in] HashDataLen The length, in bytes, of the buffer referenced by HashData.\r
+ @param[in] NewEventHdr Pointer to a TCG_PCR_EVENT_HDR data structure.\r
+ @param[in] NewEventData Pointer to the new event data.\r
+\r
+ @retval EFI_SUCCESS Operation completed successfully.\r
+ @retval EFI_OUT_OF_RESOURCES No enough memory to log the new event.\r
+ @retval EFI_DEVICE_ERROR The command was unsuccessful.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+HashLogExtendEvent (\r
+ IN EDKII_TCG_PPI *This,\r
+ IN UINT64 Flags,\r
+ IN UINT8 *HashData,\r
+ IN UINTN HashDataLen,\r
+ IN TCG_PCR_EVENT_HDR *NewEventHdr,\r
+ IN UINT8 *NewEventData\r
+ );\r
+\r
+EDKII_TCG_PPI mEdkiiTcgPpi = {\r
+ HashLogExtendEvent\r
+};\r
+\r
+EFI_PEI_PPI_DESCRIPTOR mTcgPpiList = {\r
+ EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST,\r
+ &gEdkiiTcgPpiGuid,\r
+ &mEdkiiTcgPpi\r
+};\r
+\r