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.

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-ppc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to