On Wed, Oct 29, 2014 at 09:38:41AM +0100, Cédric Le Goater wrote: > This patchset adds a VHOST_VRING_F_BYTESWAP flag to inform the host > to byteswap data of the vring when the guest and the host have a > different endian order. The flag is stored at initialization in an > attribute of the virtio queues. It is then used to byteswap, or not, > the vring indexes and descriptors shared with the guest OS. > > The last patch adds the byteswapping of the virtio_net header as it > is done in qemu. Hi Cedric, Thanks for submitting this. One general problem with this approach, is that it adds overhead e.g. for x86 on x86 unconditionally. I will in a couple of days post a patch adding virtio 1.0 support for vhost. This will serve as a better basis for cross-endian support in vhost, on top. I'll try to remember to Cc you. > The patches apply on linux-3.18-rc2 and the tests were done on PowerPC > using the following hosts : > > fedora21/ppc64, utopic/ppc64le > > with various guests : > > trusty/ppc64le, utopic/ppc64le, debian/ppc64le, > rhel6.5/ppc64, fedora21/ppc64, debian/ppc64 > > Regressions tests for x86_64 were done a debian host using rhel6.6, > fedora20 and debian guests. > > > Cédric Le Goater (4): > vhost: add VHOST_VRING_F_BYTESWAP flag > vhost: add byteswap routines > vhost: byteswap virtqueue attributes > vhost_net: byteswap virtio_net header > > drivers/vhost/net.c | 39 +++++++++--- > drivers/vhost/vhost.c | 150 ++++++++++++++++++++++++++++++++++++++++---- > drivers/vhost/vhost.h | 1 + > include/uapi/linux/vhost.h | 3 + > 4 files changed, 171 insertions(+), 22 deletions(-) > > -- > 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html