Lines Matching refs:vring

162     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()
454 last_used = svq->last_used_idx & (svq->vring.num - 1); in vhost_svq_get_buf()
459 if (unlikely(used_elem.id >= svq->vring.num)) { in vhost_svq_get_buf()
516 if (unlikely(i >= svq->vring.num)) { in vhost_svq_flush()
519 i, svq->vring.num); in vhost_svq_flush()
623 addr->desc_user_addr = (uint64_t)(uintptr_t)svq->vring.desc; in vhost_svq_get_vring_addr()
624 addr->avail_user_addr = (uint64_t)(uintptr_t)svq->vring.avail; in vhost_svq_get_vring_addr()
625 addr->used_user_addr = (uint64_t)(uintptr_t)svq->vring.used; in vhost_svq_get_vring_addr()
630 size_t desc_size = sizeof(vring_desc_t) * svq->vring.num; in vhost_svq_driver_area_size()
631 size_t avail_size = offsetof(vring_avail_t, ring[svq->vring.num]) + in vhost_svq_driver_area_size()
639 size_t used_size = offsetof(vring_used_t, ring[svq->vring.num]) + in vhost_svq_device_area_size()
696 svq->vring.num = virtio_queue_get_num(vdev, virtio_get_queue_index(vq)); in vhost_svq_start()
697 svq->num_free = svq->vring.num; in vhost_svq_start()
698 svq->vring.desc = mmap(NULL, vhost_svq_driver_area_size(svq), in vhost_svq_start()
701 desc_size = sizeof(vring_desc_t) * svq->vring.num; in vhost_svq_start()
702 svq->vring.avail = (void *)((char *)svq->vring.desc + desc_size); in vhost_svq_start()
703 svq->vring.used = mmap(NULL, vhost_svq_device_area_size(svq), in vhost_svq_start()
706 svq->desc_state = g_new0(SVQDescState, svq->vring.num); in vhost_svq_start()
707 svq->desc_next = g_new0(uint16_t, svq->vring.num); in vhost_svq_start()
708 for (unsigned i = 0; i < svq->vring.num - 1; i++) { in vhost_svq_start()
729 for (unsigned i = 0; i < svq->vring.num; ++i) { in vhost_svq_stop()
748 munmap(svq->vring.desc, vhost_svq_driver_area_size(svq)); in vhost_svq_stop()
749 munmap(svq->vring.used, vhost_svq_device_area_size(svq)); in vhost_svq_stop()