virtqueue
virtio_mmio_setup_queue(struct virtio_softc *vsc, struct virtqueue *vq,
void virtio_mmio_setup_queue(struct virtio_softc *, struct virtqueue *, uint64_t);
struct virtqueue *vq = arg;
virtio_pci_setup_queue(struct virtio_softc *vsc, struct virtqueue *vq,
void virtio_pci_setup_queue(struct virtio_softc *, struct virtqueue *, uint64_t);
struct virtqueue *vq = vioq->viq_txvq;
struct virtqueue *vq = vioq->viq_rxvq;
vio_rx_intr(struct virtqueue *vq)
vio_tx_intr(struct virtqueue *vq)
vio_tx_dequeue(struct virtqueue *vq)
vio_txeof(struct virtqueue *vq)
struct virtqueue *vq = sc->sc_ctl_vq;
struct virtqueue *vq = sc->sc_ctl_vq;
struct virtqueue *vq = sc->sc_ctl_vq;
struct virtqueue *vq = sc->sc_ctl_vq;
struct virtqueue *vq = sc->sc_ctl_vq;
vio_ctrleof(struct virtqueue *vq)
struct virtqueue *vq = sc->sc_ctl_vq;
struct virtqueue *viq_rxvq;
struct virtqueue *viq_txvq;
struct virtqueue *sc_ctl_vq;
int vio_rx_intr(struct virtqueue *);
int vio_tx_intr(struct virtqueue *);
int vio_tx_dequeue(struct virtqueue *);
int vio_txeof(struct virtqueue *);
int vio_ctrleof(struct virtqueue *);
struct virtqueue *vq, int slot, void *p, size_t size, int write)
struct virtqueue *vq = arg;
struct virtqueue sc_vq[1];
int vioblk_vq_done(struct virtqueue *);
struct virtqueue *, int);
vioblk_vq_done(struct virtqueue *vq)
struct virtqueue *vq, int slot)
struct virtqueue *vq = &sc->sc_vq[0];
struct virtqueue *vq = &sc->sc_vq[0];
struct virtqueue *sc_c_vq_rx;
struct virtqueue *sc_c_vq_tx;
int viocon_tx_intr(struct virtqueue *);
int viocon_tx_drain(struct viocon_port *, struct virtqueue *vq);
int viocon_rx_intr(struct virtqueue *);
vsc->sc_vqs = malloc(2 * (maxports + 1) * sizeof(struct virtqueue), M_DEVBUF,
free(vsc->sc_vqs, M_DEVBUF, 2 * (maxports + 1) * sizeof(struct virtqueue));
viocon_tx_drain(struct viocon_port *vp, struct virtqueue *vq)
viocon_tx_intr(struct virtqueue *vq)
struct virtqueue *vq = vp->vp_rx;
viocon_rx_intr(struct virtqueue *vq)
struct virtqueue *vq = vp->vp_rx;
struct virtqueue *vq;
struct virtqueue *vp_rx;
struct virtqueue *vp_tx;
viogpu_vq_done(struct virtqueue *vq)
struct virtqueue *vq = &sc->sc_vqs[VQCTRL];
struct virtqueue *vq = &vsc->sc_vqs[VQCTRL];
int viogpu_vq_done(struct virtqueue *vq);
struct virtqueue sc_vqs[2];
int viomb_vq_dequeue(struct virtqueue *);
int viomb_inflate_intr(struct virtqueue *);
int viomb_deflate_intr(struct virtqueue *);
struct virtqueue *vq = &sc->sc_vq[VQ_INFLATE];
struct virtqueue *vq = &sc->sc_vq[VQ_DEFLATE];
viomb_vq_dequeue(struct virtqueue *vq)
viomb_inflate_intr(struct virtqueue *vq)
viomb_deflate_intr(struct virtqueue *vq)
struct virtqueue sc_vq[2];
viornd_vq_done(struct virtqueue *vq)
struct virtqueue *vq = &sc->sc_vq;
struct virtqueue sc_vq;
int viornd_vq_done(struct virtqueue *);
struct virtqueue *vq = &sc->sc_vqs[2];
vioscsi_vq_done(struct virtqueue *vq)
struct virtqueue *vq = &sc->sc_vqs[2];
struct virtqueue sc_vqs[3];
int vioscsi_vq_done(struct virtqueue *);
virtio_nused(struct virtqueue *vq)
virtio_vq_dump(struct virtqueue *vq)
struct virtqueue *vq = &sc->sc_vqs[i];
struct virtqueue *vq = &sc->sc_vqs[i];
vq_sync_descs(struct virtio_softc *sc, struct virtqueue *vq, int ops)
vq_sync_aring(struct virtio_softc *sc, struct virtqueue *vq, int ops)
vq_sync_aring_used_event(struct virtio_softc *sc, struct virtqueue *vq, int ops)
vq_sync_uring(struct virtio_softc *sc, struct virtqueue *vq, int ops)
vq_sync_uring_avail_event(struct virtio_softc *sc, struct virtqueue *vq, int ops)
vq_sync_indirect(struct virtio_softc *sc, struct virtqueue *vq, int slot,
virtio_check_vq(struct virtio_softc *sc, struct virtqueue *vq)
virtio_init_vq(struct virtio_softc *sc, struct virtqueue *vq)
virtio_alloc_vq(struct virtio_softc *sc, struct virtqueue *vq, int index,
struct virtqueue *);
void vq_free_entry(struct virtqueue *, struct vq_entry *);
virtio_free_vq(struct virtio_softc *sc, struct virtqueue *vq)
struct vq_entry *vq_alloc_entry(struct virtqueue *);
vq_alloc_entry(struct virtqueue *vq)
vq_free_entry(struct virtqueue *vq, struct vq_entry *qe)
virtio_enqueue_prep(struct virtqueue *vq, int *slotp)
virtio_enqueue_reserve(struct virtqueue *vq, int slot, int nsegs)
virtio_enqueue(struct virtqueue *vq, int slot, bus_dmamap_t dmamap, int write)
virtio_enqueue_p(struct virtqueue *vq, int slot, bus_dmamap_t dmamap,
publish_avail_idx(struct virtio_softc *sc, struct virtqueue *vq)
virtio_enqueue_commit(struct virtio_softc *sc, struct virtqueue *vq, int slot,
virtio_enqueue_abort(struct virtqueue *vq, int slot)
virtio_enqueue_trim(struct virtqueue *vq, int slot, int nsegs)
virtio_dequeue(struct virtio_softc *sc, struct virtqueue *vq,
virtio_dequeue_commit(struct virtqueue *vq, int slot)
virtio_postpone_intr(struct virtqueue *vq, uint16_t nslots)
virtio_postpone_intr_smart(struct virtqueue *vq)
virtio_postpone_intr_far(struct virtqueue *vq)
virtio_stop_vq_intr(struct virtio_softc *sc, struct virtqueue *vq)
virtio_start_vq_intr(struct virtio_softc *sc, struct virtqueue *vq)
int (*vq_done)(struct virtqueue*);
void (*setup_queue)(struct virtio_softc *, struct virtqueue *, uint64_t);
struct virtqueue *sc_vqs; /* set by child */
int virtio_alloc_vq(struct virtio_softc*, struct virtqueue*, int, int,
int virtio_free_vq(struct virtio_softc*, struct virtqueue*);
int virtio_enqueue_prep(struct virtqueue*, int*);
int virtio_enqueue_reserve(struct virtqueue*, int, int);
int virtio_enqueue(struct virtqueue*, int, bus_dmamap_t, int);
int virtio_enqueue_p(struct virtqueue*, int, bus_dmamap_t, bus_addr_t,
void virtio_enqueue_commit(struct virtio_softc*, struct virtqueue*, int, int);
int virtio_enqueue_abort(struct virtqueue*, int);
void virtio_enqueue_trim(struct virtqueue*, int, int);
int virtio_dequeue(struct virtio_softc*, struct virtqueue*, int *, int *);
int virtio_dequeue_commit(struct virtqueue*, int);
int virtio_check_vq(struct virtio_softc *, struct virtqueue *);
void virtio_stop_vq_intr(struct virtio_softc *, struct virtqueue *);
int virtio_start_vq_intr(struct virtio_softc *, struct virtqueue *);
void virtio_vq_dump(struct virtqueue *vq);
int virtio_nused(struct virtqueue *vq);
int virtio_postpone_intr(struct virtqueue *vq, uint16_t nslots);
int virtio_postpone_intr_smart(struct virtqueue *vq);
int virtio_postpone_intr_far(struct virtqueue *vq);