summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/AcpiPlatformDxe
diff options
context:
space:
mode:
authorJordan Justen <jordan.l.justen@intel.com>2013-11-12 18:34:36 +0000
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>2013-11-12 18:34:36 +0000
commit2662fa8dcd81d95e56fea95efbda6757fc9a7e94 (patch)
treea41300da9d93b23c2eb2e64494f6d772cf2cd63f /OvmfPkg/AcpiPlatformDxe
parente58e5bcd23badac8ef91d3bcc73baac3ca27e2ae (diff)
downloadedk2-2662fa8dcd81d95e56fea95efbda6757fc9a7e94.tar.gz
edk2-2662fa8dcd81d95e56fea95efbda6757fc9a7e94.tar.bz2
edk2-2662fa8dcd81d95e56fea95efbda6757fc9a7e94.zip
OvmfPkg/AcpiPlatformDxe/Qemu: Decrease upper limit for PCI window 32
In a later patch we will want to mark the flash memory as a runtime services data memory range. This will allow a new runtime services firmware block driver to read & write flash memory when the OS has set up virtual memory protection. Since this memory range will appear as runtime services data, we need to adjust the limit when scanning for PCI window 32 down to just below the flash device. If we don't adjust the limit, then the algorithm in PopulateFwData will fail because it will see a EfiGcdMemoryTypeSystemMemory memory range just below 4GB. v2: * This patch replaces the v1 patch: "OvmfPkg/AcpiPlatformDxe/Qemu: Allow high runtime memory regions" Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14837 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'OvmfPkg/AcpiPlatformDxe')
-rw-r--r--OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf1
-rw-r--r--OvmfPkg/AcpiPlatformDxe/Qemu.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf b/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
index acc224728e..90178e0f52 100644
--- a/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
+++ b/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
@@ -62,6 +62,7 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiTableStorageFile
gUefiCpuPkgTokenSpaceGuid.PcdCpuLocalApicBaseAddress
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel
+ gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFdBaseAddress
[Depex]
gEfiAcpiTableProtocolGuid
diff --git a/OvmfPkg/AcpiPlatformDxe/Qemu.c b/OvmfPkg/AcpiPlatformDxe/Qemu.c
index 8a6ecf75b3..06bd46370e 100644
--- a/OvmfPkg/AcpiPlatformDxe/Qemu.c
+++ b/OvmfPkg/AcpiPlatformDxe/Qemu.c
@@ -250,7 +250,7 @@ PopulateFwData(
Desc = &AllDesc[CurDesc];
ExclTop = Desc->BaseAddress + Desc->Length;
- if (ExclTop <= BASE_4GB) {
+ if (ExclTop <= (UINT64) PcdGet32 (PcdOvmfFdBaseAddress)) {
switch (Desc->GcdMemoryType) {
case EfiGcdMemoryTypeNonExistent:
break;