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()