]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Move registration of DXE Core with PeCoffExtraActionLib after the lib constructors...
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 6 Aug 2010 23:09:49 +0000 (23:09 +0000)
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 6 Aug 2010 23:09:49 +0000 (23:09 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10778 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
MdeModulePkg/Core/Dxe/Image/Image.c

index b18f92d4081066f534be279cab8c3091d253a75c..3dfabd87e50aea6f561a6109e456bd458cc72b41 100644 (file)
@@ -237,9 +237,10 @@ DxeMain (
   IN  VOID *HobStart\r
   )\r
 {\r
-  EFI_STATUS                         Status;\r
-  EFI_PHYSICAL_ADDRESS               MemoryBaseAddress;\r
-  UINT64                             MemoryLength;\r
+  EFI_STATUS                    Status;\r
+  EFI_PHYSICAL_ADDRESS          MemoryBaseAddress;\r
+  UINT64                        MemoryLength;\r
+  PE_COFF_LOADER_IMAGE_CONTEXT  ImageContext;\r
 \r
   //\r
   // Initialize Debug Agent to support source level debug in DXE phase\r
@@ -276,6 +277,13 @@ DxeMain (
   PERF_END   (NULL,"PEI", NULL, 0) ;\r
   PERF_START (NULL,"DXE", NULL, 0) ;\r
 \r
+  //\r
+  // Report DXE Core image information to the PE/COFF Extra Action Library\r
+  //\r
+  ImageContext.ImageAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)gDxeCoreLoadedImage->ImageBase;\r
+  ImageContext.PdbPointer = PeCoffLoaderGetPdbPointer ((VOID*) (UINTN) ImageContext.ImageAddress);\r
+  PeCoffLoaderRelocateImageExtraAction (&ImageContext);\r
+\r
   //\r
   // Initialize the Global Coherency Domain Services\r
   //\r
index eadcae488c3242e24c13a47632b7c214c3b5fb38..2ffd6af9b6949afd9a606e6f182bc18b69cdfe97 100644 (file)
@@ -97,7 +97,6 @@ CoreInitializeImageServices (
   UINT64                            DxeCoreImageLength;\r
   VOID                              *DxeCoreEntryPoint;\r
   EFI_PEI_HOB_POINTERS              DxeCoreHob;\r
-  PE_COFF_LOADER_IMAGE_CONTEXT      ImageContext;\r
  \r
   //\r
   // Searching for image hob\r
@@ -119,13 +118,6 @@ CoreInitializeImageServices (
   DxeCoreEntryPoint       = (VOID *) (UINTN) DxeCoreHob.MemoryAllocationModule->EntryPoint;\r
   gDxeCoreFileName        = &DxeCoreHob.MemoryAllocationModule->ModuleName;\r
   \r
-  //\r
-  // Report DXE Core image information to the PE/COFF Extra Action Library\r
-  //\r
-  ImageContext.ImageAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)DxeCoreImageBaseAddress;\r
-  ImageContext.PdbPointer = PeCoffLoaderGetPdbPointer ((VOID*) (UINTN) ImageContext.ImageAddress);\r
-  PeCoffLoaderRelocateImageExtraAction (&ImageContext);\r
-\r
   //\r
   // Initialize the fields for an internal driver\r
   //\r
@@ -163,11 +155,11 @@ CoreInitializeImageServices (
     // Export DXE Core PE Loader functionality for backward compatibility.\r
     //\r
     Status = CoreInstallProtocolInterface (\r
-      &mLoadPe32PrivateData.Handle,\r
-      &gEfiLoadPeImageProtocolGuid,\r
-      EFI_NATIVE_INTERFACE,\r
-      &mLoadPe32PrivateData.Pe32Image\r
-      );\r
+               &mLoadPe32PrivateData.Handle,\r
+               &gEfiLoadPeImageProtocolGuid,\r
+               EFI_NATIVE_INTERFACE,\r
+               &mLoadPe32PrivateData.Pe32Image\r
+               );\r
   }\r
 \r
   return Status;\r