#include <Library/DevicePathLib.h>\r
#include <Library/UefiBootServicesTableLib.h>\r
#include <Library/ReportStatusCodeLib.h>\r
+#include <Library/TimerLib.h>\r
\r
//\r
// attributes for reserved memory before it is promoted to system memory\r
for (Index = 0; (Index < NumberOfSortedDriverBindingProtocols) && !DriverFound; Index++) {\r
if (SortedDriverBindingProtocols[Index] != NULL) {\r
DriverBinding = SortedDriverBindingProtocols[Index];\r
+ PERF_START (DriverBinding->DriverBindingHandle, DRIVERBINDING_SUPPORT_TOK, NULL, 0);\r
Status = DriverBinding->Supported(\r
DriverBinding,\r
ControllerHandle,\r
RemainingDevicePath\r
);\r
+ PERF_END (DriverBinding->DriverBindingHandle, DRIVERBINDING_SUPPORT_TOK, NULL, 0);\r
if (!EFI_ERROR (Status)) {\r
SortedDriverBindingProtocols[Index] = NULL;\r
DriverFound = TRUE;\r
)\r
{\r
EFI_STATUS Status;\r
+ UINT64 Tick;\r
\r
- PERF_START (NULL, "LoadImage", NULL, 0);\r
+ Tick = 0;\r
+ PERF_CODE (\r
+ Tick = GetPerformanceCounter ();\r
+ );\r
\r
Status = CoreLoadImageCommon (\r
BootPolicy,\r
EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION | EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION\r
);\r
\r
- PERF_END (NULL, "LoadImage", NULL, 0);\r
+ PERF_START (*ImageHandle, LOAD_IMAGE_TOK, NULL, Tick);\r
+ PERF_END (*ImageHandle, LOAD_IMAGE_TOK, NULL, 0);\r
\r
return Status;\r
}\r