Displaying 20 results from an estimated 20 matches for "vringavail".
Did you mean:
vring_avail
2015 Jan 28
0
[Qemu-devel] [PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...; + 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;
> > + }
> > + vring->avail = vring->desc + vring->num * s...
2015 Jan 28
0
[Qemu-devel] [PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...; + 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;
> > + }
> > + vring->avail = vring->desc + vring->num * s...
2015 Jan 22
2
[Qemu-devel] [PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...waddr 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;
> + }
> + vring->avail = vring->desc + vring->num * sizeof(VRingDesc);
> + vr...
2015 Jan 22
2
[Qemu-devel] [PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...waddr 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;
> + }
> + vring->avail = vring->desc + vring->num * sizeof(VRingDesc);
> + vr...
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
2014 Dec 11
0
[PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...Device *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;
+ }
+ vring->avail = vring->desc + vring->num * sizeof(VRingDesc);
+ vring->used = vring_align(vring-&g...
2014 Dec 11
0
[PATCH RFC v6 07/20] virtio: allow virtio-1 queue layout
...Device *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;
+ }
+ vring->avail = vring->desc + vring->num * sizeof(VRingDesc);
+ vring->used = vring_align(vring-&g...
2014 Dec 03
0
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...Device *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;
+ }
+ vring->avail = vring->desc + vring->num * sizeof(VRingDesc);
+ vring->used = vring_align(vring-&g...
2014 Dec 03
0
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...Device *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;
+ }
+ vring->avail = vring->desc + vring->num * sizeof(VRingDesc);
+ vring->used = vring_align(vring-&g...
2007 Dec 21
0
[Virtio-for-kvm] [PATCH 1/7] userspace virtio
...pt guest when buffer consumed. */
+#define VRING_AVAIL_F_NO_INTERRUPT 1
+
+typedef struct VirtQueue VirtQueue;
+typedef struct VirtIODevice VirtIODevice;
+
+typedef struct VRingDesc
+{
+ uint64_t addr;
+ uint32_t len;
+ uint16_t flags;
+ uint16_t next;
+} VRingDesc;
+
+typedef struct VRingAvail
+{
+ uint16_t flags;
+ uint16_t idx;
+ uint16_t ring[0];
+} VRingAvail;
+
+typedef struct VRingUsedElem
+{
+ uint32_t id;
+ uint32_t len;
+} VRingUsedElem;
+
+typedef struct VRingUsed
+{
+ uint16_t flags;
+ uint16_t idx;
+ VRingUsedElem ring[0];
+} VRingUsed;
+
+typedef stru...
2007 Dec 21
0
[Virtio-for-kvm] [PATCH 1/7] userspace virtio
...pt guest when buffer consumed. */
+#define VRING_AVAIL_F_NO_INTERRUPT 1
+
+typedef struct VirtQueue VirtQueue;
+typedef struct VirtIODevice VirtIODevice;
+
+typedef struct VRingDesc
+{
+ uint64_t addr;
+ uint32_t len;
+ uint16_t flags;
+ uint16_t next;
+} VRingDesc;
+
+typedef struct VRingAvail
+{
+ uint16_t flags;
+ uint16_t idx;
+ uint16_t ring[0];
+} VRingAvail;
+
+typedef struct VRingUsedElem
+{
+ uint32_t id;
+ uint32_t len;
+} VRingUsedElem;
+
+typedef struct VRingUsed
+{
+ uint16_t flags;
+ uint16_t idx;
+ VRingUsedElem ring[0];
+} VRingUsed;
+
+typedef stru...
2014 Dec 03
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...waddr 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;
> + }
> + vring->avail = vring->desc + vring->num * sizeof(VRingDesc);
> + vr...
2014 Dec 03
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...waddr 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;
> + }
> + vring->avail = vring->desc + vring->num * sizeof(VRingDesc);
> + vr...
2014 Dec 02
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...RingDesc);
+ 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(VRingAvail, ring[vq->vring.num]),
vq->vring.align);
@@ -605,7 +605,6 @@ void virtio_reset(void *opaque)
vdev->vq[i].vring.avail = 0;
vdev->vq[i].vring.used = 0;
vdev->vq[i].last_avail_idx = 0;
- vdev->vq[i].pa = 0;...
2014 Dec 02
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
...RingDesc);
+ 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(VRingAvail, ring[vq->vring.num]),
vq->vring.align);
@@ -605,7 +605,6 @@ void virtio_reset(void *opaque)
vdev->vq[i].vring.avail = 0;
vdev->vq[i].vring.used = 0;
vdev->vq[i].last_avail_idx = 0;
- vdev->vq[i].pa = 0;...
2014 Dec 02
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
On Tue, Dec 02, 2014 at 02:00:15PM +0100, Cornelia Huck wrote:
> For virtio-1 devices, we allow a more complex queue layout that doesn't
> require descriptor table and rings on a physically-contigous memory area:
> add virtio_queue_set_rings() to allow transports to set this up.
>
> Signed-off-by: Cornelia Huck <cornelia.huck at de.ibm.com>
> ---
>
2014 Dec 02
2
[PATCH RFC v5 07/19] virtio: allow virtio-1 queue layout
On Tue, Dec 02, 2014 at 02:00:15PM +0100, Cornelia Huck wrote:
> For virtio-1 devices, we allow a more complex queue layout that doesn't
> require descriptor table and rings on a physically-contigous memory area:
> add virtio_queue_set_rings() to allow transports to set this up.
>
> Signed-off-by: Cornelia Huck <cornelia.huck at de.ibm.com>
> ---
>
2014 Dec 11
45
[PATCH RFC v6 00/20] qemu: towards virtio-1 host support
And yet another iteration of virtio-1 support in qemu, tested with the
latest virtio kernel patches. Find it at
git://github.com/cohuck/qemu virtio-1
Changes from v5:
- fixed stupid bug in "virtio: support more feature bits": we need to
define a proper prop backend for 64 bit wide handling...
- don't negotiate revision 1 unless VERSION_1 is offered
- use 64 bit wide features
2014 Dec 11
45
[PATCH RFC v6 00/20] qemu: towards virtio-1 host support
And yet another iteration of virtio-1 support in qemu, tested with the
latest virtio kernel patches. Find it at
git://github.com/cohuck/qemu virtio-1
Changes from v5:
- fixed stupid bug in "virtio: support more feature bits": we need to
define a proper prop backend for 64 bit wide handling...
- don't negotiate revision 1 unless VERSION_1 is offered
- use 64 bit wide features