audk/MdeModulePkg
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
..
Application MdeModulePkg: Use IsZeroGuid API for zero GUID checking 2016-08-31 11:14:01 +08:00
Bus MdeModulePkg/PciHostBridgeDxe: restrict 64-bit DMA to devices that support it 2016-09-06 15:46:38 +01:00
Core MdeModulePkg: Use IsZeroGuid API for zero GUID checking 2016-08-31 11:14:01 +08:00
Include MdeModulePkg: Add API ResetPlatformSpecific() to ResetSystemLib.h 2016-09-02 10:07:14 +08:00
Library MdeModulePkg PiDxeS3BootScriptLib: Support multiple PCI segment 2016-09-05 18:15:46 +08:00
Logo MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
Universal MdeModulePkg: Support classless IP for DHCPv4 TransmitReceive() 2016-09-06 19:00:00 +08:00
Contributions.txt */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
License.txt Update copyright format 2012-04-24 06:49:39 +00:00
MdeModulePkg.dec MdeModulePkg: Introduce new library class MemoryProfileLib 2016-07-01 09:39:57 +08:00
MdeModulePkg.dsc MdeModulePkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:07 +08:00
MdeModulePkg.uni MdeModulePkg: Extend memory profile definitions for memory leak detection 2016-07-01 09:39:50 +08:00
MdeModulePkgExtra.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00