18.5 PCI DMA

There are three types of DMA transactions that can be implemented using the services of the PCI I/O Protocol:
  • Bus master read transactions
  • Bus master write transactions
  • Common buffer transactions
The PCI I/O Protocol services used to manage PCI DMA transactions include:
  • PciIo->AllocateBuffer()
  • PciIo->FreeBuffer()
  • PciIo->Map()
  • PciIo->Unmap() - PciIo->Flush()