Efi_pci_io_protocol.pollio(), Pollio(), Func – Intel Extensible Firmware Interface User Manual

Page 485

Advertising
background image

Protocols

— PCI Bus Support

Version 1.10

12/01/02

12-67

EFI_PCI_IO_PROTOCOL.PollIo()

Summary

Reads from the I/O space of a PCI controller. Returns when either the polling exit criteria is
satisfied or after a defined duration.

Prototype

typedef
EFI_STATUS
(EFIAPI *EFI_PCI_IO_PROTOCOL_POLL_IO_MEM) (
IN struct EFI_PCI_IO_PROTOCOL

*This,

IN EFI_PCI_IO_PROTOCOL_WIDTH

Width,

IN UINT8

BarIndex,

IN UINT64

Offset,

IN UINT64

Mask,

IN UINT64

Value,

IN UINT64

Delay,

OUT UINT64

*Result

);

Parameters

This

A pointer to the

EFI_PCI_IO_PROTOCOL

instance. Type

EFI_PCI_IO_PROTOCOL

is defined in Section 12.4.

Width

Signifies the width of the I/O operations. Type

EFI_PCI_IO_PROTOCOL_WIDTH

is defined in Section 12.4.

BarIndex

The BAR index of the standard PCI Configuration header to use as
the base address for the I/O operation to perform. This allows all
drivers to use BAR relative addressing. The legal range for this
field is 0..5. However, the value

EFI_PCI_IO_PASS_THROUGH_BAR

can be used to bypass the

BAR relative addressing and pass

Offset

to the PCI Root Bridge

I/O Protocol unchanged. Type

EFI_PCI_IO_PASS_THROUGH_BAR

is defined in Section 12.4.

Offset

The offset within the selected BAR to start the I/O operation.

Mask

Mask used for the polling criteria. Bytes above

Width

in

Mask

are ignored. The bits in the bytes below

Width

which are zero in

Mask

are ignored when polling the I/O address.

Advertising