MIPS: Fix for warning from FPU emulation code
authorRalf Baechle <ralf@linux-mips.org>
Wed, 15 Aug 2012 17:42:19 +0000 (19:42 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 13 Dec 2012 17:15:27 +0000 (18:15 +0100)
commit51d943f07d3015998d448f9d8353f618e3fe5873
tree7765f573133f87148a594d2e49b3b8543c7a77cf
parent051ff44a8b508f8e8e342db3220d5ad8296c19ce
MIPS: Fix for warning from FPU emulation code

The default implementation of 'cpu_has_fpu' macro calls
smp_processor_id() which causes this warning to be printed when
preemption is enabled:

[    4.664000] Algorithmics/MIPS FPU Emulator v1.5
[    4.676000] BUG: using smp_processor_id() in preemptible [00000000] code: ini
[    4.700000] caller is fpu_emulator_cop1Handler+0x434/0x27b8

This problem got introduced in November 2009 by
af1d2af877ef6c36990671bc86a5b9c5bb50b1da (lmo) [MIPS: Fix emulation of
64-bit FPU on 64-bit CPUs.] rsp.  da0bac33413b2888d3623dad3ad19ce76b688f07
(kernel.org) [MIPS: Fix emulation of 64-bit FPU on FPU-less 64-bit CPUs.]
in 2.6.32.

Fixed by rewriting cop1_64bit() to return a constant whenever possible
but most importantly avoid the use pf cpu_has_fpu entirely.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Reported-by: Jayachandran C <jchandra@broadcom.com>
Initial-patch-by: Jayachandran C <jchandra@broadcom.com>
Patchwork: https://patchwork.linux-mips.org/patch/4225/
arch/mips/math-emu/cp1emu.c