From: Al Viro Signed-off-by: Al Viro Signed-off-by: Andrew Morton --- arch/mips/kernel/ptrace.c | 2 +- arch/mips/kernel/ptrace32.c | 4 ++-- arch/mips/kernel/smp_mt.c | 7 +++---- arch/mips/kernel/syscall.c | 2 +- arch/mips/kernel/traps.c | 2 +- arch/mips/pmc-sierra/yosemite/smp.c | 4 ++-- arch/mips/sgi-ip27/ip27-smp.c | 4 ++-- arch/mips/sibyte/cfe/smp.c | 2 +- 8 files changed, 13 insertions(+), 14 deletions(-) diff -puN arch/mips/kernel/ptrace32.c~mips-task_thread_info arch/mips/kernel/ptrace32.c --- devel/arch/mips/kernel/ptrace32.c~mips-task_thread_info 2006-01-04 22:03:13.000000000 -0800 +++ devel-akpm/arch/mips/kernel/ptrace32.c 2006-01-04 22:03:13.000000000 -0800 @@ -379,7 +379,7 @@ asmlinkage int sys32_ptrace(int request, break; case PTRACE_GET_THREAD_AREA: - ret = put_user(child->thread_info->tp_value, + ret = put_user(task_thread_info(child)->tp_value, (unsigned int __user *) (unsigned long) data); break; @@ -393,7 +393,7 @@ asmlinkage int sys32_ptrace(int request, break; case PTRACE_GET_THREAD_AREA_3264: - ret = put_user(child->thread_info->tp_value, + ret = put_user(task_thread_info(child)->tp_value, (unsigned long __user *) (unsigned long) data); break; diff -puN arch/mips/kernel/ptrace.c~mips-task_thread_info arch/mips/kernel/ptrace.c --- devel/arch/mips/kernel/ptrace.c~mips-task_thread_info 2006-01-04 22:03:13.000000000 -0800 +++ devel-akpm/arch/mips/kernel/ptrace.c 2006-01-04 22:03:13.000000000 -0800 @@ -442,7 +442,7 @@ long arch_ptrace(struct task_struct *chi break; case PTRACE_GET_THREAD_AREA: - ret = put_user(child->thread_info->tp_value, + ret = put_user(task_thread_info(child)->tp_value, (unsigned long __user *) data); break; diff -puN arch/mips/kernel/smp_mt.c~mips-task_thread_info arch/mips/kernel/smp_mt.c --- devel/arch/mips/kernel/smp_mt.c~mips-task_thread_info 2006-01-04 22:03:13.000000000 -0800 +++ devel-akpm/arch/mips/kernel/smp_mt.c 2006-01-04 22:03:13.000000000 -0800 @@ -287,6 +287,7 @@ void prom_prepare_cpus(unsigned int max_ */ void prom_boot_secondary(int cpu, struct task_struct *idle) { + struct thread_info *gp = task_thread_info(idle); dvpe(); set_c0_mvpcontrol(MVPCONTROL_VPC); @@ -307,11 +308,9 @@ void prom_boot_secondary(int cpu, struct write_tc_gpr_sp( __KSTK_TOS(idle)); /* global pointer */ - write_tc_gpr_gp((unsigned long)idle->thread_info); + write_tc_gpr_gp((unsigned long)gp); - flush_icache_range((unsigned long)idle->thread_info, - (unsigned long)idle->thread_info + - sizeof(struct thread_info)); + flush_icache_range((unsigned long)gp, (unsigned long)(gp + 1)); /* finally out of configuration and into chaos */ clear_c0_mvpcontrol(MVPCONTROL_VPC); diff -puN arch/mips/kernel/syscall.c~mips-task_thread_info arch/mips/kernel/syscall.c --- devel/arch/mips/kernel/syscall.c~mips-task_thread_info 2006-01-04 22:03:13.000000000 -0800 +++ devel-akpm/arch/mips/kernel/syscall.c 2006-01-04 22:03:13.000000000 -0800 @@ -262,7 +262,7 @@ asmlinkage int sys_olduname(struct oldol void sys_set_thread_area(unsigned long addr) { - struct thread_info *ti = current->thread_info; + struct thread_info *ti = task_thread_info(current); ti->tp_value = addr; diff -puN arch/mips/kernel/traps.c~mips-task_thread_info arch/mips/kernel/traps.c --- devel/arch/mips/kernel/traps.c~mips-task_thread_info 2006-01-04 22:03:13.000000000 -0800 +++ devel-akpm/arch/mips/kernel/traps.c 2006-01-04 22:03:13.000000000 -0800 @@ -519,7 +519,7 @@ static inline int simulate_llsc(struct p */ static inline int simulate_rdhwr(struct pt_regs *regs) { - struct thread_info *ti = current->thread_info; + struct thread_info *ti = task_thread_info(current); unsigned int opcode; if (unlikely(get_insn_opcode(regs, &opcode))) diff -puN arch/mips/pmc-sierra/yosemite/smp.c~mips-task_thread_info arch/mips/pmc-sierra/yosemite/smp.c --- devel/arch/mips/pmc-sierra/yosemite/smp.c~mips-task_thread_info 2006-01-04 22:03:13.000000000 -0800 +++ devel-akpm/arch/mips/pmc-sierra/yosemite/smp.c 2006-01-04 22:03:13.000000000 -0800 @@ -93,8 +93,8 @@ void __init prom_prepare_cpus(unsigned i */ void prom_boot_secondary(int cpu, struct task_struct *idle) { - unsigned long gp = (unsigned long) idle->thread_info; - unsigned long sp = gp + THREAD_SIZE - 32; + unsigned long gp = (unsigned long) task_thread_info(idle); + unsigned long sp = __KSTK_TOP(idle); secondary_sp = sp; secondary_gp = gp; diff -puN arch/mips/sgi-ip27/ip27-smp.c~mips-task_thread_info arch/mips/sgi-ip27/ip27-smp.c --- devel/arch/mips/sgi-ip27/ip27-smp.c~mips-task_thread_info 2006-01-04 22:03:13.000000000 -0800 +++ devel-akpm/arch/mips/sgi-ip27/ip27-smp.c 2006-01-04 22:03:13.000000000 -0800 @@ -168,8 +168,8 @@ void __init prom_prepare_cpus(unsigned i */ void __init prom_boot_secondary(int cpu, struct task_struct *idle) { - unsigned long gp = (unsigned long) idle->thread_info; - unsigned long sp = gp + THREAD_SIZE - 32; + unsigned long gp = (unsigned long)task_thread_info(idle); + unsigned long sp = __KSTK_TOS(idle); LAUNCH_SLAVE(cputonasid(cpu),cputoslice(cpu), (launch_proc_t)MAPPED_KERN_RW_TO_K0(smp_bootstrap), diff -puN arch/mips/sibyte/cfe/smp.c~mips-task_thread_info arch/mips/sibyte/cfe/smp.c --- devel/arch/mips/sibyte/cfe/smp.c~mips-task_thread_info 2006-01-04 22:03:13.000000000 -0800 +++ devel-akpm/arch/mips/sibyte/cfe/smp.c 2006-01-04 22:03:13.000000000 -0800 @@ -60,7 +60,7 @@ void prom_boot_secondary(int cpu, struct retval = cfe_cpu_start(cpu_logical_map(cpu), &smp_bootstrap, __KSTK_TOS(idle), - (unsigned long)idle->thread_info, 0); + (unsigned long)task_thread_info(idle), 0); if (retval != 0) printk("cfe_start_cpu(%i) returned %i\n" , cpu, retval); } _