mirror of https://gitee.com/openkylin/linux.git
[PATCH] sparc: 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>
This commit is contained in:
parent
d562ef6a23
commit
36483c6b5e
|
@ -302,7 +302,7 @@ void show_stack(struct task_struct *tsk, unsigned long *_ksp)
|
|||
int count = 0;
|
||||
|
||||
if (tsk != NULL)
|
||||
task_base = (unsigned long) tsk->thread_info;
|
||||
task_base = (unsigned long) task_stack_page(tsk);
|
||||
else
|
||||
task_base = (unsigned long) current_thread_info();
|
||||
|
||||
|
@ -392,7 +392,7 @@ void flush_thread(void)
|
|||
/* We must fixup kregs as well. */
|
||||
/* XXX This was not fixed for ti for a while, worked. Unused? */
|
||||
current->thread.kregs = (struct pt_regs *)
|
||||
((char *)current->thread_info + (THREAD_SIZE - TRACEREG_SZ));
|
||||
(task_stack_page(current) + (THREAD_SIZE - TRACEREG_SZ));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -459,7 +459,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long sp,
|
|||
unsigned long unused,
|
||||
struct task_struct *p, struct pt_regs *regs)
|
||||
{
|
||||
struct thread_info *ti = p->thread_info;
|
||||
struct thread_info *ti = task_thread_info(p);
|
||||
struct pt_regs *childregs;
|
||||
char *new_stack;
|
||||
|
||||
|
@ -482,7 +482,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long sp,
|
|||
* V V (stk.fr.) V (pt_regs) { (stk.fr.) }
|
||||
* +----- - - - - - ------+===========+============={+==========}+
|
||||
*/
|
||||
new_stack = (char*)ti + THREAD_SIZE;
|
||||
new_stack = task_stack_page(p) + THREAD_SIZE;
|
||||
if (regs->psr & PSR_PS)
|
||||
new_stack -= STACKFRAME_SZ;
|
||||
new_stack -= STACKFRAME_SZ + TRACEREG_SZ;
|
||||
|
|
Loading…
Reference in New Issue