MIPS: Fix race condition with FPU thread task flag during context switch.
[ralf@linux-mips.org: Cosmetic changes; also fixed up r2300_switch.S and octeon_switch.S which needed similar modifications.] Signed-off-by: Leonid Yegoshin <yegoshin@mips.com> Signed-off-by: Steven J. Hill <sjhill@mips.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/3784/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:

committed by
Ralf Baechle

parent
dc34b05fea
commit
2dd17030c9
@@ -43,7 +43,7 @@
|
||||
|
||||
/*
|
||||
* task_struct *resume(task_struct *prev, task_struct *next,
|
||||
* struct thread_info *next_ti) )
|
||||
* struct thread_info *next_ti, int usedfpu)
|
||||
*/
|
||||
LEAF(resume)
|
||||
mfc0 t1, CP0_STATUS
|
||||
@@ -51,18 +51,9 @@ LEAF(resume)
|
||||
cpu_save_nonscratch a0
|
||||
sw ra, THREAD_REG31(a0)
|
||||
|
||||
/*
|
||||
* check if we need to save FPU registers
|
||||
*/
|
||||
lw t3, TASK_THREAD_INFO(a0)
|
||||
lw t0, TI_FLAGS(t3)
|
||||
li t1, _TIF_USEDFPU
|
||||
and t2, t0, t1
|
||||
beqz t2, 1f
|
||||
nor t1, zero, t1
|
||||
beqz a3, 1f
|
||||
|
||||
and t0, t0, t1
|
||||
sw t0, TI_FLAGS(t3)
|
||||
PTR_L t3, TASK_THREAD_INFO(a0)
|
||||
|
||||
/*
|
||||
* clear saved user stack CU1 bit
|
||||
|
Reference in New Issue
Block a user