aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/kernel/process.c')
-rw-r--r--arch/mips/kernel/process.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
index b16facd9ea8e..ca2e4026ad20 100644
--- a/arch/mips/kernel/process.c
+++ b/arch/mips/kernel/process.c
@@ -22,7 +22,6 @@
22#include <linux/personality.h> 22#include <linux/personality.h>
23#include <linux/sys.h> 23#include <linux/sys.h>
24#include <linux/user.h> 24#include <linux/user.h>
25#include <linux/a.out.h>
26#include <linux/init.h> 25#include <linux/init.h>
27#include <linux/completion.h> 26#include <linux/completion.h>
28#include <linux/kallsyms.h> 27#include <linux/kallsyms.h>
@@ -55,7 +54,7 @@ void __noreturn cpu_idle(void)
55 while (1) { 54 while (1) {
56 tick_nohz_stop_sched_tick(1); 55 tick_nohz_stop_sched_tick(1);
57 while (!need_resched()) { 56 while (!need_resched()) {
58#ifdef CONFIG_SMTC_IDLE_HOOK_DEBUG 57#ifdef CONFIG_MIPS_MT_SMTC
59 extern void smtc_idle_loop_hook(void); 58 extern void smtc_idle_loop_hook(void);
60 59
61 smtc_idle_loop_hook(); 60 smtc_idle_loop_hook();
@@ -145,17 +144,18 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp,
145 */ 144 */
146 p->thread.cp0_status = read_c0_status() & ~(ST0_CU2|ST0_CU1); 145 p->thread.cp0_status = read_c0_status() & ~(ST0_CU2|ST0_CU1);
147 childregs->cp0_status &= ~(ST0_CU2|ST0_CU1); 146 childregs->cp0_status &= ~(ST0_CU2|ST0_CU1);
148 clear_tsk_thread_flag(p, TIF_USEDFPU);
149 147
150#ifdef CONFIG_MIPS_MT_FPAFF 148#ifdef CONFIG_MIPS_MT_SMTC
151 /* 149 /*
152 * FPU affinity support is cleaner if we track the 150 * SMTC restores TCStatus after Status, and the CU bits
153 * user-visible CPU affinity from the very beginning. 151 * are aliased there.
154 * The generic cpus_allowed mask will already have
155 * been copied from the parent before copy_thread
156 * is invoked.
157 */ 152 */
158 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);
159#endif /* CONFIG_MIPS_MT_FPAFF */ 159#endif /* CONFIG_MIPS_MT_FPAFF */
160 160
161 if (clone_flags & CLONE_SETTLS) 161 if (clone_flags & CLONE_SETTLS)