diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-01-12 04:06:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-12 12:08:59 -0500 |
commit | dc8f6029cd51af1b148846a32e68d69013a5cc0f (patch) | |
tree | 64288cee77b341c2c39accbe5f593ff9445e18f1 /arch/mips/kernel/smp_mt.c | |
parent | 40bc9c671a9f0a5189c07a2b4280aec9b40e30cd (diff) |
[PATCH] mips: task_thread_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/mips/kernel/smp_mt.c')
-rw-r--r-- | arch/mips/kernel/smp_mt.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/mips/kernel/smp_mt.c b/arch/mips/kernel/smp_mt.c index d429544ba4b..794a1c3de2a 100644 --- a/arch/mips/kernel/smp_mt.c +++ b/arch/mips/kernel/smp_mt.c | |||
@@ -287,6 +287,7 @@ void prom_prepare_cpus(unsigned int max_cpus) | |||
287 | */ | 287 | */ |
288 | void prom_boot_secondary(int cpu, struct task_struct *idle) | 288 | void prom_boot_secondary(int cpu, struct task_struct *idle) |
289 | { | 289 | { |
290 | struct thread_info *gp = task_thread_info(idle); | ||
290 | dvpe(); | 291 | dvpe(); |
291 | set_c0_mvpcontrol(MVPCONTROL_VPC); | 292 | set_c0_mvpcontrol(MVPCONTROL_VPC); |
292 | 293 | ||
@@ -307,11 +308,9 @@ void prom_boot_secondary(int cpu, struct task_struct *idle) | |||
307 | write_tc_gpr_sp( __KSTK_TOS(idle)); | 308 | write_tc_gpr_sp( __KSTK_TOS(idle)); |
308 | 309 | ||
309 | /* global pointer */ | 310 | /* global pointer */ |
310 | write_tc_gpr_gp((unsigned long)idle->thread_info); | 311 | write_tc_gpr_gp((unsigned long)gp); |
311 | 312 | ||
312 | flush_icache_range((unsigned long)idle->thread_info, | 313 | flush_icache_range((unsigned long)gp, (unsigned long)(gp + 1)); |
313 | (unsigned long)idle->thread_info + | ||
314 | sizeof(struct thread_info)); | ||
315 | 314 | ||
316 | /* finally out of configuration and into chaos */ | 315 | /* finally out of configuration and into chaos */ |
317 | clear_c0_mvpcontrol(MVPCONTROL_VPC); | 316 | clear_c0_mvpcontrol(MVPCONTROL_VPC); |