summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Core/PiSmmCore/Dispatcher.c
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Core/PiSmmCore/Dispatcher.c')
-rw-r--r--MdeModulePkg/Core/PiSmmCore/Dispatcher.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/MdeModulePkg/Core/PiSmmCore/Dispatcher.c b/MdeModulePkg/Core/PiSmmCore/Dispatcher.c
index 651fe88c10..5edf184b92 100644
--- a/MdeModulePkg/Core/PiSmmCore/Dispatcher.c
+++ b/MdeModulePkg/Core/PiSmmCore/Dispatcher.c
@@ -320,6 +320,12 @@ SmmLoadImage (
EFI_DEVICE_PATH_PROTOCOL *HandleFilePath;
EFI_FIRMWARE_VOLUME2_PROTOCOL *Fv;
PE_COFF_LOADER_IMAGE_CONTEXT ImageContext;
+ UINT64 Tick;
+
+ Tick = 0;
+ PERF_CODE (
+ Tick = GetPerformanceCounter ();
+ );
Buffer = NULL;
Size = 0;
@@ -575,6 +581,9 @@ SmmLoadImage (
NULL
);
+ PERF_START (DriverEntry->ImageHandle, "LoadImage:", NULL, Tick);
+ PERF_END (DriverEntry->ImageHandle, "LoadImage:", NULL, 0);
+
//
// Print the load address and the PDB file name if it is available
//
@@ -836,7 +845,9 @@ SmmDispatcher (
//
// For each SMM driver, pass NULL as ImageHandle
//
+ PERF_START (DriverEntry->ImageHandle, "StartImage:", NULL, 0);
Status = ((EFI_IMAGE_ENTRY_POINT)(UINTN)DriverEntry->ImageEntryPoint)(DriverEntry->ImageHandle, gST);
+ PERF_END (DriverEntry->ImageHandle, "StartImage:", NULL, 0);
if (EFI_ERROR(Status)){
SmmFreePages(DriverEntry->ImageBuffer, DriverEntry->NumberOfPage);
}