On 11/03/2014 05:23 PM, Michael S. Tsirkin wrote: > 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. Yes but it should be possible to #ifdef most of the routines to make them transparent for x86. > 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. ok. I will rework the patchset on top of it then. > I'll try to remember to Cc you. Thanks. C. >> 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