Lines Matching defs:virtqueue

16 #include <virtio/virtqueue.h>
46 struct virtqueue
98 * \param vq virtqueue to enable the interrupts
104 static bool virtqueue_interrupt_enable(struct virtqueue *vq,
124 * \brief initializes the vring structure of the virtqueue
126 * \param vq virtqueue of the vring to initialize
128 static void virtqueue_init_vring(struct virtqueue *vq)
157 * \param vq the virtqueue to initialize the indirect descriptors
162 static errval_t virtqueue_init_indirect(struct virtqueue *vq,
180 static bool virtqueue_should_notify_host(struct virtqueue *vq)
207 * \brief allocates and initiates a new virtqueue structure
210 * \param vq pointer where to store the new virtqueue pointer
215 struct virtqueue **vq)
266 * \brief allocates and initiates a new virtqueue structure
270 * \param vq pointer where to store the new virtqueue pointer
276 struct virtqueue **ret_vq)
328 struct virtqueue *vq;
331 sizeof(struct virtqueue) + (setup->vring_ndesc
397 * \param vq pointer to the virtqueue memory to be freed
401 errval_t virtio_virtqueue_free(struct virtqueue *vq)
416 * \param vq pointer to the virtqueue structure
420 lpaddr_t virtio_virtqueue_get_vring_paddr(struct virtqueue *vq)
428 * \param the virtqueue to get the alignment from
432 lvaddr_t virtio_virtqueue_get_vring_align(struct virtqueue *vq)
440 * \param vq pointer to the virtqueue structure
443 void virtio_virtqueue_get_vring_cap(struct virtqueue *vq,
455 * \param vq the virtqueue
460 uint8_t virtio_virtqueue_has_buffers(struct virtqueue *vq)
471 * \param vq the virtqueue
476 lvaddr_t virtio_virtqueue_buffer_vbase(struct virtqueue *vq)
489 * this virtqueue
491 * \param vq pointer to the virtqueue structure
495 uint16_t virtio_virtqueue_get_num_desc(struct virtqueue *vq)
501 * \brief Returns the queue index of the virtqueue of the device
503 * \param vq pointer to the virtqueue structure
507 uint16_t virtio_virtqueue_get_queue_index(struct virtqueue *vq)
513 * \brief Checks if the virtqueue is empty
515 * \param vq pointer to the virtqueue structure
520 bool virtio_virtqueue_is_empty(struct virtqueue *vq)
526 * \brief Checks if the virtqueue is full
528 * \param vq pointer to the virtqueue structure
533 bool virtio_virtqueue_is_full(struct virtqueue *vq)
541 * \param vq pointer to the virtqueue structure
545 uint16_t virtio_virtqueue_get_num_used(struct virtqueue *vq)
571 bool virtio_virtqueue_intr_filter(struct virtqueue *vq)
583 * \brief calls the interrupt handler for this virtqueue
585 * \param vq virtqueue to call the intr handler for
587 void virtio_virtqueue_intr_handle(struct virtqueue *vq)
599 * \param vq the virtqueue to enable the interrupts
604 bool virtio_virtqueue_intr_enable(struct virtqueue *vq)
612 * \param vq the virtqueue to enable the interrupts
618 bool virtio_virtqueue_intr_postpone(struct virtqueue *vq,
638 * \brief disables the interrupts for the given virtqueue
640 * \param vq virtqueue to disable the interrupts
642 void virtio_virtqueue_intr_disable(struct virtqueue *vq)
655 * \param vq virtqueue to notify the host
657 void virtio_virtqueue_notify_host(struct virtqueue *vq)
805 * \brief updates the available ring of the virtqueue by placing the descriptor
808 * \param vq the virtqueue to update
811 static void virtqueue_update_available(struct virtqueue *vq,
831 * \param vq virtqueue to insert in
841 static errval_t virtqueue_enqueue_bufs(struct virtqueue *vq,
923 * \brief Enqueues a new descriptor chain into the virtqueue
925 * \param vq the virtqueue the descriptor chain gets enqueued in
926 * \param bl list of buffers to enqueue into the virtqueue
934 errval_t virtio_virtqueue_desc_enqueue(struct virtqueue *vq,
979 static errval_t virtqueue_free_desc_chain(struct virtqueue *vq,
1013 * \brief dequeues a descriptor chain form the virtqueue
1015 * \param vq the virtqueue to dequeue descriptors from
1023 errval_t virtio_virtqueue_desc_dequeue(struct virtqueue *vq,
1081 * \brief polls the virtqueue
1083 * \param vq the virtqueue to dequeue descriptors from
1091 errval_t virtio_virtqueue_poll(struct virtqueue *vq,
1119 * \brief returns a buffer allocator based on the buffers with the virtqueue
1122 * \param vq the virtqueue to get the buffer allocator
1128 errval_t virtio_virtqueue_get_buf_alloc(struct virtqueue *vq,