Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jun 2021 10:30:00 +0200
From:      =?UTF-8?q?Corvin=20K=C3=B6hne?= <c.koehne@beckhoff.com>
To:        <freebsd-virtualization@freebsd.org>
Cc:        <p.bruenn@beckhoff.com>, =?UTF-8?q?Corvin=20K=C3=B6hne?= <c.koehne@beckhoff.com>
Subject:   [PATCH 4/4] OvmfPkg/Bhyve: use static PCI32Base address
Message-ID:  <20210615083000.1286-5-c.koehne@beckhoff.com>
In-Reply-To: <20210615083000.1286-1-c.koehne@beckhoff.com>
References:  <20210615083000.1286-1-c.koehne@beckhoff.com>

next in thread | previous in thread | raw e-mail | index | archive | help
=EF=BB=BFIt's neccessary to allocate a Graphics Stolen Memory area to enabl=
e
GPU-Passthrough for integrated Intel GPUs. Therefore, use a new
memory layout with a static Pci32Baseaddress.

Old layout:
	[...        , lowmemlimit] RAM
	[lowmemlimit, 0xE000 0000] PCI Space
New layout:
	[...        , lowmemlimit] RAM
	[lowmemlimit, gsmbase    ] Memory hole (may be absent)
	[gsmbase    , 0xC000 0000] GSM (may be absent)
	[0xC000 0000, 0xE000 0000] PCI Space

Signed-off-by: Corvin K=C3=B6hne <c.koehne@beckhoff.com>
---
 OvmfPkg/Bhyve/BhyveX64.dsc           | 4 ++--
 OvmfPkg/Bhyve/PlatformPei/Platform.c | 4 +++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/OvmfPkg/Bhyve/BhyveX64.dsc b/OvmfPkg/Bhyve/BhyveX64.dsc
index c35bf18449..e5d1dbccff 100644
--- a/OvmfPkg/Bhyve/BhyveX64.dsc
+++ b/OvmfPkg/Bhyve/BhyveX64.dsc
@@ -537,8 +537,8 @@
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0
   gUefiOvmfPkgTokenSpaceGuid.PcdPciIoBase|0x0
   gUefiOvmfPkgTokenSpaceGuid.PcdPciIoSize|0x0
-  gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0
-  gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0
+  gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0xC0000000
+  gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x20000000
   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0
   gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x800000000
=20
diff --git a/OvmfPkg/Bhyve/PlatformPei/Platform.c b/OvmfPkg/Bhyve/PlatformP=
ei/Platform.c
index 3a414ffcb7..f38e74ccfc 100644
--- a/OvmfPkg/Bhyve/PlatformPei/Platform.c
+++ b/OvmfPkg/Bhyve/PlatformPei/Platform.c
@@ -191,7 +191,9 @@ MemMapInitialization (
       ASSERT (PciExBarBase <=3D MAX_UINT32 - SIZE_256MB);
       PciBase =3D (UINT32)(PciExBarBase + SIZE_256MB);
     } else {
-      PciBase =3D (TopOfLowRam < BASE_2GB) ? BASE_2GB : TopOfLowRam;
+      PciBase =3D PcdGet64(PcdPciMmio32Base);
+      if (PciBase =3D=3D 0)
+        PciBase =3D (TopOfLowRam < BASE_2GB) ? BASE_2GB : TopOfLowRam;
     }
=20
     //
--=20
2.11.0

Beckhoff Automation GmbH & Co. KG | Managing Director: Dipl. Phys. Hans Bec=
khoff
Registered office: Verl, Germany | Register court: Guetersloh HRA 7075






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20210615083000.1286-5-c.koehne>