class PciModernBackend

Defined at line 143 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/pci.h

PciModernBackend is for v1.0+ Virtio using MMIO mapped bars and PCI capabilities.

Public Methods

void PciModernBackend (fidl::ClientEnd<fuchsia_hardware_pci::Device> pci, fuchsia_hardware_pci::DeviceInfo info)

Defined at line 145 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/pci.h

zx_status_t Init ()

Defined at line 148 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void ~PciModernBackend ()

The dtor handles cleanup of allocated bars because we cannot tear down

the mappings safely while the virtio device is being used by a driver.

Defined at line 150 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/pci.h

void DriverStatusOk ()

Defined at line 478 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void DriverStatusAck ()

Defined at line 487 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void DeviceReset ()

Defined at line 463 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void WaitForDeviceReset ()

Defined at line 469 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

uint32_t IsrStatus ()

Defined at line 496 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

uint64_t ReadFeatures ()

Defined at line 410 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void SetFeatures (uint64_t bitmap)

Defined at line 426 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

zx_status_t ConfirmFeatures ()

Defined at line 446 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

zx_status_t ReadVirtioCap (uint8_t offset, virtio_pci_cap * cap)

Defined at line 101 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

zx_status_t ReadVirtioCap64 (uint8_t cap_config_offset, virtio_pci_cap & cap, virtio_pci_cap64 * cap64_out)

Defined at line 131 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

zx_status_t GetSharedMemoryVmo (zx::vmo * vmo_out)

Defined at line 514 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void ReadDeviceConfig (uint16_t offset, uint8_t * value)

These handle writing to/from a device's device config to allow derived

virtio devices to work with fields only they know about.

Defined at line 212 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void ReadDeviceConfig (uint16_t offset, uint16_t * value)

Defined at line 217 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void ReadDeviceConfig (uint16_t offset, uint32_t * value)

Defined at line 222 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void ReadDeviceConfig (uint16_t offset, uint64_t * value)

Defined at line 227 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void WriteDeviceConfig (uint16_t offset, uint8_t value)

Defined at line 232 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void WriteDeviceConfig (uint16_t offset, uint16_t value)

Defined at line 237 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void WriteDeviceConfig (uint16_t offset, uint32_t value)

Defined at line 242 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void WriteDeviceConfig (uint16_t offset, uint64_t value)

Defined at line 247 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void CommonCfgCallbackLocked (const virtio_pci_cap_t & cap)

Callbacks called during PciBackend's parsing of capabilities in Bind()

Defined at line 286 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void NotifyCfgCallbackLocked (const virtio_pci_cap_t & cap)

Defined at line 300 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void IsrCfgCallbackLocked (const virtio_pci_cap_t & cap)

Defined at line 309 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void DeviceCfgCallbackLocked (const virtio_pci_cap_t & cap)

Defined at line 320 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void PciCfgCallbackLocked (const virtio_pci_cap_t & cap)

Defined at line 337 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void SharedMemoryCfgCallbackLocked (const virtio_pci_cap_t & cap, uint64_t offset, uint64_t length)

Defined at line 329 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

uint16_t GetRingSize (uint16_t index)

Get the ring size of a specific index

Defined at line 343 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

zx_status_t SetRing (uint16_t index, uint16_t count, zx_paddr_t pa_desc, zx_paddr_t pa_avail, zx_paddr_t pa_used)

Set up ring descriptors with the backend.

Defined at line 354 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc

void RingKick (uint16_t ring_index)

Defined at line 394 of file ../../src/devices/bus/lib/virtio/backends/pci_modern.cc