summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Core/Dxe/Image
diff options
context:
space:
mode:
authorjchen20 <jchen20@6f19259b-4bc3-4df7-8a09-765794883524>2010-03-10 02:47:05 +0000
committerjchen20 <jchen20@6f19259b-4bc3-4df7-8a09-765794883524>2010-03-10 02:47:05 +0000
commit9bfb4940962a8da0f2399aa25764eee3bfc99327 (patch)
tree743af2b1ffd865d94d2586a3979f9f72d788a57b /MdeModulePkg/Core/Dxe/Image
parent947a573ada499a7b1533d91f015327cc07605ff7 (diff)
downloadedk2-9bfb4940962a8da0f2399aa25764eee3bfc99327.tar.gz
edk2-9bfb4940962a8da0f2399aa25764eee3bfc99327.tar.bz2
edk2-9bfb4940962a8da0f2399aa25764eee3bfc99327.zip
The patch attached is to fix the issue that LMFA feature is failed on OVMF. The root cause is that OVMF platform reserved 128k top memory range for EMU variable range before PEI memory range re-locate to specified memory range, which is quite different from real platform. The original implementation has an assumption that AllocatePage will NOT be invoked until PEI memory range is re-located to preassigned memory range, , which is TRUE in most real platform, but FALSE on OVMF platform. So This patch is to enhanced the memory resource HOB re-organization algorithm to eliminate the assumption.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10225 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Core/Dxe/Image')
-rw-r--r--MdeModulePkg/Core/Dxe/Image/Image.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/MdeModulePkg/Core/Dxe/Image/Image.c b/MdeModulePkg/Core/Dxe/Image/Image.c
index 04f8368a1c..25f1720a16 100644
--- a/MdeModulePkg/Core/Dxe/Image/Image.c
+++ b/MdeModulePkg/Core/Dxe/Image/Image.c
@@ -356,7 +356,7 @@ GetPeCoffImageFixLoadingAssignedAddress(
// relative to top address
//
if ((INT64)PcdGet64(PcdLoadModuleAtFixAddressEnable) < 0) {
- ImageContext->ImageAddress = gLoadModuleAtFixAddressConfigurationTable.DxeCodeTopAddress + (INT64)ImageContext->ImageAddress;
+ ImageContext->ImageAddress = gLoadModuleAtFixAddressConfigurationTable.DxeCodeTopAddress + (INT64)(INTN)ImageContext->ImageAddress;
}
//
// Check if the memory range is avaliable.