From: James Hogan Date: Fri, 27 Jun 2014 15:22:42 +0000 (+0100) Subject: mips/kvm: Disable FPU on reset with KVM X-Git-Tag: qemu-xen-4.6.0-rc1~316^2~8 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=0e928b12c94a4eea56028dec676422b165063ea5;p=qemu-upstream-4.6-testing.git 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 Cc: Aurelien Jarno Cc: Paolo Bonzini Signed-off-by: Paolo Bonzini --- diff --git a/target-mips/kvm.c b/target-mips/kvm.c index 844e5bbe5..97fd51a02 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__); }