/illumos-gate/usr/src/uts/common/io/virtio/ |
H A D | virtio_main.c | 146 virtio_get8(virtio_t *vio, uintptr_t offset) in virtio_get8() argument 148 return (ddi_get8(vio->vio_barh, (uint8_t *)(vio->vio_bar + offset))); in virtio_get8() 152 virtio_get16(virtio_t *vio, uintptr_t offset) in virtio_get16() argument 154 return (ddi_get16(vio->vio_barh, (uint16_t *)(vio->vio_bar + offset))); in virtio_get16() 158 virtio_get32(virtio_t *vio, uintptr_t offset) in virtio_get32() argument 160 return (ddi_get32(vio->vio_barh, (uint32_t *)(vio->vio_bar + offset))); in virtio_get32() 164 virtio_put8(virtio_t *vio, uintptr_t offset, uint8_t value) in virtio_put8() argument 166 ddi_put8(vio->vio_barh, (uint8_t *)(vio->vio_bar + offset), value); in virtio_put8() 170 virtio_put16(virtio_t *vio, uintptr_t offset, uint16_t value) in virtio_put16() argument 172 ddi_put16(vio->vio_barh, (uint16_t *)(vio->vio_bar + offset), value); in virtio_put16() [all …]
|
H A D | virtio_dma.c | 103 virtio_dma_init_handle(virtio_t *vio, virtio_dma_t *vidma, in virtio_dma_init_handle() argument 107 dev_info_t *dip = vio->vio_dip; in virtio_dma_init_handle() 110 vidma->vidma_virtio = vio; in virtio_dma_init_handle() 133 virtio_dma_init(virtio_t *vio, virtio_dma_t *vidma, size_t sz, in virtio_dma_init() argument 137 dev_info_t *dip = vio->vio_dip; in virtio_dma_init() 141 if (virtio_dma_init_handle(vio, vidma, attr, kmflags) != in virtio_dma_init() 219 virtio_dma_alloc(virtio_t *vio, size_t sz, const ddi_dma_attr_t *attr, in virtio_dma_alloc() argument 228 if (virtio_dma_init(vio, vidma, sz, attr, dmaflags, kmflags) != in virtio_dma_alloc() 238 virtio_dma_alloc_nomem(virtio_t *vio, const ddi_dma_attr_t *attr, int kmflags) in virtio_dma_alloc_nomem() argument 246 if (virtio_dma_init_handle(vio, vidma, attr, kmflags) != DDI_SUCCESS) { in virtio_dma_alloc_nomem()
|
/illumos-gate/usr/src/uts/common/io/vioblk/ |
H A D | vioblk.c | 857 virtio_t *vio = vib->vib_virtio; in vioblk_read_capacity() local 860 if ((vib->vib_nblks = virtio_dev_get64(vio, in vioblk_read_capacity() 871 if (virtio_feature_present(vio, VIRTIO_BLK_F_BLK_SIZE)) { in vioblk_read_capacity() 872 uint32_t v = virtio_dev_get32(vio, VIRTIO_BLK_CONFIG_BLK_SIZE); in vioblk_read_capacity() 888 if (virtio_feature_present(vio, VIRTIO_BLK_F_TOPOLOGY)) { in vioblk_read_capacity() 889 uint8_t v = virtio_dev_get8(vio, VIRTIO_BLK_CONFIG_TOPO_PBEXP); in vioblk_read_capacity() 903 virtio_t *vio; in vioblk_attach() local 910 if ((vio = virtio_init(dip, VIRTIO_BLK_WANTED_FEATURES, B_TRUE)) == in vioblk_attach() 918 vib->vib_virtio = vio; in vioblk_attach() 928 if (virtio_feature_present(vio, VIRTIO_BLK_F_SEG_MAX)) { in vioblk_attach() [all …]
|
/illumos-gate/usr/src/uts/common/io/vio9p/ |
H A D | vio9p.c | 378 virtio_t *vio; in vio9p_attach() local 389 if ((vio = virtio_init(dip, VIRTIO_9P_WANTED_FEATURES, B_TRUE)) == in vio9p_attach() 398 vin->vin_virtio = vio; in vio9p_attach() 407 if (virtio_feature_present(vio, VIRTIO_9P_F_MOUNT_TAG)) { in vio9p_attach() 408 uint16_t len = virtio_dev_get16(vio, VIRTIO_9P_CONFIG_TAG_SZ); in vio9p_attach() 419 vin->vin_tag[n] = virtio_dev_get8(vio, in vio9p_attach() 429 if ((vin->vin_vq = virtio_queue_alloc(vio, VIRTIO_9P_VIRTQ_REQUESTS, in vio9p_attach() 435 if (virtio_init_complete(vio, VIRTIO_ANY_INTR_TYPE) != DDI_SUCCESS) { in vio9p_attach() 441 mutex_init(&vin->vin_mutex, NULL, MUTEX_DRIVER, virtio_intr_pri(vio)); in vio9p_attach() 453 if (virtio_interrupts_enable(vio) != DDI_SUCCESS) { in vio9p_attach()
|
/illumos-gate/usr/src/uts/common/crypto/io/ |
H A D | viorand.c | 292 virtio_t *vio; in viorand_attach() local 306 vio = virtio_init(dip, VIORAND_FEATURES, B_TRUE); in viorand_attach() 307 if (vio == NULL) { in viorand_attach() 314 state->vio_virtio = vio; in viorand_attach() 315 state->vio_rq = virtio_queue_alloc(vio, VIORAND_RQ, "requestq", in viorand_attach() 331 mutex_init(&state->vio_mutex, NULL, MUTEX_DRIVER, virtio_intr_pri(vio)); in viorand_attach()
|
/illumos-gate/usr/src/uts/common/io/vioscsi/ |
H A D | vioscsi.c | 1175 virtio_t *vio; in vioscsi_attach() local 1226 vio = virtio_init(dip, VIOSCSI_WANTED_FEATURES, B_TRUE); in vioscsi_attach() 1227 if ((sc->vs_virtio = vio) == NULL) { in vioscsi_attach() 1236 sc->vs_max_target = virtio_dev_get16(vio, VIRTIO_SCSI_CFG_MAX_TARGET); in vioscsi_attach() 1237 sc->vs_max_lun = virtio_dev_get32(vio, VIRTIO_SCSI_CFG_MAX_LUN); in vioscsi_attach() 1238 sc->vs_cdb_size = virtio_dev_get32(vio, VIRTIO_SCSI_CFG_CDB_SIZE); in vioscsi_attach() 1239 sc->vs_max_seg = virtio_dev_get32(vio, VIRTIO_SCSI_CFG_SEG_MAX); in vioscsi_attach() 1240 sc->vs_cmd_per_lun = virtio_dev_get32(vio, VIRTIO_SCSI_CFG_CMD_PER_LUN); in vioscsi_attach() 1252 sc->vs_ctl_vq = virtio_queue_alloc(vio, 0, "ctl", in vioscsi_attach() 1254 sc->vs_evt_vq = virtio_queue_alloc(vio, 1, "evt", in vioscsi_attach() [all …]
|
/illumos-gate/usr/src/uts/common/io/vioif/ |
H A D | vioif.c | 1939 virtio_t *vio; in vioif_attach() local 1946 if ((vio = virtio_init(dip, VIRTIO_NET_WANTED_FEATURES, B_TRUE)) == in vioif_attach() 1953 vif->vif_virtio = vio; in vioif_attach() 1957 if ((vif->vif_rx_vq = virtio_queue_alloc(vio, VIRTIO_NET_VIRTQ_RX, in vioif_attach() 1959 (vif->vif_tx_vq = virtio_queue_alloc(vio, VIRTIO_NET_VIRTQ_TX, in vioif_attach() 1965 (vif->vif_ctrl_vq = virtio_queue_alloc(vio, in vioif_attach() 1971 if (virtio_init_complete(vio, vioif_select_interrupt_types()) != in vioif_attach() 1982 mutex_init(&vif->vif_mutex, NULL, MUTEX_DRIVER, virtio_intr_pri(vio)); in vioif_attach() 1991 vif->vif_mtu_max = virtio_dev_get16(vio, VIRTIO_NET_CONFIG_MTU); in vioif_attach() 2011 if (virtio_interrupts_enable(vio) != DDI_SUCCESS) { in vioif_attach() [all …]
|
/illumos-gate/usr/src/uts/sun4v/io/ |
H A D | vdc.c | 6750 vdc_io_t *vio; in vdc_eio_queue() local 6754 vio = kmem_alloc(sizeof (vdc_io_t), KM_SLEEP); in vdc_eio_queue() 6755 vio->vio_next = vdc->eio_queue; in vdc_eio_queue() 6756 vio->vio_index = index; in vdc_eio_queue() 6757 vio->vio_qtime = ddi_get_lbolt(); in vdc_eio_queue() 6759 vdc->eio_queue = vio; in vdc_eio_queue() 6764 return (vio); in vdc_eio_queue() 6776 vdc_io_t *vio, *vio_tmp; in vdc_eio_unqueue() local 6782 vio = vdc->eio_queue; in vdc_eio_unqueue() 6789 while (vio != NULL && vio->vio_qtime > deadline) { in vdc_eio_unqueue() [all …]
|
/illumos-gate/usr/src/uts/common/fs/zfs/ |
H A D | vdev_label.c | 1726 zio_t *vio = zio_null(zio, spa, NULL, in vdev_label_sync_list() local 1730 vdev_label_sync(vio, good_writes, vd, l, txg, flags); in vdev_label_sync_list() 1731 zio_nowait(vio); in vdev_label_sync_list()
|