linux-stable/arch/mips/math-emu
David Daney da0bac3341 MIPS: Fix emulation of 64-bit FPU on FPU-less 64-bit CPUs.
Running a 64-bit kernel on a 64-bit CPU without an FPU would cause the
emulator to run in 32-bit mode.  The c0_Status.FR bit is wired to zero
on systems without an FPU, so using that bit to decide how the emulator
behaves doesn't allow for proper emulation on 64-bit FPU-less
processors.

Instead, we need to select the emulator mode based on the user-space
ABI.  Since the thread flag TIF_32BIT_REGS is used to set c0_Status.FR,
we can just use it to decide if the emulator should be in 32-bit or
64-bit mode.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2009-11-13 18:10:37 +01:00
..
cp1emu.c MIPS: Fix emulation of 64-bit FPU on FPU-less 64-bit CPUs. 2009-11-13 18:10:37 +01:00
dp_add.c
dp_cmp.c
dp_div.c
dp_fint.c
dp_flong.c
dp_frexp.c
dp_fsp.c
dp_logb.c
dp_modf.c
dp_mul.c [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
dp_scalb.c
dp_simple.c MIPS: Fix abs.[sd] and neg.[sd] emulation for NaN operands 2009-11-02 12:00:05 +01:00
dp_sqrt.c
dp_sub.c
dp_tint.c
dp_tlong.c
dsemul.c MIPS: Switch FPU emulator trap to BREAK instruction. 2008-10-30 14:44:34 +00:00
ieee754.c [MIPS] Compliment va_start() with va_end(). 2007-11-26 17:26:15 +00:00
ieee754.h
ieee754d.c
ieee754dp.c [MIPS] Compliment va_start() with va_end(). 2007-11-26 17:26:15 +00:00
ieee754dp.h [MIPS] replace __inline with inline 2008-04-28 17:14:26 +01:00
ieee754int.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
ieee754m.c
ieee754sp.c [MIPS] Compliment va_start() with va_end(). 2007-11-26 17:26:15 +00:00
ieee754sp.h [MIPS] replace __inline with inline 2008-04-28 17:14:26 +01:00
ieee754xcpt.c
kernel_linkage.c [MIPS] Fix missing prototypes in asm/fpu.h 2008-07-20 14:38:17 +01:00
Makefile [MIPS] Use -Werror on subdirectories which build cleanly. 2007-07-31 21:35:33 +01:00
sp_add.c
sp_cmp.c
sp_div.c
sp_fdp.c
sp_fint.c
sp_flong.c
sp_frexp.c
sp_logb.c
sp_modf.c
sp_mul.c
sp_scalb.c
sp_simple.c MIPS: Fix abs.[sd] and neg.[sd] emulation for NaN operands 2009-11-02 12:00:05 +01:00
sp_sqrt.c
sp_sub.c
sp_tint.c
sp_tlong.c