summaryrefslogtreecommitdiff
path: root/ArmVirtPkg/Library
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2016-09-05 09:55:16 +0100
committerArd Biesheuvel <ard.biesheuvel@linaro.org>2016-09-06 15:46:38 +0100
commite58a71d9c50ba641b5ab19f5ce2cbf772187de4d (patch)
treed6926b29ec202ba6bd623d781b83feceff30617e /ArmVirtPkg/Library
parent5c1b371a8839f970a45df3342529d034524f2507 (diff)
downloadedk2-platforms-e58a71d9c50ba641b5ab19f5ce2cbf772187de4d.tar.xz
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>
Diffstat (limited to 'ArmVirtPkg/Library')
0 files changed, 0 insertions, 0 deletions