UINTN mBootPerformanceTableSize;\r
BOOLEAN mPeiPhase = FALSE;\r
BOOLEAN mDxePhase = FALSE;\r
+UINT64 mResetEnd = 0;\r
\r
PERF_SUMMARY_DATA SummaryData = { 0 }; ///< Create the SummaryData structure and init. to ZERO.\r
MEASUREMENT_RECORD *mMeasurementList = NULL;\r
{\r
EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER *RecordHeader;\r
UINT8 *PerformanceTablePtr;\r
+ UINT8 *BasicBootTablePtr;\r
+ UINT64 ResetEnd;\r
UINT16 StartProgressId;\r
UINTN TableLength;\r
UINT8 *StartRecordEvent;\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
+ //\r
+ // Update the ResetEnd which was logged at the beginning of firmware image execution\r
+ //\r
+ TableLength = sizeof (EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER);\r
+ BasicBootTablePtr = (mBootPerformanceTable + TableLength);\r
+ ResetEnd = ((EFI_ACPI_5_0_FPDT_FIRMWARE_BASIC_BOOT_RECORD *)BasicBootTablePtr)->ResetEnd;\r
+\r
+ if (ResetEnd > 0) {\r
+ mResetEnd = ResetEnd;\r
+ }\r
+\r
TableLength = sizeof (BOOT_PERFORMANCE_TABLE);\r
PerformanceTablePtr = (mBootPerformanceTable + TableLength);\r
\r