Move registration of DXE Core with PeCoffExtraActionLib after the lib constructors have been executed.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10778 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
mdkinney 2010-08-06 23:09:49 +00:00
parent 7754556334
commit d0d41b52e0
2 changed files with 16 additions and 16 deletions

View File

@ -237,9 +237,10 @@ DxeMain (
IN VOID *HobStart
)
{
EFI_STATUS Status;
EFI_PHYSICAL_ADDRESS MemoryBaseAddress;
UINT64 MemoryLength;
EFI_STATUS Status;
EFI_PHYSICAL_ADDRESS MemoryBaseAddress;
UINT64 MemoryLength;
PE_COFF_LOADER_IMAGE_CONTEXT ImageContext;
//
// Initialize Debug Agent to support source level debug in DXE phase
@ -276,6 +277,13 @@ DxeMain (
PERF_END (NULL,"PEI", NULL, 0) ;
PERF_START (NULL,"DXE", NULL, 0) ;
//
// Report DXE Core image information to the PE/COFF Extra Action Library
//
ImageContext.ImageAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)gDxeCoreLoadedImage->ImageBase;
ImageContext.PdbPointer = PeCoffLoaderGetPdbPointer ((VOID*) (UINTN) ImageContext.ImageAddress);
PeCoffLoaderRelocateImageExtraAction (&ImageContext);
//
// Initialize the Global Coherency Domain Services
//

View File

@ -97,7 +97,6 @@ CoreInitializeImageServices (
UINT64 DxeCoreImageLength;
VOID *DxeCoreEntryPoint;
EFI_PEI_HOB_POINTERS DxeCoreHob;
PE_COFF_LOADER_IMAGE_CONTEXT ImageContext;
//
// Searching for image hob
@ -119,13 +118,6 @@ CoreInitializeImageServices (
DxeCoreEntryPoint = (VOID *) (UINTN) DxeCoreHob.MemoryAllocationModule->EntryPoint;
gDxeCoreFileName = &DxeCoreHob.MemoryAllocationModule->ModuleName;
//
// Report DXE Core image information to the PE/COFF Extra Action Library
//
ImageContext.ImageAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)DxeCoreImageBaseAddress;
ImageContext.PdbPointer = PeCoffLoaderGetPdbPointer ((VOID*) (UINTN) ImageContext.ImageAddress);
PeCoffLoaderRelocateImageExtraAction (&ImageContext);
//
// Initialize the fields for an internal driver
//
@ -163,11 +155,11 @@ CoreInitializeImageServices (
// Export DXE Core PE Loader functionality for backward compatibility.
//
Status = CoreInstallProtocolInterface (
&mLoadPe32PrivateData.Handle,
&gEfiLoadPeImageProtocolGuid,
EFI_NATIVE_INTERFACE,
&mLoadPe32PrivateData.Pe32Image
);
&mLoadPe32PrivateData.Handle,
&gEfiLoadPeImageProtocolGuid,
EFI_NATIVE_INTERFACE,
&mLoadPe32PrivateData.Pe32Image
);
}
return Status;