MMIO emulation reads the last instruction executed by the guest and then emulates. If the guest is running in Little Endian mode, the instruction needs to be byte-swapped before being emulated. The first patches add simple helper routines to load instructions from the guest. It prepares ground for the byte-swapping of instructions when reading memory from Little Endian guests. There might be room for more changes in kvmppc_read_inst() : is the kvmppc_get_last_inst() call actually useful ? The last patch enables the MMIO support by byte-swapping the last instruction if the guest is Little Endian. This patchset is based on Alex Graf's kvm-ppc-queue branch. It has been tested with anton's patchset for Big Endian and Little Endian HV guests and Big Endian PR guests. Thanks, C. Cédric Le Goater (3): KVM: PPC: Book3S: add helper routine to load guest instructions KVM: PPC: Book3S: add helper routines to detect endian order KVM: PPC: Book3S: MMIO emulation support for little endian guests arch/powerpc/include/asm/kvm_book3s.h | 33 +++++++++++++- arch/powerpc/kvm/book3s_64_mmu_hv.c | 2 +- arch/powerpc/kvm/book3s_hv_rmhandlers.S | 12 ++++++ arch/powerpc/kvm/book3s_pr.c | 2 +- arch/powerpc/kvm/book3s_segment.S | 11 +++++ arch/powerpc/kvm/emulate.c | 72 +++++++++++++++++-------------- 6 files changed, 96 insertions(+), 36 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