class Backend
Defined at line 26 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h
Public Methods
void Backend ()
Defined at line 28 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h
zx_status_t InterruptValid ()
Defined at line 64 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h
void Backend (Backend && )
Defined at line 85 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h
zx_status_t Bind ()
uint64_t ReadFeatures ()
Returns the bitmap of features supported by the device
void SetFeatures (uint64_t bitmap)
Does a Driver -> Device acknowledgement of all of the feature bits
zx_status_t ConfirmFeatures ()
Does a FEATURES_OK check
void DriverStatusOk ()
Device lifecycle methods
void DriverStatusAck ()
void DeviceReset ()
void Unbind ()
Defined at line 31 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h
fuchsia_hardware_pci::InterruptMode InterruptMode ()
For Device level access to checking IRQ mode.
Defined at line 71 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h
zx_status_t GetSharedMemoryVmo (zx::vmo * vmo_out)
Defined at line 83 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h
void Backend (const Backend & )
Defined at line 85 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h
void WaitForDeviceReset ()
void ReadDeviceConfig (uint16_t offset, uint8_t * value)
/ Read/Write the device config
void ReadDeviceConfig (uint16_t offset, uint16_t * value)
void ReadDeviceConfig (uint16_t offset, uint32_t * value)
void ReadDeviceConfig (uint16_t offset, uint64_t * value)
void Terminate ()
Called when the driver is shutting down.
Defined at line 81 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h
void WriteDeviceConfig (uint16_t offset, uint8_t value)
void WriteDeviceConfig (uint16_t offset, uint16_t value)
void WriteDeviceConfig (uint16_t offset, uint32_t value)
void WriteDeviceConfig (uint16_t offset, uint64_t value)
uint16_t GetRingSize (uint16_t index)
Ring methods vary based on backend due to config offsets and field sizes.
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)
void RingKick (uint16_t ring_index)
uint32_t IsrStatus ()
Expected to read the interrupt status out of the config based on the offset/address
specified by the isr capability.
zx::result<uint32_t> WaitForInterrupt ()
Wait for the device to raise an interrupt; may return early or may time out after an
internal waiting period.
Returns ZX_OK if woken by an interrupt along with the key of the interrupt to ack.
ZX_ERR_TIMED_OUT if an internal timeout expired; there may be work from the device
void InterruptAck (uint32_t key)
void ~Backend ()
Defined at line 29 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h
Backend & operator= (const Backend & )
Defined at line 85 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h
Backend & operator= (Backend && )
Defined at line 85 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h
Protected Methods
fuchsia_hardware_pci::InterruptMode & irq_mode ()
For derived backends who want to modify the IRQ mode
Defined at line 89 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h
std::vector<zx::interrupt> & irq_handles ()
Defined at line 90 of file ../../src/devices/bus/lib/virtio/include/lib/virtio/backends/backend.h