<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/include/hw/virtio/dataplane, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/include/hw/virtio/dataplane?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/include/hw/virtio/dataplane?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2016-02-25T11:14:19+00:00</updated>
<entry>
<title>vring: remove</title>
<updated>2016-02-25T11:14:19+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2016-02-14T17:17:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=fee089e4e258d85baf8d15783c01dfe6be98db04'/>
<id>urn:sha1:fee089e4e258d85baf8d15783c01dfe6be98db04</id>
<content type='text'>
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Reviewed-by: Fam Zheng &lt;famz@redhat.com&gt;
Acked-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>vring: make vring_enable_notification return void</title>
<updated>2016-02-25T11:14:18+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2016-02-14T17:17:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=8b1fe1cedfde53c233c89938fca334ccaab26cff'/>
<id>urn:sha1:8b1fe1cedfde53c233c89938fca334ccaab26cff</id>
<content type='text'>
Make the API more similar to the regular virtqueue API.  This will
help when modifying the code to not use vring.c anymore.

Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Acked-by: Cornelia Huck &lt;cornelia.huck@de.ibm.com&gt;
Reviewed-by: Fam Zheng &lt;famz@redhat.com&gt;
Acked-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>virtio: move allocation to virtqueue_pop/vring_pop</title>
<updated>2016-02-06T18:39:07+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2016-02-04T14:26:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=51b19ebe4320f3dcd93cea71235c1219318ddfd2'/>
<id>urn:sha1:51b19ebe4320f3dcd93cea71235c1219318ddfd2</id>
<content type='text'>
The return code of virtqueue_pop/vring_pop is unused except to check for
errors or 0.  We can thus easily move allocation inside the functions
and just return a pointer to the VirtQueueElement.

The advantage is that we will be able to allocate only the space that
is needed for the actual size of the s/g list instead of the full
VIRTQUEUE_MAX_SIZE items.  Currently VirtQueueElement takes about 48K
of memory, and this kind of allocation puts a lot of stress on malloc.
By cutting the size by two or three orders of magnitude, malloc can
use much more efficient algorithms.

The patch is pretty large, but changes to each device are testable
more or less independently.  Splitting it would mostly add churn.

Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Reviewed-by: Cornelia Huck &lt;cornelia.huck@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>virtio dataplane: adapt dataplane for virtio Version 1</title>
<updated>2015-10-12T10:16:45+00:00</updated>
<author>
<name>Pierre Morel</name>
</author>
<published>2015-09-07T11:33:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a9718ef0005d6910097788936dc40c0204713729'/>
<id>urn:sha1:a9718ef0005d6910097788936dc40c0204713729</id>
<content type='text'>
Let dataplane allocate different region for the desc/avail/used
ring regions.
Take VIRTIO_RING_F_EVENT_IDX into account to increase the used/avail
rings accordingly.

[Fix 32-bit builds by changing 16lx format specifier to HWADDR_PRIx.
--Stefan]

Signed-off-by: Pierre Morel &lt;pmorel@linux.vnet.ibm.com&gt;
Tested-by: Greg Kurz &lt;gkurz@linux.vnet.ibm.com&gt;
Signed-off-by: Greg Kurz &lt;gkurz@linux.vnet.ibm.com&gt;
Message-id: 1441625636-23773-1-git-send-email-pmorel@linux.vnet.ibm.com
(changed __virtio16 into uint16_t,
 map descriptor table and available ring read-only)
Signed-off-by: Greg Kurz &lt;gkurz@linux.vnet.ibm.com&gt;
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>virtio: use standard virtio_ring.h</title>
<updated>2015-02-26T12:04:03+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
</author>
<published>2015-02-16T21:35:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=4fbe0f322d5413482efbf9c0d2329fdc32bea6d1'/>
<id>urn:sha1:4fbe0f322d5413482efbf9c0d2329fdc32bea6d1</id>
<content type='text'>
Switch to virtio_ring.h from standard headers.

Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>dataplane: endianness-aware accesses</title>
<updated>2015-02-16T15:07:16+00:00</updated>
<author>
<name>Cornelia Huck</name>
</author>
<published>2015-01-26T16:26:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=b0e5d90ebc3edb5cfc1d5d33dd3334482dee6d46'/>
<id>urn:sha1:b0e5d90ebc3edb5cfc1d5d33dd3334482dee6d46</id>
<content type='text'>
The vring.c code currently assumes that guest and host endianness match,
which is not true for a number of cases:

- emulating targets with a different endianness than the host
- bi-endian targets, where the correct endianness depends on the virtio
  device
- upcoming support for the virtio-1 standard mandates little-endian
  accesses even for big-endian targets and hosts

Make sure to use accessors that depend on the virtio device.

Note that dataplane now needs to be built per-target.

Cc: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Cc: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Cc: Fam Zheng &lt;famz@redhat.com&gt;
Reviewed-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Tested-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Cornelia Huck &lt;cornelia.huck@de.ibm.com&gt;
Reviewed-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Message-id: 1422289602-17874-2-git-send-email-cornelia.huck@de.ibm.com
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>virtio: Import virtio_vring.h</title>
<updated>2014-09-22T10:39:49+00:00</updated>
<author>
<name>Fam Zheng</name>
</author>
<published>2014-09-10T06:17:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=d9612b43dd062309a6a4ad4e5cef2badc94f5385'/>
<id>urn:sha1:d9612b43dd062309a6a4ad4e5cef2badc94f5385</id>
<content type='text'>
This header has no further dependencies. It only has some stable data
types and primitive functions, so we can copy it to include/hw/virtio in
order to allow vring code (and its user virtio-blk dataplane) to be
built unconditionally, even for cross compiling.

Suggested-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Fam Zheng &lt;famz@redhat.com&gt;
Reviewed-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Message-id: 1410329871-28885-2-git-send-email-famz@redhat.com
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>virtio-blk: embed VirtQueueElement in VirtIOBlockReq</title>
<updated>2014-07-14T10:03:20+00:00</updated>
<author>
<name>Stefan Hajnoczi</name>
</author>
<published>2014-07-09T08:05:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=f897bf751fbd95e4015b95d202c706548586813a'/>
<id>urn:sha1:f897bf751fbd95e4015b95d202c706548586813a</id>
<content type='text'>
The memory allocation between hw/block/virtio-blk.c,
hw/block/dataplane/virtio-blk.c, and hw/virtio/dataplane/vring.c is
messy.  Structs are allocated in different files than they are freed in.
This is risky and makes memory leaks easier.

Embed VirtQueueElement in VirtIOBlockReq to reduce the amount of memory
allocation we need to juggle.  This also makes vring.c and virtio.c
slightly more similar.

Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Signed-off-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
</content>
</entry>
<entry>
<title>dataplane: do not free VirtQueueElement in vring_push()</title>
<updated>2014-07-14T10:03:20+00:00</updated>
<author>
<name>Stefan Hajnoczi</name>
</author>
<published>2014-07-09T08:05:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=abd764250fbce6f285513d74f03eb5c526e520f6'/>
<id>urn:sha1:abd764250fbce6f285513d74f03eb5c526e520f6</id>
<content type='text'>
VirtQueueElement is allocated in vring_pop() so it seems to make sense
that vring_push() should free it.  Alas, virtio-blk frees
VirtQueueElement itself in virtio_blk_free_request().

This patch solves a double-free assertion in glib's g_slice_free().

Rename vring_free_element() to vring_unmap_element() since it no longer
frees the VirtQueueElement.

Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Tested-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Signed-off-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
</content>
</entry>
<entry>
<title>dataplane: replace hostmem with memory_region_find</title>
<updated>2013-12-20T08:11:57+00:00</updated>
<author>
<name>Paolo Bonzini</name>
</author>
<published>2013-12-10T12:27:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=87b7f2f8c8da4d2da2728f0f1ad207973f1ea834'/>
<id>urn:sha1:87b7f2f8c8da4d2da2728f0f1ad207973f1ea834</id>
<content type='text'>
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
</feed>
