MIPS: KVM: Fix preemption warning reading FPU capability
authorJames Hogan <james.hogan@imgtec.com>
Fri, 22 Apr 2016 09:38:48 +0000 (10:38 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 10 May 2016 13:56:51 +0000 (15:56 +0200)
Reading the KVM_CAP_MIPS_FPU capability returns cpu_has_fpu, however
this uses smp_processor_id() to read the current CPU capabilities (since
some old MIPS systems could have FPUs present on only a subset of CPUs).

We don't support any such systems, so work around the warning by using
raw_cpu_has_fpu instead.

We should probably instead claim not to support FPU at all if any one
CPU is lacking an FPU, but this should do for now.

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

index 70ef1a43c1148343101f2603a019fcefc1f90bce..ec3fe09ef15cad438bd80bb9d1a4c4b97b6b6d72 100644 (file)
@@ -1079,7 +1079,8 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
                r = KVM_COALESCED_MMIO_PAGE_OFFSET;
                break;
        case KVM_CAP_MIPS_FPU:
-               r = !!cpu_has_fpu;
+               /* We don't handle systems with inconsistent cpu_has_fpu */
+               r = !!raw_cpu_has_fpu;
                break;
        case KVM_CAP_MIPS_MSA:
                /*