audk/MdeModulePkg/Bus
Ard Biesheuvel a42e6d448d MdeModulePkg: implement generic PCI I/O driver for non-discoverable devices
This implements support for non-discoverable PCI compatible devices, i.e,
devices that are not on a PCI bus but that can be controlled by generic PCI
drivers in EDK2.

This is implemented as a UEFI driver, which means we take full advantage
of the UEFI driver model, and only instantiate those devices that are
necessary for booting.

Care is taken to deal with DMA addressing limitations: DMA mappings and
allocations are moved below 4 GB if the PCI driver has not informed us
that the device being driven is 64-bit DMA capable. DMA is implemented as
coherent, support for non-coherent DMA is implemented by a subsequent patch.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Tested-by: Marcin Wojtas <mw@semihalf.com>
2016-12-07 09:45:56 +00:00
..
Ata MdeModulePkg/AtaAtapiPassThru: Ensure GHC.AE bit is always set in Ahci 2016-11-24 15:54:55 +00:00
I2c/I2cDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
Isa MdeModulePkg/Bus: Fix typos in comments 2016-10-27 09:11:16 +08:00
Pci MdeModulePkg: implement generic PCI I/O driver for non-discoverable devices 2016-12-07 09:45:56 +00:00
Scsi MdeModulePkg ScsiDiskDxe: Add Erase Block Protocol support for UFS devices 2016-05-20 13:42:51 +08:00
Sd MdeModulePkg: Fix typos in comments and variables 2016-07-11 10:29:48 +08:00
Ufs MdeModulePkg/Ufs: ensure the DBC field of UTP PRDT is dword-aligned 2016-11-09 15:30:10 +08:00
Usb MdeModulePkg/UsbMass: Revert changes of removing retry logic 2016-11-14 14:10:30 +08:00