Extensible Firmware Interface Specification
18-2 12/01/02 Version 1.10
18.2 DEVICE_IO Protocol
This section defines the Device I/O Protocol. This protocol provides the basic Memory, I/O, and
PCI interfaces that are used to abstract accesses to devices.
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 the Mem()
function description.
Io Allows reads and writes to I/O space. See the Io()
function
description.
Pci Allows reads and writes to PCI configuration space. See the Pci()
function description.
Map Provides the device specific addresses needed to access system memory
for DMA. See the Map()
function description.
PciDevicePath Provides an EFI Device Path for a PCI device with the given PCI
configuration space address. See the PciDevicePath()
function
description.