|
@@ -115,7 +115,8 @@
|
|
|
* Save a thread's fp context.
|
|
|
*/
|
|
|
LEAF(_save_fp)
|
|
|
-#if defined(CONFIG_64BIT) || defined(CONFIG_CPU_MIPS32_R2)
|
|
|
+#if defined(CONFIG_64BIT) || defined(CONFIG_CPU_MIPS32_R2) || \
|
|
|
+ defined(CONFIG_CPU_MIPS32_R6)
|
|
|
mfc0 t0, CP0_STATUS
|
|
|
#endif
|
|
|
fpu_save_double a0 t0 t1 # clobbers t1
|
|
@@ -126,7 +127,8 @@ LEAF(_save_fp)
|
|
|
* Restore a thread's fp context.
|
|
|
*/
|
|
|
LEAF(_restore_fp)
|
|
|
-#if defined(CONFIG_64BIT) || defined(CONFIG_CPU_MIPS32_R2)
|
|
|
+#if defined(CONFIG_64BIT) || defined(CONFIG_CPU_MIPS32_R2) || \
|
|
|
+ defined(CONFIG_CPU_MIPS32_R6)
|
|
|
mfc0 t0, CP0_STATUS
|
|
|
#endif
|
|
|
fpu_restore_double a0 t0 t1 # clobbers t1
|
|
@@ -240,9 +242,9 @@ LEAF(_init_fpu)
|
|
|
mtc1 t1, $f30
|
|
|
mtc1 t1, $f31
|
|
|
|
|
|
-#ifdef CONFIG_CPU_MIPS32_R2
|
|
|
+#if defined(CONFIG_CPU_MIPS32_R2) || defined(CONFIG_CPU_MIPS32_R6)
|
|
|
.set push
|
|
|
- .set mips32r2
|
|
|
+ .set MIPS_ISA_LEVEL_RAW
|
|
|
.set fp=64
|
|
|
sll t0, t0, 5 # is Status.FR set?
|
|
|
bgez t0, 1f # no: skip setting upper 32b
|
|
@@ -280,9 +282,9 @@ LEAF(_init_fpu)
|
|
|
mthc1 t1, $f30
|
|
|
mthc1 t1, $f31
|
|
|
1: .set pop
|
|
|
-#endif /* CONFIG_CPU_MIPS32_R2 */
|
|
|
+#endif /* CONFIG_CPU_MIPS32_R2 || CONFIG_CPU_MIPS32_R6 */
|
|
|
#else
|
|
|
- .set arch=r4000
|
|
|
+ .set MIPS_ISA_ARCH_LEVEL_RAW
|
|
|
dmtc1 t1, $f0
|
|
|
dmtc1 t1, $f2
|
|
|
dmtc1 t1, $f4
|