]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Core/Dxe/DxeMain/DxeMain.c
Add PERF_START function for collecting performance data for DXE_OK tag.
[mirror_edk2.git] / EdkModulePkg / Core / Dxe / DxeMain / DxeMain.c
index f98f0541ff14ec308f81fdd8f5818607ed54544c..db25fcfa8de34af0e48b9f21d448ed9505974937 100644 (file)
@@ -307,9 +307,16 @@ EFI_RUNTIME_SERVICES mEfiRuntimeServicesTableTemplate = {
   (EFI_GET_NEXT_HIGH_MONO_COUNT) CoreEfiNotAvailableYetArg1,      // GetNextHighMonotonicCount\r
   (EFI_RESET_SYSTEM)             CoreEfiNotAvailableYetArg4       // ResetSystem \r
 #if ((EDK_RELEASE_VERSION != 0) && (EFI_SPECIFICATION_VERSION <  0x00020000))\r
+  //\r
+  // This Tiano extension was removed when UEFI 2.0 support was added. \r
+  // It's now just a protocol.\r
+  //\r
   ,\r
-  (TIANO_REPORT_STATUS_CODE)       CoreEfiNotAvailableYetArg5     // ReportStatusCode\r
+  (EFI_REPORT_STATUS_CODE)       CoreEfiNotAvailableYetArg5       // ReportStatusCode\r
 #elif (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
+  //\r
+  // New runtime services added by UEFI 2.0\r
+  //\r
   ,\r
   (EFI_UPDATE_CAPSULE)              CoreEfiNotAvailableYetArg3,   // UpdateCapsule\r
   (EFI_QUERY_CAPSULE_CAPABILITIES)  CoreEfiNotAvailableYetArg4,   // QueryCapsuleCapabilities\r
@@ -387,14 +394,8 @@ Returns:
   EFI_PHYSICAL_ADDRESS               MemoryBaseAddress;\r
   UINT64                             MemoryLength;\r
 \r
-#ifdef EFI_DXE_PERFORMANCE\r
-  UINT64                             Tick;\r
-\r
-  GetTimerValue (&Tick);\r
-#endif\r
-\r
   mHobStart = HobStart;\r
-  \r
+\r
   //\r
   // Initialize Memory Services\r
   //\r
@@ -423,6 +424,8 @@ Returns:
   //\r
   ProcessLibraryConstructorList (gDxeCoreImageHandle, gST);\r
 \r
+  PERF_START (0,DXE_TOK, NULL, 0) ;\r
+\r
   //\r
   // Initialize the Global Coherency Domain Services\r
   //\r
@@ -452,6 +455,10 @@ Returns:
   //\r
   CoreGetPeiProtocol (&gEfiStatusCodeRuntimeProtocolGuid, (VOID **)&gStatusCode->ReportStatusCode);\r
 #if ((EDK_RELEASE_VERSION != 0) && (EFI_SPECIFICATION_VERSION < 0x00020000))\r
+  //\r
+  // This Tiano extension was removed when UEFI 2.0 support was added. \r
+  // It's now just a protocol.\r
+  //\r
   gRT->ReportStatusCode = gStatusCode->ReportStatusCode;\r
 #endif\r
 \r
@@ -546,9 +553,9 @@ Returns:
   //\r
   // Display Architectural protocols that were not loaded if this is DEBUG build\r
   //\r
-  DEBUG_CODE (\r
+  DEBUG_CODE_BEGIN ();\r
     CoreDisplayMissingArchProtocols ();\r
-  );\r
+  DEBUG_CODE_END ();\r
   \r
   //\r
   // Assert if the Architectural Protocols are not present.\r
@@ -563,9 +570,9 @@ Returns:
   // Display any drivers that were not dispatched because dependency expression\r
   // evaluated to false if this is a debug build\r
   //\r
-  DEBUG_CODE (\r
+  DEBUG_CODE_BEGIN ();\r
     CoreDisplayDiscoveredNotDispatched ();\r
-  );\r
+  DEBUG_CODE_END ();\r
 \r
   //\r
   // Transfer control to the BDS Architectural Protocol\r