diff --git a/MdeModulePkg/Core/Dxe/DxeMain.h b/MdeModulePkg/Core/Dxe/DxeMain.h index c5140e798f..6bf21968ed 100644 --- a/MdeModulePkg/Core/Dxe/DxeMain.h +++ b/MdeModulePkg/Core/Dxe/DxeMain.h @@ -263,6 +263,7 @@ extern EFI_RUNTIME_ARCH_PROTOCOL gRuntimeTemplate; extern EFI_LOAD_FIXED_ADDRESS_CONFIGURATION_TABLE gLoadModuleAtFixAddressConfigurationTable; extern BOOLEAN gLoadFixedAddressCodeMemoryReady; +extern LOADED_IMAGE_PRIVATE_DATA * mCurrentImage; // // Service Initialization Functions // diff --git a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c index 0e40926c02..3fb2d9df58 100644 --- a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c +++ b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c @@ -324,6 +324,8 @@ DxeMain ( // InitializeCpu (); + ProtectUefiImage (mCurrentImage, &ImageContext); + // // Call constructor for all libraries // diff --git a/MdeModulePkg/Core/Dxe/Image/Image.c b/MdeModulePkg/Core/Dxe/Image/Image.c index e65889bf71..6fd06d9228 100644 --- a/MdeModulePkg/Core/Dxe/Image/Image.c +++ b/MdeModulePkg/Core/Dxe/Image/Image.c @@ -297,8 +297,6 @@ CoreInitializeImageServices ( InitializeListHead (&mAvailableEmulators); - ProtectUefiImage (Image, ImageContext); - return Status; }