audk/MdeModulePkg/Bus/Pci
Ard Biesheuvel e58a71d9c5 MdeModulePkg/PciHostBridgeDxe: restrict 64-bit DMA to devices that support it
Currently, the EFI_PCI_ATTRIBUTE_DUAL_ADDRESS_CYCLE attribute is completely
ignored by the PCI host bridge driver, which means that, on an implementation
that supports DMA above 4 GB, allocations above 4 GB may be provided to
devices that have not expressed support for it.

So in addition to checking 'RootBridge->DmaAbove4G' to establish whether the
root bridge itself supports DMA above 4 GB, we must also take into account
the operation type (EfiPciOperationBusMaster{Read|Write|CommonBuffer}64),
and the EFI_PCI_ATTRIBUTE_DUAL_ADDRESS_CYCLE attribute, when mapping and
allocating DMA memory, respectively.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ruiyu Ni <Ruiyu.ni@intel.com>
2016-09-06 15:46:38 +01:00
..
EhciDxe MdeModulePkg/EhciDxe: enable 64-bit PCI DMA 2016-09-06 15:40:49 +01:00
EhciPei MdeModulePkg: Fix typos in comments and variables 2016-07-11 10:29:48 +08:00
IdeBusPei MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
IncompatiblePciDeviceSupportDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
NvmExpressDxe MdeModulePkg/NvmExpressDxe: enable 64-bit PCI DMA 2016-09-06 15:40:49 +01:00
PciBusDxe MdeModulePkg/PciBusDxe: recognize hotplug-capable PCIe ports 2016-07-13 08:39:29 +02:00
PciHostBridgeDxe MdeModulePkg/PciHostBridgeDxe: restrict 64-bit DMA to devices that support it 2016-09-06 15:46:38 +01:00
PciSioSerialDxe MdeModulePkg: Fix typos in comments and variables 2016-07-11 10:29:48 +08:00
SataControllerDxe MdeModulePkg: add generic SataController driver. 2016-08-03 09:52:18 +08:00
SdMmcPciHcDxe MdeModulePkg/SdMmcPciHcDxe: enable 64-bit PCI DMA 2016-09-06 15:40:49 +01:00
SdMmcPciHcPei MdeModulePkg/SdMmc: Add EDKII SD/MMC stack 2016-03-30 11:27:41 +08:00
UfsPciHcDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
UfsPciHcPei MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
UhciDxe MdeModulePkg: Fix typos in comments and variables 2016-07-11 10:29:48 +08:00
UhciPei MdeModulePkg: Fix typos in comments and variables 2016-07-11 10:29:48 +08:00
XhciDxe MdeModulePkg/XhciDxe: enable 64-bit PCI DMA 2016-09-06 15:40:49 +01:00
XhciPei MdeModulePkg: Fix typos in comments and variables 2016-07-11 10:29:48 +08:00