search for: vringdesc

Displaying 20 results from an estimated 38 matches for "vringdesc".

Did you mean: vring_desc
2014 Dec 02
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...+ if (pa == -1ULL) { > + /* > + * This is a virtio-1 style vq that has already been setup > + * in virtio_queue_set. > + */ > + return; > + } > vq->vring.desc = pa; > vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); > vq->vring.used = vring_align(vq->vring.avail + > @@ -717,6 +724,15 @@ hwaddr virtio_queue_get_addr(VirtIODevice *vdev, int n) > return vdev->vq[n].pa; > } > > +void virtio_queue_set_rings(VirtIODevice *vdev, int n, hwaddr desc, > +...
2014 Dec 02
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...+ if (pa == -1ULL) { > + /* > + * This is a virtio-1 style vq that has already been setup > + * in virtio_queue_set. > + */ > + return; > + } > vq->vring.desc = pa; > vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); > vq->vring.used = vring_align(vq->vring.avail + > @@ -717,6 +724,15 @@ hwaddr virtio_queue_get_addr(VirtIODevice *vdev, int n) > return vdev->vq[n].pa; > } > > +void virtio_queue_set_rings(VirtIODevice *vdev, int n, hwaddr desc, > +...
2015 Jan 28
0
[Qemu-devel] [PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...devices? virtio_queue_legacy_update_rings()? Maybe a bit long... > > > { > > - hwaddr pa = vq->pa; > > + VRing *vring = &vdev->vq[n].vring; > > > > - vq->vring.desc = pa; > > - vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); > > - vq->vring.used = vring_align(vq->vring.avail + > > - offsetof(VRingAvail, ring[vq->vring.num]), > > - vq->vring.align); > > + if (!vring->desc) { > > + /* not yet setup...
2015 Jan 28
0
[Qemu-devel] [PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...devices? virtio_queue_legacy_update_rings()? Maybe a bit long... > > > { > > - hwaddr pa = vq->pa; > > + VRing *vring = &vdev->vq[n].vring; > > > > - vq->vring.desc = pa; > > - vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); > > - vq->vring.used = vring_align(vq->vring.avail + > > - offsetof(VRingAvail, ring[vq->vring.num]), > > - vq->vring.align); > > + if (!vring->desc) { > > + /* not yet setup...
2015 Jan 22
2
[Qemu-devel] [PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...vice *vdev, int n) Perhaps something in the name to emphasise that this is only for <v1.0 devices? > { > - hwaddr pa = vq->pa; > + VRing *vring = &vdev->vq[n].vring; > > - vq->vring.desc = pa; > - vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); > - vq->vring.used = vring_align(vq->vring.avail + > - offsetof(VRingAvail, ring[vq->vring.num]), > - vq->vring.align); > + if (!vring->desc) { > + /* not yet setup -> nothing to do */ &g...
2015 Jan 22
2
[Qemu-devel] [PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...vice *vdev, int n) Perhaps something in the name to emphasise that this is only for <v1.0 devices? > { > - hwaddr pa = vq->pa; > + VRing *vring = &vdev->vq[n].vring; > > - vq->vring.desc = pa; > - vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); > - vq->vring.used = vring_align(vq->vring.avail + > - offsetof(VRingAvail, ring[vq->vring.num]), > - vq->vring.align); > + if (!vring->desc) { > + /* not yet setup -> nothing to do */ &g...
2014 Dec 03
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
On Tue, 2 Dec 2014 21:03:45 +0200 "Michael S. Tsirkin" <mst at redhat.com> wrote: > On Tue, Dec 02, 2014 at 04:41:36PM +0100, Cornelia Huck wrote: > > void virtio_queue_set_num(VirtIODevice *vdev, int n, int num) > > { > > + /* > > + * For virtio-1 devices, the number of buffers may only be > > + * updated if the ring addresses have
2014 Dec 03
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
On Tue, 2 Dec 2014 21:03:45 +0200 "Michael S. Tsirkin" <mst at redhat.com> wrote: > On Tue, Dec 02, 2014 at 04:41:36PM +0100, Cornelia Huck wrote: > > void virtio_queue_set_num(VirtIODevice *vdev, int n, int num) > > { > > + /* > > + * For virtio-1 devices, the number of buffers may only be > > + * updated if the ring addresses have
2007 Dec 21
0
[Virtio-for-kvm] [PATCH 1/7] userspace virtio
...the calls to wmb() in though to make it obvious for + * KVM or if kqemu gets SMP support. + */ +#define wmb() do { } while (0) + +/* virt queue functions */ + +static void virtqueue_init(VirtQueue *vq, void *p) +{ + vq->vring.desc = p; + vq->vring.avail = p + vq->vring.num * sizeof(VRingDesc); + vq->vring.used = (void *)TARGET_PAGE_ALIGN((unsigned long)&vq->vring.avail->ring[vq->vring.num]); +} + +static unsigned virtqueue_next_desc(VirtQueue *vq, unsigned int i) +{ + unsigned int next; + + /* If this descriptor says it doesn't chain, we're done. */ +...
2007 Dec 21
0
[Virtio-for-kvm] [PATCH 1/7] userspace virtio
...the calls to wmb() in though to make it obvious for + * KVM or if kqemu gets SMP support. + */ +#define wmb() do { } while (0) + +/* virt queue functions */ + +static void virtqueue_init(VirtQueue *vq, void *p) +{ + vq->vring.desc = p; + vq->vring.avail = p + vq->vring.num * sizeof(VRingDesc); + vq->vring.used = (void *)TARGET_PAGE_ALIGN((unsigned long)&vq->vring.avail->ring[vq->vring.num]); +} + +static unsigned virtqueue_next_desc(VirtQueue *vq, unsigned int i) +{ + unsigned int next; + + /* If this descriptor says it doesn't chain, we're done. */ +...
2014 Dec 11
0
[PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...; /* virt queue functions */ -static void virtqueue_init(VirtQueue *vq) +void virtio_queue_update_rings(VirtIODevice *vdev, int n) { - hwaddr pa = vq->pa; + VRing *vring = &vdev->vq[n].vring; - vq->vring.desc = pa; - vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); - vq->vring.used = vring_align(vq->vring.avail + - offsetof(VRingAvail, ring[vq->vring.num]), - vq->vring.align); + if (!vring->desc) { + /* not yet setup -> nothing to do */ + return; + } +...
2014 Dec 11
0
[PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...; /* virt queue functions */ -static void virtqueue_init(VirtQueue *vq) +void virtio_queue_update_rings(VirtIODevice *vdev, int n) { - hwaddr pa = vq->pa; + VRing *vring = &vdev->vq[n].vring; - vq->vring.desc = pa; - vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); - vq->vring.used = vring_align(vq->vring.avail + - offsetof(VRingAvail, ring[vq->vring.num]), - vq->vring.align); + if (!vring->desc) { + /* not yet setup -> nothing to do */ + return; + } +...
2014 Dec 03
0
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...; /* virt queue functions */ -static void virtqueue_init(VirtQueue *vq) +void virtio_queue_update_rings(VirtIODevice *vdev, int n) { - hwaddr pa = vq->pa; + VRing *vring = &vdev->vq[n].vring; - vq->vring.desc = pa; - vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); - vq->vring.used = vring_align(vq->vring.avail + - offsetof(VRingAvail, ring[vq->vring.num]), - vq->vring.align); + if (!vring->desc) { + /* not yet setup -> nothing to do */ + return; + } +...
2014 Dec 03
0
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...; /* virt queue functions */ -static void virtqueue_init(VirtQueue *vq) +void virtio_queue_update_rings(VirtIODevice *vdev, int n) { - hwaddr pa = vq->pa; + VRing *vring = &vdev->vq[n].vring; - vq->vring.desc = pa; - vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); - vq->vring.used = vring_align(vq->vring.avail + - offsetof(VRingAvail, ring[vq->vring.num]), - vq->vring.align); + if (!vring->desc) { + /* not yet setup -> nothing to do */ + return; + } +...
2014 Dec 02
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...signalled_used; @@ -92,12 +91,13 @@ struct VirtQueue }; /* virt queue functions */ -static void virtqueue_init(VirtQueue *vq) +static void virtqueue_update_rings(VirtQueue *vq) { - hwaddr pa = vq->pa; - - vq->vring.desc = pa; - vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); + if (!vq->vring.desc) { + /* not yet setup -> nothing to do */ + return; + } + vq->vring.avail = vq->vring.desc + vq->vring.num * sizeof(VRingDesc); vq->vring.used = vring_align(vq->vring.avail + offsetof(VRingAva...
2014 Dec 02
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...signalled_used; @@ -92,12 +91,13 @@ struct VirtQueue }; /* virt queue functions */ -static void virtqueue_init(VirtQueue *vq) +static void virtqueue_update_rings(VirtQueue *vq) { - hwaddr pa = vq->pa; - - vq->vring.desc = pa; - vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); + if (!vq->vring.desc) { + /* not yet setup -> nothing to do */ + return; + } + vq->vring.avail = vq->vring.desc + vq->vring.num * sizeof(VRingDesc); vq->vring.used = vring_align(vq->vring.avail + offsetof(VRingAva...
2014 Dec 02
0
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...e *vq) { hwaddr pa = vq->pa; + if (pa == -1ULL) { + /* + * This is a virtio-1 style vq that has already been setup + * in virtio_queue_set. + */ + return; + } vq->vring.desc = pa; vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); vq->vring.used = vring_align(vq->vring.avail + @@ -717,6 +724,15 @@ hwaddr virtio_queue_get_addr(VirtIODevice *vdev, int n) return vdev->vq[n].pa; } +void virtio_queue_set_rings(VirtIODevice *vdev, int n, hwaddr desc, + hwaddr avail, hwaddr used) +...
2014 Dec 02
0
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
.../* > > + * This is a virtio-1 style vq that has already been setup > > + * in virtio_queue_set. > > + */ > > + return; > > + } > > vq->vring.desc = pa; > > vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); > > vq->vring.used = vring_align(vq->vring.avail + > > @@ -717,6 +724,15 @@ hwaddr virtio_queue_get_addr(VirtIODevice *vdev, int n) > > return vdev->vq[n].pa; > > } > > > > +void virtio_queue_set_rings(VirtIODevice *vdev, int n, hwaddr des...
2014 Dec 02
0
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...e *vq) { hwaddr pa = vq->pa; + if (pa == -1ULL) { + /* + * This is a virtio-1 style vq that has already been setup + * in virtio_queue_set. + */ + return; + } vq->vring.desc = pa; vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); vq->vring.used = vring_align(vq->vring.avail + @@ -717,6 +724,15 @@ hwaddr virtio_queue_get_addr(VirtIODevice *vdev, int n) return vdev->vq[n].pa; } +void virtio_queue_set_rings(VirtIODevice *vdev, int n, hwaddr desc, + hwaddr avail, hwaddr used) +...
2014 Dec 02
0
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
.../* > > + * This is a virtio-1 style vq that has already been setup > > + * in virtio_queue_set. > > + */ > > + return; > > + } > > vq->vring.desc = pa; > > vq->vring.avail = pa + vq->vring.num * sizeof(VRingDesc); > > vq->vring.used = vring_align(vq->vring.avail + > > @@ -717,6 +724,15 @@ hwaddr virtio_queue_get_addr(VirtIODevice *vdev, int n) > > return vdev->vq[n].pa; > > } > > > > +void virtio_queue_set_rings(VirtIODevice *vdev, int n, hwaddr des...