class PcieAddressProvider

Defined at line 21 of file ../../zircon/kernel/dev/pcie/include/dev/address_provider/address_provider.h

PcieAddressProvider is an interface that implements translation from a BDF to

a PCI ECAM address.

Public Methods

zx_status_t Translate (uint8_t bus_id, uint8_t device_id, uint8_t function_id, vaddr_t * virt, paddr_t * phys)

Accepts a PCI BDF triple and returns ZX_OK if it is able to translate it

into an ECAM address.

Upon success, virt will contain the ECAM address provided by the

translation. phys will optionally contain the corresponding physical

address.

On failure, result must not be touched by the implementation.

fbl::RefPtr<PciConfig> CreateConfig (const uintptr_t addr)

Creates a config that corresponds to the type of the PcieAddressProvider.

For example, a PioAddressProvider will return a PioConfig whereas an

MmioAddressProvider will return an MmioConfig.

void ~PcieAddressProvider ()

Defined at line 23 of file ../../zircon/kernel/dev/pcie/include/dev/address_provider/address_provider.h

Protected Methods

void PcieAddressProvider ()

Defined at line 40 of file ../../zircon/kernel/dev/pcie/include/dev/address_provider/address_provider.h