class BusDeviceInterface

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

This interface allows for bridges/devices to communicate with the top level

Bus object to add and remove themselves from the device list of their

particular bus instance, obtain their BTIs, and make MSI allocations. This

becomes more important as multiple bus instances with differing segment

groups become a reality.

Public Methods

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

Get the BTI at |index| for a device.

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

Allocate |count| messagge signaled interrupts for a device.

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

Add device to the Bus device tree.

zx_status_t UnlinkDevice (pci::Device * device)

Remove a device from the Bus device tree.

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

Add a device to the shared irq handler list for its legacy IRQ vector.

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

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