diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-06 04:37:01 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-15 01:26:52 +0200 |
commit | 1918c7f548dc5abfb37ab74bb3d036d36c92ba5e (patch) | |
tree | c6f1a678fd6dac2ab93579a7246afb27cc7f9f26 /arch/sparc/kernel/syscalls.S | |
parent | sparc64: clear syscall_noerror on the entry to syscall, not on the exit (diff) | |
download | linux-1918c7f548dc5abfb37ab74bb3d036d36c92ba5e.tar.xz linux-1918c7f548dc5abfb37ab74bb3d036d36c92ba5e.zip |
sparc64: switch to generic kernel_thread()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/sparc/kernel/syscalls.S')
-rw-r--r-- | arch/sparc/kernel/syscalls.S | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/sparc/kernel/syscalls.S b/arch/sparc/kernel/syscalls.S index b0ac10306425..624f34162c38 100644 --- a/arch/sparc/kernel/syscalls.S +++ b/arch/sparc/kernel/syscalls.S @@ -112,11 +112,16 @@ sys_clone: ret_from_syscall: /* Clear current_thread_info()->new_child. */ stb %g0, [%g6 + TI_NEW_CHILD] - ldx [%g6 + TI_FLAGS], %l0 call schedule_tail mov %g7, %o0 - ba,pt %xcc, ret_sys_call - ldx [%sp + PTREGS_OFF + PT_V9_I0], %o0 + ldx [%sp + PTREGS_OFF + PT_V9_I0], %o0 + brnz,a,pt %o0, ret_sys_call + ldx [%g6 + TI_FLAGS], %l0 + ldx [%sp + PTREGS_OFF + PT_V9_G1], %l0 + call %l0 + ldx [%sp + PTREGS_OFF + PT_V9_G2], %o0 + call do_exit ! will not return + mov 0,%o0 .globl sparc_exit .type sparc_exit,#function |