/openbmc/u-boot/drivers/virtio/ |
H A D | virtio_ring.c | 41 virtio_notify(vq->vdev, vq); in virtqueue_add() 89 vq->vring.avail->idx = cpu_to_virtio16(vq->vdev, vq->avail_idx_shadow); in virtqueue_add() 113 old = vq->avail_idx_shadow - vq->num_added; in virtqueue_kick_prepare() 131 virtio_notify(vq->vdev, vq); in virtqueue_kick() 147 vq->vring.desc[i].next = cpu_to_virtio16(vq->vdev, vq->free_head); in detach_buf() 167 vq->vdev->name, vq->index); in virtqueue_get_buf() 185 vq->vdev->name, vq->index, i); in virtqueue_get_buf() 213 vq = malloc(sizeof(*vq)); in __vring_new_virtqueue() 330 vq->index, vq->vring.desc, vq->vring.num); in virtqueue_dump() 332 vq->free_head, vq->num_added, vq->num_free); in virtqueue_dump() [all …]
|
/openbmc/linux/drivers/virtio/ |
H A D | virtio_ring.c | 422 vq->vq.num_free = num; in virtqueue_init() 603 vq->notify(&vq->vq); in virtqueue_add_split() 780 vq->vq.num_free++; in detach_buf_split() 788 vq->vq.num_free++; in detach_buf_split() 1006 vdev = vq->vq.vdev; in virtqueue_vring_init_split() 1193 vring_free(&vq->vq); in virtqueue_resize_split() 2078 vq->vq.vdev = vdev; in vring_create_virtqueue_packed() 2079 vq->vq.name = name; in vring_create_virtqueue_packed() 2115 return &vq->vq; in vring_create_virtqueue_packed() 2595 vq->vq.callback(&vq->vq); in vring_interrupt() [all …]
|
H A D | virtio_pci_modern.c | 188 index = vq->index; in vp_active_vq() 239 vq->reset = true; in vp_modern_disable_vq_and_reset() 252 if (!vq->reset) in vp_modern_enable_vq_after_reset() 255 index = vq->index; in vp_modern_enable_vq_after_reset() 268 if (vq->callback) { in vp_modern_enable_vq_after_reset() 281 vq->reset = false; in vp_modern_enable_vq_after_reset() 335 if (!vq) in setup_vq() 338 vq->num_max = num; in setup_vq() 345 if (!vq->priv) { in setup_vq() 350 return vq; in setup_vq() [all …]
|
/openbmc/linux/drivers/vhost/ |
H A D | vhost.c | 49 #define vhost_used_event(vq) ((__virtio16 __user *)&vq->avail->ring[vq->num]) argument 50 #define vhost_avail_event(vq) ((__virtio16 __user *)&vq->used->ring[vq->num]) argument 111 vq->is_le = vhost_has_feature(vq, VIRTIO_F_VERSION_1) || !vq->user_be; in vhost_init_is_le() 198 poll->vq = vq; in vhost_poll_init() 367 return vq->avail && vq->desc && vq->used && vhost_vq_access_ok(vq); in vhost_vq_is_setup() 487 if (!vq->indirect || !vq->log || !vq->heads) in vhost_dev_alloc_iovecs() 1297 return vhost_put_user(vq, cpu_to_vhost16(vq, vq->avail_idx), in vhost_put_avail_event() 1312 return vhost_put_user(vq, cpu_to_vhost16(vq, vq->used_flags), in vhost_put_used_flags() 1776 return vq_access_ok(vq, vq->num, vq->desc, vq->avail, vq->used); in vhost_vq_access_ok() 1898 if (!vq_access_ok(vq, vq->num, in vhost_vring_set_addr() [all …]
|
H A D | test.c | 51 mutex_lock(&vq->mutex); in handle_vq() 54 mutex_unlock(&vq->mutex); in handle_vq() 61 head = vhost_get_vq_desc(vq, vq->iov, in handle_vq() 62 ARRAY_SIZE(vq->iov), in handle_vq() 69 if (head == vq->num) { in handle_vq() 135 mutex_lock(&vq->mutex); in vhost_test_stop_vq() 189 vq = n->vqs + index; in vhost_test_run() 252 mutex_lock(&vq->mutex); in vhost_test_set_features() 276 vq = &n->vqs[index]; in vhost_test_set_backend() 277 mutex_lock(&vq->mutex); in vhost_test_set_backend() [all …]
|
H A D | net.c | 246 ubufs->vq = vq; in vhost_net_ubuf_alloc() 390 struct vhost_virtqueue *vq = ubufs->vq; in vhost_zerocopy_callback() local 452 struct vhost_virtqueue *vq = &nvq->vq; in vhost_net_signal_used() local 603 struct vhost_virtqueue *vq = &nvq->vq; in vhost_exceeds_maxpend() local 627 struct vhost_virtqueue *vq = &nvq->vq; in get_tx_bufs() local 698 struct vhost_virtqueue *vq = &nvq->vq; in vhost_net_build_xdp() local 772 struct vhost_virtqueue *vq = &nvq->vq; in handle_tx_copy() local 862 struct vhost_virtqueue *vq = &nvq->vq; in handle_tx_zerocopy() local 971 struct vhost_virtqueue *vq = &nvq->vq; in handle_tx() local 1118 struct vhost_virtqueue *vq = &nvq->vq; in handle_rx() local [all …]
|
H A D | vhost.h | 50 struct vhost_virtqueue *vq; member 55 struct vhost_virtqueue *vq); 158 struct vhost_virtqueue *vq; member 210 void vhost_vq_flush(struct vhost_virtqueue *vq); 212 bool vhost_vq_has_work(struct vhost_virtqueue *vq); 230 int vq_meta_prefetch(struct vhost_virtqueue *vq); 254 eventfd_signal((vq)->error_ctx, 1);\ 277 vq->private_data = private_data; in vhost_vq_set_backend() 290 return vq->private_data; in vhost_vq_get_backend() 295 return vq->acked_features & (1ULL << bit); in vhost_has_feature() [all …]
|
H A D | vsock.c | 98 mutex_lock(&vq->mutex); in vhost_transport_do_send_pkt() 103 if (!vq_meta_prefetch(vq)) in vhost_transport_do_send_pkt() 126 head = vhost_get_vq_desc(vq, vq->iov, ARRAY_SIZE(vq->iov), in vhost_transport_do_send_pkt() 133 if (head == vq->num) { in vhost_transport_do_send_pkt() 394 return val < vq->num; in vhost_vsock_more_replies() 476 mutex_lock(&vq->mutex); in vhost_vsock_handle_tx_kick() 496 head = vhost_get_vq_desc(vq, vq->iov, ARRAY_SIZE(vq->iov), in vhost_vsock_handle_tx_kick() 501 if (head == vq->num) { in vhost_vsock_handle_tx_kick() 565 vq = &vsock->vqs[i]; in vhost_vsock_start() 597 vq = &vsock->vqs[i]; in vhost_vsock_start() [all …]
|
H A D | scsi.c | 260 vq = &vs->vqs[i].vq; in vhost_scsi_init_inflight() 366 struct vhost_virtqueue *vq = &tmf->svq->vq; in vhost_scsi_release_cmd() local 466 head = vhost_get_vq_desc(vq, vq->iov, in vhost_scsi_do_evt_work() 946 vc->head = vhost_get_vq_desc(vq, vq->iov, in vhost_scsi_get_desc() 1289 vq = &tmf->vhost->vqs[i].vq; in vhost_scsi_tmf_resp_work() 1745 vq = &vs->vqs[i].vq; in vhost_scsi_set_endpoint() 1755 vq = &vs->vqs[i].vq; in vhost_scsi_set_endpoint() 1850 vq = &vs->vqs[i].vq; in vhost_scsi_clear_endpoint() 1859 vq = &vs->vqs[i].vq; in vhost_scsi_clear_endpoint() 1918 vq = &vs->vqs[i].vq; in vhost_scsi_set_features() [all …]
|
/openbmc/qemu/hw/virtio/ |
H A D | virtio.c | 231 VirtQueue *vq = &vdev->vq[n]; in virtio_init_region_cache() local 850 vq->last_avail_idx = vq->vring.num + vq->last_avail_idx - num; in virtqueue_packed_rewind() 934 i = vq->used_idx % vq->vring.num; in virtqueue_ordered_fill() 940 max_steps = (vq->last_avail_idx - vq->used_idx) % vq->vring.num; in virtqueue_ordered_fill() 2041 while (!virtio_queue_empty(vq) && vq->inuse < vq->vring.num) { in virtqueue_split_drop_all() 2479 trace_virtio_queue_notify(vdev, vq - vdev->vq, vq); in virtio_queue_notify_vq() 2480 vq->handle_output(vdev, vq); in virtio_queue_notify_vq() 2490 VirtQueue *vq = &vdev->vq[n]; in virtio_queue_notify() local 2496 trace_virtio_queue_notify(vdev, vq - vdev->vq, vq); in virtio_queue_notify() 2516 VirtQueue *vq = &vdev->vq[n]; in virtio_queue_set_vector() local [all …]
|
/openbmc/qemu/subprojects/libvduse/ |
H A D | libvduse.c | 233 vq->used_idx = le16toh(vq->vring.used->idx); in vduse_queue_check_inflights() 247 vq->log->inflight.used_idx = vq->used_idx; in vduse_queue_check_inflights() 256 vq->shadow_avail_idx = vq->last_avail_idx = vq->inuse + vq->used_idx; in vduse_queue_check_inflights() 274 qsort(vq->resubmit_list, vq->resubmit_num, in vduse_queue_check_inflights() 309 vq->log->inflight.used_idx = vq->used_idx; in vduse_queue_inflight_post_put() 443 return vring_avail_ring(vq, vq->vring.num); in vring_get_used_event() 550 !vq->inuse && vduse_queue_empty(vq)) { in vduse_queue_should_notify() 561 new = vq->signalled_used = vq->used_idx; in vduse_queue_should_notify() 769 if (vq->inuse >= vq->vring.num) { in vduse_queue_pop() 812 idx = (idx + vq->used_idx) % vq->vring.num; in vduse_queue_fill() [all …]
|
/openbmc/qemu/tests/qtest/libqos/ |
H A D | virtio.c | 245 vq->avail = vq->desc + vq->size * sizeof(struct vring_desc); in qvring_init() 246 vq->used = (uint64_t)((vq->avail + sizeof(uint16_t) * (3 + vq->size) in qvring_init() 261 qvirtio_writew(vq->vdev, qts, vq->avail + 4 + (2 * vq->size), 0); in qvring_init() 350 qvirtio_writeq(vq->vdev, qts, vq->desc + (16 * vq->free_head), data); in qvirtqueue_add() 352 qvirtio_writel(vq->vdev, qts, vq->desc + (16 * vq->free_head) + 8, len); in qvirtqueue_add() 354 qvirtio_writew(vq->vdev, qts, vq->desc + (16 * vq->free_head) + 12, flags); in qvirtqueue_add() 369 qvirtio_writeq(vq->vdev, qts, vq->desc + (16 * vq->free_head), in qvirtqueue_add_indirect() 372 qvirtio_writel(vq->vdev, qts, vq->desc + (16 * vq->free_head) + 8, in qvirtqueue_add_indirect() 375 qvirtio_writew(vq->vdev, qts, vq->desc + (16 * vq->free_head) + 12, in qvirtqueue_add_indirect() 432 (vq->last_used_idx % vq->size) * in qvirtqueue_get_buf() [all …]
|
H A D | virtio-mmio.c | 158 QVirtQueue *vq; in qvirtio_mmio_virtqueue_setup() local 161 vq = g_malloc0(sizeof(*vq)); in qvirtio_mmio_virtqueue_setup() 162 vq->vdev = d; in qvirtio_mmio_virtqueue_setup() 166 vq->index = index; in qvirtio_mmio_virtqueue_setup() 168 vq->free_head = 0; in qvirtio_mmio_virtqueue_setup() 169 vq->num_free = vq->size; in qvirtio_mmio_virtqueue_setup() 170 vq->align = dev->page_size; in qvirtio_mmio_virtqueue_setup() 180 g_assert_cmpint(vq->size & (vq->size - 1), ==, 0); in qvirtio_mmio_virtqueue_setup() 186 return vq; in qvirtio_mmio_virtqueue_setup() 192 guest_free(alloc, vq->desc); in qvirtio_mmio_virtqueue_cleanup() [all …]
|
/openbmc/linux/arch/arm64/include/uapi/asm/ |
H A D | sve_context.h | 31 #define __sve_vl_from_vq(vq) ((vq) * __SVE_VQ_BYTES) argument 33 #define __SVE_ZREG_SIZE(vq) ((__u32)(vq) * __SVE_VQ_BYTES) argument 34 #define __SVE_PREG_SIZE(vq) ((__u32)(vq) * (__SVE_VQ_BYTES / 8)) argument 35 #define __SVE_FFR_SIZE(vq) __SVE_PREG_SIZE(vq) argument 40 #define __SVE_ZREGS_SIZE(vq) \ argument 43 #define __SVE_PREGS_OFFSET(vq) \ argument 46 (__SVE_PREGS_OFFSET(vq) + __SVE_PREG_SIZE(vq) * (n)) 47 #define __SVE_PREGS_SIZE(vq) \ argument 48 (__SVE_PREG_OFFSET(vq, __SVE_NUM_PREGS) - __SVE_PREGS_OFFSET(vq)) 50 #define __SVE_FFR_OFFSET(vq) \ argument [all …]
|
H A D | ptrace.h | 200 #define SVE_PT_SVE_ZREG_SIZE(vq) __SVE_ZREG_SIZE(vq) argument 201 #define SVE_PT_SVE_PREG_SIZE(vq) __SVE_PREG_SIZE(vq) argument 202 #define SVE_PT_SVE_FFR_SIZE(vq) __SVE_FFR_SIZE(vq) argument 212 #define SVE_PT_SVE_ZREGS_SIZE(vq) \ argument 219 #define SVE_PT_SVE_PREGS_SIZE(vq) \ argument 221 SVE_PT_SVE_PREGS_OFFSET(vq)) 224 #define SVE_PT_SVE_FFR_OFFSET(vq) \ argument 228 ((SVE_PT_SVE_FFR_OFFSET(vq) + SVE_PT_SVE_FFR_SIZE(vq) + \ 319 #define ZA_PT_ZAV_OFFSET(vq, n) \ argument 322 #define ZA_PT_ZA_SIZE(vq) ((vq * __SVE_VQ_BYTES) * (vq * __SVE_VQ_BYTES)) argument [all …]
|
H A D | sigcontext.h | 196 #define sve_vl_from_vq(vq) __sve_vl_from_vq(vq) argument 261 #define SVE_SIG_ZREG_SIZE(vq) __SVE_ZREG_SIZE(vq) argument 262 #define SVE_SIG_PREG_SIZE(vq) __SVE_PREG_SIZE(vq) argument 263 #define SVE_SIG_FFR_SIZE(vq) __SVE_FFR_SIZE(vq) argument 273 #define SVE_SIG_ZREGS_SIZE(vq) __SVE_ZREGS_SIZE(vq) argument 279 #define SVE_SIG_PREGS_SIZE(vq) __SVE_PREGS_SIZE(vq) argument 281 #define SVE_SIG_FFR_OFFSET(vq) \ argument 284 #define SVE_SIG_REGS_SIZE(vq) \ argument 285 (__SVE_FFR_OFFSET(vq) + __SVE_FFR_SIZE(vq)) 315 #define ZA_SIG_REGS_SIZE(vq) ((vq * __SVE_VQ_BYTES) * (vq * __SVE_VQ_BYTES)) argument [all …]
|
/openbmc/qemu/linux-headers/asm-arm64/ |
H A D | sve_context.h | 42 #define __sve_vl_from_vq(vq) ((vq) * __SVE_VQ_BYTES) argument 44 #define __SVE_ZREG_SIZE(vq) ((__u32)(vq) * __SVE_VQ_BYTES) argument 45 #define __SVE_PREG_SIZE(vq) ((__u32)(vq) * (__SVE_VQ_BYTES / 8)) argument 46 #define __SVE_FFR_SIZE(vq) __SVE_PREG_SIZE(vq) argument 51 #define __SVE_ZREGS_SIZE(vq) \ argument 54 #define __SVE_PREGS_OFFSET(vq) \ argument 57 (__SVE_PREGS_OFFSET(vq) + __SVE_PREG_SIZE(vq) * (n)) 58 #define __SVE_PREGS_SIZE(vq) \ argument 59 (__SVE_PREG_OFFSET(vq, __SVE_NUM_PREGS) - __SVE_PREGS_OFFSET(vq)) 61 #define __SVE_FFR_OFFSET(vq) \ argument [all …]
|
/openbmc/qemu/subprojects/libvhost-user/ |
H A D | libvhost-user.c | 298 return !(vq->vring.desc && vq->vring.used && vq->vring.avail); in map_ring() 335 VuVirtq *vq = &dev->vq[i]; in unmap_rings() local 753 VuVirtq *vq = &dev->vq[index]; in vu_kick_cb() local 1213 VuVirtq *vq = &dev->vq[index]; in vu_set_vring_addr_exec() local 1244 vq->shadow_avail_idx = vq->last_avail_idx = vq->used_idx; in vu_set_vring_addr_exec() 1369 vq->shadow_avail_idx = vq->last_avail_idx = vq->inuse + vq->used_idx; in vu_check_queue_inflights() 1445 int qidx = vq - dev->vq; in vu_set_queue_handler() 1461 int qidx = vq - dev->vq; in vu_set_queue_host_notifier() 2199 VuVirtq *vq = &dev->vq[i]; in vu_deinit() local 2633 .index = vq - dev->vq, in _vu_queue_notify() [all …]
|
/openbmc/linux/include/linux/ |
H A D | virtio.h | 32 void (*callback)(struct virtqueue *vq); 42 int virtqueue_add_outbuf(struct virtqueue *vq, 47 int virtqueue_add_inbuf(struct virtqueue *vq, 58 int virtqueue_add_sgs(struct virtqueue *vq, 67 bool virtqueue_kick(struct virtqueue *vq); 71 bool virtqueue_notify(struct virtqueue *vq); 78 void virtqueue_disable_cb(struct virtqueue *vq); 80 bool virtqueue_enable_cb(struct virtqueue *vq); 103 int virtqueue_reset(struct virtqueue *vq, 160 #define virtio_device_for_each_vq(vdev, vq) \ argument [all …]
|
/openbmc/qemu/tests/qtest/ |
H A D | virtio-blk-test.c | 124 QVirtQueue *vq; in test_basic() local 136 vq = qvirtqueue_setup(dev, alloc, 0); in test_basic() 335 return vq; in test_basic() 341 QVirtQueue *vq; in basic() local 343 vq = test_basic(blk_if->vdev, t_alloc); in basic() 350 QVirtQueue *vq; in indirect() local 465 QVirtQueue *vq; in msix() local 574 QVirtQueue *vq; in idx() local 644 qvirtqueue_set_used_event(qts, vq, 2); in idx() 755 QVirtQueue *vq; in resize() local [all …]
|
H A D | vhost-user-blk-test.c | 130 qvirtqueue_kick(qts, dev, vq, free_head); in test_invalid_discard_write_zeroes() 155 qvirtqueue_kick(qts, dev, vq, free_head); in test_invalid_discard_write_zeroes() 226 QVirtQueue *vq; in test_basic() local 238 vq = qvirtqueue_setup(dev, alloc, 0); in test_basic() 444 return vq; in test_basic() 450 QVirtQueue *vq; in basic() local 452 vq = test_basic(blk_if->vdev, t_alloc); in basic() 459 QVirtQueue *vq; in indirect() local 482 vq = qvirtqueue_setup(dev, t_alloc, 0); in indirect() 544 QVirtQueue *vq; in idx() local [all …]
|
/openbmc/linux/tools/virtio/linux/ |
H A D | virtio.h | 22 void (*callback)(struct virtqueue *vq); 33 int virtqueue_add_sgs(struct virtqueue *vq, 40 int virtqueue_add_outbuf(struct virtqueue *vq, 45 int virtqueue_add_inbuf(struct virtqueue *vq, 50 bool virtqueue_kick(struct virtqueue *vq); 54 void virtqueue_disable_cb(struct virtqueue *vq); 56 bool virtqueue_enable_cb(struct virtqueue *vq); 57 bool virtqueue_enable_cb_delayed(struct virtqueue *vq); 67 bool (*notify)(struct virtqueue *vq), 68 void (*callback)(struct virtqueue *vq), [all …]
|
/openbmc/linux/drivers/gpu/drm/virtio/ |
H A D | virtgpu_trace.h | 12 TP_PROTO(struct virtqueue *vq, struct virtio_gpu_ctrl_hdr *hdr, u32 seqno), 13 TP_ARGS(vq, hdr, seqno), 16 __field(unsigned int, vq) 17 __string(name, vq->name) 26 __entry->dev = vq->vdev->index; 27 __entry->vq = vq->index; 28 __assign_str(name, vq->name); 33 __entry->num_free = vq->num_free; 37 __entry->dev, __entry->vq, __get_str(name), 44 TP_ARGS(vq, hdr, seqno) [all …]
|
/openbmc/qemu/linux-user/aarch64/ |
H A D | target_prctl.h | 32 uint32_t vq, old_vq; in do_prctl_sve_set_vl() local 42 vq = MAX(arg2 / 16, 1); in do_prctl_sve_set_vl() 43 vq = MIN(vq, ARM_MAX_VQ); in do_prctl_sve_set_vl() 47 vq = sve_vq(env); in do_prctl_sve_set_vl() 48 if (vq < old_vq) { in do_prctl_sve_set_vl() 51 return vq * 16; in do_prctl_sve_set_vl() 76 int vq, old_vq; in do_prctl_sme_set_vl() local 86 vq = MAX(arg2 / 16, 1); in do_prctl_sme_set_vl() 87 vq = MIN(vq, 16); in do_prctl_sme_set_vl() 94 if (vq != old_vq) { in do_prctl_sme_set_vl() [all …]
|
/openbmc/linux/drivers/vdpa/vdpa_sim/ |
H A D | vdpa_sim_blk.c | 123 ret = vringh_getdesc_iotlb(&vq->vring, &vq->out_iov, &vq->in_iov, in vdpasim_blk_handle_req() 128 if (vq->out_iov.used < 1 || vq->in_iov.used < 1) { in vdpasim_blk_handle_req() 130 vq->out_iov.used, vq->in_iov.used); in vdpasim_blk_handle_req() 134 if (vq->in_iov.iov[vq->in_iov.used - 1].iov_len < 1) { in vdpasim_blk_handle_req() 146 bytes = vringh_iov_pull_iotlb(&vq->vring, &vq->out_iov, &hdr, in vdpasim_blk_handle_req() 179 bytes = vringh_iov_push_iotlb(&vq->vring, &vq->in_iov, in vdpasim_blk_handle_req() 202 bytes = vringh_iov_pull_iotlb(&vq->vring, &vq->out_iov, in vdpasim_blk_handle_req() 215 bytes = vringh_iov_push_iotlb(&vq->vring, &vq->in_iov, in vdpasim_blk_handle_req() 245 bytes = vringh_iov_pull_iotlb(&vq->vring, &vq->out_iov, &range, in vdpasim_blk_handle_req() 319 vringh_complete_iotlb(&vq->vring, vq->head, pushed); in vdpasim_blk_handle_req() [all …]
|