-/** \r
- @par Protocol Description:\r
- The EFI_PCI_IO_PROTOCOL provides the basic Memory, I/O, PCI configuration, \r
- and DMA interfaces that are used to abstract accesses to PCI controllers. \r
- There is one EFI_PCI_IO_PROTOCOL instance for each PCI controller on a PCI bus. \r
- A device driver that wishes to manage a PCI controller in a system will have to \r
- retrieve the EFI_PCI_IO_PROTOCOL instance that is associated with the PCI controller. \r
-\r
- @param PollMem\r
- Polls an address in PCI memory space until an exit condition is met, or a timeout occurs. \r
-\r
- @param PollIo\r
- Polls an address in PCI I/O space until an exit condition is met, or a timeout occurs. \r
-\r
- @param Mem.Read\r
- Allows BAR relative reads to PCI memory space. \r
-\r
- @param Mem.Write\r
- Allows BAR relative writes to PCI memory space. \r
-\r
- @param Io.Read\r
- Allows BAR relative reads to PCI I/O space. \r
-\r
- @param Io.Write\r
- Allows BAR relative writes to PCI I/O space. \r
-\r
- @param Pci.Read\r
- Allows PCI controller relative reads to PCI configuration space. \r
-\r
- @param Pci.Write\r
- Allows PCI controller relative writes to PCI configuration space. \r
-\r
- @param CopyMem\r
- Allows one region of PCI memory space to be copied to another region of PCI memory space. \r
-\r
- @param Map\r
- Provides the PCI controller's specific address needed to access system memory for DMA. \r
-\r
- @param Unmap\r
- Releases any resources allocated by Map(). \r
-\r
- @param AllocateBuffer\r
- Allocates pages that are suitable for a common buffer mapping. \r
-\r
- @param FreeBuffer\r
- Frees pages that were allocated with AllocateBuffer(). \r
-\r
- @param Flush\r
- Flushes all PCI posted write transactions to system memory. \r
-\r
- @param GetLocation\r
- Retrieves this PCI controller's current PCI bus number, device number, and function number. \r
-\r
- @param Attributes\r
- Performs an operation on the attributes that this PCI controller supports. \r
- The operations include getting the set of supported attributes, retrieving \r
- the current attributes, setting the current\r
- attributes, enabling attributes, and disabling attributes. \r
-\r
- @param GetBarAttributes\r
- Gets the attributes that this PCI controller supports setting on a BAR using \r
- SetBarAttributes(), and retrieves the list of resource descriptors for a BAR. \r
-\r
- @param SetBarAttributes\r
- Sets the attributes for a range of a BAR on a PCI controller. \r
-\r
- @param RomSize\r
- The size, in bytes, of the ROM image.\r
-\r
- @param RomImage\r
- A pointer to the in memory copy of the ROM image. The PCI Bus Driver is responsible \r
- for allocating memory for the ROM image, and copying the contents of the ROM to memory. \r
- The contents of this buffer are either from the PCI option ROM that can be accessed \r
- through the ROM BAR of the PCI controller, or it is from a platform-specific location. \r
- The Attributes() function can be used to determine from which of these two sources \r
- the RomImage buffer was initialized.\r
-\r
-**/\r