MdeModulePkg/Core/Dxe: Initialize GCD before RT memory allocations
Update the DxeMain initialization order to initialize GCD services before any runtime allocations are performed. This is required to prevent runtime data fragmentation when the UEFI System Table and UEFI Runtime Service Table are allocated before both the memory and GCD services are initialized. Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Aaron Li <aaron.li@intel.com> Cc: Liu Yun <yun.y.liu@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
committed by
mergify[bot]
parent
909a9a5ae4
commit
c5e702e45a
@@ -218,13 +218,12 @@ CoreInitializeImageServices (
|
||||
//
|
||||
Image = &mCorePrivateImage;
|
||||
|
||||
Image->EntryPoint = (EFI_IMAGE_ENTRY_POINT)(UINTN)DxeCoreEntryPoint;
|
||||
Image->ImageBasePage = DxeCoreImageBaseAddress;
|
||||
Image->NumberOfPages = (UINTN)(EFI_SIZE_TO_PAGES ((UINTN)(DxeCoreImageLength)));
|
||||
Image->Tpl = gEfiCurrentTpl;
|
||||
Image->Info.SystemTable = gDxeCoreST;
|
||||
Image->Info.ImageBase = (VOID *)(UINTN)DxeCoreImageBaseAddress;
|
||||
Image->Info.ImageSize = DxeCoreImageLength;
|
||||
Image->EntryPoint = (EFI_IMAGE_ENTRY_POINT)(UINTN)DxeCoreEntryPoint;
|
||||
Image->ImageBasePage = DxeCoreImageBaseAddress;
|
||||
Image->NumberOfPages = (UINTN)(EFI_SIZE_TO_PAGES ((UINTN)(DxeCoreImageLength)));
|
||||
Image->Tpl = gEfiCurrentTpl;
|
||||
Image->Info.ImageBase = (VOID *)(UINTN)DxeCoreImageBaseAddress;
|
||||
Image->Info.ImageSize = DxeCoreImageLength;
|
||||
|
||||
//
|
||||
// Install the protocol interfaces for this image
|
||||
|
Reference in New Issue
Block a user