This is a re-transmit of the core of the virtio endian code. Since there seems to be some interest in ARM BE virtio, I've separated this from the direct problem I was solving: PowerPC LE.
Please apply! Rusty. Rusty Russell (7): virtio_get_byteswap: function for endian-ambivalent targets using virtio. virtio: allow byte swapping for vring and config access hw/net/virtio-net: use virtio wrappers to access headers. hw/net/virtio-balloon: use virtio wrappers to access page frame numbers. hw/block/virtio-blk: use virtio wrappers to access headers. hw/scsi/virtio-scsi: use virtio wrappers to access headers. hw/char/virtio-serial-bus: use virtio wrappers to access headers. hw/block/virtio-blk.c | 35 +++++----- hw/char/virtio-serial-bus.c | 34 +++++----- hw/net/virtio-net.c | 15 +++-- hw/scsi/virtio-scsi.c | 33 +++++----- hw/virtio/virtio-balloon.c | 3 +- hw/virtio/virtio.c | 34 ++++++---- include/hw/virtio/virtio-access.h | 133 ++++++++++++++++++++++++++++++++++++++ include/hw/virtio/virtio.h | 2 + stubs/Makefile.objs | 1 + stubs/virtio_get_byteswap.c | 6 ++ 10 files changed, 225 insertions(+), 71 deletions(-) create mode 100644 include/hw/virtio/virtio-access.h create mode 100644 stubs/virtio_get_byteswap.c -- 1.8.1.2