MdeModulePkg/ExtendedFirmwarePerformance: Fix FPDT struct alignment

This commit is contained in:
Marvin Häuser 2023-04-10 10:49:29 +02:00 committed by Mikhail Krichanov
parent e63fef0eea
commit 3aee8784da
4 changed files with 40 additions and 0 deletions

View File

@ -64,6 +64,10 @@ typedef struct {
///
UINT16 ProgressID;
///
/// Reserved for future usage. Must be 0.
///
UINT16 Reserved;
///
/// APIC ID for the processor in the system used as a timestamp clock source.
/// If only one timestamp clock source is used, this field is Reserved and populated as 0.
///
@ -91,6 +95,10 @@ typedef struct {
///
UINT16 ProgressID;
///
/// Reserved for future usage. Must be 0.
///
UINT16 Reserved;
///
/// APIC ID for the processor in the system used as a timestamp clock source.
/// If only one timestamp clock source is used, this field is Reserved and populated as 0.
///
@ -123,6 +131,10 @@ typedef struct {
///
UINT16 ProgressID;
///
/// Reserved for future usage. Must be 0.
///
UINT16 Reserved;
///
/// APIC ID for the processor in the system used as a timestamp clock source.
/// If only one timestamp clock source is used, this field is Reserved and populated as 0.
///
@ -159,6 +171,10 @@ typedef struct {
///
UINT16 ProgressID;
///
/// Reserved for future usage. Must be 0.
///
UINT16 Reserved;
///
/// APIC ID for the processor in the system used as a timestamp clock source.
/// If only one timestamp clock source is used, this field is Reserved and populated as 0.
///
@ -190,6 +206,10 @@ typedef struct {
///
UINT16 ProgressID;
///
/// Reserved for future usage. Must be 0.
///
UINT16 Reserved;
///
/// APIC ID for the processor in the system used as a timestamp clock source.
/// If only one timestamp clock source is used, this field is Reserved and populated as 0.
///

View File

@ -1072,6 +1072,7 @@ InsertFpdtRecord (
FpdtRecordPtr.GuidEvent->Header.Length = sizeof (FPDT_GUID_EVENT_RECORD);
FpdtRecordPtr.GuidEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.GuidEvent->ProgressID = PerfId;
FpdtRecordPtr.GuidEvent->Reserved = 0;
FpdtRecordPtr.GuidEvent->Timestamp = TimeStamp;
CopyMem (&FpdtRecordPtr.GuidEvent->Guid, &ModuleGuid, sizeof (FpdtRecordPtr.GuidEvent->Guid));
if ((CallerIdentifier == NULL) && (PerfId == MODULE_END_ID) && (mCachedLength != 0)) {
@ -1111,6 +1112,7 @@ InsertFpdtRecord (
FpdtRecordPtr.GuidQwordEvent->Header.Length = sizeof (FPDT_GUID_QWORD_EVENT_RECORD);
FpdtRecordPtr.GuidQwordEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.GuidQwordEvent->ProgressID = PerfId;
FpdtRecordPtr.GuidQwordEvent->Reserved = 0;
FpdtRecordPtr.GuidQwordEvent->Timestamp = TimeStamp;
FpdtRecordPtr.GuidQwordEvent->Qword = mLoadImageCount;
CopyMem (&FpdtRecordPtr.GuidQwordEvent->Guid, &ModuleGuid, sizeof (FpdtRecordPtr.GuidQwordEvent->Guid));
@ -1140,6 +1142,7 @@ InsertFpdtRecord (
FpdtRecordPtr.GuidQwordEvent->Header.Length = sizeof (FPDT_GUID_QWORD_EVENT_RECORD);
FpdtRecordPtr.GuidQwordEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.GuidQwordEvent->ProgressID = PerfId;
FpdtRecordPtr.GuidQwordEvent->Reserved = 0;
FpdtRecordPtr.GuidQwordEvent->Timestamp = TimeStamp;
FpdtRecordPtr.GuidQwordEvent->Qword = Address;
CopyMem (&FpdtRecordPtr.GuidQwordEvent->Guid, &ModuleGuid, sizeof (FpdtRecordPtr.GuidQwordEvent->Guid));
@ -1155,6 +1158,7 @@ InsertFpdtRecord (
FpdtRecordPtr.GuidQwordStringEvent->Header.Length = sizeof (FPDT_GUID_QWORD_STRING_EVENT_RECORD);
FpdtRecordPtr.GuidQwordStringEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.GuidQwordStringEvent->ProgressID = PerfId;
FpdtRecordPtr.GuidQwordStringEvent->Reserved = 0;
FpdtRecordPtr.GuidQwordStringEvent->Timestamp = TimeStamp;
FpdtRecordPtr.GuidQwordStringEvent->Qword = Address;
CopyMem (&FpdtRecordPtr.GuidQwordStringEvent->Guid, &ModuleGuid, sizeof (FpdtRecordPtr.GuidQwordStringEvent->Guid));
@ -1183,6 +1187,7 @@ InsertFpdtRecord (
FpdtRecordPtr.DualGuidStringEvent->Header.Length = sizeof (FPDT_DUAL_GUID_STRING_EVENT_RECORD);
FpdtRecordPtr.DualGuidStringEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.DualGuidStringEvent->ProgressID = PerfId;
FpdtRecordPtr.DualGuidStringEvent->Reserved = 0;
FpdtRecordPtr.DualGuidStringEvent->Timestamp = TimeStamp;
CopyMem (&FpdtRecordPtr.DualGuidStringEvent->Guid1, CallerIdentifier, sizeof (FpdtRecordPtr.DualGuidStringEvent->Guid1));
CopyMem (&FpdtRecordPtr.DualGuidStringEvent->Guid2, Guid, sizeof (FpdtRecordPtr.DualGuidStringEvent->Guid2));
@ -1214,6 +1219,7 @@ InsertFpdtRecord (
FpdtRecordPtr.DynamicStringEvent->Header.Length = sizeof (FPDT_DYNAMIC_STRING_EVENT_RECORD);
FpdtRecordPtr.DynamicStringEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.DynamicStringEvent->ProgressID = PerfId;
FpdtRecordPtr.DynamicStringEvent->Reserved = 0;
FpdtRecordPtr.DynamicStringEvent->Timestamp = TimeStamp;
CopyMem (&FpdtRecordPtr.DynamicStringEvent->Guid, &ModuleGuid, sizeof (FpdtRecordPtr.DynamicStringEvent->Guid));
CopyStringIntoPerfRecordAndUpdateLength (FpdtRecordPtr.DynamicStringEvent->String, StringPtr, &FpdtRecordPtr.DynamicStringEvent->Header.Length);
@ -1239,6 +1245,7 @@ InsertFpdtRecord (
FpdtRecordPtr.DynamicStringEvent->Header.Length = sizeof (FPDT_DYNAMIC_STRING_EVENT_RECORD);
FpdtRecordPtr.DynamicStringEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.DynamicStringEvent->ProgressID = PerfId;
FpdtRecordPtr.DynamicStringEvent->Reserved = 0;
FpdtRecordPtr.DynamicStringEvent->Timestamp = TimeStamp;
CopyMem (&FpdtRecordPtr.DynamicStringEvent->Guid, &ModuleGuid, sizeof (FpdtRecordPtr.DynamicStringEvent->Guid));
CopyStringIntoPerfRecordAndUpdateLength (FpdtRecordPtr.DynamicStringEvent->String, StringPtr, &FpdtRecordPtr.DynamicStringEvent->Header.Length);
@ -1262,6 +1269,7 @@ InsertFpdtRecord (
FpdtRecordPtr.DynamicStringEvent->Header.Length = sizeof (FPDT_DYNAMIC_STRING_EVENT_RECORD);
FpdtRecordPtr.DynamicStringEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.DynamicStringEvent->ProgressID = PerfId;
FpdtRecordPtr.DynamicStringEvent->Reserved = 0;
FpdtRecordPtr.DynamicStringEvent->Timestamp = TimeStamp;
if (Guid != NULL) {
//

View File

@ -398,6 +398,7 @@ InsertFpdtRecord (
FpdtRecordPtr.GuidEvent->Header.Length = sizeof (FPDT_GUID_EVENT_RECORD);
FpdtRecordPtr.GuidEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.GuidEvent->ProgressID = PerfId;
FpdtRecordPtr.GuidEvent->Reserved = 0;
FpdtRecordPtr.GuidEvent->Timestamp = TimeStamp;
CopyMem (&FpdtRecordPtr.GuidEvent->Guid, ModuleGuid, sizeof (EFI_GUID));
}
@ -412,6 +413,7 @@ InsertFpdtRecord (
FpdtRecordPtr.GuidQwordEvent->Header.Length = sizeof (FPDT_GUID_QWORD_EVENT_RECORD);
FpdtRecordPtr.GuidQwordEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.GuidQwordEvent->ProgressID = PerfId;
FpdtRecordPtr.GuidQwordEvent->Reserved = 0;
FpdtRecordPtr.GuidQwordEvent->Timestamp = TimeStamp;
if (PerfId == MODULE_LOADIMAGE_START_ID) {
PeiPerformanceLogHeader->LoadImageCount++;
@ -441,6 +443,7 @@ InsertFpdtRecord (
FpdtRecordPtr.DualGuidStringEvent->Header.Length = sizeof (FPDT_DUAL_GUID_STRING_EVENT_RECORD);
FpdtRecordPtr.DualGuidStringEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.DualGuidStringEvent->ProgressID = PerfId;
FpdtRecordPtr.DualGuidStringEvent->Reserved = 0;
FpdtRecordPtr.DualGuidStringEvent->Timestamp = TimeStamp;
CopyMem (&FpdtRecordPtr.DualGuidStringEvent->Guid1, ModuleGuid, sizeof (FpdtRecordPtr.DualGuidStringEvent->Guid1));
CopyMem (&FpdtRecordPtr.DualGuidStringEvent->Guid2, Guid, sizeof (FpdtRecordPtr.DualGuidStringEvent->Guid2));
@ -467,6 +470,7 @@ InsertFpdtRecord (
FpdtRecordPtr.DynamicStringEvent->Header.Length = sizeof (FPDT_DYNAMIC_STRING_EVENT_RECORD);
FpdtRecordPtr.DynamicStringEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.DynamicStringEvent->ProgressID = PerfId;
FpdtRecordPtr.DynamicStringEvent->Reserved = 0;
FpdtRecordPtr.DynamicStringEvent->Timestamp = TimeStamp;
CopyMem (&FpdtRecordPtr.DynamicStringEvent->Guid, ModuleGuid, sizeof (EFI_GUID));
CopyStringIntoPerfRecordAndUpdateLength (FpdtRecordPtr.DynamicStringEvent->String, StringPtr, &FpdtRecordPtr.DynamicStringEvent->Header.Length);
@ -487,6 +491,7 @@ InsertFpdtRecord (
FpdtRecordPtr.DynamicStringEvent->Header.Length = sizeof (FPDT_DYNAMIC_STRING_EVENT_RECORD);
FpdtRecordPtr.DynamicStringEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.DynamicStringEvent->ProgressID = PerfId;
FpdtRecordPtr.DynamicStringEvent->Reserved = 0;
FpdtRecordPtr.DynamicStringEvent->Timestamp = TimeStamp;
CopyMem (&FpdtRecordPtr.DynamicStringEvent->Guid, ModuleGuid, sizeof (FpdtRecordPtr.DynamicStringEvent->Guid));
CopyStringIntoPerfRecordAndUpdateLength (FpdtRecordPtr.DynamicStringEvent->String, StringPtr, &FpdtRecordPtr.DynamicStringEvent->Header.Length);
@ -506,6 +511,7 @@ InsertFpdtRecord (
FpdtRecordPtr.DynamicStringEvent->Header.Length = sizeof (FPDT_DYNAMIC_STRING_EVENT_RECORD);
FpdtRecordPtr.DynamicStringEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.DynamicStringEvent->ProgressID = PerfId;
FpdtRecordPtr.DynamicStringEvent->Reserved = 0;
FpdtRecordPtr.DynamicStringEvent->Timestamp = TimeStamp;
if (Guid != NULL) {
//

View File

@ -620,6 +620,7 @@ InsertFpdtRecord (
FpdtRecordPtr.GuidEvent->Header.Length = sizeof (FPDT_GUID_EVENT_RECORD);
FpdtRecordPtr.GuidEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.GuidEvent->ProgressID = PerfId;
FpdtRecordPtr.GuidEvent->Reserved = 0;
FpdtRecordPtr.GuidEvent->Timestamp = TimeStamp;
CopyMem (&FpdtRecordPtr.GuidEvent->Guid, &ModuleGuid, sizeof (FpdtRecordPtr.GuidEvent->Guid));
if ((CallerIdentifier == NULL) && (PerfId == MODULE_END_ID) && (mCachedLength != 0)) {
@ -650,6 +651,7 @@ InsertFpdtRecord (
FpdtRecordPtr.GuidQwordEvent->Header.Length = sizeof (FPDT_GUID_QWORD_EVENT_RECORD);
FpdtRecordPtr.GuidQwordEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.GuidQwordEvent->ProgressID = PerfId;
FpdtRecordPtr.GuidQwordEvent->Reserved = 0;
FpdtRecordPtr.GuidQwordEvent->Timestamp = TimeStamp;
FpdtRecordPtr.GuidQwordEvent->Qword = mLoadImageCount;
CopyMem (&FpdtRecordPtr.GuidQwordEvent->Guid, &ModuleGuid, sizeof (FpdtRecordPtr.GuidQwordEvent->Guid));
@ -680,6 +682,7 @@ InsertFpdtRecord (
FpdtRecordPtr.DualGuidStringEvent->Header.Length = sizeof (FPDT_DUAL_GUID_STRING_EVENT_RECORD);
FpdtRecordPtr.DualGuidStringEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.DualGuidStringEvent->ProgressID = PerfId;
FpdtRecordPtr.DualGuidStringEvent->Reserved = 0;
FpdtRecordPtr.DualGuidStringEvent->Timestamp = TimeStamp;
CopyMem (&FpdtRecordPtr.DualGuidStringEvent->Guid1, CallerIdentifier, sizeof (FpdtRecordPtr.DualGuidStringEvent->Guid1));
CopyMem (&FpdtRecordPtr.DualGuidStringEvent->Guid2, Guid, sizeof (FpdtRecordPtr.DualGuidStringEvent->Guid2));
@ -711,6 +714,7 @@ InsertFpdtRecord (
FpdtRecordPtr.DynamicStringEvent->Header.Length = sizeof (FPDT_DYNAMIC_STRING_EVENT_RECORD);
FpdtRecordPtr.DynamicStringEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.DynamicStringEvent->ProgressID = PerfId;
FpdtRecordPtr.DynamicStringEvent->Reserved = 0;
FpdtRecordPtr.DynamicStringEvent->Timestamp = TimeStamp;
CopyMem (&FpdtRecordPtr.DynamicStringEvent->Guid, &ModuleGuid, sizeof (FpdtRecordPtr.DynamicStringEvent->Guid));
CopyStringIntoPerfRecordAndUpdateLength (FpdtRecordPtr.DynamicStringEvent->String, StringPtr, &FpdtRecordPtr.DynamicStringEvent->Header.Length);
@ -736,6 +740,7 @@ InsertFpdtRecord (
FpdtRecordPtr.DynamicStringEvent->Header.Length = sizeof (FPDT_DYNAMIC_STRING_EVENT_RECORD);
FpdtRecordPtr.DynamicStringEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.DynamicStringEvent->ProgressID = PerfId;
FpdtRecordPtr.DynamicStringEvent->Reserved = 0;
FpdtRecordPtr.DynamicStringEvent->Timestamp = TimeStamp;
CopyMem (&FpdtRecordPtr.DynamicStringEvent->Guid, &ModuleGuid, sizeof (FpdtRecordPtr.DynamicStringEvent->Guid));
CopyStringIntoPerfRecordAndUpdateLength (FpdtRecordPtr.DynamicStringEvent->String, StringPtr, &FpdtRecordPtr.DynamicStringEvent->Header.Length);
@ -759,6 +764,7 @@ InsertFpdtRecord (
FpdtRecordPtr.DynamicStringEvent->Header.Length = sizeof (FPDT_DYNAMIC_STRING_EVENT_RECORD);
FpdtRecordPtr.DynamicStringEvent->Header.Revision = FPDT_RECORD_REVISION_1;
FpdtRecordPtr.DynamicStringEvent->ProgressID = PerfId;
FpdtRecordPtr.DynamicStringEvent->Reserved = 0;
FpdtRecordPtr.DynamicStringEvent->Timestamp = TimeStamp;
if (Guid != NULL) {
//