diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2008-10-13 12:13:56 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2008-10-13 12:13:56 -0400 |
commit | e758936e02700ff88a0b08b722a3847b95283ef2 (patch) | |
tree | 50c919bef1b459a778b85159d5929de95b6c4a01 /arch/mips/kernel/process.c | |
parent | 239cfbde1f5843c4a24199f117d5f67f637d72d5 (diff) | |
parent | 4480f15b3306f43bbb0310d461142b4e897ca45b (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts:
include/asm-x86/statfs.h
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) |