diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-09-12 18:32:42 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-09-30 23:31:19 -0400 |
commit | 58254e1002a82eb383c5977ad9fd5a451b91fe29 (patch) | |
tree | e03b441b252ec3630ceedbe266311c0a24812fd9 /arch/powerpc/kernel/entry_32.S | |
parent | f322220d6159455da2b5a8a596d802c8695fed30 (diff) |
powerpc: split ret_from_fork
... and get rid of in-kernel syscalls in kernel_thread()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/powerpc/kernel/entry_32.S')
-rw-r--r-- | arch/powerpc/kernel/entry_32.S | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S index ead5016b02d..6eb330a87c3 100644 --- a/arch/powerpc/kernel/entry_32.S +++ b/arch/powerpc/kernel/entry_32.S @@ -435,6 +435,17 @@ ret_from_fork: li r3,0 b ret_from_syscall + .globl ret_from_kernel_thread +ret_from_kernel_thread: + REST_NVGPRS(r1) + bl schedule_tail + mtlr r14 + mr r3,r15 + PPC440EP_ERR42 + blrl + li r3,0 + b do_exit # no return + /* Traced system call support */ syscall_dotrace: SAVE_NVGPRS(r1) |