class Config

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

Config supplies the factory for creating the appropriate pci config

object based on the address space of the pci device.

Public Members

static PciReg16 kVendorId
static PciReg16 kDeviceId
static PciReg16 kCommand
static PciReg16 kStatus
static PciReg8 kRevisionId
static PciReg8 kProgramInterface
static PciReg8 kSubClass
static PciReg8 kBaseClass
static PciReg8 kCacheLineSize
static PciReg8 kLatencyTimer
static PciReg8 kHeaderType
static PciReg8 kBist
static PciReg32 kCardbusCisPtr
static PciReg16 kSubsystemVendorId
static PciReg16 kSubsystemId
static PciReg32 kExpansionRomAddress
static PciReg8 kCapabilitiesPtr
static PciReg8 kInterruptLine
static PciReg8 kInterruptPin
static PciReg8 kMinGrant
static PciReg8 kMaxLatency
static const uint8_t kStdCfgEnd
static PciReg8 kPrimaryBusId
static PciReg8 kSecondaryBusId
static PciReg8 kSubordinateBusId
static PciReg8 kSecondaryLatencyTimer
static PciReg8 kIoBase
static PciReg8 kIoLimit
static PciReg16 kSecondaryStatus
static PciReg16 kMemoryBase
static PciReg16 kMemoryLimit
static PciReg16 kPrefetchableMemoryBase
static PciReg16 kPrefetchableMemoryLimit
static PciReg32 kPrefetchableMemoryBaseUpper
static PciReg32 kPrefetchableMemoryLimitUpper
static PciReg16 kIoBaseUpper
static PciReg16 kIoLimitUpper
static PciReg32 kBridgeExpansionRomAddress
static PciReg16 kBridgeControl

Public Methods

PciReg32 kBar (uint32_t bar)

0x10 is the address of the first BAR in config space

BAR rather than BaseAddress for space / sanity considerations

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

const pci_bdf_t & bdf ()

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

const char * addr ()

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

zx::result<fdf::MmioView> get_view ()

Return a copy of the MmioView backing the Config's MMIO space, if supported.

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

const char * type ()
void DumpConfig (uint16_t len)

Virtuals

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

uint8_t Read (PciReg8 addr)
uint16_t Read (PciReg16 addr)
uint32_t Read (PciReg32 addr)
void Write (PciReg8 addr, uint8_t val)
void Write (PciReg16 addr, uint16_t val)
void Write (PciReg32 addr, uint32_t val)
void ~Config ()

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

Protected Methods

void Config (pci_bdf_t bdf)

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