mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-12 00:00:00 +00:00
powerpc: don't mess with r2 in copy_thread() and friends
kernel_thread() callbacks are *not* in modules and are not going to be there. And it's not even read in ppc32 ret_from_kernel_thread(), so no need to bother with it there either. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
138d1ce80e
commit
40792104b2
@ -373,7 +373,6 @@ _GLOBAL(ret_from_fork)
|
||||
_GLOBAL(ret_from_kernel_thread)
|
||||
bl .schedule_tail
|
||||
REST_NVGPRS(r1)
|
||||
REST_GPR(2,r1)
|
||||
mtlr r14
|
||||
mr r3,r15
|
||||
blrl
|
||||
|
@ -751,12 +751,10 @@ int copy_thread(unsigned long clone_flags, unsigned long usp,
|
||||
childregs->gpr[1] = sp + sizeof(struct pt_regs);
|
||||
#ifdef CONFIG_PPC64
|
||||
childregs->gpr[14] = *(unsigned long *)usp;
|
||||
childregs->gpr[2] = ((unsigned long *)usp)[1],
|
||||
clear_tsk_thread_flag(p, TIF_32BIT);
|
||||
childregs->softe = 1;
|
||||
#else
|
||||
childregs->gpr[14] = usp; /* function */
|
||||
childregs->gpr[2] = (unsigned long) p;
|
||||
#endif
|
||||
childregs->gpr[15] = arg;
|
||||
p->thread.regs = NULL; /* no user register state */
|
||||
|
Loading…
x
Reference in New Issue
Block a user