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