]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: PlatformPei: lower the 32-bit PCI MMIO base to 2GB on Q35
authorLaszlo Ersek <lersek@redhat.com>
Tue, 8 Mar 2016 12:01:03 +0000 (13:01 +0100)
committerLaszlo Ersek <lersek@redhat.com>
Thu, 10 Mar 2016 20:28:07 +0000 (21:28 +0100)
Gerd has advised us that long term support Q35 machine types have no low
RAM above 2GB, hence we should utilize the [2GB, 3GB) gap -- that we
currently leave unused -- for MMIO. (Plus, later in this series, for the
PCIEXBAR too.)

Cc: Gabriel Somlo <somlo@cmu.edu>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Marcel Apfelbaum <marcel@redhat.com>
Cc: Michał Zegan <webczat_200@poczta.onet.pl>
Ref: https://github.com/tianocore/edk2/issues/32
Ref: http://thread.gmane.org/gmane.comp.bios.edk2.devel/8707/focus=8817
Suggested-by: Gerd Hoffmann <kraxel@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Gabriel Somlo <somlo@cmu.edu>
Tested-by: Michał Zegan <webczat_200@poczta.onet.pl>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
OvmfPkg/PlatformPei/Platform.c

index 7d0941209f252bb5db0c1e0341081f567f1cf9a5..8e4da41001e1248d0e255c88ee3e653a4214b19c 100644 (file)
@@ -218,11 +218,10 @@ MemMapInitialization (
     TopOfLowRam = GetSystemMemorySizeBelow4gb ();\r
     if (mHostBridgeDevId == INTEL_Q35_MCH_DEVICE_ID) {\r
       //\r
-      // A 3GB base will always fall into Q35's 32-bit PCI host aperture,\r
-      // regardless of the Q35 MMCONFIG BAR. Correspondingly, QEMU never lets\r
-      // the RAM below 4 GB exceed it.\r
+      // On Q35 machine types that QEMU intends to support in the long term,\r
+      // QEMU never lets the RAM below 4 GB exceed 2 GB.\r
       //\r
-      PciBase = BASE_2GB + BASE_1GB;\r
+      PciBase = BASE_2GB;\r
       ASSERT (TopOfLowRam <= PciBase);\r
     } else {\r
       PciBase = (TopOfLowRam < BASE_2GB) ? BASE_2GB : TopOfLowRam;\r