class Config
Defined at line 178 of file ../../src/devices/pci/lib/cpp/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
uint8_t Read (PciReg8 addr)
Virtuals
uint16_t Read (PciReg16 addr)
uint32_t Read (PciReg32 addr)
PciReg32 kBar (uint32_t bar)
0x10 is the address of the first BAR in config space
BAR rather than BaseAddress for brevity
Defined at line 195 of file ../../src/devices/pci/lib/cpp/config.h
const fuchsia_hardware_pci::wire::Bdf & bdf ()
Defined at line 237 of file ../../src/devices/pci/lib/cpp/config.h
const char * addr ()
Defined at line 238 of file ../../src/devices/pci/lib/cpp/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 241 of file ../../src/devices/pci/lib/cpp/config.h
template <typename IntType, typename = std::enable_if_t<std::is_unsigned_v<IntType> && !std::is_same_v<IntType, bool>>>
IntType Read (uint32_t offset)
Sized configuration space accessors used by hwreg for register I/O and direct raw-offset
access.
Defined at line 255 of file ../../src/devices/pci/lib/cpp/config.h
const char * type ()
void Write (PciReg8 addr, uint8_t val)
void Write (PciReg16 addr, uint16_t val)
void Write (PciReg32 addr, uint32_t val)
template <typename IntType, typename = std::enable_if_t<std::is_unsigned_v<IntType> && !std::is_same_v<IntType, bool>>>
void Write (IntType val, uint32_t offset)
Defined at line 270 of file ../../src/devices/pci/lib/cpp/config.h
void ~Config ()
Defined at line 282 of file ../../src/devices/pci/lib/cpp/config.h
Protected Methods
void Config (fuchsia_hardware_pci::wire::Bdf bdf)
Defined at line 285 of file ../../src/devices/pci/lib/cpp/config.h