virtio_t
virtio_t *vio;
virtio_t *vio_virtio;
virtio_t *vio;
virtio_t *vin_virtio;
virtio_t *vio = vib->vib_virtio;
virtio_t *vio;
virtio_t *vib_virtio;
virtio_t *vio;
virtio_t *vif_virtio;
virtio_t *vio;
virtio_t *vs_virtio;
void virtio_fini(virtio_t *, boolean_t);
virtio_t *virtio_init(dev_info_t *);
boolean_t virtio_init_features(virtio_t *, uint64_t, boolean_t);
int virtio_init_complete(virtio_t *, int);
int virtio_quiesce(virtio_t *);
void virtio_shutdown(virtio_t *);
void virtio_register_cfgchange_handler(virtio_t *, ddi_intr_handler_t *,
void *virtio_intr_pri(virtio_t *);
void virtio_device_reset(virtio_t *);
uint8_t virtio_dev_getgen(virtio_t *);
uint8_t virtio_dev_get8(virtio_t *, uintptr_t);
uint16_t virtio_dev_get16(virtio_t *, uintptr_t);
uint32_t virtio_dev_get32(virtio_t *, uintptr_t);
uint64_t virtio_dev_get64(virtio_t *, uintptr_t);
void virtio_dev_put8(virtio_t *, uintptr_t, uint8_t);
void virtio_dev_put16(virtio_t *, uintptr_t, uint16_t);
void virtio_dev_put32(virtio_t *, uintptr_t, uint32_t);
boolean_t virtio_features_present(virtio_t *, uint64_t);
uint32_t virtio_features(virtio_t *);
boolean_t virtio_modern(virtio_t *);
virtio_queue_t *virtio_queue_alloc(virtio_t *, uint16_t, const char *,
int virtio_interrupts_enable(virtio_t *);
void virtio_interrupts_disable(virtio_t *);
virtio_dma_t *virtio_dma_alloc(virtio_t *, size_t, const ddi_dma_attr_t *, int,
virtio_dma_t *virtio_dma_alloc_nomem(virtio_t *, const ddi_dma_attr_t *, int);
virtio_dma_init_handle(virtio_t *vio, virtio_dma_t *vidma,
virtio_dma_init(virtio_t *vio, virtio_dma_t *vidma, size_t sz,
virtio_dma_alloc(virtio_t *vio, size_t sz, const ddi_dma_attr_t *attr,
virtio_dma_alloc_nomem(virtio_t *vio, const ddi_dma_attr_t *attr, int kmflags)
uint8_t (*vop_get_status)(virtio_t *);
void (*vop_device_reset_locked)(virtio_t *);
uint8_t (*vop_isr_status)(virtio_t *);
void (*vop_msix_config_set)(virtio_t *, uint16_t);
uint16_t (*vop_msix_config_get)(virtio_t *);
void (*vop_queue_select)(virtio_t *, uint16_t);
uint16_t (*vop_queue_size_get)(virtio_t *, uint16_t);
void (*vop_queue_size_set)(virtio_t *, uint16_t, uint16_t);
uint64_t (*vop_queue_noff_get)(virtio_t *, uint16_t);
bool (*vop_queue_enable_get)(virtio_t *, uint16_t);
void (*vop_queue_enable_set)(virtio_t *, uint16_t, bool);
void (*vop_queue_addr_set)(virtio_t *, uint16_t, uint64_t,
void (*vop_msix_queue_set)(virtio_t *, uint16_t, uint16_t);
uint16_t (*vop_msix_queue_get)(virtio_t *, uint16_t);
uint8_t (*vop_device_cfg_gen)(virtio_t *);
uint8_t (*vop_device_cfg_get8)(virtio_t *, uintptr_t);
uint16_t (*vop_device_cfg_get16)(virtio_t *, uintptr_t);
uint32_t (*vop_device_cfg_get32)(virtio_t *, uintptr_t);
uint64_t (*vop_device_cfg_get64)(virtio_t *, uintptr_t);
void (*vop_device_cfg_put8)(virtio_t *, uintptr_t, uint8_t);
void (*vop_device_cfg_put16)(virtio_t *, uintptr_t,
void (*vop_device_cfg_put32)(virtio_t *, uintptr_t,
virtio_t *viq_virtio;
extern void virtio_acquireq(virtio_t *, uint16_t);
extern void virtio_releaseq(virtio_t *);
int virtio_dma_init(virtio_t *, virtio_dma_t *, size_t, const ddi_dma_attr_t *,
virtio_t *vidma_virtio;
uint64_t (*vop_device_get_features)(virtio_t *);
bool (*vop_device_set_features)(virtio_t *, uint64_t);
void (*vop_set_status_locked)(virtio_t *, uint8_t);
virtio_legacy_devcfg_get32(virtio_t *vio, uintptr_t offset)
virtio_legacy_devcfg_get64(virtio_t *vio, uintptr_t offset)
virtio_legacy_devcfg_put8(virtio_t *vio, uintptr_t offset, uint8_t value)
virtio_legacy_devcfg_put16(virtio_t *vio, uintptr_t offset, uint16_t value)
virtio_legacy_devcfg_put32(virtio_t *vio, uintptr_t offset, uint32_t value)
virtio_legacy_devcfg_getgen(virtio_t *vio)
virtio_legacy_device_get_features(virtio_t *vio)
virtio_legacy_device_set_features(virtio_t *vio, uint64_t features)
virtio_legacy_set_status_locked(virtio_t *vio, uint8_t status)
virtio_legacy_get_status(virtio_t *vio)
virtio_legacy_device_reset_locked(virtio_t *vio)
virtio_legacy_isr_status(virtio_t *vio)
virtio_legacy_msix_config_get(virtio_t *vio)
virtio_legacy_msix_config_set(virtio_t *vio, uint16_t msi)
virtio_legacy_queue_select(virtio_t *vio, uint16_t qidx)
virtio_legacy_queue_size_get(virtio_t *vio, uint16_t qidx)
virtio_legacy_queue_enable_get(virtio_t *vio, uint16_t qidx)
virtio_legacy_queue_enable_set(virtio_t *vio, uint16_t qidx, bool enable)
virtio_legacy_queue_addr_set(virtio_t *vio, uint16_t qidx, uint64_t descaddr,
virtio_legacy_msix_queue_get(virtio_t *vio, uint16_t qidx)
virtio_legacy_msix_queue_set(virtio_t *vio, uint16_t qidx, uint16_t msi)
virtio_get_leg8(virtio_t *vio, uintptr_t offset)
virtio_get_leg16(virtio_t *vio, uintptr_t offset)
virtio_get_leg32(virtio_t *vio, uintptr_t offset)
virtio_put_leg8(virtio_t *vio, uintptr_t offset, uint8_t value)
virtio_put_leg16(virtio_t *vio, uintptr_t offset, uint16_t value)
virtio_put_leg32(virtio_t *vio, uintptr_t offset, uint32_t value)
virtio_legacy_devcfg_get8(virtio_t *vio, uintptr_t offset)
virtio_legacy_devcfg_get16(virtio_t *vio, uintptr_t offset)
virtio_t *vio = viq->viq_virtio;
virtio_t *vio = viq->viq_virtio;
virtio_t *vio = viq->viq_virtio;
virtio_interrupts_alloc(virtio_t *vio, int type, int nrequired)
virtio_fini(virtio_t *vio, boolean_t failed)
virtio_t *vio = (virtio_t *)arg0;
virtio_interrupts_setup(virtio_t *vio, int allow_types)
virtio_interrupts_teardown(virtio_t *vio)
virtio_interrupts_unwind(virtio_t *vio)
virtio_interrupts_enable(virtio_t *vio)
virtio_interrupts_disable_locked(virtio_t *vio)
virtio_interrupts_disable(virtio_t *vio)
virtio_bar_to_rnumber(virtio_t *vio, uint8_t bar)
virtio_t *
virtio_t *vio = kmem_zalloc(sizeof (*vio), KM_SLEEP);
virtio_init_features(virtio_t *vio, uint64_t driver_features,
virtio_register_cfgchange_handler(virtio_t *vio, ddi_intr_handler_t *func,
virtio_init_complete(virtio_t *vio, int allowed_interrupt_types)
virtio_features_present(virtio_t *vio, uint64_t feature_mask)
virtio_features(virtio_t *vio)
virtio_modern(virtio_t *vio)
virtio_acquireq(virtio_t *vio, uint16_t qidx)
virtio_releaseq(virtio_t *vio)
virtio_intr_pri(virtio_t *vio)
virtio_unmap_cap(virtio_t *vio, virtio_pci_cap_t *cap)
virtio_map_cap(virtio_t *vio, virtio_pci_cap_t *cap)
virtio_discover_pci_caps(virtio_t *vio, ddi_acc_handle_t pci)
virtio_set_status(virtio_t *vio, uint8_t status)
virtio_device_reset(virtio_t *vio)
virtio_shutdown(virtio_t *vio)
virtio_quiesce(virtio_t *vio)
virtio_dev_getgen(virtio_t *vio)
virtio_dev_get8(virtio_t *vio, uintptr_t offset)
virtio_dev_get16(virtio_t *vio, uintptr_t offset)
virtio_dev_get32(virtio_t *vio, uintptr_t offset)
virtio_dev_get64(virtio_t *vio, uintptr_t offset)
virtio_dev_put8(virtio_t *vio, uintptr_t offset, uint8_t value)
virtio_dev_put16(virtio_t *vio, uintptr_t offset, uint16_t value)
virtio_dev_put32(virtio_t *vio, uintptr_t offset, uint32_t value)
virtio_queue_alloc(virtio_t *vio, uint16_t qidx, const char *name,
static void virtio_unmap_cap(virtio_t *, virtio_pci_cap_t *);
static boolean_t virtio_map_cap(virtio_t *, virtio_pci_cap_t *);
static void virtio_discover_pci_caps(virtio_t *, ddi_acc_handle_t);
static void virtio_set_status(virtio_t *, uint8_t);
static int virtio_interrupts_setup(virtio_t *, int);
static void virtio_interrupts_teardown(virtio_t *);
static void virtio_interrupts_disable_locked(virtio_t *);
static int virtio_bar_to_rnumber(virtio_t *, uint8_t);
virtio_t *vio = viq->viq_virtio;
virtio_modern_devcfg_get8(virtio_t *vio, uintptr_t offset)
virtio_modern_devcfg_get16(virtio_t *vio, uintptr_t offset)
virtio_modern_devcfg_get32(virtio_t *vio, uintptr_t offset)
virtio_modern_devcfg_get64(virtio_t *vio, uintptr_t offset)
virtio_modern_devcfg_put8(virtio_t *vio, uintptr_t offset, uint8_t value)
virtio_modern_devcfg_put16(virtio_t *vio, uintptr_t offset, uint16_t value)
virtio_modern_devcfg_put32(virtio_t *vio, uintptr_t offset, uint32_t value)
virtio_put_nfy16(virtio_t *vio, uintptr_t offset, uint16_t value)
virtio_get_isr8(virtio_t *vio, uintptr_t offset)
virtio_modern_device_get_features(virtio_t *vio)
virtio_modern_device_set_features(virtio_t *vio, uint64_t features)
virtio_modern_set_status_locked(virtio_t *vio, uint8_t status)
virtio_modern_get_status(virtio_t *vio)
virtio_modern_device_reset_locked(virtio_t *vio)
virtio_modern_isr_status(virtio_t *vio)
virtio_modern_msix_config_get(virtio_t *vio)
virtio_modern_msix_config_set(virtio_t *vio, uint16_t msi)
virtio_modern_queue_select(virtio_t *vio, uint16_t qidx)
virtio_modern_queue_size_get(virtio_t *vio, uint16_t qidx)
virtio_modern_queue_size_set(virtio_t *vio, uint16_t qidx, uint16_t qsz)
virtio_modern_queue_noff_get(virtio_t *vio, uint16_t qidx)
virtio_modern_queue_enable_get(virtio_t *vio, uint16_t qidx)
virtio_modern_queue_enable_set(virtio_t *vio, uint16_t qidx, bool enable)
virtio_modern_queue_addr_set(virtio_t *vio, uint16_t qidx, uint64_t descaddr,
virtio_modern_msix_queue_get(virtio_t *vio, uint16_t qidx)
virtio_modern_msix_queue_set(virtio_t *vio, uint16_t qidx, uint16_t msi)
static void virtio_modern_set_status_locked(virtio_t *, uint8_t);
static uint8_t virtio_modern_get_status(virtio_t *);
virtio_get_cmn8(virtio_t *vio, uintptr_t offset)
virtio_get_cmn16(virtio_t *vio, uintptr_t offset)
virtio_get_cmn32(virtio_t *vio, uintptr_t offset)
virtio_put_cmn8(virtio_t *vio, uintptr_t offset, uint8_t value)
virtio_put_cmn16(virtio_t *vio, uintptr_t offset, uint16_t value)
virtio_put_cmn32(virtio_t *vio, uintptr_t offset, uint32_t value)
virtio_modern_devcfg_getgen(virtio_t *vio)