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

/seL4-camkes-master/projects/projects_libs/libvirtqueue/src/
H A Dvirtqueue.c16 void virtqueue_init_driver(virtqueue_driver_t *vq, unsigned queue_len, vq_vring_avail_t *avail_ring, argument
23 vq->free_desc_head = 0;
24 vq->queue_len = queue_len;
25 vq->u_ring_last_seen = vq->queue_len - 1;
26 vq->avail_ring = avail_ring;
27 vq->used_ring = used_ring;
28 vq->desc_table = desc;
29 vq->notify = notify;
30 vq
37 virtqueue_init_device(virtqueue_device_t *vq, unsigned queue_len, vq_vring_avail_t *avail_ring, vq_vring_used_t *used_ring, vq_vring_desc_t *desc, void (*notify)(void), void *cookie) argument
76 vq_add_desc(virtqueue_driver_t *vq, void *buf, unsigned len, vq_flags_t flag, int prev) argument
104 vq_pop_desc(virtqueue_driver_t *vq, unsigned idx, void **buf, unsigned *len, vq_flags_t *flag) argument
121 virtqueue_add_available_buf(virtqueue_driver_t *vq, virtqueue_ring_object_t *obj, void *buf, unsigned len, vq_flags_t flag) argument
141 virtqueue_get_used_buf(virtqueue_driver_t *vq, virtqueue_ring_object_t *obj, uint32_t *len) argument
155 virtqueue_add_used_buf(virtqueue_device_t *vq, virtqueue_ring_object_t *robj, uint32_t len) argument
165 virtqueue_get_available_buf(virtqueue_device_t *vq, virtqueue_ring_object_t *robj) argument
184 virtqueue_scattered_available_size(virtqueue_device_t *vq, virtqueue_ring_object_t *robj) argument
196 virtqueue_gather_available(virtqueue_device_t *vq, virtqueue_ring_object_t *robj, void **buf, unsigned *len, vq_flags_t *flag) argument
215 virtqueue_gather_used(virtqueue_driver_t *vq, virtqueue_ring_object_t *robj, void **buf, unsigned *len, vq_flags_t *flag) argument
[all...]
/seL4-camkes-master/projects/projects_libs/libvirtqueue/include/
H A Dvirtqueue.h18 #define VQ_DEV_POLL(vq) ((((vq)->a_ring_last_seen + 1) & ((vq)->queue_len - 1)) != (vq)->avail_ring->idx)
19 #define VQ_DRV_POLL(vq) ((((vq)->u_ring_last_seen + 1) & ((vq)->queue_len - 1)) != (vq)->used_ring->idx)
90 * @param vq the driver virtqueue
98 void virtqueue_init_driver(virtqueue_driver_t *vq, unsigne
[all...]
/seL4-camkes-master/projects/global-components/components/SerialServer/src/
H A Dserver_virtqueue.c41 virtqueue_device_t *vq; member in struct:__anon2
58 virtqueue_device_t *vq = vq_token->vq; local
59 vq->notify();
76 virtqueue_device_t *vq = vq_token->vq; local
79 if (camkes_virtqueue_device_scatter_copy_buffer(vq, &handle, serial_buf, buf_size) < 0) {
83 vq->notify();
90 static void handle_virtqueue_message(virtqueue_device_t *vq, virtqueue_ring_object_t *handle, enum virtqueue_op op) argument
95 buf_size = virtqueue_scattered_available_size(vq, handl
128 handle_virtqueue_callback(virtqueue_device_t *vq, enum virtqueue_op op) argument
[all...]
/seL4-camkes-master/projects/camkes/apps/serialserver_loopback/components/Client/src/
H A Dclient.c18 void handle_read_callback(virtqueue_driver_t *vq);
19 void handle_write_callback(virtqueue_driver_t *vq);
44 void handle_read_callback(virtqueue_driver_t *vq) argument
51 if (!virtqueue_get_used_buf(vq, &handle, &len)) {
59 if (camkes_virtqueue_driver_gather_copy_buffer(vq, &handle, buf, len) != 0) {
65 void handle_write_callback(virtqueue_driver_t *vq) argument
73 if (!virtqueue_get_used_buf(vq, &handle, &len)) {
77 while (camkes_virtqueue_driver_gather_buffer(vq, &handle, &buf, &len, &flags) == 0) {
79 camkes_virtqueue_buffer_free(vq, buf);
/seL4-camkes-master/projects/camkes-tool/libsel4camkes/src/
H A Dvirtqueue.c158 int camkes_virtqueue_driver_send_buffer(virtqueue_driver_t *vq, void *buffer, size_t size) argument
160 uintptr_t base_offset = (uintptr_t)(((struct vq_buf_alloc *)vq->cookie)->buffer);
165 if (!virtqueue_add_available_buf(vq, &handle, (void *)buf_offset, size, VQ_RW)) {
172 static int chain_vq_buf(virtqueue_driver_t *vq, virtqueue_ring_object_t *handle, argument
175 struct vq_buf_alloc *allocator = vq->cookie;
178 if (!virtqueue_add_available_buf(vq, handle, (void *)offset, size, VQ_RW)) {
185 int camkes_virtqueue_driver_scatter_send_buffer(virtqueue_driver_t *vq, void *buffer, size_t size) argument
196 if (camkes_virtqueue_buffer_alloc(vq, &vq_buf, to_send)) {
203 if (chain_vq_buf(vq, &handle, vq_buf, to_send)) {
211 int camkes_virtqueue_driver_gather_copy_buffer(virtqueue_driver_t *vq, virtqueue_ring_object_ argument
231 camkes_virtqueue_device_scatter_copy_buffer(virtqueue_device_t *vq, virtqueue_ring_object_t *handle, void *buffer, size_t size) argument
254 camkes_virtqueue_device_gather_copy_buffer(virtqueue_device_t *vq, virtqueue_ring_object_t *handle, void *buffer, size_t size) argument
277 camkes_virtqueue_driver_gather_buffer(virtqueue_driver_t *vq, virtqueue_ring_object_t *handle, void **buffer, unsigned *size, vq_flags_t *flag) argument
288 camkes_virtqueue_device_gather_buffer(virtqueue_device_t *vq, virtqueue_ring_object_t *handle, void **buffer, unsigned *size, vq_flags_t *flag) argument
[all...]
/seL4-camkes-master/projects/camkes-tool/libsel4camkes/include/camkes/
H A Dvirtqueue.h140 * @param vq the driver side virtqueue
145 int camkes_virtqueue_driver_send_buffer(virtqueue_driver_t *vq, void *buffer, size_t size);
150 * @param vq the driver side virtqueue
155 int camkes_virtqueue_driver_scatter_send_buffer(virtqueue_driver_t *vq, void *buffer, size_t size);
160 * @param vq the driver side virtqueue
166 int camkes_virtqueue_driver_gather_copy_buffer(virtqueue_driver_t *vq, virtqueue_ring_object_t *handle,
172 * @param vq the device side virtqueue
178 int camkes_virtqueue_device_scatter_copy_buffer(virtqueue_device_t *vq, virtqueue_ring_object_t *handle,
184 * @param vq the device side virtqueue
190 int camkes_virtqueue_device_gather_copy_buffer(virtqueue_device_t *vq, virtqueue_ring_object_
[all...]
/seL4-camkes-master/projects/camkes/apps/cakeml_tipc/components/cakeml-filter/
H A DcomponentScript.sml41 fun forward_message vq = case vq of
43 VirtQueue.VirtQueueDev _ => (case VirtQueue.device_recv vq of
45 val _ = VirtQueue.device_signal vq;
55 val _ = VirtQueue.driver_recv vq;
/seL4-camkes-master/projects/cakeml_libs/cakeml_libraries/libvirtqueue/
H A DvirtqueueScript.sml47 fun virtqueue_ptr vq = case vq of
152 fun poll vq = case vq of
158 fun select vqs = List.find (fn vq => poll vq = Ok 1) vqs
164 | Some vq => (f vq; select_loop f vqs)
/seL4-camkes-master/projects/seL4_projects_libs/libsel4vmmplatsupport/src/drivers/
H A Dvirtio_net_emul.c45 vqueue_t *vq = &emul->virtq; local
47 struct vring *vring = &vq->vring[RX_QUEUE];
53 uint16_t idx = vq->last_idx[RX_QUEUE];
112 vq->last_idx[RX_QUEUE]++;

Completed in 132 milliseconds