]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Pei/PeiMain/PeiMain.c
MdeModulePkg PeiCore: Make SetPeiServicesTablePointer() early in EntryPoint
[mirror_edk2.git] / MdeModulePkg / Core / Pei / PeiMain / PeiMain.c
index fed34f3552fdf221efdde00c7bb4a5a5fb366bcb..27484bafc575390feeded22d53e0f274011a3e1e 100644 (file)
@@ -207,16 +207,16 @@ PeiCore (
         OldCoreData->FileHandles          = (EFI_PEI_FILE_HANDLE *) ((UINT8 *) OldCoreData->FileHandles - OldCoreData->HeapOffset);\r
       }\r
 \r
-      //\r
-      // Initialize libraries that the PEI Core is linked against\r
-      //\r
-      ProcessLibraryConstructorList (NULL, (CONST EFI_PEI_SERVICES **)&OldCoreData->Ps);\r
-      \r
       //\r
       // Fixup for PeiService's address\r
       //\r
       SetPeiServicesTablePointer ((CONST EFI_PEI_SERVICES **)&OldCoreData->Ps);\r
 \r
+      //\r
+      // Initialize libraries that the PEI Core is linked against\r
+      //\r
+      ProcessLibraryConstructorList (NULL, (CONST EFI_PEI_SERVICES **)&OldCoreData->Ps);\r
+\r
       //\r
       // Update HandOffHob for new installed permanent memory\r
       //\r
@@ -302,14 +302,14 @@ PeiCore (
   PrivateData.Ps = &PrivateData.ServiceTableShadow;\r
 \r
   //\r
-  // Initialize libraries that the PEI Core is linked against\r
+  // Save PeiServicePointer so that it can be retrieved anywhere.\r
   //\r
-  ProcessLibraryConstructorList (NULL, (CONST EFI_PEI_SERVICES **)&PrivateData.Ps);\r
+  SetPeiServicesTablePointer ((CONST EFI_PEI_SERVICES **)&PrivateData.Ps);\r
 \r
   //\r
-  // Save PeiServicePointer so that it can be retrieved anywhere.\r
+  // Initialize libraries that the PEI Core is linked against\r
   //\r
-  SetPeiServicesTablePointer ((CONST EFI_PEI_SERVICES **)&PrivateData.Ps);\r
+  ProcessLibraryConstructorList (NULL, (CONST EFI_PEI_SERVICES **)&PrivateData.Ps);\r
 \r
   //\r
   // Initialize PEI Core Services\r