template <uint8_t DeviceId, uint16_t NumQueues, typename ConfigType>

class VirtioComponentDevice

Defined at line 30 of file ../../src/virtualization/bin/vmm/virtio_device.h

Interface for all virtio device components.

Protected Members

const PhysMem & phys_mem_
ConfigType config_
VirtioDeviceConfig device_config_
VirtioPci pci_
VirtioQueueConfig[NumQueues] queue_configs_

Public Methods

PciDevice * pci_device ()

Defined at line 32 of file ../../src/virtualization/bin/vmm/virtio_device.h

Protected Methods

void VirtioComponentDevice<DeviceId, NumQueues, ConfigType> (std::string_view name, const PhysMem & phys_mem, uint32_t device_features, VirtioDeviceConfig::ConfigQueueFn config_queue, VirtioDeviceConfig::ConfigDeviceFn config_device, VirtioDeviceConfig::ReadyDeviceFn ready_device)

Defined at line 35 of file ../../src/virtualization/bin/vmm/virtio_device.h

void VirtioComponentDevice<DeviceId, NumQueues, ConfigType> (std::string_view name, const PhysMem & phys_mem, uint32_t device_features, VirtioDeviceConfig::ConfigQueueFn config_queue, VirtioDeviceConfig::ReadyDeviceFn ready_device)

Defined at line 61 of file ../../src/virtualization/bin/vmm/virtio_device.h

void ~VirtioComponentDevice<DeviceId, NumQueues, ConfigType> ()

Defined at line 67 of file ../../src/virtualization/bin/vmm/virtio_device.h

zx_status_t PrepStart (const zx::guest & guest, async_dispatcher_t * dispatcher, fuchsia::virtualization::hardware::StartInfo * start_info)

Defined at line 74 of file ../../src/virtualization/bin/vmm/virtio_device.h

zx_status_t PrepStart (const zx::guest & guest, async_dispatcher_t * dispatcher, fuchsia_virtualization_hardware::wire::StartInfo * start_info)

Defined at line 99 of file ../../src/virtualization/bin/vmm/virtio_device.h

const zx::event & event ()

Defined at line 113 of file ../../src/virtualization/bin/vmm/virtio_device.h

zx_status_t Interrupt (uint8_t actions)

Sets interrupt flag, and possibly sends interrupt to the driver.

Defined at line 116 of file ../../src/virtualization/bin/vmm/virtio_device.h

zx_status_t CreateDynamicComponent (::sys::ComponentContext * context, const char * collection_name, const char * component_name, const char * component_url, fit::function<zx_status_t (std::shared_ptr<sys::ServiceDirectory>)> callback)

Defined at line 129 of file ../../src/virtualization/bin/vmm/virtio_device.h