Home
last modified time | relevance | path

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

/spdk/lib/virtio/
H A Dvirtio.c35 virtio_init_vring(struct virtqueue *vq) in virtio_init_vring() argument
37 int size = vq->vq_nentries; in virtio_init_vring()
38 struct vring *vr = &vq->vq_ring; in virtio_init_vring()
39 uint8_t *ring_mem = vq->vq_ring_virt_mem; in virtio_init_vring()
44 memset(ring_mem, 0, vq->vq_ring_size); in virtio_init_vring()
46 vq->vq_used_cons_idx = 0; in virtio_init_vring()
47 vq->vq_desc_head_idx = 0; in virtio_init_vring()
48 vq->vq_avail_idx = 0; in virtio_init_vring()
49 vq->vq_desc_tail_idx = (uint16_t)(vq->vq_nentries - 1); in virtio_init_vring()
50 vq->vq_free_cnt = vq->vq_nentries; in virtio_init_vring()
[all …]
H A Dvirtio_vfio_user.c222 virtio_vfio_user_setup_queue(struct virtio_dev *vdev, struct virtqueue *vq) in virtio_vfio_user_setup_queue() argument
232 queue_mem = spdk_zmalloc(vq->vq_ring_size, VIRTIO_PCI_VRING_ALIGN, NULL, in virtio_vfio_user_setup_queue()
244 vq->vq_ring_mem = queue_mem_phys_addr; in virtio_vfio_user_setup_queue()
245 vq->vq_ring_virt_mem = queue_mem; in virtio_vfio_user_setup_queue()
247 desc_addr = vq->vq_ring_mem; in virtio_vfio_user_setup_queue()
248 avail_addr = desc_addr + vq->vq_nentries * sizeof(struct vring_desc); in virtio_vfio_user_setup_queue()
249 used_addr = (avail_addr + offsetof(struct vring_avail, ring[vq->vq_nentries]) in virtio_vfio_user_setup_queue()
254 offset, 2, &vq->vq_queue_index, true); in virtio_vfio_user_setup_queue()
327 SPDK_ERRLOG("Failed to enable queue %u\n", vq->vq_queue_index); in virtio_vfio_user_setup_queue()
331 SPDK_DEBUGLOG(virtio_vfio_user, "queue %"PRIu16" addresses:\n", vq in virtio_vfio_user_setup_queue()
343 virtio_vfio_user_del_queue(struct virtio_dev * vdev,struct virtqueue * vq) virtio_vfio_user_del_queue() argument
371 virtio_vfio_user_notify_queue(struct virtio_dev * vdev,struct virtqueue * vq) virtio_vfio_user_notify_queue() argument
[all...]
H A Dvirtio_pci.c197 check_vq_phys_addr_ok(struct virtqueue *vq) in check_vq_phys_addr_ok() argument
203 if ((vq->vq_ring_mem + vq->vq_ring_size - 1) >> in check_vq_phys_addr_ok()
404 modern_setup_queue(struct virtio_dev *dev, struct virtqueue *vq) in modern_setup_queue() argument
416 if (vq->vq_ring_size > VALUE_2MB) { in modern_setup_queue()
420 queue_mem = spdk_zmalloc(vq->vq_ring_size, VALUE_2MB, NULL, in modern_setup_queue()
432 vq->vq_ring_mem = queue_mem_phys_addr; in modern_setup_queue()
433 vq->vq_ring_virt_mem = queue_mem; in modern_setup_queue()
435 if (!check_vq_phys_addr_ok(vq)) { in modern_setup_queue()
440 desc_addr = vq->vq_ring_mem; in modern_setup_queue()
441 avail_addr = desc_addr + vq->vq_nentries * sizeof(struct vring_desc); in modern_setup_queue()
[all …]
H A Dvirtio_vhost_user.c572 SPDK_ERRLOG("setup tx vq fails: %"PRIu32".\n", i); in virtio_user_queue_setup()
862 virtio_user_setup_queue(struct virtio_dev *vdev, struct virtqueue *vq) in virtio_user_setup_queue() argument
866 uint16_t queue_idx = vq->vq_queue_index; in virtio_user_setup_queue()
893 queue_mem = spdk_zmalloc(vq->vq_ring_size, VIRTIO_PCI_VRING_ALIGN, NULL, in virtio_user_setup_queue()
901 vq->vq_ring_mem = SPDK_VTOPHYS_ERROR; in virtio_user_setup_queue()
902 vq->vq_ring_virt_mem = queue_mem; in virtio_user_setup_queue()
904 state.index = vq->vq_queue_index; in virtio_user_setup_queue()
922 desc_addr = (uintptr_t)vq->vq_ring_virt_mem; in virtio_user_setup_queue()
923 avail_addr = desc_addr + vq->vq_nentries * sizeof(struct vring_desc); in virtio_user_setup_queue()
925 ring[vq in virtio_user_setup_queue()
937 virtio_user_del_queue(struct virtio_dev * vdev,struct virtqueue * vq) virtio_user_del_queue() argument
959 virtio_user_notify_queue(struct virtio_dev * vdev,struct virtqueue * vq) virtio_user_notify_queue() argument
[all...]
/spdk/module/vfu_device/
H A Dvfu_virtio.c62 virtio_dev_map_vq(struct vfu_virtio_dev *dev, struct vfu_virtio_vq *vq) in virtio_dev_map_vq() argument
67 if (!vq->enabled || (vq->q_state == VFU_VQ_ACTIVE)) { in virtio_dev_map_vq()
71 SPDK_DEBUGLOG(vfu_virtio, "%s: try to map vq %u\n", dev->name, vq->id); in virtio_dev_map_vq()
73 len = virtio_queue_desc_size(dev, vq); in virtio_dev_map_vq()
74 phys_addr = ((((uint64_t)vq->desc_hi) << 32) | vq->desc_lo); in virtio_dev_map_vq()
75 ret = vfu_virtio_map_q(dev, &vq->desc, phys_addr, len); in virtio_dev_map_vq()
81 len = virtio_queue_avail_size(dev, vq); in virtio_dev_map_vq()
82 phys_addr = ((((uint64_t)vq->avail_hi) << 32) | vq->avail_lo); in virtio_dev_map_vq()
83 ret = vfu_virtio_map_q(dev, &vq->avail, phys_addr, len); in virtio_dev_map_vq()
85 vfu_virtio_unmap_q(dev, &vq->desc); in virtio_dev_map_vq()
[all …]
H A Dvfu_virtio_internal.h166 struct vfu_virtio_vq *vq);
167 void (*free_req)(struct vfu_virtio_endpoint *virtio_endpoint, struct vfu_virtio_vq *vq,
169 int (*exec_request)(struct vfu_virtio_endpoint *virtio_endpoint, struct vfu_virtio_vq *vq,
203 struct vfu_virtio_vq *vq; member
236 virtio_queue_desc_size(struct vfu_virtio_dev *dev, struct vfu_virtio_vq *vq) in virtio_queue_desc_size() argument
238 return sizeof(struct vring_desc) * vq->qsize; in virtio_queue_desc_size()
242 virtio_queue_avail_size(struct vfu_virtio_dev *dev, struct vfu_virtio_vq *vq) in virtio_queue_avail_size() argument
251 return (sizeof(struct vring_avail) + sizeof(uint16_t) * vq->qsize in virtio_queue_avail_size()
256 virtio_queue_used_size(struct vfu_virtio_dev *dev, struct vfu_virtio_vq *vq) in virtio_queue_used_size() argument
265 return (sizeof(struct vring_used) + sizeof(struct vring_used_elem) * vq in virtio_queue_used_size()
270 virtio_queue_event_is_suppressed(struct vfu_virtio_dev * dev,struct vfu_virtio_vq * vq) virtio_queue_event_is_suppressed() argument
354 vfu_virtio_vq_alloc_req(struct vfu_virtio_endpoint * endpoint,struct vfu_virtio_vq * vq) vfu_virtio_vq_alloc_req() argument
361 vfu_virtio_vq_free_req(struct vfu_virtio_endpoint * endpoint,struct vfu_virtio_vq * vq,struct vfu_virtio_req * req) vfu_virtio_vq_free_req() argument
[all...]
H A Dvfu_virtio_scsi.c89 struct vfu_virtio_vq *vq; in vfu_virtio_scsi_vring_poll() local
106 vq = &dev->vqs[i]; in vfu_virtio_scsi_vring_poll()
107 if (!vq->enabled || vq->q_state != VFU_VQ_ACTIVE) { in vfu_virtio_scsi_vring_poll()
111 vfu_virtio_vq_flush_irq(dev, vq); in vfu_virtio_scsi_vring_poll()
113 if (vq->packed.packed_ring) { in vfu_virtio_scsi_vring_poll()
115 count += vfu_virtio_dev_process_packed_ring(dev, vq); in vfu_virtio_scsi_vring_poll()
118 count += vfu_virtio_dev_process_split_ring(dev, vq); in vfu_virtio_scsi_vring_poll()
133 struct vfu_virtio_vq *vq; in vfu_virtio_scsi_eventq_enqueue() local
146 vq = &dev->vqs[1]; in vfu_virtio_scsi_eventq_enqueue()
147 if (!vq->enabled || vq->q_state != VFU_VQ_ACTIVE) { in vfu_virtio_scsi_eventq_enqueue()
[all …]
H A Dvfu_virtio_blk.c71 struct vfu_virtio_vq *vq; in vfu_virtio_blk_vring_poll() local
83 vq = &dev->vqs[i]; in vfu_virtio_blk_vring_poll()
84 if (!vq->enabled || vq->q_state != VFU_VQ_ACTIVE) { in vfu_virtio_blk_vring_poll()
88 vfu_virtio_vq_flush_irq(dev, vq); in vfu_virtio_blk_vring_poll()
90 if (vq->packed.packed_ring) { in vfu_virtio_blk_vring_poll()
92 count += vfu_virtio_dev_process_packed_ring(dev, vq); in vfu_virtio_blk_vring_poll()
95 count += vfu_virtio_dev_process_split_ring(dev, vq); in vfu_virtio_blk_vring_poll()
170 virtio_blk_process_req(struct vfu_virtio_endpoint *virtio_endpoint, struct vfu_virtio_vq *vq, in virtio_blk_process_req() argument
458 virtio_blk_alloc_req(struct vfu_virtio_endpoint *virtio_endpoint, struct vfu_virtio_vq *vq) in virtio_blk_alloc_req() argument
471 virtio_blk_free_req(struct vfu_virtio_endpoint *virtio_endpoint, struct vfu_virtio_vq *vq, in virtio_blk_free_req() argument
/spdk/test/unit/lib/vhost/vhost.c/
H A Dvhost_ut.c468 struct spdk_vhost_virtqueue vq = {}; in vq_avail_ring_get_test() local
474 vq.vring.avail = (struct vring_avail *)avail_mem; in vq_avail_ring_get_test()
475 vq.vring.size = 32; in vq_avail_ring_get_test()
476 vq.last_avail_idx = 24; in vq_avail_ring_get_test()
477 vq.vring.avail->idx = 29; in vq_avail_ring_get_test()
481 vq.vring.avail->ring[i] = i; in vq_avail_ring_get_test()
484 ret = vhost_vq_avail_ring_get(&vq, reqs, reqs_len); in vq_avail_ring_get_test()
486 CU_ASSERT(vq.last_avail_idx == 29); in vq_avail_ring_get_test()
488 CU_ASSERT(reqs[i] == vq.vring.avail->ring[i + 24]); in vq_avail_ring_get_test()
492 vq in vq_avail_ring_get_test()
525 vq_desc_guest_is_used(struct spdk_vhost_virtqueue * vq,int16_t guest_last_used_idx,int16_t guest_used_phase) vq_desc_guest_is_used() argument
533 vq_desc_guest_set_avail(struct spdk_vhost_virtqueue * vq,int16_t * guest_last_avail_idx,int16_t * guest_avail_phase) vq_desc_guest_set_avail() argument
551 vq_desc_guest_handle_completed_desc(struct spdk_vhost_virtqueue * vq,int16_t * guest_last_used_idx,int16_t * guest_used_phase) vq_desc_guest_handle_completed_desc() argument
574 struct spdk_vhost_virtqueue *vq; vq_packed_ring_test() local
[all...]
/spdk/lib/vhost/
H A Dvhost_blk.c43 struct spdk_vhost_virtqueue *vq; member
155 if (task->vq->packed.packed_ring) { in blk_task_inc_task_cnt()
156 vhost_vq_packed_ring_enqueue(&task->bvsession->vsession, task->vq, in blk_task_inc_task_cnt() local
161 vhost_vq_used_ring_enqueue(&task->bvsession->vsession, task->vq,
200 struct spdk_vhost_virtqueue *vq, in blk_task_enqueue()
211 rc = vhost_vq_get_desc(vsession, vq, req_idx, &desc, &desc_table, &desc_table_size); in vhost_user_blk_request_finish()
273 struct spdk_vhost_virtqueue *vq, uint16_t req_idx, in blk_iovs_split_queue_setup()
282 desc = &vq->vring.desc_packed[req_idx]; in blk_iovs_split_queue_setup()
309 vhost_vring_packed_desc_get_next(&desc, &req_idx, vq, desc_table, desc_table_size);
332 struct spdk_vhost_virtqueue *vq, uint16_ in blk_iovs_packed_desc_setup()
67 struct spdk_vhost_virtqueue *vq; global() member
165 struct spdk_vhost_virtqueue *vq = task->vq; blk_task_dec_task_cnt() local
239 blk_iovs_split_queue_setup(struct spdk_vhost_blk_session * bvsession,struct spdk_vhost_virtqueue * vq,uint16_t req_idx,struct iovec * iovs,uint16_t * iovs_cnt,uint32_t * length) blk_iovs_split_queue_setup() argument
312 blk_iovs_packed_desc_setup(struct spdk_vhost_session * vsession,struct spdk_vhost_virtqueue * vq,uint16_t req_idx,struct vring_packed_desc * desc_table,uint16_t desc_table_size,struct iovec * iovs,uint16_t * iovs_cnt,uint32_t * length) blk_iovs_packed_desc_setup() argument
371 blk_iovs_packed_queue_setup(struct spdk_vhost_blk_session * bvsession,struct spdk_vhost_virtqueue * vq,uint16_t req_idx,struct iovec * iovs,uint16_t * iovs_cnt,uint32_t * length) blk_iovs_packed_queue_setup() argument
393 blk_iovs_inflight_queue_setup(struct spdk_vhost_blk_session * bvsession,struct spdk_vhost_virtqueue * vq,uint16_t req_idx,struct iovec * iovs,uint16_t * iovs_cnt,uint32_t * length) blk_iovs_inflight_queue_setup() argument
688 process_blk_task(struct spdk_vhost_virtqueue * vq,uint16_t req_idx) process_blk_task() argument
729 process_packed_blk_task(struct spdk_vhost_virtqueue * vq,uint16_t req_idx) process_packed_blk_task() argument
794 process_packed_inflight_blk_task(struct spdk_vhost_virtqueue * vq,uint16_t req_idx) process_packed_inflight_blk_task() argument
856 submit_inflight_desc(struct spdk_vhost_blk_session * bvsession,struct spdk_vhost_virtqueue * vq) submit_inflight_desc() argument
897 process_vq(struct spdk_vhost_blk_session * bvsession,struct spdk_vhost_virtqueue * vq) process_vq() argument
931 process_packed_vq(struct spdk_vhost_blk_session * bvsession,struct spdk_vhost_virtqueue * vq) process_packed_vq() argument
951 _vdev_vq_worker(struct spdk_vhost_virtqueue * vq) _vdev_vq_worker() argument
974 struct spdk_vhost_virtqueue *vq = arg; vdev_vq_worker() local
984 struct spdk_vhost_virtqueue *vq; vdev_worker() local
997 no_bdev_process_vq(struct spdk_vhost_blk_session * bvsession,struct spdk_vhost_virtqueue * vq) no_bdev_process_vq() argument
1018 no_bdev_process_packed_vq(struct spdk_vhost_blk_session * bvsession,struct spdk_vhost_virtqueue * vq) no_bdev_process_packed_vq() argument
1061 _no_bdev_vdev_vq_worker(struct spdk_vhost_virtqueue * vq) _no_bdev_vdev_vq_worker() argument
1089 struct spdk_vhost_virtqueue *vq = arg; no_bdev_vdev_vq_worker() local
1112 struct spdk_vhost_virtqueue *vq; vhost_blk_pg_unregister_interrupts() local
1127 vhost_blk_vq_register_interrupt(struct spdk_vhost_virtqueue * vq) vhost_blk_vq_register_interrupt() argument
1187 vhost_blk_vq_enable(struct spdk_vhost_session * vsession,struct spdk_vhost_virtqueue * vq) vhost_blk_vq_enable() argument
1226 struct spdk_vhost_virtqueue *vq; vhost_blk_pg_register_no_bdev_interrupts() local
1391 struct spdk_vhost_virtqueue *vq; free_task_pool() local
1409 struct spdk_vhost_virtqueue *vq; alloc_vq_task_pool() local
[all...]
H A Dvhost_scsi.c112 struct spdk_vhost_virtqueue *vq; member
277 struct spdk_vhost_virtqueue *vq; in eventq_enqueue() local
285 vq = &vsession->virtqueue[VIRTIO_SCSI_EVENTQ]; in eventq_enqueue()
287 if (vq->vring.desc == NULL || vhost_vq_avail_ring_get(vq, &req, 1) != 1) { in eventq_enqueue()
293 rc = vhost_vq_get_desc(vsession, vq, req, &desc, &desc_table, &desc_table_size); in eventq_enqueue()
324 vhost_vq_used_ring_enqueue(vsession, vq, req, req_size); in eventq_enqueue()
332 vhost_vq_used_ring_enqueue(vsession, task->vq, task->req_idx, in submit_completion()
389 vhost_vq_used_ring_enqueue(vsession, task->vq, task->req_idx, in invalid_request()
436 rc = vhost_vq_get_desc(vsession, task->vq, tas in process_ctrl_request()
694 process_scsi_task(struct spdk_vhost_session * vsession,struct spdk_vhost_virtqueue * vq,uint16_t req_idx) process_scsi_task() argument
733 submit_inflight_desc(struct spdk_vhost_scsi_session * svsession,struct spdk_vhost_virtqueue * vq) submit_inflight_desc() argument
770 process_vq(struct spdk_vhost_scsi_session * svsession,struct spdk_vhost_virtqueue * vq) process_vq() argument
1351 struct spdk_vhost_virtqueue *vq; free_task_pool() local
1369 struct spdk_vhost_virtqueue *vq; alloc_vq_task_pool() local
[all...]
H A Dvhost_internal.h254 int (*enable_vq)(struct spdk_vhost_session *vsession, struct spdk_vhost_virtqueue *vq);
280 uint16_t vhost_vq_avail_ring_get(struct spdk_vhost_virtqueue *vq, uint16_t *reqs,
289 * \param vq virtqueue
300 int vhost_vq_get_desc(struct spdk_vhost_session *vsession, struct spdk_vhost_virtqueue *vq,
310 * \param vq virtqueue
331 * Send IRQ/call client (if pending) for \c vq.
333 * \param vq virtqueue
338 int vhost_vq_used_signal(struct spdk_vhost_session *vsession, struct spdk_vhost_virtqueue *vq);
342 * \param vq virtqueue
347 struct spdk_vhost_virtqueue *vq,
[all...]
H A Drte_vhost_user.c176 /* Check whether there are unprocessed reqs in vq, then kick vq manually */ in vhost_vq_avail_ring_get()
383 vhost_vq_event_is_suppressed(struct spdk_vhost_virtqueue *vq) argument
387 if (spdk_unlikely(vq->packed.packed_ring)) {
388 if (vq->vring.driver_event->flags & VRING_PACKED_EVENT_FLAG_DISABLE) {
392 if (vq->vring.avail->flags & VRING_AVAIL_F_NO_INTERRUPT) {
578 struct spdk_vhost_virtqueue *vq, argument
604 *req_idx = (*req_idx + 1) % vq->vring.size;
605 *desc = &vq->vring.desc_packed[*req_idx];
656 * 2, Update the vq
660 vhost_vring_packed_desc_get_buffer_id(struct spdk_vhost_virtqueue * vq,uint16_t req_idx,uint16_t * num_descs) global() argument
[all...]
/spdk/include/spdk_internal/
H A Dvirtio.h93 int (*setup_queue)(struct virtio_dev *hw, struct virtqueue *vq);
94 void (*del_queue)(struct virtio_dev *hw, struct virtqueue *vq);
95 void (*notify_queue)(struct virtio_dev *hw, struct virtqueue *vq);
166 uint16_t virtio_recv_pkts(struct virtqueue *vq, void **io, uint32_t *len, uint16_t io_cnt);
187 int virtqueue_req_start(struct virtqueue *vq, void *cookie, int iovcnt);
195 void virtqueue_req_flush(struct virtqueue *vq);
205 void virtqueue_req_abort(struct virtqueue *vq);
218 void virtqueue_req_add_iovs(struct virtqueue *vq, struct iovec *iovs, uint16_t iovcnt,
/spdk/module/bdev/virtio/
H A Dbdev_virtio_blk.c47 struct virtqueue *vq; member
116 struct virtqueue *vq = virtio_channel->vq; in bdev_virtio_blk_send_io() local
120 rc = virtqueue_req_start(vq, bdev_io, bdev_io->u.bdev.iovcnt + 2); in bdev_virtio_blk_send_io()
129 virtqueue_req_add_iovs(vq, &io_ctx->iov_req, 1, SPDK_VIRTIO_DESC_RO); in bdev_virtio_blk_send_io()
131 virtqueue_req_add_iovs(vq, &io_ctx->iov_unmap, 1, SPDK_VIRTIO_DESC_RO); in bdev_virtio_blk_send_io()
133 virtqueue_req_add_iovs(vq, bdev_io->u.bdev.iovs, bdev_io->u.bdev.iovcnt, in bdev_virtio_blk_send_io()
137 virtqueue_req_add_iovs(vq, &io_ctx->iov_resp, 1, SPDK_VIRTIO_DESC_WR); in bdev_virtio_blk_send_io()
139 virtqueue_req_flush(vq); in bdev_virtio_blk_send_io()
333 cnt = virtio_recv_pkts(ch->vq, io, io_len, SPDK_COUNTOF(io)); in bdev_virtio_poll()
347 struct virtqueue *vq; in bdev_virtio_blk_ch_create_cb() local
[all …]
H A Dbdev_virtio_scsi.c151 struct virtqueue *vq; member
180 virtio_scsi_dev_send_eventq_io(struct virtqueue *vq, struct virtio_scsi_eventq_io *io) in virtio_scsi_dev_send_eventq_io() argument
184 rc = virtqueue_req_start(vq, io, 1); in virtio_scsi_dev_send_eventq_io()
189 virtqueue_req_add_iovs(vq, &io->iov, 1, SPDK_VIRTIO_DESC_WR); in virtio_scsi_dev_send_eventq_io()
190 virtqueue_req_flush(vq); in virtio_scsi_dev_send_eventq_io()
489 struct virtqueue *vq = virtio_channel->vq; in bdev_virtio_send_io() local
493 rc = virtqueue_req_start(vq, bdev_io, bdev_io->u.bdev.iovcnt + 2); in bdev_virtio_send_io()
502 virtqueue_req_add_iovs(vq, &io_ctx->iov_req, 1, SPDK_VIRTIO_DESC_RO); in bdev_virtio_send_io()
504 virtqueue_req_add_iovs(vq, in bdev_virtio_send_io()
988 struct virtqueue *vq; bdev_virtio_scsi_ch_create_cb() local
1013 struct virtqueue *vq = ch->vq; bdev_virtio_scsi_ch_destroy_cb() local
1058 struct virtqueue *vq = base->channel->vq; send_scan_io() local
[all...]
/spdk/test/vhost/initiator/
H A Dblockdev.sh63 …o_attach_controller --trtype user --traddr 'naa.Nvme0n1_scsi0.0' -d scsi --vq-count 8 'VirtioScsi0'
64 …rtio_attach_controller --trtype user --traddr 'naa.Nvme0n1_blk0.0' -d blk --vq-count 8 'VirtioBlk3'
65 …rtio_attach_controller --trtype user --traddr 'naa.Nvme0n1_blk1.0' -d blk --vq-count 8 'VirtioBlk4'
67 …_virtio_attach_controller --trtype user --traddr 'naa.Malloc0.0' -d scsi --vq-count 8 'VirtioScsi1'
68 …_virtio_attach_controller --trtype user --traddr 'naa.Malloc1.0' -d scsi --vq-count 8 'VirtioScsi2'
/spdk/test/app/fuzz/vhost_fuzz/
H A Dvhost_fuzz.c787 submit_virtio_req_rsp_pair(struct fuzz_vhost_dev_ctx *dev_ctx, struct virtqueue *vq, in submit_virtio_req_rsp_pair() argument
795 rc = virtqueue_req_start(vq, io_ctx, num_iovs); in submit_virtio_req_rsp_pair()
799 virtqueue_req_add_iovs(vq, &iovs->iov_req, 1, SPDK_VIRTIO_DESC_RO); in submit_virtio_req_rsp_pair()
803 virtqueue_req_add_iovs(vq, &iovs->iov_data, 1, SPDK_VIRTIO_DESC_WR); in submit_virtio_req_rsp_pair()
805 virtqueue_req_add_iovs(vq, &iovs->iov_resp, 1, SPDK_VIRTIO_DESC_WR); in submit_virtio_req_rsp_pair()
807 virtqueue_req_add_iovs(vq, &iovs->iov_resp, 1, SPDK_VIRTIO_DESC_WR); in submit_virtio_req_rsp_pair()
809 virtqueue_req_add_iovs(vq, &iovs->iov_data, 1, SPDK_VIRTIO_DESC_WR); in submit_virtio_req_rsp_pair()
812 virtqueue_req_flush(vq); in submit_virtio_req_rsp_pair()
817 dev_submit_requests(struct fuzz_vhost_dev_ctx *dev_ctx, struct virtqueue *vq, in dev_submit_requests() argument
826 rc = submit_virtio_req_rsp_pair(dev_ctx, vq, io_ctx); in dev_submit_requests()
[all …]