Searched refs:vq (Results 1 - 16 of 16) sorted by relevance

/barrelfish-2018-10-04/lib/virtio/
H A Dvirtqueue.c98 * \param vq virtqueue to enable the interrupts
104 static bool virtqueue_interrupt_enable(struct virtqueue *vq, argument
107 if (vq->flags & (1 << VIRTQUEUE_FLAG_EVENT_IDX)) {
108 uint16_t *used_event = vring_get_used_event(&vq->vring);
109 *used_event = vq->used_tail + num_desc;
111 vq->vring.avail->flags &= ~VIRTIO_RING_AVAIL_F_NO_INTERRUPT;
116 if (virtio_virtqueue_get_num_used(vq) > num_desc) {
126 * \param vq virtqueue of the vring to initialize
128 static void virtqueue_init_vring(struct virtqueue *vq) argument
130 struct vring *vr = &vq
162 virtqueue_init_indirect(struct virtqueue *vq, uint16_t size) argument
180 virtqueue_should_notify_host(struct virtqueue *vq) argument
214 virtio_virtqueue_alloc(struct virtqueue_setup *setup, struct virtqueue **vq) argument
328 struct virtqueue *vq; local
401 virtio_virtqueue_free(struct virtqueue *vq) argument
420 virtio_virtqueue_get_vring_paddr(struct virtqueue *vq) argument
432 virtio_virtqueue_get_vring_align(struct virtqueue *vq) argument
443 virtio_virtqueue_get_vring_cap(struct virtqueue *vq, struct capref *ret_cap) argument
460 virtio_virtqueue_has_buffers(struct virtqueue *vq) argument
476 virtio_virtqueue_buffer_vbase(struct virtqueue *vq) argument
495 virtio_virtqueue_get_num_desc(struct virtqueue *vq) argument
507 virtio_virtqueue_get_queue_index(struct virtqueue *vq) argument
520 virtio_virtqueue_is_empty(struct virtqueue *vq) argument
533 virtio_virtqueue_is_full(struct virtqueue *vq) argument
545 virtio_virtqueue_get_num_used(struct virtqueue *vq) argument
571 virtio_virtqueue_intr_filter(struct virtqueue *vq) argument
587 virtio_virtqueue_intr_handle(struct virtqueue *vq) argument
604 virtio_virtqueue_intr_enable(struct virtqueue *vq) argument
618 virtio_virtqueue_intr_postpone(struct virtqueue *vq, enum virtqueue_intr_postpone hint) argument
642 virtio_virtqueue_intr_disable(struct virtqueue *vq) argument
657 virtio_virtqueue_notify_host(struct virtqueue *vq) argument
811 virtqueue_update_available(struct virtqueue *vq, uint16_t idx) argument
841 virtqueue_enqueue_bufs(struct virtqueue *vq, uint16_t head, struct virtio_buffer_list *bl, uint16_t num_read, uint16_t num_write, uint16_t *ret_idx) argument
934 virtio_virtqueue_desc_enqueue(struct virtqueue *vq, struct virtio_buffer_list *bl, void *st, uint16_t num_wr, uint16_t num_rd) argument
979 virtqueue_free_desc_chain(struct virtqueue *vq, uint16_t desc_idx) argument
1023 virtio_virtqueue_desc_dequeue(struct virtqueue *vq, struct virtio_buffer_list **ret_bl, void **ret_st) argument
1091 virtio_virtqueue_poll(struct virtqueue *vq, struct virtio_buffer_list **ret_bl, void **ret_st, uint8_t handle_msg) argument
1128 virtio_virtqueue_get_buf_alloc(struct virtqueue *vq, struct virtio_buffer_allocator **alloc) argument
[all...]
H A Dvirtqueue_host.c122 static inline struct virtio_host_buf *vqh_host_buf_alloc(struct virtqueue_host *vq) argument
124 return vqh_host_buf_deq(&vq->host_buffers);
126 static inline uint16_t vqh_host_buf_free_chain(struct virtqueue_host *vq, argument
129 return vqh_host_buf_enq_chain(&vq->host_buffers, buf);
134 static inline void vqh_host_buf_free(struct virtqueue_host *vq,
137 vqh_host_buf_enq(&vq->host_buffers, buf);
143 static errval_t virtio_vq_host_add_mem_range(struct virtqueue_host *vq, argument
146 if (vq->mem == NULL) {
147 vq->mem = meminfo;
151 struct vring_mem_info *prev, *current = vq
174 virtio_vq_host_guest2virt(struct virtqueue_host *vq, lpaddr_t guest_phys) argument
213 virtio_vq_host_alloc(struct virtqueue_host ***vq, struct virtqueue_setup *setup, uint16_t vq_num) argument
439 virtio_vq_host_free(struct virtqueue_host *vq) argument
458 virtio_vq_host_get_vring_paddr(struct virtqueue_host *vq) argument
470 virtio_vq_host_get_vring_align(struct virtqueue_host *vq) argument
481 virtio_vq_host_get_vring_cap(struct virtqueue_host *vq, struct capref *ret_cap) argument
497 virtio_vq_host_get_num_desc(struct virtqueue_host *vq) argument
509 virtio_vq_host_get_queue_index(struct virtqueue_host *vq) argument
522 virtio_vq_host_is_empty(struct virtqueue_host *vq) argument
534 virtio_vq_host_get_num_avail(struct virtqueue_host *vq) argument
559 virtio_vq_host_intr_send(struct virtqueue_host *vq) argument
668 virtqueue_update_used(struct virtqueue_host *vq, uint16_t idx, uint16_t length) argument
697 virtio_vq_host_desc_enqueue(struct virtqueue_host *vq, struct virtio_host_buf *buf, uint16_t idx) argument
729 virtio_vq_host_desc_dequeue(struct virtqueue_host *vq) argument
814 struct virtqueue_host *vq = vqh[i]; local
[all...]
H A Ddevice.c404 struct virtqueue *vq)
407 return dev->f->set_virtq(dev, vq);
430 vdev->vq = calloc(vq_num, sizeof(void *));
431 if (vdev->vq == NULL) {
440 err = virtio_virtqueue_alloc(setup, &vdev->vq[i]);
443 virtio_virtqueue_free(vdev->vq[i]);
445 free(vdev->vq);
452 struct virtqueue *vq = vdev->vq[i]; local
454 err = virtio_guest_add_virtq(vq);
403 virtio_device_set_virtq(struct virtio_device *dev, struct virtqueue *vq) argument
[all...]
H A Ddevice.h54 struct virtqueue **vq; member in struct:virtio_device
68 errval_t (*set_virtq)(struct virtio_device *dev, struct virtqueue *vq);
/barrelfish-2018-10-04/include/virtio/
H A Dvirtqueue_host.h46 errval_t virtio_vq_host_alloc(struct virtqueue_host ***vq,
70 * \param vq pointer to the virtqueue memory to be freed
74 errval_t virtio_vq_host_free(struct virtqueue_host *vq);
77 void *virtqueue_drain(struct virtqueue_host *vq, int *last);
78 int virtqueue_reinit(struct virtqueue_host *vq, uint16_t size);
90 * \param vq pointer to the virtqueue structure
94 lpaddr_t virtio_vq_host_get_vring_paddr(struct virtqueue_host *vq);
100 * \param vq pointer to the virtqueue structure
103 void virtio_vq_host_get_vring_cap(struct virtqueue_host *vq,
109 * \param vq pointe
[all...]
H A Dvirtqueue.h95 * \param vq pointer where to store the new virtqueue pointer
100 struct virtqueue **vq);
107 * \param vq pointer where to store the new virtqueue pointer
113 struct virtqueue **vq);
118 * \param vq pointer to the virtqueue memory to be freed
122 errval_t virtio_virtqueue_free(struct virtqueue *vq);
125 void *virtqueue_drain(struct virtqueue *vq, int *last);
126 int virtqueue_reinit(struct virtqueue *vq, uint16_t size);
138 * \param vq pointer to the virtqueue structure
142 lpaddr_t virtio_virtqueue_get_vring_paddr(struct virtqueue *vq);
[all...]
H A Dvirtio_guest.h32 errval_t (*add)(struct virtqueue *vq);
65 static inline errval_t virtio_guest_add_virtq(struct virtqueue *vq) argument
67 return vguest_chan_fn->add(vq);
H A Dvirtio_host.h27 errval_t (*notify)(struct virtio_device *vq, uint16_t index);
H A Dvirtio_device.h403 * \param vq the virtqueue to be added to the device
408 struct virtqueue *vq);
/barrelfish-2018-10-04/lib/virtio/guest/
H A Dchannel_flounder.c84 static errval_t add_vring(struct virtqueue *vq) argument
94 virtio_virtqueue_get_vring_cap(vq, &frame);
96 uint16_t id = virtio_virtqueue_get_queue_index(vq);
98 uint8_t buffers = virtio_virtqueue_has_buffers(vq);
100 uint16_t ndesc = virtio_virtqueue_get_num_desc(vq);
/barrelfish-2018-10-04/usr/drivers/virtio/block/
H A Ddevice.c53 struct virtqueue *vq = dev->blk.vq; local
63 again = !virtio_virtqueue_intr_enable(vq);
65 virtio_virtqueue_intr_disable(vq);
112 err = virtio_virtqueue_get_buf_alloc(blk->blk.vq, &blk->alloc);
H A Drequest.c68 uint16_t ndesc = virtio_virtqueue_get_num_desc(dev->blk.vq);
185 struct virtqueue *vq = dev->blk.vq; local
224 return virtio_virtqueue_desc_enqueue(vq, &req->bl, req, num_rd, num_wr);
243 struct virtqueue *vq = dev->blk.vq; local
246 if (!virtio_virtqueue_is_empty(vq)) {
258 virtio_virtqueue_notify_host(vq);
262 err = virtio_virtqueue_poll(vq, &bl, &ret_req, 1);
/barrelfish-2018-10-04/lib/libc/quad/
H A Dqdivrem.c83 __qdivrem(uq, vq, arq)
84 u_quad_t uq, vq, *arq;
96 if (vq == 0) {
105 if (uq < vq) {
133 tmp.uq = vq;
/barrelfish-2018-10-04/include/virtio/devices/
H A Dvirtio_block.h188 struct virtqueue *vq; member in struct:virtio_device_blk
329 struct virqueue_host *vq; ///< the single virtqueue member in struct:virtio_host_blk
/barrelfish-2018-10-04/lib/virtio/devices/
H A Dvirtio_block.c152 dev->vq = virtio_device_get_virtq(dev->vdev, 0);
153 assert(dev->vq);
/barrelfish-2018-10-04/lib/virtio/backends/
H A Dvirtio_device_mmio.c241 struct virtqueue *vq)
245 uint16_t queue_index = virtio_virtqueue_get_queue_index(vq);
267 uint16_t size = virtio_virtqueue_get_num_desc(vq);
270 lpaddr_t paddr = virtio_virtqueue_get_vring_paddr(vq);
271 lpaddr_t align = virtio_virtqueue_get_vring_align(vq);
240 device_set_virtq(struct virtio_device *dev, struct virtqueue *vq) argument

Completed in 77 milliseconds