|
@@ -31,15 +31,11 @@
|
|
/*
|
|
/*
|
|
* check if we need to save FPU registers
|
|
* 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
|
|
* clear saved user stack CU1 bit
|
|
@@ -57,14 +53,13 @@
|
|
1:
|
|
1:
|
|
|
|
|
|
/* check if we need to save COP2 registers */
|
|
/* 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
|
|
bbit0 t0, 30, 1f
|
|
|
|
|
|
/* Disable COP2 in the stored process state */
|
|
/* Disable COP2 in the stored process state */
|
|
li t1, ST0_CU2
|
|
li t1, ST0_CU2
|
|
xor t0, t1
|
|
xor t0, t1
|
|
- LONG_S t0, ST_OFF(t2)
|
|
|
|
|
|
+ LONG_S t0, ST_OFF(t3)
|
|
|
|
|
|
/* Enable COP2 so we can save it */
|
|
/* Enable COP2 so we can save it */
|
|
mfc0 t0, CP0_STATUS
|
|
mfc0 t0, CP0_STATUS
|