These patches fix a couple of problems when using MIPS KVM on a host kernel with Enhanced Virtual Addressing (EVA) enabled. Patch 1 fixes the HVA error codes like s390 does, due to PAGE_OFFSET potentially being as low as 0. Patch 2 allows MMIO to be emulated from TLB refill exceptions as well as address error exceptions (since EVA configurations may make KSeg1 addresses TLB mapped to user mode). It isn't complete as there are still a couple of cases where KVM tries to directly access guest memory using normal loads and stores (which doesn't work with EVA's overlapping usermode & kernel mode address spaces). That really needs fixing properly anyway to handle the potential for TLB invalidations (and the resulting refills & page faults). For KVM to work on EVA hosts also requires some MIPS architecture changes, as found in my recent "MIPS: General EVA fixes & cleanups" patchset. Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: "Radim Krčmář" <rkrcmar@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx James Hogan (2): MIPS: KVM: Override HVA error values for EVA MIPS: KVM: Emulate MMIO via TLB miss for EVA arch/mips/include/asm/kvm_host.h | 14 ++++++++++++++ arch/mips/kvm/trap_emul.c | 18 ++++++++++++++++++ 2 files changed, 32 insertions(+), 0 deletions(-) -- git-series 0.8.10