summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/Library/PciHostBridgeLib
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2016-01-25 23:50:14 +0100
committerLaszlo Ersek <lersek@redhat.com>2016-03-03 18:18:39 +0100
commitc789d61dcb6b1990133a947351f67751cf0c4e31 (patch)
tree0cdfa0a7357bf59c1c7c2ba481018a8ce3f69730 /OvmfPkg/Library/PciHostBridgeLib
parenta5ece62d79b73cc108110fe98d04d5c08c7c4304 (diff)
downloadedk2-c789d61dcb6b1990133a947351f67751cf0c4e31.tar.gz
edk2-c789d61dcb6b1990133a947351f67751cf0c4e31.tar.bz2
edk2-c789d61dcb6b1990133a947351f67751cf0c4e31.zip
OvmfPkg: PciHostBridgeLib: clear RootBus->DmaAbove4G
When this BOOLEAN member is FALSE, and the caller tries to set up a DMA transfer between a PCI device and a host buffer not entirely under 4GB, then "MdeModulePkg/Bus/Pci/PciHostBridgeDxe" sets up a bounce buffer under 4GB, in the implementation of EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Map(). Since that's exactly what RootBridgeIoMap() does in "OvmfPkg/PciHostBridgeDxe/PciRootBridgeIo.c", stick with it in this conversion. Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Marcel Apfelbaum <marcel@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Diffstat (limited to 'OvmfPkg/Library/PciHostBridgeLib')
-rw-r--r--OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c b/OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c
index db260291b8..f1cefe4169 100644
--- a/OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c
+++ b/OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c
@@ -82,6 +82,8 @@ InitRootBridge (
EFI_PCI_ATTRIBUTE_VGA_PALETTE_IO_16;
RootBus->Attributes = RootBus->Supports;
+ RootBus->DmaAbove4G = FALSE;
+
return EFI_OUT_OF_RESOURCES;
}