Efi_pci_io_protocol, Pci_io, Pci i/o – Intel Extensible Firmware Interface User Manual
Page 474: Protocol

Extensible Firmware Interface Specification
12-56
12/01/02
Version 1.10
EFI_PCI_IO_PROTOCOL
Summary
Provides the basic Memory, I/O, PCI configuration, and DMA interfaces that a driver uses to access
its PCI controller.
GUID
#define EFI_PCI_IO_PROTOCOL_GUID \
{0x4cf5b200,0x68b8,0x4ca5,0x9e,0xec,0xb2,0x3e,0x3f,0x50,0x2,0x9a}
Protocol Interface Structure
typedef struct _EFI_PCI_IO_PROTOCOL {
EFI_PCI_IO_PROTOCOL_POLL_IO_MEM
PollMem;
EFI_PCI_IO_PROTOCOL_POLL_IO_MEM
PollIo;
EFI_PCI_IO_PROTOCOL_ACCESS
Mem;
EFI_PCI_IO_PROTOCOL_ACCESS
Io;
EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS
Pci;
EFI_PCI_IO_PROTOCOL_COPY_MEM
CopyMem;
EFI_PCI_IO_PROTOCOL_MAP
Map;
EFI_PCI_IO_PROTOCOL_UNMAP
Unmap;
EFI_PCI_IO_PROTOCOL_ALLOCATE_BUFFER
AllocateBuffer;
EFI_PCI_IO_PROTOCOL_FREE_BUFFER
FreeBuffer;
EFI_PCI_IO_PROTOCOL_FLUSH
Flush;
EFI_PCI_IO_PROTOCOL_GET_LOCATION
GetLocation;
EFI_PCI_IO_PROTOCOL_ATTRIBUTES
Attributes;
EFI_PCI_IO_PROTOCOL_GET_BAR_ATTRIBUTES
GetBarAttributes;
EFI_PCI_IO_PROTOCOL_SET_BAR_ATTRIBUTES
SetBarAttributes;
UINT64
RomSize;
VOID
*RomImage;
} EFI_PCI_IO_PROTOCOL;
Parameters
PollMem
Polls an address in PCI memory space until an exit condition is
met, or a timeout occurs. See the
function
description.
PollIo
Polls an address in PCI I/O space until an exit condition is met, or
a timeout occurs. See the
function description.
Mem.Read
Allows BAR relative reads to PCI memory space. See the
function description.
Mem.Write
Allows BAR relative writes to PCI memory space. See the
function description.