class PciLegacyBackend

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

PciLegacyBackend corresponds to the Virtio Legacy interface utilizing port IO

and the IO Bar 0. It has additional complications around offsets and

configuration structures when MSI-X is enabled.

Public Methods

zx_status_t Init ()

Defined at line 74 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

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

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

void PciLegacyBackend (fidl::ClientEnd<fuchsia_hardware_pci::Device> pci, fuchsia_hardware_pci::DeviceInfo info, LegacyIoInterface * interface)

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

void PciLegacyBackend (const PciLegacyBackend & )

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

PciLegacyBackend & operator= (const PciLegacyBackend & )

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

void ~PciLegacyBackend ()

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

void DriverStatusOk ()

Defined at line 253 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

void DriverStatusAck ()

Defined at line 248 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

void DeviceReset ()

Defined at line 226 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

void WaitForDeviceReset ()

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

uint32_t IsrStatus ()

Defined at line 258 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

uint64_t ReadFeatures ()

Defined at line 203 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

void SetFeatures (uint64_t bitmap)

Defined at line 211 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

zx_status_t ConfirmFeatures ()

Virtio v0.9.5 does not support the FEATURES_OK negotiation so this should

always succeed.

Defined at line 224 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

void ReadDeviceConfig (uint16_t offset, uint8_t * value)

These handle reading and writing a device's device config to allow derived

virtio devices to work with fields only they know about. For most virtio

devices they will have their device config copied over via

CopyDeviceConfig when device config interrupts are asserted and will not

need to call these directly.

Defined at line 111 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

void ReadDeviceConfig (uint16_t offset, uint16_t * value)

Defined at line 116 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

void ReadDeviceConfig (uint16_t offset, uint32_t * value)

Defined at line 121 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

void ReadDeviceConfig (uint16_t offset, uint64_t * value)

Defined at line 126 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

void WriteDeviceConfig (uint16_t offset, uint8_t value)

Defined at line 134 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

void WriteDeviceConfig (uint16_t offset, uint16_t value)

Defined at line 139 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

void WriteDeviceConfig (uint16_t offset, uint32_t value)

Defined at line 144 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

void WriteDeviceConfig (uint16_t offset, uint64_t value)

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

uint16_t GetRingSize (uint16_t index)

Get the ring size of a specific index

Defined at line 157 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.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 167 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc

void RingKick (uint16_t ring_index)

Defined at line 197 of file ../../src/devices/bus/lib/virtio/backends/pci_legacy.cc