Extensible Firmware Interface Specification
138 12/12/00 Version 1.02
6.2 DEVICE_IO Protocol
Summary
Provides the basic Memory, I/O, and PCI interfaces that are used to abstract accesses to devices.
GUID
#define DEVICE_IO_PROTOCOL \
{ af6ac311-84c3-11d2-8e3c-00a0c969723b }
Protocol Interface Structure
typedef struct _EFI_DEVICE_IO_INTERFACE {
EFI_IO_ACCESS Mem;
EFI_IO_ACCESS Io;
EFI_IO_ACCESS Pci;
EFI_IO_MAP Map;
EFI_PCI_DEVICE_PATH PciDevicePath;
EFI_IO_UNMAP Unmap;
EFI_IO_ALLOCATE_BUFFER AllocateBuffer;
EFI_IO_FLUSH Flush;
EFI_IO_FREE_BUFFER FreeBuffer;
} EFI_DEVICE_IO_INTERFACE;
Parameters
Mem Allows reads and writes to memory mapped I/O space. See
Section 6.2.1.
Io Allows reads and writes to I/O space. See Section 6.2.1.
Pci Allows reads and writes to PCI configuration space. See Section 6.2.1.
Map Provides the device specific addresses needed to access system memory
for DMA.
PciDevicePath Provides an EFI Device Path for a PCI device with the given PCI
configuration space address.
Unmap Releases any resources allocated by Map.
AllocateBuffer Allocates pages that are suitable for a common buffer mapping.
Flush Flushes any posted write data to the device.
FreeBuffer Free pages that were allocated with AllocateBuffer().