class PciBus
Defined at line 311 of file ../../src/virtualization/bin/vmm/pci.h
clang-format on
Public Methods
void PciBus (Guest * guest, InterruptController * interrupt_controller)
Defined at line 185 of file ../../src/virtualization/bin/vmm/pci.cc
zx_status_t Init (async_dispatcher_t * dispatcher)
Defined at line 193 of file ../../src/virtualization/bin/vmm/pci.cc
zx_status_t Connect (PciDevice * device, async_dispatcher_t * dispatcher)
Connect a PCI device to the bus.
|slot| must be between 1 and kPciMaxDevices (slot 0 is reserved for the
root complex).
This method is *not* thread-safe and must only be called during
initialization.
Defined at line 228 of file ../../src/virtualization/bin/vmm/pci.cc
zx_status_t ReadEcam (uint64_t addr, IoValue * value)
Access devices via the ECAM region.
|addr| is the offset from the start of the ECAM region for this bus.
Defined at line 289 of file ../../src/virtualization/bin/vmm/pci.cc
zx_status_t WriteEcam (uint64_t addr, const IoValue & value)
Defined at line 300 of file ../../src/virtualization/bin/vmm/pci.cc
zx_status_t ReadIoPort (uint64_t port, IoValue * value)
Handle access to the PC IO ports (0xcf8 - 0xcff).
Defined at line 311 of file ../../src/virtualization/bin/vmm/pci.cc
uint32_t config_addr ()
Current config address selected by the 0xcf8 IO port.
Defined at line 218 of file ../../src/virtualization/bin/vmm/pci.cc
void set_config_addr (uint32_t addr)
Defined at line 223 of file ../../src/virtualization/bin/vmm/pci.cc
bool is_addr_valid (uint8_tbus,uint8_tdevice,uint8_tfunction)
Returns true if |bus|, |device|, |function| corresponds to a valid
device address.
Defined at line 342 of file ../../src/virtualization/bin/vmm/pci.h
zx_status_t WriteIoPort (uint64_t port, const IoValue & value)
Defined at line 342 of file ../../src/virtualization/bin/vmm/pci.cc
PciDevice * root_complex ()
Defined at line 350 of file ../../src/virtualization/bin/vmm/pci.h
zx_status_t Interrupt (PciDevice & device)
Raise an interrupt for the given device.
Defined at line 380 of file ../../src/virtualization/bin/vmm/pci.cc
zx_status_t ConfigureDtb (void * dtb)
Defined at line 384 of file ../../src/virtualization/bin/vmm/pci.cc