class Bus

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

Forward declaration of Bus to avoid recursive header inclusion between

bus.h and root.h

Public Methods

zx_status_t UnlinkDevice (pci::Device * device)

Defined at line 22 of file ../../src/devices/pci/drivers/pci/bus_device_interface.cc

zx_status_t AllocateMsi (uint32_t count, zx::msi * msi, msi_allocation_info_t * out_info)

Defined at line 28 of file ../../src/devices/pci/drivers/pci/bus_device_interface.cc

zx_status_t GetMsiHandle (const zx::msi & allocation, uint32_t options, uint16_t msi_id, const zx::vmo & cfg_vmo, uint64_t cfg_offset, zx::interrupt * out_interrupt)

Defined at line 33 of file ../../src/devices/pci/drivers/pci/bus_device_interface.cc

zx_status_t GetBti (const pci::Device * device, uint32_t index, zx::bti * bti)

Defined at line 56 of file ../../src/devices/pci/drivers/pci/bus_device_interface.cc

void Bus (zx_device_t * parent, const pciroot_protocol_t * pciroot, pci_platform_info_t info, std::optional<fdf::MmioBuffer> ecam)

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

zx_status_t Create (zx_device_t * parent)
void ~Bus ()

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

zx::result<fdf::MmioBuffer> MapConfigRegion (zx::vmo cam_vmo)

Map an ecam VMO for Bus and Config use.

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

zx_status_t Initialize ()

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

zx_status_t LinkDevice (fbl::RefPtr<pci::Device> device)

Bus Device Interface implementation

Defined at line 15 of file ../../src/devices/pci/drivers/pci/bus_device_interface.cc

uint16_t GetSegmentGroup ()

Defined at line 94 of file ../../src/devices/pci/drivers/pci/bus_device_interface.cc

zx_status_t AddToSharedIrqList (pci::Device * device, uint32_t vector, zx::unowned_interrupt irq_handle)

Defined at line 64 of file ../../src/devices/pci/drivers/pci/bus_device_interface.cc

zx_status_t RemoveFromSharedIrqList (pci::Device * device, uint32_t vector)

Defined at line 96 of file ../../src/devices/pci/drivers/pci/bus_device_interface.cc

void GetDevices (GetDevicesCompleter::Sync & completer)

Defined at line 29 of file ../../src/devices/pci/drivers/pci/device_service.cc

void DdkRelease ()

All methods related to the fuchsia.hardware.pci service and the DDK.

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

void GetHostBridgeInfo (GetHostBridgeInfoCompleter::Sync & completer)

Defined at line 111 of file ../../src/devices/pci/drivers/pci/device_service.cc

void ReadBar (ReadBarRequestView request, ReadBarCompleter::Sync & completer)

Defined at line 121 of file ../../src/devices/pci/drivers/pci/device_service.cc

Protected Methods

fbl::Mutex * devices_lock ()

These are used by the derived TestBus class.

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

pci::DeviceTree & devices ()

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

SharedIrqMap & shared_irqs ()

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

LegacyIrqs & legacy_irqs ()

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

const PciFidl::BoardConfiguration & board_config ()

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

void HandleLegacyIrq (async_dispatcher_t * dispatcher, async::Irq * irq, zx_status_t status, const zx_packet_interrupt_t * interrupt, uint32_t vector)

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

void HandleDeviceLegacyIrqUntriggered (async_dispatcher_t * dispatcher, async::Wait * wait, zx_status_t status, const zx_packet_signal_t * signal, pci::Device * device)

Invoked on dispatcher_ when a device driver acknowledges its virtual interrupt.

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