KVM: MIPS/T&E: Abstract bad access handling
authorJames Hogan <james.hogan@imgtec.com>
Tue, 6 Dec 2016 19:27:18 +0000 (19:27 +0000)
committerJames Hogan <james.hogan@imgtec.com>
Fri, 3 Feb 2017 15:21:20 +0000 (15:21 +0000)
commit420ea09b645b0fb05b326a539190c41ee900ef50
treedf80fafd38bf17f330b839205afbeb4ccbbdfdc4
parent577ed7f71e9c37a46c45a7bd9a392dd0372a409c
KVM: MIPS/T&E: Abstract bad access handling

Abstract the handling of bad guest loads and stores which may need to
trigger an MMIO, so that the same code can be used in a later patch for
guest KSeg0 addresses (TLB exception handling) as well as for host KSeg1
addresses (existing address error exception and TLB exception handling).

We now use kvm_mips_emulate_store() and kvm_mips_emulate_load() directly
rather than the more generic kvm_mips_emulate_inst(), as there is no
need to expose emulation of any other instructions.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Radim Krčmář" <rkrcmar@redhat.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Cc: kvm@vger.kernel.org
arch/mips/kvm/trap_emul.c