diff options
author | James Hogan <james.hogan@imgtec.com> | 2014-06-27 16:22:42 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-07-09 18:17:04 +0200 |
commit | 0e928b12c94a4eea56028dec676422b165063ea5 (patch) | |
tree | 21db8caecc394b1963fc9844a5e1503368ba812c | |
parent | 0a2672b7ead72b7c788200499a63a4d5f2faa74a (diff) |
mips/kvm: Disable FPU on reset with KVM
KVM doesn't yet support the MIPS FPU, or writing to the guest's Config1
register which contains the FPU implemented bit. Clear QEMU's version of
that bit on reset and display a warning that the FPU has been disabled.
The previous incorrect Config1 CP0 register value wasn't being passed to
KVM yet, however we should ensure it is set correctly now to reduce the
risk of breaking migration/loadvm to a future version of QEMU/Linux that
does support it.
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Aurelien Jarno <aurelien@aurel32.net>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | target-mips/kvm.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/target-mips/kvm.c b/target-mips/kvm.c index 844e5bbe5f..97fd51a02f 100644 --- a/target-mips/kvm.c +++ b/target-mips/kvm.c @@ -61,6 +61,13 @@ int kvm_arch_init_vcpu(CPUState *cs) void kvm_mips_reset_vcpu(MIPSCPU *cpu) { + CPUMIPSState *env = &cpu->env; + + if (env->CP0_Config1 & (1 << CP0C1_FP)) { + fprintf(stderr, "Warning: FPU not supported with KVM, disabling\n"); + env->CP0_Config1 &= ~(1 << CP0C1_FP); + } + DPRINTF("%s\n", __func__); } |