powerpc: take dereferencing to ret_from_kernel_thread()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
40792104b2
commit
53b50f9483
2 changed files with 2 additions and 3 deletions
|
@ -373,6 +373,7 @@ _GLOBAL(ret_from_fork)
|
|||
_GLOBAL(ret_from_kernel_thread)
|
||||
bl .schedule_tail
|
||||
REST_NVGPRS(r1)
|
||||
ld r14, 0(r14)
|
||||
mtlr r14
|
||||
mr r3,r15
|
||||
blrl
|
||||
|
|
|
@ -749,12 +749,10 @@ int copy_thread(unsigned long clone_flags, unsigned long usp,
|
|||
struct thread_info *ti = (void *)task_stack_page(p);
|
||||
memset(childregs, 0, sizeof(struct pt_regs));
|
||||
childregs->gpr[1] = sp + sizeof(struct pt_regs);
|
||||
childregs->gpr[14] = usp; /* function */
|
||||
#ifdef CONFIG_PPC64
|
||||
childregs->gpr[14] = *(unsigned long *)usp;
|
||||
clear_tsk_thread_flag(p, TIF_32BIT);
|
||||
childregs->softe = 1;
|
||||
#else
|
||||
childregs->gpr[14] = usp; /* function */
|
||||
#endif
|
||||
childregs->gpr[15] = arg;
|
||||
p->thread.regs = NULL; /* no user register state */
|
||||
|
|
Loading…
Reference in a new issue