mirror of https://github.com/acidanthera/audk.git
MdeModulePkg DxeCore: Call PeCoffExtraActionLib member after Constructor
Originally, the code block for "Report DXE Core image information to the PE/COFF
Extra Action Library" was after ProcessLibraryConstructorList(). To fix an issue,
ProcessLibraryConstructorList() was moved to be right after CoreInitializeGcdServices()
at c5d5379937
, but the code block was left.
As there maybe PeCoffExtraActionLib implementation need Constructor executed first,
the patch is to move the code block for "Report DXE Core image information to the PE/COFF
Extra Action Library" to be after ProcessLibraryConstructorList.
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
parent
2a8b78cfd5
commit
31ffa077fc
|
@ -290,19 +290,6 @@ DxeMain (
|
||||||
Status = CoreInitializeImageServices (HobStart);
|
Status = CoreInitializeImageServices (HobStart);
|
||||||
ASSERT_EFI_ERROR (Status);
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
|
||||||
//
|
|
||||||
// Report DXE Core image information to the PE/COFF Extra Action Library
|
|
||||||
//
|
|
||||||
ZeroMem (&ImageContext, sizeof (ImageContext));
|
|
||||||
ImageContext.ImageAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)gDxeCoreLoadedImage->ImageBase;
|
|
||||||
ImageContext.PdbPointer = PeCoffLoaderGetPdbPointer ((VOID*)(UINTN)ImageContext.ImageAddress);
|
|
||||||
ImageContext.SizeOfHeaders = PeCoffGetSizeOfHeaders ((VOID*)(UINTN)ImageContext.ImageAddress);
|
|
||||||
Status = PeCoffLoaderGetEntryPoint ((VOID*)(UINTN)ImageContext.ImageAddress, &EntryPoint);
|
|
||||||
if (Status == EFI_SUCCESS) {
|
|
||||||
ImageContext.EntryPoint = (EFI_PHYSICAL_ADDRESS)(UINTN)EntryPoint;
|
|
||||||
}
|
|
||||||
PeCoffLoaderRelocateImageExtraAction (&ImageContext);
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Initialize the Global Coherency Domain Services
|
// Initialize the Global Coherency Domain Services
|
||||||
//
|
//
|
||||||
|
@ -316,6 +303,19 @@ DxeMain (
|
||||||
PERF_END (NULL,"PEI", NULL, 0) ;
|
PERF_END (NULL,"PEI", NULL, 0) ;
|
||||||
PERF_START (NULL,"DXE", NULL, 0) ;
|
PERF_START (NULL,"DXE", NULL, 0) ;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Report DXE Core image information to the PE/COFF Extra Action Library
|
||||||
|
//
|
||||||
|
ZeroMem (&ImageContext, sizeof (ImageContext));
|
||||||
|
ImageContext.ImageAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)gDxeCoreLoadedImage->ImageBase;
|
||||||
|
ImageContext.PdbPointer = PeCoffLoaderGetPdbPointer ((VOID*)(UINTN)ImageContext.ImageAddress);
|
||||||
|
ImageContext.SizeOfHeaders = PeCoffGetSizeOfHeaders ((VOID*)(UINTN)ImageContext.ImageAddress);
|
||||||
|
Status = PeCoffLoaderGetEntryPoint ((VOID*)(UINTN)ImageContext.ImageAddress, &EntryPoint);
|
||||||
|
if (Status == EFI_SUCCESS) {
|
||||||
|
ImageContext.EntryPoint = (EFI_PHYSICAL_ADDRESS)(UINTN)EntryPoint;
|
||||||
|
}
|
||||||
|
PeCoffLoaderRelocateImageExtraAction (&ImageContext);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Install the DXE Services Table into the EFI System Tables's Configuration Table
|
// Install the DXE Services Table into the EFI System Tables's Configuration Table
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue