2 device_io protocol, Device_io protocol, Device_io – Intel Extensible Firmware Interface User Manual
Page 762: Device i/oprotocol

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
function description.
Io
Allows reads and writes to I/O space. See the
function
description.
Pci
Allows reads and writes to PCI configuration space. See the
function description.
Map
Provides the device specific addresses needed to access system memory
for DMA. See the
function description.
PciDevicePath
Provides an EFI Device Path for a PCI device with the given PCI
configuration space address. See the
function
description.