Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Extensible Firmware Interface Specification
12-34 12/01/02 Version 1.10
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Flush()
Summary
Flushes all PCI posted write transactions from a PCI host bridge to system memory.
Prototype
typedef
EFI_STATUS
(EFIAPI *EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_FLUSH) (
IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This
);
Parameters
This A pointer to the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.
Type EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL is defined in
Section 12.2.1.
Description
The Flush() function flushes any PCI posted write transactions from a PCI host bridge to system
memory. Posted write transactions are generated by PCI bus masters when they perform write
transactions to target addresses in system memory.
This function does not flush posted write transactions from any PCI bridges. A PCI controller
specific action must be taken to guarantee that the posted write transactions have been flushed from
the PCI controller and from all the PCI bridges into the PCI host bridge. This is typically done with
a PCI read transaction from the PCI controller prior to calling Flush().
If the PCI controller specific action required to flush the PCI posted write transactions has been
performed, and this function returns EFI_SUCCESS, then the PCI bus masters view and the
processors view of system memory are guaranteed to be coherent. If the PCI posted write
transactions cannot be flushed from the PCI host bridge, then the PCI bus master and processor are
not guaranteed to have a coherent view of system memory, and EFI_DEVICE_ERROR is returned.
Status Codes Returned
EFI_SUCCESS The PCI posted write transactions were flushed from the PCI host
bridge to system memory.
EFI_DEVICE_ERROR The PCI posted write transactions were not flushed from the PCI
host bridge due to a hardware error.