This patch series adds some infrastructure to kvmtool to allow a BE guest to use virtio-mmio on a LE host, provided that the architecture actually supports such madness. Not all the backend have been converted, only those I actually cared about. Converting them is pretty easy though, and will be done if the method is deemed acceptable. This has been tested on both arm and arm64 (I use this on a daily basis to test BE code). The corresponding kernel changes have all been merged. Also available at: git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm-arm64/kvmtool-be-on-le >From v2 (never posted): - Fixed tons of bugs (config space) - Fixed TAP networking >From v1: - Gave up on the virtio extension after the push back from the PPC guys. Instead, we snapshot the endianness of the vcpu when it tries to reset the device. A bit ugly, but doesn't require any change on the kernel side. Marc Zyngier (9): kvmtool: pass trapped vcpu to MMIO accessors kvmtool: virt_queue configuration based on endianness kvmtool: sample CPU endianness on virtio-mmio device reset kvmtool: add queue endianness initializer kvmtool: convert console backend to support bi-endianness kvmtool: convert 9p backend to support bi-endianness kvmtool: convert blk backend to support bi-endianness kvmtool: convert net backend to support bi-endianness kvmtool: virtio: enable arm/arm64 support for bi-endianness tools/kvm/arm/aarch32/kvm-cpu.c | 14 ++++ tools/kvm/arm/aarch64/include/kvm/kvm-cpu-arch.h | 2 + tools/kvm/arm/aarch64/kvm-cpu.c | 25 ++++++++ tools/kvm/arm/include/arm-common/kvm-arch.h | 2 + tools/kvm/arm/include/arm-common/kvm-cpu-arch.h | 4 +- tools/kvm/arm/kvm-cpu.c | 10 +-- tools/kvm/hw/pci-shmem.c | 2 +- tools/kvm/include/kvm/kvm-cpu.h | 1 + tools/kvm/include/kvm/kvm.h | 4 +- tools/kvm/include/kvm/virtio.h | 82 +++++++++++++++++++++++- tools/kvm/kvm-cpu.c | 10 ++- tools/kvm/mmio.c | 11 ++-- tools/kvm/pci.c | 3 +- tools/kvm/powerpc/include/kvm/kvm-cpu-arch.h | 2 +- tools/kvm/powerpc/kvm-cpu.c | 4 +- tools/kvm/powerpc/spapr_pci.h | 6 +- tools/kvm/virtio/9p.c | 3 + tools/kvm/virtio/blk.c | 31 +++++++-- tools/kvm/virtio/console.c | 8 ++- tools/kvm/virtio/core.c | 59 +++++++++-------- tools/kvm/virtio/mmio.c | 21 ++++-- tools/kvm/virtio/net.c | 45 +++++++++++-- tools/kvm/virtio/pci.c | 6 +- tools/kvm/x86/include/kvm/kvm-cpu-arch.h | 4 +- 24 files changed, 284 insertions(+), 75 deletions(-) -- 1.8.3.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