MIPS: KVM: Handle TRAP exceptions from guest kernel
authorJames Hogan <james.hogan@imgtec.com>
Fri, 6 Feb 2015 16:03:57 +0000 (16:03 +0000)
committerJames Hogan <james.hogan@imgtec.com>
Fri, 27 Mar 2015 21:25:07 +0000 (21:25 +0000)
commit0a5604272d80c985f87de959f0bb7e36fd53d3c7
tree391bbee989a6ab6ab22d7b4b32a0b7850602d5be
parent64bedffe496820dbb6b53302d80dd0f04db33d8e
MIPS: KVM: Handle TRAP exceptions from guest kernel

Trap instructions are used by Linux to implement BUG_ON(), however KVM
doesn't pass trap exceptions on to the guest if they occur in guest
kernel mode, instead triggering an internal error "Exception Code: 13,
not yet handled". The guest kernel then doesn't get a chance to print
the usual BUG message and stack trace.

Implement handling of the trap exception so that it gets passed to the
guest and the user is left with a more useful log message.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Gleb Natapov <gleb@kernel.org>
Cc: kvm@vger.kernel.org
Cc: linux-mips@linux-mips.org
arch/mips/include/asm/kvm_host.h
arch/mips/kvm/emulate.c
arch/mips/kvm/mips.c
arch/mips/kvm/stats.c
arch/mips/kvm/trap_emul.c