diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-01-12 04:06:01 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-12 12:08:57 -0500 |
commit | ee8c1dd44305cca9d0ded248de991f67b55ec622 (patch) | |
tree | 59d5e3b0cfa58390f793223eb8b3a779fc61c2d6 /arch | |
parent | 7fdf0d7a2012e560fee738bfd7f2af26faeb3a39 (diff) |
[PATCH] sh64: 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')
-rw-r--r-- | arch/sh64/kernel/process.c | 4 | ||||
-rw-r--r-- | arch/sh64/lib/dbg.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/sh64/kernel/process.c b/arch/sh64/kernel/process.c index 419b5a710441..1da9c61d6823 100644 --- a/arch/sh64/kernel/process.c +++ b/arch/sh64/kernel/process.c | |||
@@ -744,7 +744,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp, | |||
744 | } | 744 | } |
745 | #endif | 745 | #endif |
746 | /* Copy from sh version */ | 746 | /* Copy from sh version */ |
747 | childregs = ((struct pt_regs *)(THREAD_SIZE + (unsigned long) p->thread_info )) - 1; | 747 | childregs = (struct pt_regs *)(THREAD_SIZE + task_stack_page(p)) - 1; |
748 | 748 | ||
749 | *childregs = *regs; | 749 | *childregs = *regs; |
750 | 750 | ||
@@ -752,7 +752,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp, | |||
752 | childregs->regs[15] = usp; | 752 | childregs->regs[15] = usp; |
753 | p->thread.uregs = childregs; | 753 | p->thread.uregs = childregs; |
754 | } else { | 754 | } else { |
755 | childregs->regs[15] = (unsigned long)p->thread_info + THREAD_SIZE; | 755 | childregs->regs[15] = (unsigned long)task_stack_page(p) + THREAD_SIZE; |
756 | } | 756 | } |
757 | 757 | ||
758 | childregs->regs[9] = 0; /* Set return value for child */ | 758 | childregs->regs[9] = 0; /* Set return value for child */ |
diff --git a/arch/sh64/lib/dbg.c b/arch/sh64/lib/dbg.c index 526fedae6db8..58087331b8a6 100644 --- a/arch/sh64/lib/dbg.c +++ b/arch/sh64/lib/dbg.c | |||
@@ -174,7 +174,7 @@ void evt_debug(int evt, int ret_addr, int event, int tra, struct pt_regs *regs) | |||
174 | struct ring_node *rr; | 174 | struct ring_node *rr; |
175 | 175 | ||
176 | pid = current->pid; | 176 | pid = current->pid; |
177 | stack_bottom = (unsigned long) current->thread_info; | 177 | stack_bottom = (unsigned long) task_stack_page(current); |
178 | asm volatile("ori r15, 0, %0" : "=r" (sp)); | 178 | asm volatile("ori r15, 0, %0" : "=r" (sp)); |
179 | rr = event_ring + event_ptr; | 179 | rr = event_ring + event_ptr; |
180 | rr->evt = evt; | 180 | rr->evt = evt; |