diff options
Diffstat (limited to 'arch/mips/kernel/process.c')
-rw-r--r-- | arch/mips/kernel/process.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c index 17edc69cf5c1..ca2e4026ad20 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c | |||
@@ -54,7 +54,7 @@ void __noreturn cpu_idle(void) | |||
54 | while (1) { | 54 | while (1) { |
55 | tick_nohz_stop_sched_tick(1); | 55 | tick_nohz_stop_sched_tick(1); |
56 | while (!need_resched()) { | 56 | while (!need_resched()) { |
57 | #ifdef CONFIG_SMTC_IDLE_HOOK_DEBUG | 57 | #ifdef CONFIG_MIPS_MT_SMTC |
58 | extern void smtc_idle_loop_hook(void); | 58 | extern void smtc_idle_loop_hook(void); |
59 | 59 | ||
60 | smtc_idle_loop_hook(); | 60 | smtc_idle_loop_hook(); |
@@ -144,17 +144,18 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp, | |||
144 | */ | 144 | */ |
145 | p->thread.cp0_status = read_c0_status() & ~(ST0_CU2|ST0_CU1); | 145 | p->thread.cp0_status = read_c0_status() & ~(ST0_CU2|ST0_CU1); |
146 | childregs->cp0_status &= ~(ST0_CU2|ST0_CU1); | 146 | childregs->cp0_status &= ~(ST0_CU2|ST0_CU1); |
147 | clear_tsk_thread_flag(p, TIF_USEDFPU); | ||
148 | 147 | ||
149 | #ifdef CONFIG_MIPS_MT_FPAFF | 148 | #ifdef CONFIG_MIPS_MT_SMTC |
150 | /* | 149 | /* |
151 | * FPU affinity support is cleaner if we track the | 150 | * SMTC restores TCStatus after Status, and the CU bits |
152 | * user-visible CPU affinity from the very beginning. | 151 | * are aliased there. |
153 | * The generic cpus_allowed mask will already have | ||
154 | * been copied from the parent before copy_thread | ||
155 | * is invoked. | ||
156 | */ | 152 | */ |
157 | p->thread.user_cpus_allowed = p->cpus_allowed; | 153 | childregs->cp0_tcstatus &= ~(ST0_CU2|ST0_CU1); |
154 | #endif | ||
155 | clear_tsk_thread_flag(p, TIF_USEDFPU); | ||
156 | |||
157 | #ifdef CONFIG_MIPS_MT_FPAFF | ||
158 | clear_tsk_thread_flag(p, TIF_FPUBOUND); | ||
158 | #endif /* CONFIG_MIPS_MT_FPAFF */ | 159 | #endif /* CONFIG_MIPS_MT_FPAFF */ |
159 | 160 | ||
160 | if (clone_flags & CLONE_SETTLS) | 161 | if (clone_flags & CLONE_SETTLS) |