Intel Extensible Firmware Interface User Manual
Page 433

Protocols
— PCI Bus Support
Version 1.10
12/01/02
12-15
DMA Bus Master Read Operation
• Call
EfiPciOperationBusMasterRead
or
EfiPciOperationBusMasterRead64
.
• Program the DMA Bus Master with the
DeviceAddres
s
returned by
Map()
.
• Start the DMA Bus Master.
• Wait for DMA Bus Master to complete the read operation.
• Call
DMA Bus Master Write Operation
• Call
Map()
for
EfiPciOperationBusMasterWrite
or
EfiPciOperationBusMasterRead64
.
• Program the DMA Bus Master with the
DeviceAddres
s
returned by
Map()
.
• Start the DMA Bus Master.
• Wait for DMA Bus Master to complete the write operation.
• Perform a PCI controller specific read transaction to flush all PCI write buffers (See PCI
Specification Section 3.2.5.2) .
• Call
• Call
Unmap()
.
DMA Bus Master Common Buffer Operation
• Call
to allocate a common buffer.
• Call
Map()
for
EfiPciOperationBusMasterCommonBuffer
or
EfiPciOperationBusMasterCommonBuffer64
.
• Program the DMA Bus Master with the
DeviceAddres
s
returned by
Map()
.
• The common buffer can now be accessed equally by the processor and the DMA bus master.
• Call
Unmap()
.
• Call