[PATCH v4 0/8] vhost: support for cross endian guests

Greg Kurz
2015-04-10T10:15:00Z

Hi,

This patchset allows vhost to be used with legacy virtio when guest and host
have a different endianness.

Patch 7 got rewritten according to Cornelia's and Michael's comments. I have
also introduced patch 8 that brings BE vnet headers support to tun/macvtap.

This series is enough to have vhost_net working flawlessly. I could
succesfully reboot guests from ppc64 to ppc64le and vice-versa on ppc64
and ppc64le hosts.

---

Greg Kurz (8):
virtio: introduce virtio_is_little_endian() helper
tun: add tun_is_little_endian() helper
macvtap: introduce macvtap_is_little_endian() helper
vringh: introduce vringh_is_little_endian() helper
vhost: introduce vhost_is_little_endian() helper
virtio: add explicit big-endian support to memory accessors
vhost: feature to set the vring endianness
macvtap/tun: add VNET_BE flag

drivers/net/Kconfig | 12 ++++++
drivers/net/macvtap.c | 69 ++++++++++++++++++++++++++++++++++-
drivers/net/tun.c | 71 +++++++++++++++++++++++++++++++++++-
drivers/vhost/Kconfig | 10 +++++
drivers/vhost/vhost.c | 76 ++++++++++++++++++++++++++++++++++++++
drivers/vhost/vhost.h | 25 ++++++++++---
include/linux/virtio_byteorder.h | 24 +++++++-----
include/linux/virtio_config.h | 19 +++++++---
include/linux/vringh.h | 19 +++++++---
include/uapi/linux/if_tun.h | 2 +
include/uapi/linux/vhost.h | 9 +++++
11 files changed, 303 insertions(+), 33 deletions(-)

--
Greg