Home
last modified time | relevance | path

Searched refs:vring (Results 1 – 9 of 9) sorted by relevance

/qemu/hw/virtio/
H A Dvhost-shadow-virtqueue.c162 vring_desc_t *descs = svq->vring.desc; in vhost_svq_vring_write_descs()
199 vring_avail_t *avail = svq->vring.avail; in vhost_svq_add_split()
228 avail_idx = svq->shadow_avail_idx & (svq->vring.num - 1); in vhost_svq_add_split()
251 *(uint16_t *)(&svq->vring.used->ring[svq->vring.num])); in vhost_svq_kick()
255 !(svq->vring.used->flags & cpu_to_le16(VRING_USED_F_NO_NOTIFY)); in vhost_svq_kick()
386 uint16_t *used_idx = &svq->vring.used->idx; in vhost_svq_more_used()
408 uint16_t *used_event = (uint16_t *)&svq->vring.avail->ring[svq->vring.num]; in vhost_svq_enable_notification()
411 svq->vring.avail->flags &= ~cpu_to_le16(VRING_AVAIL_F_NO_INTERRUPT); in vhost_svq_enable_notification()
426 svq->vring.avail->flags |= cpu_to_le16(VRING_AVAIL_F_NO_INTERRUPT); in vhost_svq_disable_notification()
444 const vring_used_t *used = svq->vring.used; in vhost_svq_get_buf()
[all …]
H A Dvirtio.c122 VRing vring; member
231 caches = qatomic_read(&vq->vring.caches); in virtio_virtqueue_reset_region_cache()
232 qatomic_rcu_set(&vq->vring.caches, NULL); in virtio_virtqueue_reset_region_cache()
241 VRingMemoryRegionCaches *old = vq->vring.caches; in virtio_init_region_cache()
248 addr = vq->vring.desc; in virtio_init_region_cache()
265 vq->vring.used, size, true); in virtio_init_region_cache()
273 vq->vring.avail, size, false); in virtio_init_region_cache()
279 qatomic_rcu_set(&vq->vring.caches, new); in virtio_init_region_cache()
299 VRing *vring = &vdev->vq[n].vring; in virtio_queue_update_rings() local
301 if (!vring->num || !vring->desc || !vring->align) { in virtio_queue_update_rings()
[all …]
H A Dvhost-shadow-virtqueue.h52 struct vring vring; member
/qemu/subprojects/libvduse/
H A Dlibvduse.c97 VduseRing vring; member
233 vq->used_idx = le16toh(vq->vring.used->idx); in vduse_queue_check_inflights()
426 return le16toh(vq->vring.avail->flags); in vring_avail_flags()
431 vq->shadow_avail_idx = le16toh(vq->vring.avail->idx); in vring_avail_idx()
438 return le16toh(vq->vring.avail->ring[i]); in vring_avail_ring()
443 return vring_avail_ring(vq, vq->vring.num); in vring_get_used_event()
453 *head = vring_avail_ring(vq, idx % vq->vring.num); in vduse_queue_get_head()
456 if (*head >= vq->vring.num) { in vduse_queue_get_head()
528 if (unlikely(!vq->vring.avail)) { in vduse_queue_empty()
569 if (unlikely(!vq->vring.avail)) { in vduse_queue_notify()
[all …]
/qemu/qapi/
H A Dvirtio.json512 # @vring-num: VirtQueue vring.num
514 # @vring-num-default: VirtQueue vring.num_default
516 # @vring-align: VirtQueue vring.align
518 # @vring-desc: VirtQueue vring.desc (descriptor area)
520 # @vring-avail: VirtQueue vring.avail (driver area)
522 # @vring-used: VirtQueue vring.used (device area)
541 'vring-num': 'uint32',
542 'vring-num-default': 'uint32',
543 'vring-align': 'uint32',
544 'vring-desc': 'uint64',
[all …]
/qemu/subprojects/libvhost-user/
H A Dlibvhost-user.c289 vq->vring.desc = qva_to_va(dev, vq->vra.desc_user_addr); in map_ring()
290 vq->vring.used = qva_to_va(dev, vq->vra.used_user_addr); in map_ring()
291 vq->vring.avail = qva_to_va(dev, vq->vra.avail_user_addr); in map_ring()
294 DPRINT(" vring_desc at %p\n", vq->vring.desc); in map_ring()
295 DPRINT(" vring_used at %p\n", vq->vring.used); in map_ring()
296 DPRINT(" vring_avail at %p\n", vq->vring.avail); in map_ring()
298 return !(vq->vring.desc && vq->vring.used && vq->vring.avail); in map_ring()
308 if (likely(vq->vring.avail)) { in vu_is_vq_usable()
336 const uintptr_t desc = (uintptr_t)vq->vring.desc; in unmap_rings()
337 const uintptr_t used = (uintptr_t)vq->vring.used; in unmap_rings()
[all …]
H A Dlibvhost-user.h335 VuRing vring; member
/qemu/docs/interop/
H A Dvhost-user.rst100 A vring state description
111 A vring descriptor index for split virtqueues
115 | vring index | index in avail ring |
118 :vring index: 32-bit index of the respective virtqueue
132 | vring index | descriptor indices |
135 :vring index: 32-bit index of the respective virtqueue
148 A vring address description
155 :index: a 32-bit vring index
157 :flags: a 32-bit vring flags
159 :descriptor: a 64-bit ring address of the vring descriptor table
[all …]
/qemu/include/standard-headers/linux/
H A Dvirtio_ring.h156 struct vring { struct
197 static inline void vring_init(struct vring *vr, unsigned int num, void *p, in vring_init()