Home
last modified time | relevance | path

Searched refs:vq (Results 1 – 25 of 97) sorted by relevance

1234

/qemu/subprojects/libvduse/
H A Dlibvduse.c233 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 …]
H A Dlibvduse.h30 void (*enable_queue)(VduseDev *dev, VduseVirtq *vq);
32 void (*disable_queue)(VduseDev *dev, VduseVirtq *vq);
67 VduseDev *vduse_queue_get_dev(VduseVirtq *vq);
77 int vduse_queue_get_fd(VduseVirtq *vq);
89 void *vduse_queue_pop(VduseVirtq *vq, size_t sz);
99 void vduse_queue_push(VduseVirtq *vq, const VduseVirtqElement *elem,
107 void vduse_queue_notify(VduseVirtq *vq);
/qemu/hw/virtio/
H A Dvirtio.c231 VirtQueue *vq = &vdev->vq[n]; in virtio_init_region_cache() local
797 vq->last_avail_idx = vq->vring.num + vq->last_avail_idx - num; in virtqueue_packed_rewind()
979 vq->used_idx -= vq->vring.num; in virtqueue_packed_flush()
1856 while (!virtio_queue_empty(vq) && vq->inuse < vq->vring.num) { in virtqueue_split_drop_all()
2276 trace_virtio_queue_notify(vdev, vq - vdev->vq, vq); in virtio_queue_notify_vq()
2277 vq->handle_output(vdev, vq); in virtio_queue_notify_vq()
2287 VirtQueue *vq = &vdev->vq[n]; in virtio_queue_notify() local
2293 trace_virtio_queue_notify(vdev, vq - vdev->vq, vq); in virtio_queue_notify()
2297 vq->handle_output(vdev, vq); in virtio_queue_notify()
2313 VirtQueue *vq = &vdev->vq[n]; in virtio_queue_set_vector() local
[all …]
H A Dvhost.c179 if (!vq->used_phys && !vq->used_size) { in vhost_sync_dirty_bitmap()
185 hwaddr used_phys = vq->used_phys, used_size = vq->used_size; in vhost_sync_dirty_bitmap()
226 range_get_last(vq->used_phys, vq->used_size)); in vhost_sync_dirty_bitmap()
467 vq->desc, vq->desc_phys, vq->desc_size, in vhost_verify_ring_mappings()
475 vq->avail, vq->avail_phys, vq->avail_size, in vhost_verify_ring_mappings()
483 vq->used, vq->used_phys, vq->used_size, in vhost_verify_ring_mappings()
1226 vq->desc_phys = a; in vhost_virtqueue_start()
1228 if (!vq->desc || l != s) { in vhost_virtqueue_start()
1242 if (!vq->used || l != s) { in vhost_virtqueue_start()
1371 int index = vq - dev->vqs; in vhost_virtqueue_error_notifier()
[all …]
H A Dvhost-shadow-virtqueue.c346 } while (!virtio_queue_empty(svq->vq)); in vhost_handle_guest_kick()
465 virtqueue_push(svq->vq, elem, len); in vhost_svq_push_elem()
478 VirtQueue *vq = svq->vq; in vhost_svq_flush() local
497 virtqueue_flush(vq, i); in vhost_svq_flush()
503 virtqueue_flush(vq, i); in vhost_svq_flush()
668 svq->vq = vq; in vhost_svq_start()
697 if (!svq->vq) { in vhost_svq_stop()
720 svq->vq = NULL; in vhost_svq_stop()
753 VhostShadowVirtqueue *vq = pvq; in vhost_svq_free() local
754 vhost_svq_stop(vq); in vhost_svq_free()
[all …]
/qemu/tests/qtest/libqos/
H A Dvirtio.c245 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 Dvirtio-mmio.c158 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 …]
H A Dvirtio.h72 bool (*get_queue_isr_status)(QVirtioDevice *d, QVirtQueue *vq);
84 void (*set_queue_address)(QVirtioDevice *d, QVirtQueue *vq);
91 void (*virtqueue_cleanup)(QVirtQueue *vq, QGuestAllocator *alloc);
94 void (*virtqueue_kick)(QVirtioDevice *d, QVirtQueue *vq);
118 QVirtQueue *vq, gint64 timeout_us);
120 QVirtQueue *vq,
124 QVirtQueue *vq,
131 void qvirtqueue_cleanup(const QVirtioBus *bus, QVirtQueue *vq,
142 uint32_t qvirtqueue_add(QTestState *qts, QVirtQueue *vq, uint64_t data,
144 uint32_t qvirtqueue_add_indirect(QTestState *qts, QVirtQueue *vq,
[all …]
H A Dvirtio-pci.c216 vqpci->vq.vdev = d; in qvirtio_pci_virtqueue_setup_common()
217 vqpci->vq.index = index; in qvirtio_pci_virtqueue_setup_common()
219 vqpci->vq.free_head = 0; in qvirtio_pci_virtqueue_setup_common()
220 vqpci->vq.num_free = vqpci->vq.size; in qvirtio_pci_virtqueue_setup_common()
221 vqpci->vq.align = VIRTIO_PCI_VRING_ALIGN; in qvirtio_pci_virtqueue_setup_common()
230 g_assert_cmpint(vqpci->vq.size, !=, 0); in qvirtio_pci_virtqueue_setup_common()
233 g_assert_cmpint(vqpci->vq.size & (vqpci->vq.size - 1), ==, 0); in qvirtio_pci_virtqueue_setup_common()
238 d->bus->set_queue_address(d, &vqpci->vq); in qvirtio_pci_virtqueue_setup_common()
240 return &vqpci->vq; in qvirtio_pci_virtqueue_setup_common()
246 QVirtQueuePCI *vqpci = container_of(vq, QVirtQueuePCI, vq); in qvirtio_pci_virtqueue_cleanup_common()
[all …]
H A Dvirtio-pci-modern.c153 QVirtQueuePCI *vqpci = container_of(vq, QVirtQueuePCI, vq); in get_queue_isr_status()
208 vq->desc); in set_queue_address()
211 vq->desc >> 32); in set_queue_address()
215 vq->avail); in set_queue_address()
218 vq->avail >> 32); in set_queue_address()
222 vq->used); in set_queue_address()
225 vq->used >> 32); in set_queue_address()
232 QVirtQueue *vq; in virtqueue_setup() local
237 vqpci = container_of(vq, QVirtQueuePCI, vq); in virtqueue_setup()
249 return vq; in virtqueue_setup()
[all …]
/qemu/linux-headers/asm-arm64/
H A Dsve_context.h42 #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 …]
/qemu/subprojects/libvhost-user/
H A Dlibvhost-user.c298 return !(vq->vring.desc && vq->vring.used && vq->vring.avail); in map_ring()
335 VuVirtq *vq = &dev->vq[i]; in unmap_rings() local
747 VuVirtq *vq = &dev->vq[index]; in vu_kick_cb() local
1207 VuVirtq *vq = &dev->vq[index]; in vu_set_vring_addr_exec() local
1238 vq->shadow_avail_idx = vq->last_avail_idx = vq->used_idx; in vu_set_vring_addr_exec()
1363 vq->shadow_avail_idx = vq->last_avail_idx = vq->inuse + vq->used_idx; in vu_check_queue_inflights()
1439 int qidx = vq - dev->vq; in vu_set_queue_handler()
1455 int qidx = vq - dev->vq; in vu_set_queue_host_notifier()
2182 VuVirtq *vq = &dev->vq[i]; in vu_deinit() local
2616 .index = vq - dev->vq, in _vu_queue_notify()
[all …]
H A Dlibvhost-user.h404 VuVirtq *vq; member
544 void vu_set_queue_handler(VuDev *dev, VuVirtq *vq,
617 bool vu_queue_enabled(VuDev *dev, VuVirtq *vq);
626 bool vu_queue_started(const VuDev *dev, const VuVirtq *vq);
635 bool vu_queue_empty(VuDev *dev, VuVirtq *vq);
644 void vu_queue_notify(VuDev *dev, VuVirtq *vq);
656 void vu_queue_notify_sync(VuDev *dev, VuVirtq *vq);
667 void *vu_queue_pop(VuDev *dev, VuVirtq *vq, size_t sz);
707 void vu_queue_fill(VuDev *dev, VuVirtq *vq,
720 void vu_queue_push(VuDev *dev, VuVirtq *vq,
[all …]
/qemu/tests/qtest/
H A Dvirtio-blk-test.c124 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 Dvhost-user-blk-test.c130 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 …]
H A Dvirtio-net-test.c32 QGuestAllocator *alloc, QVirtQueue *vq, in rx_test() argument
54 free_head = qvirtqueue_add(qts, vq, req_addr, 64, true, false); in rx_test()
55 qvirtqueue_kick(qts, dev, vq, free_head); in rx_test()
60 qvirtio_wait_used_elem(qts, dev, vq, free_head, NULL, in rx_test()
69 QGuestAllocator *alloc, QVirtQueue *vq, in tx_test() argument
83 qvirtqueue_kick(qts, dev, vq, free_head); in tx_test()
85 qvirtio_wait_used_elem(qts, dev, vq, free_head, NULL, in tx_test()
123 qvirtqueue_kick(qts, dev, vq, free_head); in rx_stop_cont_test()
139 qvirtio_wait_used_elem(qts, dev, vq, free_head, NULL, in rx_stop_cont_test()
293 QVirtQueue *vq = dev->queues[1]; in large_tx() local
[all …]
H A Dvirtio-iommu-test.c63 QVirtQueue *vq = v_iommu->vq; in send_attach_detach() local
81 qvirtqueue_add(qts, vq, wr_addr, wr_size, true, false); in send_attach_detach()
82 qvirtqueue_kick(qts, dev, vq, free_head); in send_attach_detach()
83 qvirtio_wait_used_elem(qts, dev, vq, free_head, NULL, in send_attach_detach()
105 QVirtQueue *vq = v_iommu->vq; in send_map() local
126 qvirtqueue_add(qts, vq, wr_addr, wr_size, true, false); in send_map()
127 qvirtqueue_kick(qts, dev, vq, free_head); in send_map()
128 qvirtio_wait_used_elem(qts, dev, vq, free_head, NULL, in send_map()
147 QVirtQueue *vq = v_iommu->vq; in send_unmap() local
167 qvirtqueue_kick(qts, dev, vq, free_head); in send_unmap()
[all …]
/qemu/target/arm/
H A Dgdbstub64.c134 int vq, len = 0; in aarch64_gdb_get_sve_reg() local
135 for (vq = 0; vq < cpu->sve_max_vq; vq++) { in aarch64_gdb_get_sve_reg()
150 int vq, len = 0; in aarch64_gdb_get_sve_reg() local
151 for (vq = 0; vq < cpu->sve_max_vq; vq = vq + 4) { in aarch64_gdb_get_sve_reg()
163 return gdb_get_reg64(buf, vq * 2); in aarch64_gdb_get_sve_reg()
184 int vq, len = 0; in aarch64_gdb_set_sve_reg() local
186 for (vq = 0; vq < cpu->sve_max_vq; vq++) { in aarch64_gdb_set_sve_reg()
188 env->vfp.zregs[reg].d[vq * 2] = *p++; in aarch64_gdb_set_sve_reg()
202 int vq, len = 0; in aarch64_gdb_set_sve_reg() local
204 for (vq = 0; vq < cpu->sve_max_vq; vq = vq + 4) { in aarch64_gdb_set_sve_reg()
[all …]
H A Dcpu64.c59 uint32_t tmp, vq, max_vq = 0; in arm_cpu_sve_finalize() local
127 vq = ctz32(tmp) + 1; in arm_cpu_sve_finalize()
129 max_vq = vq <= ARM_MAX_VQ ? vq - 1 : ARM_MAX_VQ; in arm_cpu_sve_finalize()
180 vq = 32 - clz32(tmp); in arm_cpu_sve_finalize()
278 vq_map->init |= 1 << (vq - 1); in cpu_arm_set_vq()
307 uint32_t vq; in arm_cpu_sme_finalize() local
328 vq = 32 - clz32(vq_map); in arm_cpu_sme_finalize()
434 uint32_t vq; in aarch64_add_sve_properties() local
438 for (vq = 1; vq <= ARM_MAX_VQ; ++vq) { in aarch64_add_sve_properties()
457 uint32_t vq; in aarch64_add_sme_properties() local
[all …]
H A Darch_dump.c146 static off_t sve_zreg_offset(uint32_t vq, int n) in sve_zreg_offset() argument
149 return ROUND_UP(off, 16) + vq * 16 * n; in sve_zreg_offset()
154 return sve_zreg_offset(vq, 32) + vq * 16 / 8 * n; in sve_preg_offset()
157 static off_t sve_fpsr_offset(uint32_t vq) in sve_fpsr_offset() argument
159 off_t off = sve_preg_offset(vq, 17); in sve_fpsr_offset()
163 static off_t sve_fpcr_offset(uint32_t vq) in sve_fpcr_offset() argument
173 static size_t sve_size_vq(uint32_t vq) in sve_size_vq() argument
190 uint32_t vq = sve_current_vq(env); in aarch64_write_elf64_sve() local
203 note->sve.vl = cpu_to_dump16(s, vq * 16); in aarch64_write_elf64_sve()
209 memcpy(&buf[sve_zreg_offset(vq, i)], r, vq * 16); in aarch64_write_elf64_sve()
[all …]
/qemu/linux-user/aarch64/
H A Dtarget_prctl.h31 uint32_t vq, old_vq; in do_prctl_sve_set_vl() local
41 vq = MAX(arg2 / 16, 1); in do_prctl_sve_set_vl()
42 vq = MIN(vq, ARM_MAX_VQ); in do_prctl_sve_set_vl()
46 vq = sve_vq(env); in do_prctl_sve_set_vl()
47 if (vq < old_vq) { in do_prctl_sve_set_vl()
50 return vq * 16; in do_prctl_sve_set_vl()
75 int vq, old_vq; in do_prctl_sme_set_vl() local
85 vq = MAX(arg2 / 16, 1); in do_prctl_sme_set_vl()
86 vq = MIN(vq, 16); in do_prctl_sme_set_vl()
93 if (vq != old_vq) { in do_prctl_sme_set_vl()
[all …]
H A Dsignal.c198 int i, j, vq = sve_vq(env); in target_setup_sve_record() local
214 for (j = 0; j < vq * 2; ++j) { in target_setup_sve_record()
220 for (j = 0; j < vq; ++j) { in target_setup_sve_record()
230 int vq = sme_vq(env); in target_setup_za_record() local
231 int vl = vq * TARGET_SVE_VQ_BYTES; in target_setup_za_record()
250 for (j = 0; j < vq * 2; ++j) { in target_setup_za_record()
303 int i, j, vl, vq, flags; in target_restore_sve_record() local
348 for (j = 0; j < vq * 2; ++j) { in target_restore_sve_record()
354 for (j = 0; j < vq; ++j) { in target_restore_sve_record()
371 int i, j, vl, vq; in target_restore_za_record() local
[all …]
/qemu/block/export/
H A Dvduse-blk.c40 VduseVirtq *vq; member
65 vduse_queue_notify(req->vq); in vduse_blk_req_complete()
73 VduseVirtq *vq = req->vq; in vduse_blk_virtio_process_req() local
74 VduseDev *dev = vduse_queue_get_dev(vq); in vduse_blk_virtio_process_req()
106 req->vq = vq; in vduse_blk_vq_handler()
118 VduseVirtq *vq = opaque; in on_vduse_vq_kick() local
119 VduseDev *dev = vduse_queue_get_dev(vq); in on_vduse_vq_kick()
120 int fd = vduse_queue_get_fd(vq); in on_vduse_vq_kick()
128 vduse_blk_vq_handler(dev, vq); in on_vduse_vq_kick()
142 eventfd_write(vduse_queue_get_fd(vq), 1); in vduse_blk_enable_queue()
[all …]
/qemu/include/hw/virtio/
H A Dvirtio.h131 VirtQueue *vq; member
253 void virtio_delete_queue(VirtQueue *vq);
262 bool virtqueue_rewind(VirtQueue *vq, unsigned int num);
267 void *virtqueue_pop(VirtQueue *vq, size_t sz);
268 unsigned int virtqueue_drop_all(VirtQueue *vq);
279 void virtio_notify(VirtIODevice *vdev, VirtQueue *vq);
303 bool virtio_queue_get_notification(VirtQueue *vq);
306 int virtio_queue_ready(VirtQueue *vq);
308 int virtio_queue_empty(VirtQueue *vq);
389 uint16_t virtio_get_queue_index(VirtQueue *vq);
[all …]
/qemu/hw/char/
H A Dvirtio-serial-bus.c59 if (port->ivq == vq || port->ovq == vq) in find_port_by_vq()
104 VirtQueue *vq; in write_to_port() local
107 vq = port->ivq; in write_to_port()
108 if (!virtio_queue_ready(vq)) { in write_to_port()
137 if (!virtio_queue_ready(vq)) { in discard_vq_data()
148 virtio_notify(vdev, vq); in discard_vq_data()
211 virtio_notify(vdev, vq); in do_flush_queued_data()
227 VirtQueue *vq; in send_control_msg() local
229 vq = vser->c_ivq; in send_control_msg()
310 VirtQueue *vq = port->ivq; in virtio_serial_guest_ready() local
[all …]

1234