class ProxyConfig

Defined at line 25 of file ../../src/devices/pci/drivers/pci/config.h

ProxyConfig is used with PCI buses that do not support MMIO config space,

or require special controller configuration before config access. Examples

of this are IO config on x64 due to needing to synchronize CF8/CFC with

ACPI, and Designware on ARM where the controller needs to be configured to

map a given device's configuration space in before access.

For proxy configuration access all operations are passed to the

fuchsia.hardware.pci.root.Config protocol implementation.

Public Methods

zx::result<std::unique_ptr<Config>> Create (fuchsia_hardware_pci::wire::Bdf bdf, const fidl::WireSyncClient<fuchsia_hardware_pci_root::Config> & client)

Proxy Config Implementation

Defined at line 12 of file ../../src/devices/pci/drivers/pci/config.cc

uint8_t Read (PciReg8 addr)

Defined at line 22 of file ../../src/devices/pci/drivers/pci/config.cc

uint16_t Read (PciReg16 addr)

Defined at line 29 of file ../../src/devices/pci/drivers/pci/config.cc

uint32_t Read (PciReg32 addr)

Defined at line 36 of file ../../src/devices/pci/drivers/pci/config.cc

void Write (PciReg8 addr, uint8_t val)

Defined at line 43 of file ../../src/devices/pci/drivers/pci/config.cc

void Write (PciReg16 addr, uint16_t val)

Defined at line 49 of file ../../src/devices/pci/drivers/pci/config.cc

void Write (PciReg32 addr, uint32_t val)

Defined at line 55 of file ../../src/devices/pci/drivers/pci/config.cc

const char * type ()

Defined at line 61 of file ../../src/devices/pci/drivers/pci/config.cc