MIPS: OCTEON: Fix FP context save.
[cascardo/linux.git] / arch / mips / kernel / octeon_switch.S
index 3dec1e8..2787c01 100644 (file)
        /*
         * check if we need to save FPU registers
         */
-       PTR_L   t3, TASK_THREAD_INFO(a0)
-       LONG_L  t0, TI_FLAGS(t3)
-       li      t1, _TIF_USEDFPU
-       and     t2, t0, t1
-       beqz    t2, 1f
-       nor     t1, zero, t1
-
-       and     t0, t0, t1
-       LONG_S  t0, TI_FLAGS(t3)
+       .set push
+       .set noreorder
+       beqz    a3, 1f
+        PTR_L  t3, TASK_THREAD_INFO(a0)
+       .set pop
 
        /*
         * clear saved user stack CU1 bit
 1:
 
        /* check if we need to save COP2 registers */
-       PTR_L   t2, TASK_THREAD_INFO(a0)
-       LONG_L  t0, ST_OFF(t2)
+       LONG_L  t0, ST_OFF(t3)
        bbit0   t0, 30, 1f
 
        /* Disable COP2 in the stored process state */
        li      t1, ST0_CU2
        xor     t0, t1
-       LONG_S  t0, ST_OFF(t2)
+       LONG_S  t0, ST_OFF(t3)
 
        /* Enable COP2 so we can save it */
        mfc0    t0, CP0_STATUS