/freebsd-11-stable/sys/dev/virtio/ |
H A D | virtqueue.h | 73 void *virtqueue_drain(struct virtqueue *vq, int *last); 74 void virtqueue_free(struct virtqueue *vq); 75 int virtqueue_reinit(struct virtqueue *vq, uint16_t size); 77 int virtqueue_intr_filter(struct virtqueue *vq); 78 void virtqueue_intr(struct virtqueue *vq); 79 int virtqueue_enable_intr(struct virtqueue *vq); 80 int virtqueue_postpone_intr(struct virtqueue *vq, vq_postpone_t hint); 81 void virtqueue_disable_intr(struct virtqueue *vq); 84 vm_paddr_t virtqueue_paddr(struct virtqueue *vq); 85 vm_paddr_t virtqueue_desc_paddr(struct virtqueue *vq); [all...] |
H A D | virtqueue.c | 118 static int virtqueue_init_indirect(struct virtqueue *vq, int); 119 static void virtqueue_free_indirect(struct virtqueue *vq); 151 struct virtqueue *vq; local 175 vq = malloc(sizeof(struct virtqueue) + 177 if (vq == NULL) { 182 vq->vq_dev = dev; 183 strlcpy(vq->vq_name, info->vqai_name, sizeof(vq->vq_name)); 184 vq->vq_queue_index = queue; 185 vq 223 virtqueue_init_indirect(struct virtqueue *vq, int indirect_size) argument 266 virtqueue_free_indirect(struct virtqueue *vq) argument 287 virtqueue_init_indirect_list(struct virtqueue *vq, struct vring_desc *indirect) argument 300 virtqueue_reinit(struct virtqueue *vq, uint16_t size) argument 342 virtqueue_free(struct virtqueue *vq) argument 364 virtqueue_paddr(struct virtqueue *vq) argument 371 virtqueue_desc_paddr(struct virtqueue *vq) argument 378 virtqueue_avail_paddr(struct virtqueue *vq) argument 385 virtqueue_used_paddr(struct virtqueue *vq) argument 392 virtqueue_index(struct virtqueue *vq) argument 398 virtqueue_size(struct virtqueue *vq) argument 405 virtqueue_nfree(struct virtqueue *vq) argument 412 virtqueue_empty(struct virtqueue *vq) argument 419 virtqueue_full(struct virtqueue *vq) argument 426 virtqueue_notify(struct virtqueue *vq) argument 438 virtqueue_nused(struct virtqueue *vq) argument 451 virtqueue_intr_filter(struct virtqueue *vq) argument 463 virtqueue_intr(struct virtqueue *vq) argument 470 virtqueue_enable_intr(struct virtqueue *vq) argument 477 virtqueue_postpone_intr(struct virtqueue *vq, vq_postpone_t hint) argument 502 virtqueue_disable_intr(struct virtqueue *vq) argument 513 virtqueue_enqueue(struct virtqueue *vq, void *cookie, struct sglist *sg, int readable, int writable) argument 566 virtqueue_dequeue(struct virtqueue *vq, uint32_t *len) argument 593 virtqueue_poll(struct virtqueue *vq, uint32_t *len) argument 607 virtqueue_drain(struct virtqueue *vq, int *last) argument 630 virtqueue_dump(struct virtqueue *vq) argument 649 vq_ring_init(struct virtqueue *vq) argument 667 vq_ring_update_avail(struct virtqueue *vq, uint16_t desc_idx) argument 689 vq_ring_enqueue_segments(struct virtqueue *vq, struct vring_desc *desc, uint16_t head_idx, struct sglist *sg, int readable, int writable) argument 720 vq_ring_use_indirect(struct virtqueue *vq, int needed) argument 736 vq_ring_enqueue_indirect(struct virtqueue *vq, void *cookie, struct sglist *sg, int readable, int writable) argument 776 vq_ring_enable_interrupt(struct virtqueue *vq, uint16_t ndesc) argument 802 vq_ring_must_notify_host(struct virtqueue *vq) argument 818 vq_ring_notify_host(struct virtqueue *vq) argument 825 vq_ring_free_chain(struct virtqueue *vq, uint16_t desc_idx) argument [all...] |
/freebsd-11-stable/contrib/unbound/validator/ |
H A D | validator.c | 69 struct val_qstate* vq, int id, int rcode, struct dns_msg* msg, 214 val_new_getmsg(struct module_qstate* qstate, struct val_qstate* vq) argument 219 vq->orig_msg = (struct dns_msg*)regional_alloc(qstate->region, 221 if(!vq->orig_msg) 223 vq->orig_msg->qinfo = qstate->qinfo; 224 vq->orig_msg->rep = (struct reply_info*)regional_alloc( 226 if(!vq->orig_msg->rep) 228 memset(vq->orig_msg->rep, 0, sizeof(struct reply_info)); 229 vq->orig_msg->rep->flags = (uint16_t)(qstate->return_rcode&0xf) 231 vq 257 struct val_qstate* vq = (struct val_qstate*)regional_alloc( local 383 struct val_qstate* vq = (struct val_qstate*)qstate->minfo[id]; local 530 prime_trust_anchor(struct module_qstate* qstate, struct val_qstate* vq, int id, struct trust_anchor* toprime) argument 1481 processInit(struct module_qstate* qstate, struct val_qstate* vq, struct val_env* ve, int id) argument 1668 processFindKey(struct module_qstate* qstate, struct val_qstate* vq, int id) argument 1820 processValidate(struct module_qstate* qstate, struct val_qstate* vq, struct val_env* ve, int id) argument 1995 processFinished(struct module_qstate* qstate, struct val_qstate* vq, struct val_env* ve, int id) argument 2176 val_handle(struct module_qstate* qstate, struct val_qstate* vq, struct val_env* ve, int id) argument 2210 struct val_qstate* vq = (struct val_qstate*)qstate->minfo[id]; local 2385 ds_response_to_ke(struct module_qstate* qstate, struct val_qstate* vq, int id, int rcode, struct dns_msg* msg, struct query_info* qinfo, struct key_entry_key** ke) argument 2604 process_ds_response(struct module_qstate* qstate, struct val_qstate* vq, int id, int rcode, struct dns_msg* msg, struct query_info* qinfo, struct sock_list* origin) argument 2677 process_dnskey_response(struct module_qstate* qstate, struct val_qstate* vq, int id, int rcode, struct dns_msg* msg, struct query_info* qinfo, struct sock_list* origin) argument 2773 process_prime_response(struct module_qstate* qstate, struct val_qstate* vq, int id, int rcode, struct dns_msg* msg, struct sock_list* origin) argument 2845 struct val_qstate* vq = (struct val_qstate*)super->minfo[id]; local [all...] |
/freebsd-11-stable/usr.sbin/bhyve/ |
H A D | virtio.h | 405 #define VQ_AVAIL_EVENT_IDX(vq) \ 406 (*(volatile uint16_t *)&(vq)->vq_used->vu_ring[(vq)->vq_qsize]) 407 #define VQ_USED_EVENT_IDX(vq) \ 408 ((vq)->vq_avail->va_ring[(vq)->vq_qsize]) 414 vq_ring_ready(struct vqueue_info *vq) argument 417 return (vq->vq_flags & VQ_ALLOC); 425 vq_has_descs(struct vqueue_info *vq) argument 428 return (vq_ring_ready(vq) 437 vq_interrupt(struct virtio_softc *vs, struct vqueue_info *vq) argument 452 vq_kick_enable(struct vqueue_info *vq) argument 465 vq_kick_disable(struct vqueue_info *vq) argument [all...] |
H A D | virtio.c | 95 struct vqueue_info *vq; local 102 for (vq = vs->vs_queues, i = 0; i < nvq; vq++, i++) { 103 vq->vq_flags = 0; 104 vq->vq_last_avail = 0; 105 vq->vq_save_used = 0; 106 vq->vq_pfn = 0; 107 vq->vq_msix_idx = VIRTIO_MSI_NO_VECTOR; 174 struct vqueue_info *vq; local 179 vq 262 vq_getchain(struct vqueue_info *vq, uint16_t *pidx, struct iovec *iov, int n_iov, uint16_t *flags) argument 391 vq_retchain(struct vqueue_info *vq) argument 405 vq_relchain(struct vqueue_info *vq, uint16_t idx, uint32_t iolen) argument 454 vq_endchains(struct vqueue_info *vq, int used_all_avail) argument 668 struct vqueue_info *vq; local 764 (*vq->vq_notify)(DEV_SOFTC(vs), vq); local 766 (*vc->vc_qnotify)(DEV_SOFTC(vs), vq); local [all...] |
H A D | pci_virtio_net.c | 282 struct vqueue_info *vq; local 307 vq = &sc->vsc_queues[VTNET_RXQ]; 308 if (!vq_has_descs(vq)) { 314 vq_endchains(vq, 1); 322 n = vq_getchain(vq, &idx, iov, VTNET_MAXSEGS, NULL); 339 vq_retchain(vq); 340 vq_endchains(vq, 0); 360 vq_relchain(vq, idx, len + sc->rx_vhdrlen); 361 } while (vq_has_descs(vq)); 364 vq_endchains(vq, 479 struct vqueue_info *vq; local 576 pci_vtnet_ping_rxq(void *vsc, struct vqueue_info *vq) argument 592 pci_vtnet_proctx(struct pci_vtnet_softc *sc, struct vqueue_info *vq) argument 621 pci_vtnet_ping_txq(void *vsc, struct vqueue_info *vq) argument 646 struct vqueue_info *vq; local 694 pci_vtnet_ping_ctlq(void *vsc, struct vqueue_info *vq) argument [all...] |
H A D | pci_virtio_rnd.c | 108 pci_vtrnd_notify(void *vsc, struct vqueue_info *vq) argument 118 vq_endchains(vq, 0); 122 while (vq_has_descs(vq)) { 123 n = vq_getchain(vq, &idx, &iov, 1, NULL); 136 vq_relchain(vq, idx, len); 138 vq_endchains(vq, 1); /* Generate interrupt if appropriate. */
|
H A D | pci_virtio_console.c | 218 pci_vtcon_vq_to_port(struct pci_vtcon_softc *sc, struct vqueue_info *vq) argument 220 uint16_t num = vq->vq_num; 379 struct vqueue_info *vq; local 386 vq = pci_vtcon_port_to_vq(port, true); 396 if (!vq_has_descs(vq)) { 398 vq_endchains(vq, 1); 406 n = vq_getchain(vq, &idx, &iov, 1, NULL); 411 vq_retchain(vq); 412 vq_endchains(vq, 0); 419 vq_relchain(vq, id 537 struct vqueue_info *vq; local 561 pci_vtcon_notify_tx(void *vsc, struct vqueue_info *vq) argument 588 pci_vtcon_notify_rx(void *vsc, struct vqueue_info *vq) argument [all...] |
H A D | pci_virtio_block.c | 200 pci_vtblk_proc(struct pci_vtblk_softc *sc, struct vqueue_info *vq) argument 211 n = vq_getchain(vq, &idx, iov, BLOCKIF_IOV_MAX + 2, flags); 286 pci_vtblk_notify(void *vsc, struct vqueue_info *vq) argument 290 while (vq_has_descs(vq)) 291 pci_vtblk_proc(sc, vq);
|
/freebsd-11-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ |
H A D | vdev_queue.c | 337 vdev_queue_class_tree(vdev_queue_t *vq, zio_priority_t p) argument 339 return (&vq->vq_class[p].vqc_queued_tree); 343 vdev_queue_type_tree(vdev_queue_t *vq, zio_type_t t) argument 346 return (&vq->vq_read_offset_tree); 348 return (&vq->vq_write_offset_tree); 380 vdev_queue_t *vq = &vd->vdev_queue; local 382 mutex_init(&vq->vq_lock, NULL, MUTEX_DEFAULT, NULL); 383 vq->vq_vdev = vd; 385 avl_create(&vq->vq_active_tree, vdev_queue_offset_compare, 387 avl_create(vdev_queue_type_tree(vq, ZIO_TYPE_REA 417 vdev_queue_t *vq = &vd->vdev_queue; local 429 vdev_queue_io_add(vdev_queue_t *vq, zio_t *zio) argument 451 vdev_queue_io_remove(vdev_queue_t *vq, zio_t *zio) argument 474 vdev_queue_pending_add(vdev_queue_t *vq, zio_t *zio) argument 492 vdev_queue_pending_remove(vdev_queue_t *vq, zio_t *zio) argument 631 vdev_queue_class_to_issue(vdev_queue_t *vq) argument 674 vdev_queue_aggregate(vdev_queue_t *vq, zio_t *zio) argument 848 vdev_queue_io_to_issue(vdev_queue_t *vq) argument 910 vdev_queue_t *vq = &zio->io_vd->vdev_queue; local 960 vdev_queue_t *vq = &zio->io_vd->vdev_queue; local 986 vdev_queue_t *vq = &zio->io_vd->vdev_queue; local [all...] |
/freebsd-11-stable/sys/dev/beri/virtio/ |
H A D | virtio.c | 75 vq_ring_ready(struct vqueue_info *vq) argument 78 return (vq->vq_flags & VQ_ALLOC); 82 vq_has_descs(struct vqueue_info *vq) argument 85 return (vq_ring_ready(vq) && vq->vq_last_avail != 86 be16toh(vq->vq_avail->idx)); 124 vq_getchain(uint32_t offs, struct vqueue_info *vq, argument 132 idx = vq->vq_last_avail; 133 ndesc = (be16toh(vq->vq_avail->idx) - idx); 137 head = be16toh(vq 170 vq_relchain(struct vqueue_info *vq, struct iovec *iov, int n, uint32_t iolen) argument [all...] |
H A D | virtio.h | 61 int vq_ring_ready(struct vqueue_info *vq); 62 int vq_has_descs(struct vqueue_info *vq); 65 int vq_getchain(uint32_t beri_mem_offset, struct vqueue_info *vq, 67 void vq_relchain(struct vqueue_info *vq, struct iovec *iov, int n, uint32_t iolen);
|
H A D | virtio_block.c | 149 vtblk_proc(struct beri_vtblk_softc *sc, struct vqueue_info *vq) argument 162 n = vq_getchain(sc->beri_mem_offset, vq, iov, 210 vq_relchain(vq, iov, n, 1); 277 struct vqueue_info *vq; local 281 vq = &sc->vs_queues[0]; 282 if (!vq_ring_ready(vq)) 294 vq = &sc->vs_queues[queue]; 295 vq->vq_save_used = be16toh(vq->vq_used->idx); 296 while (vq_has_descs(vq)) 312 struct vqueue_info *vq; local [all...] |
/freebsd-11-stable/sys/dev/beri/virtio/network/ |
H A D | if_vtbe.c | 143 struct vqueue_info *vq; local 158 vq = &sc->vs_queues[0]; 159 if (!vq_has_descs(vq)) { 170 if (!vq_ring_ready(vq)) 173 vq->vq_save_used = be16toh(vq->vq_used->idx); 176 if (!vq_has_descs(vq)) { 186 n = vq_getchain(sc->beri_mem_offset, vq, iov, 210 vq_relchain(vq, iov, n, iolen); 344 struct vqueue_info *vq; local 383 vtbe_proc_rx(struct vtbe_softc *sc, struct vqueue_info *vq) argument 439 struct vqueue_info *vq; local [all...] |
/freebsd-11-stable/sys/dev/virtio/console/ |
H A D | virtio_console.c | 551 struct virtqueue *vq; local 570 vq = scport->vcsp_invq; 571 if (vq != NULL) 572 vtcon_port_drain_bufs(vq); 594 struct virtqueue *vq; local 597 vq = sc->vtcon_ctrl_rxvq; 605 return (virtqueue_enqueue(vq, control, &sg, 0, sg.sg_nseg)); 642 struct virtqueue *vq; local 645 vq = sc->vtcon_ctrl_rxvq; 648 for (nbufs = 0; !virtqueue_full(vq); nbuf 666 struct virtqueue *vq; local 842 struct virtqueue *vq; local 892 struct virtqueue *vq; local 941 struct virtqueue *vq; local 986 struct virtqueue *vq; local 1096 vtcon_port_drain_bufs(struct virtqueue *vq) argument 1199 struct virtqueue *vq; local 1260 struct virtqueue *vq; local [all...] |
/freebsd-11-stable/sys/dev/virtio/random/ |
H A D | virtio_random.c | 195 struct virtqueue *vq; local 199 vq = sc->vtrnd_vq; 206 if (!virtqueue_empty(vq)) 208 if (virtqueue_enqueue(vq, &value, &sg, 0, 1) != 0) 215 virtqueue_notify(vq); 216 virtqueue_poll(vq, NULL);
|
/freebsd-11-stable/sys/dev/netmap/ |
H A D | if_vtnet_netmap.h | 56 vtnet_free_used(struct virtqueue *vq, int netmap_bufs, enum txrx t, int idx) argument 61 while ((cookie = virtqueue_dequeue(vq, NULL)) != NULL) { 161 struct virtqueue *vq = txq->vtntx_vq; local 193 err = virtqueue_enqueue(vq, /*cookie=*/txq, sg, 204 virtqueue_notify(vq); 215 void *token = virtqueue_dequeue(vq, NULL); 229 if (interrupts && virtqueue_nfree(vq) < 32) 230 virtqueue_postpone_intr(vq, VQ_POSTPONE_LONG); 247 struct virtqueue *vq = rxq->vtnrx_vq; local 271 err = virtqueue_enqueue(vq, /*cooki 332 struct virtqueue *vq = rxq->vtnrx_vq; local [all...] |
/freebsd-11-stable/sys/dev/virtio/balloon/ |
H A D | virtio_balloon.c | 317 struct virtqueue *vq; local 321 vq = sc->vtballoon_inflate_vq; 341 vtballoon_send_page_frames(sc, vq, i); 348 struct virtqueue *vq; local 352 vq = sc->vtballoon_deflate_vq; 371 vtballoon_send_page_frames(sc, vq, i); 388 vtballoon_send_page_frames(struct vtballoon_softc *sc, struct virtqueue *vq, argument 402 error = virtqueue_enqueue(vq, vq, &sg, 1, 0); 404 virtqueue_notify(vq); [all...] |
/freebsd-11-stable/sys/dev/virtio/mmio/ |
H A D | virtio_mmio.c | 499 struct virtqueue *vq; local 527 VIRTIO_MMIO_VRING_ALIGN, 0xFFFFFFFFUL, info, &vq); 540 (uint64_t)virtqueue_paddr(vq)); 543 virtqueue_paddr(vq) >> PAGE_SHIFT); 545 vqx->vtv_vq = *info->vqai_vq = vq; 753 struct virtqueue *vq; local 758 vq = vqx->vtv_vq; 760 KASSERT(vq != NULL, ("%s: vq %d not allocated", __func__, idx)); 765 error = virtqueue_reinit(vq, siz 838 struct virtqueue *vq; local [all...] |
/freebsd-11-stable/sys/libkern/ |
H A D | qdivrem.c | 80 __qdivrem(uq, vq, arq) 81 u_quad_t uq, vq, *arq; 93 if (vq == 0) { 102 if (uq < vq) { 130 tmp.uq = vq;
|
/freebsd-11-stable/lib/libc/quad/ |
H A D | qdivrem.c | 83 __qdivrem(uq, vq, arq) 84 u_quad_t uq, vq, *arq; 96 if (vq == 0) { 105 if (uq < vq) { 133 tmp.uq = vq;
|
/freebsd-11-stable/sys/dev/virtio/scsi/ |
H A D | virtio_scsi.c | 1073 struct virtqueue *vq; local 1081 vq = sc->vtscsi_request_vq; 1096 error = virtqueue_enqueue(vq, req, sg, readable, writable); 1109 virtqueue_notify(vq); 1403 struct virtqueue *vq; local 1406 vq = sc->vtscsi_control_vq; 1410 error = virtqueue_enqueue(vq, req, sg, readable, writable); 1422 virtqueue_notify(vq); 1793 struct virtqueue *vq; local 1797 vq 1877 struct virtqueue *vq; local 1955 vtscsi_drain_vq(struct vtscsi_softc *sc, struct virtqueue *vq) argument 2162 vtscsi_complete_vq(struct vtscsi_softc *sc, struct virtqueue *vq) argument 2176 struct virtqueue *vq; local 2199 struct virtqueue *vq; local 2224 struct virtqueue *vq; local [all...] |
/freebsd-11-stable/sys/dev/virtio/block/ |
H A D | virtio_blk.c | 892 struct virtqueue *vq; local 897 vq = sc->vtblk_vq; 912 if (!virtqueue_empty(vq)) 938 error = virtqueue_enqueue(vq, req, sg, readable, writable); 1000 struct virtqueue *vq; local 1004 vq = sc->vtblk_vq; 1007 while ((req = virtqueue_drain(vq, &last)) != NULL) { 1013 KASSERT(virtqueue_empty(vq), ("virtqueue not empty")); 1050 struct virtqueue *vq; local 1055 vq 1171 struct virtqueue *vq; local 1218 struct virtqueue *vq; local [all...] |
/freebsd-11-stable/sys/dev/virtio/pci/ |
H A D | virtio_pci.c | 479 struct virtqueue *vq; local 505 0xFFFFFFFFUL, info, &vq); 513 virtqueue_paddr(vq) >> VIRTIO_PCI_QUEUE_ADDR_SHIFT); 515 vqx->vtv_vq = *info->vqai_vq = vq; 1102 struct virtqueue *vq; local 1107 vq = vqx->vtv_vq; 1109 KASSERT(vq != NULL, ("%s: vq %d not allocated", __func__, idx)); 1114 error = virtqueue_reinit(vq, size); 1119 virtqueue_paddr(vq) >> VIRTIO_PCI_QUEUE_ADDR_SHIF 1301 struct virtqueue *vq; local 1313 struct virtqueue *vq; local [all...] |
/freebsd-11-stable/sys/dev/virtio/network/ |
H A D | if_vtnet.c | 910 * when per-vq MSIX is available. 946 struct virtqueue *vq = sc->vtnet_txqs[0].vtntx_vq; local 948 IFQ_SET_MAXLEN(&ifp->if_snd, virtqueue_size(vq) - 1); 949 ifp->if_snd.ifq_drv_maxlen = virtqueue_size(vq) - 1; 1185 struct virtqueue *vq; local 1194 vq = rxq->vtnrx_vq; 1197 for (nbufs = 0; !virtqueue_full(vq); nbufs++) { 1204 virtqueue_notify(vq); 1220 struct virtqueue *vq; local 1230 vq 1663 struct virtqueue *vq; local 1760 struct virtqueue *vq; local 1932 struct virtqueue *vq; local 1943 struct virtqueue *vq; local 1969 struct virtqueue *vq; local 2146 struct virtqueue *vq; local 2246 struct virtqueue *vq; local 2312 struct virtqueue *vq; local 2465 struct virtqueue *vq; local 3098 struct virtqueue *vq; local 3107 ("%s: ctrl vq %p not empty", __func__, vq)); local 3114 struct virtqueue *vq; local 3885 struct virtqueue *vq; local [all...] |