mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-12 05:48:39 +08:00
MIPS: context switch: Use save/restore instead of set/clear for Status.CU2
Some processors (such as Loongson-3) need to enable CU2 in kernel mode, current set/clear method will lose Status.CU2 during context switching, so use save/restore method instead. Signed-off-by: Huacai Chen <chenhc@lemote.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
This commit is contained in:
parent
6fa573a3e3
commit
4e43e5df58
@ -117,6 +117,8 @@ do { \
|
||||
__restore_dsp(next); \
|
||||
} \
|
||||
if (cop2_present) { \
|
||||
u32 status = read_c0_status(); \
|
||||
\
|
||||
set_c0_status(ST0_CU2); \
|
||||
if ((KSTK_STATUS(prev) & ST0_CU2)) { \
|
||||
if (cop2_lazy_restore) \
|
||||
@ -127,7 +129,7 @@ do { \
|
||||
!cop2_lazy_restore) { \
|
||||
cop2_restore(next); \
|
||||
} \
|
||||
clear_c0_status(ST0_CU2); \
|
||||
write_c0_status(status); \
|
||||
} \
|
||||
__clear_r5_hw_ll_bit(); \
|
||||
__clear_software_ll_bit(); \
|
||||
|
Loading…
Reference in New Issue
Block a user