#pragma pack(1)\r
\r
typedef struct {\r
- EFI_ACPI_DESCRIPTION_HEADER Header;\r
- UINT32 Entry;\r
+ EFI_ACPI_DESCRIPTION_HEADER Header;\r
+ UINT32 Entry;\r
} RSDT_TABLE;\r
\r
typedef struct {\r
- EFI_ACPI_DESCRIPTION_HEADER Header;\r
- UINT64 Entry;\r
+ EFI_ACPI_DESCRIPTION_HEADER Header;\r
+ UINT64 Entry;\r
} XSDT_TABLE;\r
\r
#pragma pack()\r
\r
-EFI_HII_HANDLE mDpHiiHandle;\r
+EFI_HII_HANDLE mDpHiiHandle;\r
\r
typedef struct {\r
EFI_HANDLE Handle;\r
//\r
/// Module-Global Variables\r
///@{\r
-CHAR16 mGaugeString[DP_GAUGE_STRING_LENGTH + 1];\r
-CHAR16 mUnicodeToken[DXE_PERFORMANCE_STRING_SIZE];\r
-UINT64 mInterestThreshold;\r
-BOOLEAN mShowId = FALSE;\r
-UINT8 *mBootPerformanceTable;\r
-UINTN mBootPerformanceTableSize;\r
-BOOLEAN mPeiPhase = FALSE;\r
-BOOLEAN mDxePhase = FALSE;\r
-\r
-PERF_SUMMARY_DATA SummaryData = { 0 }; ///< Create the SummaryData structure and init. to ZERO.\r
+CHAR16 mGaugeString[DP_GAUGE_STRING_LENGTH + 1];\r
+CHAR16 mUnicodeToken[DXE_PERFORMANCE_STRING_SIZE];\r
+UINT64 mInterestThreshold;\r
+BOOLEAN mShowId = FALSE;\r
+UINT8 *mBootPerformanceTable;\r
+UINTN mBootPerformanceTableSize;\r
+BOOLEAN mPeiPhase = FALSE;\r
+BOOLEAN mDxePhase = FALSE;\r
+\r
+PERF_SUMMARY_DATA SummaryData = { 0 }; ///< Create the SummaryData structure and init. to ZERO.\r
MEASUREMENT_RECORD *mMeasurementList = NULL;\r
-UINTN mMeasurementNum = 0;\r
+UINTN mMeasurementNum = 0;\r
\r
/// Items for which to gather cumulative statistics.\r
-PERF_CUM_DATA CumData[] = {\r
+PERF_CUM_DATA CumData[] = {\r
PERF_INIT_CUM_DATA (LOAD_IMAGE_TOK),\r
PERF_INIT_CUM_DATA (START_IMAGE_TOK),\r
PERF_INIT_CUM_DATA (DRIVERBINDING_START_TOK),\r
};\r
\r
/// Number of items for which we are gathering cumulative statistics.\r
-UINT32 const NumCum = sizeof(CumData) / sizeof(PERF_CUM_DATA);\r
-\r
-STATIC CONST SHELL_PARAM_ITEM ParamList[] = {\r
- {L"-v", TypeFlag}, // -v Verbose Mode\r
- {L"-A", TypeFlag}, // -A All, Cooked\r
- {L"-R", TypeFlag}, // -R RAW All\r
- {L"-s", TypeFlag}, // -s Summary\r
- {L"-x", TypeFlag}, // -x eXclude Cumulative Items\r
- {L"-i", TypeFlag}, // -i Display Identifier\r
- {L"-c", TypeValue}, // -c Display cumulative data.\r
- {L"-n", TypeValue}, // -n # Number of records to display for A and R\r
- {L"-t", TypeValue}, // -t # Threshold of interest\r
- {NULL, TypeMax}\r
- };\r
+UINT32 const NumCum = sizeof (CumData) / sizeof (PERF_CUM_DATA);\r
+\r
+STATIC CONST SHELL_PARAM_ITEM ParamList[] = {\r
+ { L"-v", TypeFlag }, // -v Verbose Mode\r
+ { L"-A", TypeFlag }, // -A All, Cooked\r
+ { L"-R", TypeFlag }, // -R RAW All\r
+ { L"-s", TypeFlag }, // -s Summary\r
+ { L"-x", TypeFlag }, // -x eXclude Cumulative Items\r
+ { L"-i", TypeFlag }, // -i Display Identifier\r
+ { L"-c", TypeValue }, // -c Display cumulative data.\r
+ { L"-n", TypeValue }, // -n # Number of records to display for A and R\r
+ { L"-t", TypeValue }, // -t # Threshold of interest\r
+ { NULL, TypeMax }\r
+};\r
\r
///@}\r
\r
Display the trailing Verbose information.\r
**/\r
VOID\r
-DumpStatistics( void )\r
+DumpStatistics (\r
+ void\r
+ )\r
{\r
- EFI_STRING StringPtr;\r
- EFI_STRING StringPtrUnknown;\r
+ EFI_STRING StringPtr;\r
+ EFI_STRING StringPtrUnknown;\r
+\r
StringPtr = HiiGetString (mDpHiiHandle, STRING_TOKEN (STR_DP_SECTION_STATISTICS), NULL);\r
StringPtrUnknown = HiiGetString (mDpHiiHandle, STRING_TOKEN (STR_ALIT_UNKNOWN), NULL);\r
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_SECTION_HEADER), mDpHiiHandle,\r
- (StringPtr == NULL) ? StringPtrUnknown : StringPtr);\r
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_STATS_NUMTRACE), mDpHiiHandle, SummaryData.NumTrace);\r
+ ShellPrintHiiEx (\r
+ -1,\r
+ -1,\r
+ NULL,\r
+ STRING_TOKEN (STR_DP_SECTION_HEADER),\r
+ mDpHiiHandle,\r
+ (StringPtr == NULL) ? StringPtrUnknown : StringPtr\r
+ );\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_STATS_NUMTRACE), mDpHiiHandle, SummaryData.NumTrace);\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_STATS_NUMINCOMPLETE), mDpHiiHandle, SummaryData.NumIncomplete);\r
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_STATS_NUMPHASES), mDpHiiHandle, SummaryData.NumSummary);\r
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_STATS_NUMHANDLES), mDpHiiHandle, SummaryData.NumHandles, SummaryData.NumTrace - SummaryData.NumHandles);\r
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_STATS_NUMPEIMS), mDpHiiHandle, SummaryData.NumPEIMs);\r
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_STATS_NUMGLOBALS), mDpHiiHandle, SummaryData.NumGlobal);\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_STATS_NUMPHASES), mDpHiiHandle, SummaryData.NumSummary);\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_STATS_NUMHANDLES), mDpHiiHandle, SummaryData.NumHandles, SummaryData.NumTrace - SummaryData.NumHandles);\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_STATS_NUMPEIMS), mDpHiiHandle, SummaryData.NumPEIMs);\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_STATS_NUMGLOBALS), mDpHiiHandle, SummaryData.NumGlobal);\r
SHELL_FREE_NON_NULL (StringPtr);\r
SHELL_FREE_NON_NULL (StringPtrUnknown);\r
}\r
{\r
FIRMWARE_PERFORMANCE_TABLE *FirmwarePerformanceTable;\r
\r
- FirmwarePerformanceTable = (FIRMWARE_PERFORMANCE_TABLE *) EfiLocateFirstAcpiTable (\r
- EFI_ACPI_5_0_FIRMWARE_PERFORMANCE_DATA_TABLE_SIGNATURE\r
- );\r
+ FirmwarePerformanceTable = (FIRMWARE_PERFORMANCE_TABLE *)EfiLocateFirstAcpiTable (\r
+ EFI_ACPI_5_0_FIRMWARE_PERFORMANCE_DATA_TABLE_SIGNATURE\r
+ );\r
if (FirmwarePerformanceTable == NULL) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_GET_ACPI_FPDT_FAIL), mDpHiiHandle);\r
return EFI_NOT_FOUND;\r
}\r
\r
- mBootPerformanceTable = (UINT8*) (UINTN)FirmwarePerformanceTable->BootPointerRecord.BootPerformanceTablePointer;\r
- mBootPerformanceTableSize = ((BOOT_PERFORMANCE_TABLE *) mBootPerformanceTable)->Header.Length;\r
+ mBootPerformanceTable = (UINT8 *)(UINTN)FirmwarePerformanceTable->BootPointerRecord.BootPerformanceTablePointer;\r
+ mBootPerformanceTableSize = ((BOOT_PERFORMANCE_TABLE *)mBootPerformanceTable)->Header.Length;\r
\r
return EFI_SUCCESS;\r
}\r
**/\r
VOID\r
GetHandleFormModuleGuid (\r
- IN EFI_GUID *ModuleGuid,\r
- IN OUT EFI_HANDLE *Handle\r
+ IN EFI_GUID *ModuleGuid,\r
+ IN OUT EFI_HANDLE *Handle\r
)\r
{\r
- UINTN Index;\r
+ UINTN Index;\r
\r
if (IsZeroGuid (ModuleGuid)) {\r
*Handle = NULL;\r
}\r
+\r
//\r
// Try to get the Handle from the cached array.\r
//\r
break;\r
}\r
}\r
+\r
if (Index >= mCachePairCount) {\r
*Handle = NULL;\r
}\r
VOID\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_HANDLE *HandleBuffer;\r
- UINTN HandleCount;\r
- UINTN Index;\r
- EFI_LOADED_IMAGE_PROTOCOL *LoadedImage;\r
- EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;\r
- EFI_GUID *TempGuid;\r
- MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvFilePath;\r
+ EFI_STATUS Status;\r
+ EFI_HANDLE *HandleBuffer;\r
+ UINTN HandleCount;\r
+ UINTN Index;\r
+ EFI_LOADED_IMAGE_PROTOCOL *LoadedImage;\r
+ EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;\r
+ EFI_GUID *TempGuid;\r
+ MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvFilePath;\r
\r
Status = gBS->LocateHandleBuffer (AllHandles, NULL, NULL, &HandleCount, &HandleBuffer);\r
if (EFI_ERROR (Status)) {\r
// Try Handle as ImageHandle.\r
//\r
Status = gBS->HandleProtocol (\r
- HandleBuffer[Index],\r
- &gEfiLoadedImageProtocolGuid,\r
- (VOID**) &LoadedImage\r
- );\r
+ HandleBuffer[Index],\r
+ &gEfiLoadedImageProtocolGuid,\r
+ (VOID **)&LoadedImage\r
+ );\r
if (EFI_ERROR (Status)) {\r
//\r
// Try Handle as Controller Handle\r
//\r
Status = gBS->OpenProtocol (\r
- HandleBuffer[Index],\r
- &gEfiDriverBindingProtocolGuid,\r
- (VOID **) &DriverBinding,\r
- NULL,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
- );\r
+ HandleBuffer[Index],\r
+ &gEfiDriverBindingProtocolGuid,\r
+ (VOID **)&DriverBinding,\r
+ NULL,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
if (!EFI_ERROR (Status)) {\r
//\r
// Get Image protocol from ImageHandle\r
//\r
Status = gBS->HandleProtocol (\r
- DriverBinding->ImageHandle,\r
- &gEfiLoadedImageProtocolGuid,\r
- (VOID**) &LoadedImage\r
- );\r
+ DriverBinding->ImageHandle,\r
+ &gEfiLoadedImageProtocolGuid,\r
+ (VOID **)&LoadedImage\r
+ );\r
}\r
}\r
\r
- if (!EFI_ERROR (Status) && LoadedImage != NULL) {\r
+ if (!EFI_ERROR (Status) && (LoadedImage != NULL)) {\r
//\r
// Get Module Guid from DevicePath.\r
//\r
- if (LoadedImage->FilePath != NULL &&\r
- LoadedImage->FilePath->Type == MEDIA_DEVICE_PATH &&\r
- LoadedImage->FilePath->SubType == MEDIA_PIWG_FW_FILE_DP\r
- ) {\r
- FvFilePath = (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *) LoadedImage->FilePath;\r
- TempGuid = &FvFilePath->FvFileName;\r
+ if ((LoadedImage->FilePath != NULL) &&\r
+ (LoadedImage->FilePath->Type == MEDIA_DEVICE_PATH) &&\r
+ (LoadedImage->FilePath->SubType == MEDIA_PIWG_FW_FILE_DP)\r
+ )\r
+ {\r
+ FvFilePath = (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *)LoadedImage->FilePath;\r
+ TempGuid = &FvFilePath->FvFileName;\r
\r
mCacheHandleGuidTable[mCachePairCount].Handle = HandleBuffer[Index];\r
CopyGuid (&mCacheHandleGuidTable[mCachePairCount].ModuleGuid, TempGuid);\r
- mCachePairCount ++;\r
+ mCachePairCount++;\r
}\r
}\r
}\r
+\r
if (HandleBuffer != NULL) {\r
FreePool (HandleBuffer);\r
HandleBuffer = NULL;\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
IN OUT MEASUREMENT_RECORD *Measurement\r
)\r
{\r
- VOID *ModuleGuid;\r
- EFI_HANDLE StartHandle;\r
+ VOID *ModuleGuid;\r
+ EFI_HANDLE StartHandle;\r
\r
switch (RecordHeader->Type) {\r
- case FPDT_GUID_EVENT_TYPE:\r
- ModuleGuid = &(((FPDT_GUID_EVENT_RECORD *)RecordHeader)->Guid);\r
- Measurement->Identifier = ((UINT32)((FPDT_GUID_EVENT_RECORD *)RecordHeader)->ProgressID);\r
- if (IsStart) {\r
- Measurement->StartTimeStamp = ((FPDT_GUID_EVENT_RECORD *)RecordHeader)->Timestamp;\r
- } else {\r
- Measurement->EndTimeStamp = ((FPDT_GUID_EVENT_RECORD *)RecordHeader)->Timestamp;\r
- }\r
- switch (Measurement->Identifier) {\r
- case MODULE_START_ID:\r
- case MODULE_END_ID:\r
- if (mPeiPhase) {\r
- Measurement->Token = ALit_PEIM;\r
- Measurement->Module = ALit_PEIM;\r
- } else if (mDxePhase) {\r
- Measurement->Token = ALit_START_IMAGE;\r
- Measurement->Module = ALit_START_IMAGE;\r
+ case FPDT_GUID_EVENT_TYPE:\r
+ ModuleGuid = &(((FPDT_GUID_EVENT_RECORD *)RecordHeader)->Guid);\r
+ Measurement->Identifier = ((UINT32)((FPDT_GUID_EVENT_RECORD *)RecordHeader)->ProgressID);\r
+ if (IsStart) {\r
+ Measurement->StartTimeStamp = ((FPDT_GUID_EVENT_RECORD *)RecordHeader)->Timestamp;\r
+ } else {\r
+ Measurement->EndTimeStamp = ((FPDT_GUID_EVENT_RECORD *)RecordHeader)->Timestamp;\r
}\r
- break;\r
- default:\r
- ASSERT(FALSE);\r
- }\r
\r
- if (Measurement->Token != NULL && AsciiStrCmp (Measurement->Token, ALit_PEIM) == 0) {\r
- Measurement->Handle = &(((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->Guid);\r
- } else {\r
- GetHandleFormModuleGuid(ModuleGuid, &StartHandle);\r
- Measurement->Handle = StartHandle;\r
- //\r
- // When no perf entry to record the PEI and DXE phase,\r
- // For start image, we need detect the PEIM and non PEIM here.\r
- //\r
- if (Measurement->Token == NULL) {\r
- if (StartHandle == NULL && !IsZeroGuid (ModuleGuid)) {\r
- Measurement->Token = ALit_PEIM;\r
- Measurement->Module = ALit_PEIM;\r
- Measurement->Handle = ModuleGuid;\r
- } else {\r
- Measurement->Token = ALit_START_IMAGE;\r
- Measurement->Module = ALit_START_IMAGE;\r
- }\r
+ switch (Measurement->Identifier) {\r
+ case MODULE_START_ID:\r
+ case MODULE_END_ID:\r
+ if (mPeiPhase) {\r
+ Measurement->Token = ALit_PEIM;\r
+ Measurement->Module = ALit_PEIM;\r
+ } else if (mDxePhase) {\r
+ Measurement->Token = ALit_START_IMAGE;\r
+ Measurement->Module = ALit_START_IMAGE;\r
+ }\r
+\r
+ break;\r
+ default:\r
+ ASSERT (FALSE);\r
}\r
- }\r
- break;\r
\r
- case FPDT_DYNAMIC_STRING_EVENT_TYPE:\r
- ModuleGuid = &(((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->Guid);\r
- Measurement->Identifier = ((UINT32)((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->ProgressID);\r
- if (IsStart) {\r
- Measurement->StartTimeStamp = ((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->Timestamp;\r
- } else {\r
- Measurement->EndTimeStamp = ((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->Timestamp;\r
- }\r
- switch (Measurement->Identifier) {\r
- case MODULE_START_ID:\r
- case MODULE_END_ID:\r
- if (mPeiPhase) {\r
- Measurement->Token = ALit_PEIM;\r
- } else if (mDxePhase) {\r
- Measurement->Token = ALit_START_IMAGE;\r
+ if ((Measurement->Token != NULL) && (AsciiStrCmp (Measurement->Token, ALit_PEIM) == 0)) {\r
+ Measurement->Handle = &(((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->Guid);\r
+ } else {\r
+ GetHandleFormModuleGuid (ModuleGuid, &StartHandle);\r
+ Measurement->Handle = StartHandle;\r
+ //\r
+ // When no perf entry to record the PEI and DXE phase,\r
+ // For start image, we need detect the PEIM and non PEIM here.\r
+ //\r
+ if (Measurement->Token == NULL) {\r
+ if ((StartHandle == NULL) && !IsZeroGuid (ModuleGuid)) {\r
+ Measurement->Token = ALit_PEIM;\r
+ Measurement->Module = ALit_PEIM;\r
+ Measurement->Handle = ModuleGuid;\r
+ } else {\r
+ Measurement->Token = ALit_START_IMAGE;\r
+ Measurement->Module = ALit_START_IMAGE;\r
+ }\r
+ }\r
}\r
- break;\r
\r
- case MODULE_LOADIMAGE_START_ID:\r
- case MODULE_LOADIMAGE_END_ID:\r
- Measurement->Token = ALit_LOAD_IMAGE;\r
break;\r
\r
- case MODULE_DB_START_ID:\r
- case MODULE_DB_END_ID:\r
- Measurement->Token = ALit_DB_START;\r
- break;\r
+ case FPDT_DYNAMIC_STRING_EVENT_TYPE:\r
+ ModuleGuid = &(((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->Guid);\r
+ Measurement->Identifier = ((UINT32)((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->ProgressID);\r
+ if (IsStart) {\r
+ Measurement->StartTimeStamp = ((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->Timestamp;\r
+ } else {\r
+ Measurement->EndTimeStamp = ((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->Timestamp;\r
+ }\r
\r
- case MODULE_DB_SUPPORT_START_ID:\r
- case MODULE_DB_SUPPORT_END_ID:\r
- Measurement->Token = ALit_DB_SUPPORT;\r
- break;\r
+ switch (Measurement->Identifier) {\r
+ case MODULE_START_ID:\r
+ case MODULE_END_ID:\r
+ if (mPeiPhase) {\r
+ Measurement->Token = ALit_PEIM;\r
+ } else if (mDxePhase) {\r
+ Measurement->Token = ALit_START_IMAGE;\r
+ }\r
+\r
+ break;\r
+\r
+ case MODULE_LOADIMAGE_START_ID:\r
+ case MODULE_LOADIMAGE_END_ID:\r
+ Measurement->Token = ALit_LOAD_IMAGE;\r
+ break;\r
+\r
+ case MODULE_DB_START_ID:\r
+ case MODULE_DB_END_ID:\r
+ Measurement->Token = ALit_DB_START;\r
+ break;\r
+\r
+ case MODULE_DB_SUPPORT_START_ID:\r
+ case MODULE_DB_SUPPORT_END_ID:\r
+ Measurement->Token = ALit_DB_SUPPORT;\r
+ break;\r
+\r
+ case MODULE_DB_STOP_START_ID:\r
+ case MODULE_DB_STOP_END_ID:\r
+ Measurement->Token = ALit_DB_STOP;\r
+ break;\r
+\r
+ default:\r
+ Measurement->Token = ((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->String;\r
+ break;\r
+ }\r
\r
- case MODULE_DB_STOP_START_ID:\r
- case MODULE_DB_STOP_END_ID:\r
- Measurement->Token = ALit_DB_STOP;\r
- break;\r
+ Measurement->Module = ((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->String;\r
+\r
+ if ((Measurement->Token != NULL) && (AsciiStrCmp (Measurement->Token, ALit_PEIM) == 0)) {\r
+ Measurement->Handle = &(((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->Guid);\r
+ } else {\r
+ GetHandleFormModuleGuid (ModuleGuid, &StartHandle);\r
+ Measurement->Handle = StartHandle;\r
+ //\r
+ // When no perf entry to record the PEI and DXE phase,\r
+ // For start image, we need detect the PEIM and non PEIM here.\r
+ //\r
+ if ((Measurement->Token == NULL) && ((Measurement->Identifier == MODULE_START_ID) || (Measurement->Identifier == MODULE_END_ID))) {\r
+ if ((StartHandle == NULL) && !IsZeroGuid (ModuleGuid)) {\r
+ Measurement->Token = ALit_PEIM;\r
+ Measurement->Handle = ModuleGuid;\r
+ } else {\r
+ Measurement->Token = ALit_START_IMAGE;\r
+ }\r
+ }\r
+ }\r
\r
- default:\r
- Measurement->Token = ((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->String;\r
break;\r
- }\r
\r
- Measurement->Module = ((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->String;\r
+ case FPDT_GUID_QWORD_EVENT_TYPE:\r
+ ModuleGuid = &(((FPDT_GUID_QWORD_EVENT_RECORD *)RecordHeader)->Guid);\r
+ Measurement->Identifier = ((UINT32)((FPDT_GUID_QWORD_EVENT_RECORD *)RecordHeader)->ProgressID);\r
+ if (IsStart) {\r
+ Measurement->StartTimeStamp = ((FPDT_GUID_QWORD_EVENT_RECORD *)RecordHeader)->Timestamp;\r
+ } else {\r
+ Measurement->EndTimeStamp = ((FPDT_GUID_QWORD_EVENT_RECORD *)RecordHeader)->Timestamp;\r
+ }\r
\r
- if (Measurement->Token != NULL && AsciiStrCmp (Measurement->Token, ALit_PEIM) == 0) {\r
- Measurement->Handle = &(((FPDT_DYNAMIC_STRING_EVENT_RECORD *)RecordHeader)->Guid);\r
- } else {\r
- GetHandleFormModuleGuid(ModuleGuid, &StartHandle);\r
+ switch (Measurement->Identifier) {\r
+ case MODULE_DB_START_ID:\r
+ Measurement->Token = ALit_DB_START;\r
+ Measurement->Module = ALit_DB_START;\r
+ break;\r
+\r
+ case MODULE_DB_SUPPORT_START_ID:\r
+ case MODULE_DB_SUPPORT_END_ID:\r
+ Measurement->Token = ALit_DB_SUPPORT;\r
+ Measurement->Module = ALit_DB_SUPPORT;\r
+ break;\r
+\r
+ case MODULE_DB_STOP_START_ID:\r
+ case MODULE_DB_STOP_END_ID:\r
+ Measurement->Token = ALit_DB_STOP;\r
+ Measurement->Module = ALit_DB_STOP;\r
+ break;\r
+\r
+ case MODULE_LOADIMAGE_START_ID:\r
+ case MODULE_LOADIMAGE_END_ID:\r
+ Measurement->Token = ALit_LOAD_IMAGE;\r
+ Measurement->Module = ALit_LOAD_IMAGE;\r
+ break;\r
+\r
+ default:\r
+ ASSERT (FALSE);\r
+ }\r
+\r
+ GetHandleFormModuleGuid (ModuleGuid, &StartHandle);\r
Measurement->Handle = StartHandle;\r
+ break;\r
+\r
+ case FPDT_GUID_QWORD_STRING_EVENT_TYPE:\r
+ ModuleGuid = &(((FPDT_GUID_QWORD_STRING_EVENT_RECORD *)RecordHeader)->Guid);\r
+ Measurement->Identifier = ((UINT32)((FPDT_GUID_QWORD_STRING_EVENT_RECORD *)RecordHeader)->ProgressID);\r
+ if (IsStart) {\r
+ Measurement->StartTimeStamp = ((FPDT_GUID_QWORD_STRING_EVENT_RECORD *)RecordHeader)->Timestamp;\r
+ } else {\r
+ Measurement->EndTimeStamp = ((FPDT_GUID_QWORD_STRING_EVENT_RECORD *)RecordHeader)->Timestamp;\r
+ }\r
+\r
//\r
- // When no perf entry to record the PEI and DXE phase,\r
- // For start image, we need detect the PEIM and non PEIM here.\r
+ // Currently only "DB:Start:" end record with FPDT_GUID_QWORD_STRING_EVENT_TYPE.\r
//\r
- if (Measurement->Token == NULL && (Measurement->Identifier == MODULE_START_ID || Measurement->Identifier == MODULE_END_ID)) {\r
- if (StartHandle == NULL && !IsZeroGuid (ModuleGuid)) {\r
- Measurement->Token = ALit_PEIM;\r
- Measurement->Handle = ModuleGuid;\r
- } else {\r
- Measurement->Token = ALit_START_IMAGE;\r
- }\r
+ switch (Measurement->Identifier) {\r
+ case MODULE_DB_END_ID:\r
+ Measurement->Token = ALit_DB_START;\r
+ Measurement->Module = ALit_DB_START;\r
+ break;\r
+ default:\r
+ ASSERT (FALSE);\r
}\r
- }\r
- break;\r
\r
- case FPDT_GUID_QWORD_EVENT_TYPE:\r
- ModuleGuid = &(((FPDT_GUID_QWORD_EVENT_RECORD *)RecordHeader)->Guid);\r
- Measurement->Identifier = ((UINT32)((FPDT_GUID_QWORD_EVENT_RECORD *)RecordHeader)->ProgressID);\r
- if (IsStart) {\r
- Measurement->StartTimeStamp = ((FPDT_GUID_QWORD_EVENT_RECORD *)RecordHeader)->Timestamp;\r
- } else {\r
- Measurement->EndTimeStamp = ((FPDT_GUID_QWORD_EVENT_RECORD *)RecordHeader)->Timestamp;\r
- }\r
- switch (Measurement->Identifier) {\r
- case MODULE_DB_START_ID:\r
- Measurement->Token = ALit_DB_START;\r
- Measurement->Module = ALit_DB_START;\r
- break;\r
-\r
- case MODULE_DB_SUPPORT_START_ID:\r
- case MODULE_DB_SUPPORT_END_ID:\r
- Measurement->Token = ALit_DB_SUPPORT;\r
- Measurement->Module = ALit_DB_SUPPORT;\r
+ GetHandleFormModuleGuid (ModuleGuid, &StartHandle);\r
+ Measurement->Handle = StartHandle;\r
break;\r
\r
- case MODULE_DB_STOP_START_ID:\r
- case MODULE_DB_STOP_END_ID:\r
- Measurement->Token = ALit_DB_STOP;\r
- Measurement->Module = ALit_DB_STOP;\r
- break;\r
+ case FPDT_DUAL_GUID_STRING_EVENT_TYPE:\r
+ ModuleGuid = &(((FPDT_DUAL_GUID_STRING_EVENT_RECORD *)RecordHeader)->Guid1);\r
+ Measurement->Identifier = ((UINT32)((FPDT_DUAL_GUID_STRING_EVENT_RECORD *)RecordHeader)->ProgressID);\r
+ if (IsStart) {\r
+ Measurement->StartTimeStamp = ((FPDT_DUAL_GUID_STRING_EVENT_RECORD *)RecordHeader)->Timestamp;\r
+ } else {\r
+ Measurement->EndTimeStamp = ((FPDT_DUAL_GUID_STRING_EVENT_RECORD *)RecordHeader)->Timestamp;\r
+ }\r
\r
- case MODULE_LOADIMAGE_START_ID:\r
- case MODULE_LOADIMAGE_END_ID:\r
- Measurement->Token = ALit_LOAD_IMAGE;\r
- Measurement->Module = ALit_LOAD_IMAGE;\r
+ Measurement->Token = ((FPDT_DUAL_GUID_STRING_EVENT_RECORD *)RecordHeader)->String;\r
+ Measurement->Module = ((FPDT_DUAL_GUID_STRING_EVENT_RECORD *)RecordHeader)->String;\r
+ GetHandleFormModuleGuid (ModuleGuid, &StartHandle);\r
+ Measurement->Handle = StartHandle;\r
break;\r
\r
default:\r
- ASSERT(FALSE);\r
- }\r
- GetHandleFormModuleGuid(ModuleGuid, &StartHandle);\r
- Measurement->Handle = StartHandle;\r
- break;\r
-\r
- case FPDT_GUID_QWORD_STRING_EVENT_TYPE:\r
- ModuleGuid = &(((FPDT_GUID_QWORD_STRING_EVENT_RECORD *)RecordHeader)->Guid);\r
- Measurement->Identifier = ((UINT32)((FPDT_GUID_QWORD_STRING_EVENT_RECORD *)RecordHeader)->ProgressID);\r
- if (IsStart) {\r
- Measurement->StartTimeStamp = ((FPDT_GUID_QWORD_STRING_EVENT_RECORD*)RecordHeader)->Timestamp;\r
- } else {\r
- Measurement->EndTimeStamp = ((FPDT_GUID_QWORD_STRING_EVENT_RECORD *)RecordHeader)->Timestamp;\r
- }\r
- //\r
- // Currently only "DB:Start:" end record with FPDT_GUID_QWORD_STRING_EVENT_TYPE.\r
- //\r
- switch (Measurement->Identifier) {\r
- case MODULE_DB_END_ID:\r
- Measurement->Token = ALit_DB_START;\r
- Measurement->Module = ALit_DB_START;\r
break;\r
- default:\r
- ASSERT(FALSE);\r
- }\r
- GetHandleFormModuleGuid(ModuleGuid, &StartHandle);\r
- Measurement->Handle = StartHandle;\r
- break;\r
-\r
- case FPDT_DUAL_GUID_STRING_EVENT_TYPE:\r
- ModuleGuid = &(((FPDT_DUAL_GUID_STRING_EVENT_RECORD *)RecordHeader)->Guid1);\r
- Measurement->Identifier = ((UINT32)((FPDT_DUAL_GUID_STRING_EVENT_RECORD *)RecordHeader)->ProgressID);\r
- if (IsStart) {\r
- Measurement->StartTimeStamp = ((FPDT_DUAL_GUID_STRING_EVENT_RECORD *)RecordHeader)->Timestamp;\r
- } else {\r
- Measurement->EndTimeStamp = ((FPDT_DUAL_GUID_STRING_EVENT_RECORD *)RecordHeader)->Timestamp;\r
- }\r
- Measurement->Token = ((FPDT_DUAL_GUID_STRING_EVENT_RECORD *)RecordHeader)->String;\r
- Measurement->Module = ((FPDT_DUAL_GUID_STRING_EVENT_RECORD *)RecordHeader)->String;\r
- GetHandleFormModuleGuid(ModuleGuid, &StartHandle);\r
- Measurement->Handle = StartHandle;\r
- break;\r
-\r
- default:\r
- break;\r
}\r
}\r
\r
**/\r
VOID\r
SearchMeasurement (\r
- IN MEASUREMENT_RECORD *EndMeasureMent\r
+ IN MEASUREMENT_RECORD *EndMeasureMent\r
)\r
{\r
- INTN Index;\r
+ INTN Index;\r
\r
for (Index = mMeasurementNum - 1; Index >= 0; Index--) {\r
if (AsciiStrCmp (EndMeasureMent->Token, ALit_PEIM) == 0) {\r
- if (mMeasurementList[Index].EndTimeStamp == 0 && EndMeasureMent->Handle!= NULL && mMeasurementList[Index].Handle != NULL&&\r
- CompareGuid(mMeasurementList[Index].Handle, EndMeasureMent->Handle) &&\r
+ if ((mMeasurementList[Index].EndTimeStamp == 0) && (EndMeasureMent->Handle != NULL) && (mMeasurementList[Index].Handle != NULL) &&\r
+ CompareGuid (mMeasurementList[Index].Handle, EndMeasureMent->Handle) &&\r
(AsciiStrCmp (mMeasurementList[Index].Token, EndMeasureMent->Token) == 0) &&\r
- (AsciiStrCmp (mMeasurementList[Index].Module, EndMeasureMent->Module) == 0)) {\r
+ (AsciiStrCmp (mMeasurementList[Index].Module, EndMeasureMent->Module) == 0))\r
+ {\r
mMeasurementList[Index].EndTimeStamp = EndMeasureMent->EndTimeStamp;\r
break;\r
}\r
} else if (EndMeasureMent->Identifier == PERF_CROSSMODULE_END_ID) {\r
- if (mMeasurementList[Index].EndTimeStamp == 0 &&\r
- (AsciiStrCmp (mMeasurementList[Index].Token, EndMeasureMent->Token) == 0) &&\r
- (AsciiStrCmp (mMeasurementList[Index].Module, EndMeasureMent->Module) == 0) &&\r
- mMeasurementList[Index].Identifier == PERF_CROSSMODULE_START_ID) {\r
+ if ((mMeasurementList[Index].EndTimeStamp == 0) &&\r
+ (AsciiStrCmp (mMeasurementList[Index].Token, EndMeasureMent->Token) == 0) &&\r
+ (AsciiStrCmp (mMeasurementList[Index].Module, EndMeasureMent->Module) == 0) &&\r
+ (mMeasurementList[Index].Identifier == PERF_CROSSMODULE_START_ID))\r
+ {\r
mMeasurementList[Index].EndTimeStamp = EndMeasureMent->EndTimeStamp;\r
break;\r
}\r
} else {\r
- if (mMeasurementList[Index].EndTimeStamp == 0 && mMeasurementList[Index].Handle == EndMeasureMent->Handle &&\r
- (AsciiStrCmp (mMeasurementList[Index].Token, EndMeasureMent->Token) == 0) &&\r
- (AsciiStrCmp (mMeasurementList[Index].Module, EndMeasureMent->Module) == 0)) {\r
+ if ((mMeasurementList[Index].EndTimeStamp == 0) && (mMeasurementList[Index].Handle == EndMeasureMent->Handle) &&\r
+ (AsciiStrCmp (mMeasurementList[Index].Token, EndMeasureMent->Token) == 0) &&\r
+ (AsciiStrCmp (mMeasurementList[Index].Module, EndMeasureMent->Module) == 0))\r
+ {\r
mMeasurementList[Index].EndTimeStamp = EndMeasureMent->EndTimeStamp;\r
break;\r
}\r
PerformanceTablePtr = (mBootPerformanceTable + TableLength);\r
\r
while (TableLength < mBootPerformanceTableSize) {\r
- RecordHeader = (EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER*) PerformanceTablePtr;\r
- StartRecordEvent = (UINT8 *)RecordHeader;\r
- StartProgressId = ((FPDT_GUID_EVENT_RECORD *)StartRecordEvent)->ProgressID;\r
+ RecordHeader = (EFI_ACPI_5_0_FPDT_PERFORMANCE_RECORD_HEADER *)PerformanceTablePtr;\r
+ StartRecordEvent = (UINT8 *)RecordHeader;\r
+ StartProgressId = ((FPDT_GUID_EVENT_RECORD *)StartRecordEvent)->ProgressID;\r
\r
//\r
// If the record with ProgressId 0, the record doesn't appear in pairs. The timestamp in the record is the EndTimeStamp, its StartTimeStamp is 0.\r
//\r
if (StartProgressId == 0) {\r
GetMeasurementInfo (RecordHeader, FALSE, &(mMeasurementList[mMeasurementNum]));\r
- mMeasurementNum ++;\r
- } else if (((StartProgressId >= PERF_EVENTSIGNAL_START_ID && ((StartProgressId & 0x000F) == 0)) ||\r
- (StartProgressId < PERF_EVENTSIGNAL_START_ID && ((StartProgressId & 0x0001) != 0)))) {\r
+ mMeasurementNum++;\r
+ } else if ((((StartProgressId >= PERF_EVENTSIGNAL_START_ID) && ((StartProgressId & 0x000F) == 0)) ||\r
+ ((StartProgressId < PERF_EVENTSIGNAL_START_ID) && ((StartProgressId & 0x0001) != 0))))\r
+ {\r
//\r
// Since PEIM and StartImage has same Type and ID when PCD PcdEdkiiFpdtStringRecordEnableOnly = FALSE\r
// So we need to identify these two kinds of record through different phase.\r
//\r
- if(StartProgressId == PERF_CROSSMODULE_START_ID ){\r
+ if (StartProgressId == PERF_CROSSMODULE_START_ID ) {\r
if (AsciiStrCmp (((FPDT_DYNAMIC_STRING_EVENT_RECORD *)StartRecordEvent)->String, ALit_PEI) == 0) {\r
mPeiPhase = TRUE;\r
} else if (AsciiStrCmp (((FPDT_DYNAMIC_STRING_EVENT_RECORD *)StartRecordEvent)->String, ALit_DXE) == 0) {\r
mPeiPhase = FALSE;\r
}\r
}\r
+\r
// Get measurement info form the start record to the mMeasurementList.\r
GetMeasurementInfo (RecordHeader, TRUE, &(mMeasurementList[mMeasurementNum]));\r
- mMeasurementNum ++;\r
+ mMeasurementNum++;\r
} else {\r
- ZeroMem(&MeasureMent, sizeof(MEASUREMENT_RECORD));\r
+ ZeroMem (&MeasureMent, sizeof (MEASUREMENT_RECORD));\r
GetMeasurementInfo (RecordHeader, FALSE, &MeasureMent);\r
SearchMeasurement (&MeasureMent);\r
}\r
+\r
TableLength += RecordHeader->Length;\r
PerformanceTablePtr += RecordHeader->Length;\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
VOID\r
)\r
{\r
- UINTN Index;\r
+ UINTN Index;\r
\r
for (Index = 0; Index < NumCum; ++Index) {\r
- CumData[Index].Count = 0;\r
- CumData[Index].MinDur = PERF_MAXDUR;\r
- CumData[Index].MaxDur = 0;\r
+ CumData[Index].Count = 0;\r
+ CumData[Index].MinDur = PERF_MAXDUR;\r
+ CumData[Index].MaxDur = 0;\r
CumData[Index].Duration = 0;\r
}\r
}\r
**/\r
SHELL_STATUS\r
RunDp (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- LIST_ENTRY *ParamPackage;\r
- CONST CHAR16 *CmdLineArg;\r
- EFI_STATUS Status;\r
-\r
- PERFORMANCE_PROPERTY *PerformanceProperty;\r
- UINTN Number2Display;\r
-\r
- EFI_STRING StringPtr;\r
- BOOLEAN SummaryMode;\r
- BOOLEAN VerboseMode;\r
- BOOLEAN AllMode;\r
- BOOLEAN RawMode;\r
- BOOLEAN ExcludeMode;\r
- BOOLEAN CumulativeMode;\r
- CONST CHAR16 *CustomCumulativeToken;\r
- PERF_CUM_DATA *CustomCumulativeData;\r
- UINTN NameSize;\r
- SHELL_STATUS ShellStatus;\r
- TIMER_INFO TimerInfo;\r
- UINT64 Intermediate;\r
-\r
- StringPtr = NULL;\r
- SummaryMode = FALSE;\r
- VerboseMode = FALSE;\r
- AllMode = FALSE;\r
- RawMode = FALSE;\r
- ExcludeMode = FALSE;\r
- CumulativeMode = FALSE;\r
+ LIST_ENTRY *ParamPackage;\r
+ CONST CHAR16 *CmdLineArg;\r
+ EFI_STATUS Status;\r
+\r
+ PERFORMANCE_PROPERTY *PerformanceProperty;\r
+ UINTN Number2Display;\r
+\r
+ EFI_STRING StringPtr;\r
+ BOOLEAN SummaryMode;\r
+ BOOLEAN VerboseMode;\r
+ BOOLEAN AllMode;\r
+ BOOLEAN RawMode;\r
+ BOOLEAN ExcludeMode;\r
+ BOOLEAN CumulativeMode;\r
+ CONST CHAR16 *CustomCumulativeToken;\r
+ PERF_CUM_DATA *CustomCumulativeData;\r
+ UINTN NameSize;\r
+ SHELL_STATUS ShellStatus;\r
+ TIMER_INFO TimerInfo;\r
+ UINT64 Intermediate;\r
+\r
+ StringPtr = NULL;\r
+ SummaryMode = FALSE;\r
+ VerboseMode = FALSE;\r
+ AllMode = FALSE;\r
+ RawMode = FALSE;\r
+ ExcludeMode = FALSE;\r
+ CumulativeMode = FALSE;\r
CustomCumulativeData = NULL;\r
- ShellStatus = SHELL_SUCCESS;\r
+ ShellStatus = SHELL_SUCCESS;\r
\r
//\r
// initialize the shell lib (we must be in non-auto-init...)\r
//\r
- Status = ShellInitialize();\r
- ASSERT_EFI_ERROR(Status);\r
+ Status = ShellInitialize ();\r
+ ASSERT_EFI_ERROR (Status);\r
\r
//\r
// Process Command Line arguments\r
//\r
Status = ShellCommandLineParse (ParamList, &ParamPackage, NULL, TRUE);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_INVALID_ARG), mDpHiiHandle);\r
return SHELL_INVALID_PARAMETER;\r
- } else if (ShellCommandLineGetCount(ParamPackage) > 1){\r
+ } else if (ShellCommandLineGetCount (ParamPackage) > 1) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_TOO_MANY), mDpHiiHandle);\r
return SHELL_INVALID_PARAMETER;\r
}\r
//\r
// Boolean options\r
//\r
- VerboseMode = ShellCommandLineGetFlag (ParamPackage, L"-v");\r
- SummaryMode = (BOOLEAN) (ShellCommandLineGetFlag (ParamPackage, L"-S") || ShellCommandLineGetFlag (ParamPackage, L"-s"));\r
- AllMode = ShellCommandLineGetFlag (ParamPackage, L"-A");\r
- RawMode = ShellCommandLineGetFlag (ParamPackage, L"-R");\r
- ExcludeMode = ShellCommandLineGetFlag (ParamPackage, L"-x");\r
- mShowId = ShellCommandLineGetFlag (ParamPackage, L"-i");\r
+ VerboseMode = ShellCommandLineGetFlag (ParamPackage, L"-v");\r
+ SummaryMode = (BOOLEAN)(ShellCommandLineGetFlag (ParamPackage, L"-S") || ShellCommandLineGetFlag (ParamPackage, L"-s"));\r
+ AllMode = ShellCommandLineGetFlag (ParamPackage, L"-A");\r
+ RawMode = ShellCommandLineGetFlag (ParamPackage, L"-R");\r
+ ExcludeMode = ShellCommandLineGetFlag (ParamPackage, L"-x");\r
+ mShowId = ShellCommandLineGetFlag (ParamPackage, L"-i");\r
CumulativeMode = ShellCommandLineGetFlag (ParamPackage, L"-c");\r
\r
if (AllMode && RawMode) {\r
\r
// Options with Values\r
if (ShellCommandLineGetFlag (ParamPackage, L"-n")) {\r
- CmdLineArg = ShellCommandLineGetValue (ParamPackage, L"-n");\r
+ CmdLineArg = ShellCommandLineGetValue (ParamPackage, L"-n");\r
if (CmdLineArg == NULL) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_TOO_FEW), mDpHiiHandle);\r
return SHELL_INVALID_PARAMETER;\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_NO_RAW_ALL), mDpHiiHandle);\r
return SHELL_INVALID_PARAMETER;\r
}\r
- Status = ShellConvertStringToUint64(CmdLineArg, &Intermediate, FALSE, TRUE);\r
+\r
+ Status = ShellConvertStringToUint64 (CmdLineArg, &Intermediate, FALSE, TRUE);\r
if (EFI_ERROR (Status)) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_INVALID_NUM_ARG), mDpHiiHandle, L"-n");\r
return SHELL_INVALID_PARAMETER;\r
} else {\r
Number2Display = (UINTN)Intermediate;\r
- if (Number2Display == 0 || Number2Display > MAXIMUM_DISPLAYCOUNT) {\r
+ if ((Number2Display == 0) || (Number2Display > MAXIMUM_DISPLAYCOUNT)) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_INVALID_RANGE), mDpHiiHandle, L"-n", 0, MAXIMUM_DISPLAYCOUNT);\r
return SHELL_INVALID_PARAMETER;\r
}\r
}\r
\r
if (ShellCommandLineGetFlag (ParamPackage, L"-t")) {\r
- CmdLineArg = ShellCommandLineGetValue (ParamPackage, L"-t");\r
+ CmdLineArg = ShellCommandLineGetValue (ParamPackage, L"-t");\r
if (CmdLineArg == NULL) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_TOO_FEW), mDpHiiHandle);\r
return SHELL_INVALID_PARAMETER;\r
} else {\r
- Status = ShellConvertStringToUint64(CmdLineArg, &Intermediate, FALSE, TRUE);\r
+ Status = ShellConvertStringToUint64 (CmdLineArg, &Intermediate, FALSE, TRUE);\r
if (EFI_ERROR (Status)) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_INVALID_NUM_ARG), mDpHiiHandle, L"-t");\r
return SHELL_INVALID_PARAMETER;\r
ShellStatus = SHELL_OUT_OF_RESOURCES;\r
goto Done;\r
}\r
- CustomCumulativeData->MinDur = PERF_MAXDUR;\r
- CustomCumulativeData->MaxDur = 0;\r
- CustomCumulativeData->Count = 0;\r
+\r
+ CustomCumulativeData->MinDur = PERF_MAXDUR;\r
+ CustomCumulativeData->MaxDur = 0;\r
+ CustomCumulativeData->Count = 0;\r
CustomCumulativeData->Duration = 0;\r
- NameSize = StrLen (CustomCumulativeToken) + 1;\r
- CustomCumulativeData->Name = AllocateZeroPool (NameSize);\r
+ NameSize = StrLen (CustomCumulativeToken) + 1;\r
+ CustomCumulativeData->Name = AllocateZeroPool (NameSize);\r
if (CustomCumulativeData->Name == NULL) {\r
ShellStatus = SHELL_OUT_OF_RESOURCES;\r
goto Done;\r
}\r
+\r
UnicodeStrToAsciiStrS (CustomCumulativeToken, CustomCumulativeData->Name, NameSize);\r
}\r
}\r
//\r
\r
//\r
- //1. Get FPDT from ACPI table.\r
+ // 1. Get FPDT from ACPI table.\r
//\r
Status = GetBootPerformanceTable ();\r
if (EFI_ERROR (Status)) {\r
}\r
\r
//\r
- //2. Cache the ModuleGuid and hanlde mapping table.\r
+ // 2. Cache the ModuleGuid and hanlde mapping table.\r
//\r
- Status = BuildCachedGuidHandleTable();\r
+ Status = BuildCachedGuidHandleTable ();\r
if (EFI_ERROR (Status)) {\r
ShellStatus = Status;\r
goto Done;\r
}\r
\r
//\r
- //3. Build the measurement array form the FPDT records.\r
+ // 3. Build the measurement array form the FPDT records.\r
//\r
Status = BuildMeasurementList ();\r
if (EFI_ERROR (Status)) {\r
// StartCount = Value loaded into the counter when it starts counting\r
// EndCount = Value counter counts to before it needs to be reset\r
//\r
- Status = EfiGetSystemConfigurationTable (&gPerformanceProtocolGuid, (VOID **) &PerformanceProperty);\r
+ Status = EfiGetSystemConfigurationTable (&gPerformanceProtocolGuid, (VOID **)&PerformanceProperty);\r
if (EFI_ERROR (Status) || (PerformanceProperty == NULL)) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_PERF_PROPERTY_NOT_FOUND), mDpHiiHandle);\r
goto Done;\r
TimerInfo.Frequency = (UINT32)DivU64x32 (PerformanceProperty->Frequency, 1000);\r
TimerInfo.StartCount = 0;\r
TimerInfo.EndCount = 0xFFFF;\r
- TimerInfo.CountUp = TRUE;\r
+ TimerInfo.CountUp = TRUE;\r
\r
//\r
// Print header\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_KHZ), mDpHiiHandle, TimerInfo.Frequency);\r
\r
if (VerboseMode && !RawMode) {\r
- StringPtr = HiiGetString (mDpHiiHandle,\r
- (EFI_STRING_ID) (TimerInfo.CountUp ? STRING_TOKEN (STR_DP_UP) : STRING_TOKEN (STR_DP_DOWN)), NULL);\r
+ StringPtr = HiiGetString (\r
+ mDpHiiHandle,\r
+ (EFI_STRING_ID)(TimerInfo.CountUp ? STRING_TOKEN (STR_DP_UP) : STRING_TOKEN (STR_DP_DOWN)),\r
+ NULL\r
+ );\r
ASSERT (StringPtr != NULL);\r
// Print Timer count range and direction\r
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_TIMER_PROPERTIES), mDpHiiHandle,\r
- StringPtr,\r
- TimerInfo.StartCount,\r
- TimerInfo.EndCount\r
- );\r
+ ShellPrintHiiEx (\r
+ -1,\r
+ -1,\r
+ NULL,\r
+ STRING_TOKEN (STR_DP_TIMER_PROPERTIES),\r
+ mDpHiiHandle,\r
+ StringPtr,\r
+ TimerInfo.StartCount,\r
+ TimerInfo.EndCount\r
+ );\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_VERBOSE_THRESHOLD), mDpHiiHandle, mInterestThreshold);\r
}\r
\r
-/****************************************************************************\r
-**** Print Sections based on command line options\r
-****\r
-**** Option modes have the following priority:\r
-**** v Verbose -- Valid in combination with any other options\r
-**** t Threshold -- Modifies All, Raw, and Cooked output\r
-**** Default is 0 for All and Raw mode\r
-**** Default is DEFAULT_THRESHOLD for "Cooked" mode\r
-**** n Number2Display Used by All and Raw mode. Otherwise ignored.\r
-**** A All -- R and S options are ignored\r
-**** R Raw -- S option is ignored\r
-**** s Summary -- Modifies "Cooked" output only\r
-**** Cooked (Default)\r
-****************************************************************************/\r
+ /****************************************************************************\r
+ **** Print Sections based on command line options\r
+ ****\r
+ **** Option modes have the following priority:\r
+ **** v Verbose -- Valid in combination with any other options\r
+ **** t Threshold -- Modifies All, Raw, and Cooked output\r
+ **** Default is 0 for All and Raw mode\r
+ **** Default is DEFAULT_THRESHOLD for "Cooked" mode\r
+ **** n Number2Display Used by All and Raw mode. Otherwise ignored.\r
+ **** A All -- R and S options are ignored\r
+ **** R Raw -- S option is ignored\r
+ **** s Summary -- Modifies "Cooked" output only\r
+ **** Cooked (Default)\r
+ ****************************************************************************/\r
GatherStatistics (CustomCumulativeData);\r
if (CumulativeMode) {\r
ProcessCumulative (CustomCumulativeData);\r
} else if (AllMode) {\r
- Status = DumpAllTrace( Number2Display, ExcludeMode);\r
+ Status = DumpAllTrace (Number2Display, ExcludeMode);\r
if (Status == EFI_ABORTED) {\r
ShellStatus = SHELL_ABORTED;\r
goto Done;\r
}\r
} else if (RawMode) {\r
- Status = DumpRawTrace( Number2Display, ExcludeMode);\r
+ Status = DumpRawTrace (Number2Display, ExcludeMode);\r
if (Status == EFI_ABORTED) {\r
ShellStatus = SHELL_ABORTED;\r
goto Done;\r
}\r
} else {\r
- //------------- Begin Cooked Mode Processing\r
+ // ------------- Begin Cooked Mode Processing\r
ProcessPhases ();\r
- if ( ! SummaryMode) {\r
- Status = ProcessHandles ( ExcludeMode);\r
+ if ( !SummaryMode) {\r
+ Status = ProcessHandles (ExcludeMode);\r
if (Status == EFI_ABORTED) {\r
ShellStatus = SHELL_ABORTED;\r
goto Done;\r
goto Done;\r
}\r
\r
- ProcessCumulative (NULL);\r
+ ProcessCumulative (NULL);\r
}\r
- } //------------- End of Cooked Mode Processing\r
+ } // ------------- End of Cooked Mode Processing\r
+\r
if ( VerboseMode || SummaryMode) {\r
- DumpStatistics();\r
+ DumpStatistics ();\r
}\r
\r
Done:\r
if (ParamPackage != NULL) {\r
ShellCommandLineFreeVarList (ParamPackage);\r
}\r
+\r
SHELL_FREE_NON_NULL (StringPtr);\r
if (CustomCumulativeData != NULL) {\r
SHELL_FREE_NON_NULL (CustomCumulativeData->Name);\r
}\r
+\r
SHELL_FREE_NON_NULL (CustomCumulativeData);\r
\r
SHELL_FREE_NON_NULL (mMeasurementList);\r
return ShellStatus;\r
}\r
\r
-\r
/**\r
Retrieve HII package list from ImageHandle and publish to HII database.\r
\r
**/\r
EFI_HII_HANDLE\r
InitializeHiiPackage (\r
- EFI_HANDLE ImageHandle\r
+ EFI_HANDLE ImageHandle\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_HII_PACKAGE_LIST_HEADER *PackageList;\r
- EFI_HII_HANDLE HiiHandle;\r
+ EFI_STATUS Status;\r
+ EFI_HII_PACKAGE_LIST_HEADER *PackageList;\r
+ EFI_HII_HANDLE HiiHandle;\r
\r
//\r
// Retrieve HII package list from ImageHandle\r
if (EFI_ERROR (Status)) {\r
return NULL;\r
}\r
+\r
return HiiHandle;\r
}\r