diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-01-12 04:05:43 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-12 12:08:52 -0500 |
commit | ee3eea165e706a3ce8a53693e810403f65239ebb (patch) | |
tree | 6e2b4a23cac74a3fadf180d25720eb39292a12e6 /arch/sparc64/kernel/process.c | |
parent | f3169641c12d2c5abdab863f5393a3f3534788dd (diff) |
[PATCH] sparc64: task_stack_page()
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/sparc64/kernel/process.c')
-rw-r--r-- | arch/sparc64/kernel/process.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c index 1bc772477079..1dc3650c5cae 100644 --- a/arch/sparc64/kernel/process.c +++ b/arch/sparc64/kernel/process.c | |||
@@ -616,11 +616,11 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long sp, | |||
616 | unsigned long unused, | 616 | unsigned long unused, |
617 | struct task_struct *p, struct pt_regs *regs) | 617 | struct task_struct *p, struct pt_regs *regs) |
618 | { | 618 | { |
619 | struct thread_info *t = p->thread_info; | 619 | struct thread_info *t = task_thread_info(p); |
620 | char *child_trap_frame; | 620 | char *child_trap_frame; |
621 | 621 | ||
622 | /* Calculate offset to stack_frame & pt_regs */ | 622 | /* Calculate offset to stack_frame & pt_regs */ |
623 | child_trap_frame = ((char *)t) + (THREAD_SIZE - (TRACEREG_SZ+STACKFRAME_SZ)); | 623 | child_trap_frame = task_stack_page(p) + (THREAD_SIZE - (TRACEREG_SZ+STACKFRAME_SZ)); |
624 | memcpy(child_trap_frame, (((struct sparc_stackf *)regs)-1), (TRACEREG_SZ+STACKFRAME_SZ)); | 624 | memcpy(child_trap_frame, (((struct sparc_stackf *)regs)-1), (TRACEREG_SZ+STACKFRAME_SZ)); |
625 | 625 | ||
626 | t->flags = (t->flags & ~((0xffUL << TI_FLAG_CWP_SHIFT) | (0xffUL << TI_FLAG_CURRENT_DS_SHIFT))) | | 626 | t->flags = (t->flags & ~((0xffUL << TI_FLAG_CWP_SHIFT) | (0xffUL << TI_FLAG_CURRENT_DS_SHIFT))) | |
@@ -845,7 +845,7 @@ unsigned long get_wchan(struct task_struct *task) | |||
845 | task->state == TASK_RUNNING) | 845 | task->state == TASK_RUNNING) |
846 | goto out; | 846 | goto out; |
847 | 847 | ||
848 | thread_info_base = (unsigned long) task->thread_info; | 848 | thread_info_base = (unsigned long) task_stack_page(task); |
849 | bias = STACK_BIAS; | 849 | bias = STACK_BIAS; |
850 | fp = task_thread_info(task)->ksp + bias; | 850 | fp = task_thread_info(task)->ksp + bias; |
851 | 851 | ||