MIPS: KVM: Add FP exception handling
authorJames Hogan <james.hogan@imgtec.com>
Fri, 6 Feb 2015 10:56:27 +0000 (10:56 +0000)
committerJames Hogan <james.hogan@imgtec.com>
Fri, 27 Mar 2015 21:25:16 +0000 (21:25 +0000)
commit1c0cd66adbac8aa339b9521eceb18b00d1b0699e
tree62a893856435ad26ac8724cb23c3e47b63d177bd
parent6cdc65e31d4f70561d71eeaf34a2a70ab68bf146
MIPS: KVM: Add FP exception handling

Add guest exception handling for floating point exceptions and
coprocessor 1 unusable exceptions.

Floating point exceptions from the guest need passing to the guest
kernel, so for these a guest FPE is emulated.

Also, coprocessor 1 unusable exceptions are normally passed straight
through to the guest (because no guest FPU was supported), but the
hypervisor can now handle them if the guest has its FPU enabled by
restoring the guest FPU context and enabling the FPU.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Gleb Natapov <gleb@kernel.org>
Cc: linux-mips@linux-mips.org
Cc: kvm@vger.kernel.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