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>
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0\r
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0\r
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0\r
+!ifdef $(CSM_ENABLE)\r
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x0\r
+!else\r
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x800000000\r
+!endif\r
\r
gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0\r
\r
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Base|0x0\r
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio32Size|0x0\r
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base|0x0\r
+!ifdef $(CSM_ENABLE)\r
+ gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x0\r
+!else\r
gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size|0x800000000\r
+!endif\r
\r
gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0\r
\r