Re: [Qemu-devel] [PATCH RFC 07/11] dataplane: allow virtio-1 devices
From: Cornelia Huck <hidden>
Date: 2014-10-30 09:19:05
Also in:
kvm, qemu-devel
On Tue, 28 Oct 2014 16:22:54 +0100 Greg Kurz [off-list ref] wrote:
On Tue, 7 Oct 2014 16:40:03 +0200 Cornelia Huck [off-list ref] wrote:quoted
Handle endianness conversion for virtio-1 virtqueues correctly. Note that dataplane now needs to be built per-target.It also affects hw/virtio/virtio-pci.c: In file included from include/hw/virtio/dataplane/vring.h:23:0, from include/hw/virtio/virtio-scsi.h:21, from hw/virtio/virtio-pci.c:24: include/hw/virtio/virtio-access.h: In function ‘virtio_access_is_big_endian’: include/hw/virtio/virtio-access.h:28:15: error: attempt to use poisoned "TARGET_WORDS_BIGENDIAN" #elif defined(TARGET_WORDS_BIGENDIAN) ^ FWIW when I added endian ambivalent support to virtio, I remember *some people* getting angry at the idea of turning common code into per-target... :)
Well, it probably can't be helped for something that is endian-sensitive like virtio :( (Although we should try to keep it as local as possible.)
See comment below.quoted
Signed-off-by: Cornelia Huck <redacted> --- hw/block/dataplane/virtio-blk.c | 3 +- hw/scsi/virtio-scsi-dataplane.c | 2 +- hw/virtio/Makefile.objs | 2 +- hw/virtio/dataplane/Makefile.objs | 2 +- hw/virtio/dataplane/vring.c | 85 +++++++++++++++++++---------------- include/hw/virtio/dataplane/vring.h | 64 ++++++++++++++++++++++++-- 6 files changed, 113 insertions(+), 45 deletions(-)
quoted
diff --git a/include/hw/virtio/dataplane/vring.h b/include/hw/virtio/dataplane/vring.h index d3e086a..fde15f3 100644 --- a/ +++ b/include/hw/virtio/dataplane/vring.h@@ -20,6 +20,7 @@ #include "qemu-common.h" #include "hw/virtio/virtio_ring.h" #include "hw/virtio/virtio.h" +#include "hw/virtio/virtio-access.h"Since the following commit: commit 244e2898b7a7735b3da114c120abe206af56a167 Author: Fam Zheng [off-list ref] Date: Wed Sep 24 15:21:41 2014 +0800 virtio-scsi: Add VirtIOSCSIVring in VirtIOSCSIReq The include/hw/virtio/dataplane/vring.h header is indirectly included by hw/virtio/virtio-pci.c. Why don't you move all this target dependent helpers to another header ?
Ah, this seems to have come in after I hacked on that code - I'll take a look at splitting off the accessors. _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization