class PciBus
Defined at line 280 of file ../../src/virtualization/bin/vmm/pci.h
Public Methods
void PciBus (Guest * guest, InterruptController * interrupt_controller)
Defined at line 209 of file ../../src/virtualization/bin/vmm/pci.cc
zx_status_t Init (async_dispatcher_t * dispatcher)
Defined at line 217 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 252 of file ../../src/virtualization/bin/vmm/pci.cc
bool is_addr_valid (uint8_t bus, uint8_t device, uint8_t function)
Returns true if |bus|, |device|, |function| corresponds to a valid
device address.
Defined at line 311 of file ../../src/virtualization/bin/vmm/pci.h
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 313 of file ../../src/virtualization/bin/vmm/pci.cc
zx_status_t WriteEcam (uint64_t addr, const IoValue & value)
Defined at line 324 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 335 of file ../../src/virtualization/bin/vmm/pci.cc
zx_status_t WriteIoPort (uint64_t port, const IoValue & value)
Defined at line 366 of file ../../src/virtualization/bin/vmm/pci.cc
zx_status_t Interrupt (PciDevice & device)
Raise an interrupt for the given device.
Defined at line 404 of file ../../src/virtualization/bin/vmm/pci.cc
uint32_t config_addr ()
Current config address selected by the 0xcf8 IO port.
Defined at line 242 of file ../../src/virtualization/bin/vmm/pci.cc
void set_config_addr (uint32_t addr)
Defined at line 247 of file ../../src/virtualization/bin/vmm/pci.cc
PciDevice * root_complex ()
Defined at line 319 of file ../../src/virtualization/bin/vmm/pci.h
zx_status_t ConfigureDtb (void * dtb)
Defined at line 408 of file ../../src/virtualization/bin/vmm/pci.cc