summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/OvmfPkgIa32X64.dsc
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2019-06-26 12:37:42 +0100
committerLaszlo Ersek <lersek@redhat.com>2019-06-26 15:06:44 +0200
commitc7341877f69505e69acd199c84b6c09218058bfa (patch)
tree512f65fe68565905eb137ed3f17ccc209c95cfae /OvmfPkg/OvmfPkgIa32X64.dsc
parent4b04d9d73604080a42daf737c39b98d4e1245a51 (diff)
downloadedk2-c7341877f69505e69acd199c84b6c09218058bfa.tar.gz
edk2-c7341877f69505e69acd199c84b6c09218058bfa.tar.bz2
edk2-c7341877f69505e69acd199c84b6c09218058bfa.zip
OvmfPkg: don't assign PCI BARs above 4GiB when CSM enabled
Mostly, this is only necessary for devices that the CSM might have native support for, such as VirtIO and NVMe; PciBusDxe will already degrade devices to 32-bit if they have an OpROM. However, there doesn't seem to be a generic way of requesting PciBusDxe to downgrade specific devices. There's IncompatiblePciDeviceSupportProtocol but that doesn't provide the PCI class information or a handle to the device itself, so there's no simple way to just match on all NVMe devices, for example. Just leave gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size set to zero for CSM builds, until/unless that can be fixed. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20190626113742.819933-5-dwmw2@infradead.org>
Diffstat (limited to 'OvmfPkg/OvmfPkgIa32X64.dsc')
-rw-r--r--OvmfPkg/OvmfPkgIa32X64.dsc4
1 files changed, 4 insertions, 0 deletions
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index 639e33cb28..ad20531ceb 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -543,7 +543,11 @@
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0
+!ifdef $(CSM_ENABLE)
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x0
+!else
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x800000000
+!endif
gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0