OvmfPkg/PlatformInitLib: Add PlatformGetLowMemoryCB
Add PlatformGetLowMemoryCB() callback function for use with PlatformScanE820(). It stores the low memory size in PlatformInfoHob->LowMemory. This replaces calls to PlatformScanOrAdd64BitE820Ram() with non-NULL LowMemory. Write any actions done (setting LowMemory) to the firmware log with INFO loglevel. Also change PlatformGetSystemMemorySizeBelow4gb() to likewise set PlatformInfoHob->LowMemory instead of returning the value. Update all Callers to the new convention. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
committed by
mergify[bot]
parent
e037530468
commit
124b765051
@@ -128,7 +128,6 @@ PlatformMemMapInitialization (
|
||||
{
|
||||
UINT64 PciIoBase;
|
||||
UINT64 PciIoSize;
|
||||
UINT32 TopOfLowRam;
|
||||
UINT64 PciExBarBase;
|
||||
UINT32 PciBase;
|
||||
UINT32 PciSize;
|
||||
@@ -150,7 +149,7 @@ PlatformMemMapInitialization (
|
||||
return;
|
||||
}
|
||||
|
||||
TopOfLowRam = PlatformGetSystemMemorySizeBelow4gb (PlatformInfoHob);
|
||||
PlatformGetSystemMemorySizeBelow4gb (PlatformInfoHob);
|
||||
PciExBarBase = 0;
|
||||
if (PlatformInfoHob->HostBridgeDevId == INTEL_Q35_MCH_DEVICE_ID) {
|
||||
//
|
||||
@@ -158,11 +157,11 @@ PlatformMemMapInitialization (
|
||||
// the base of the 32-bit PCI host aperture.
|
||||
//
|
||||
PciExBarBase = PcdGet64 (PcdPciExpressBaseAddress);
|
||||
ASSERT (TopOfLowRam <= PciExBarBase);
|
||||
ASSERT (PlatformInfoHob->LowMemory <= PciExBarBase);
|
||||
ASSERT (PciExBarBase <= MAX_UINT32 - SIZE_256MB);
|
||||
PciBase = (UINT32)(PciExBarBase + SIZE_256MB);
|
||||
} else {
|
||||
ASSERT (TopOfLowRam <= PlatformInfoHob->Uc32Base);
|
||||
ASSERT (PlatformInfoHob->LowMemory <= PlatformInfoHob->Uc32Base);
|
||||
PciBase = PlatformInfoHob->Uc32Base;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user