summaryrefslogtreecommitdiffstats
path: root/arch/avr32/kernel/entry-avr32b.S
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-10-15 02:23:22 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-10-15 11:14:38 -0400
commit5adc807f707535a5ce97b5d69472ee74d6d099ac (patch)
tree837bc92007282a8acb0145ad7104bb0b7588470b /arch/avr32/kernel/entry-avr32b.S
parentddffeb8c4d0331609ef2581d84de4d763607bd37 (diff)
downloadlinux-5adc807f707535a5ce97b5d69472ee74d6d099ac.tar.gz
linux-5adc807f707535a5ce97b5d69472ee74d6d099ac.tar.xz
avr32: switch to generic kernel_thread()/kernel_execve()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/avr32/kernel/entry-avr32b.S')
-rw-r--r--arch/avr32/kernel/entry-avr32b.S14
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/avr32/kernel/entry-avr32b.S b/arch/avr32/kernel/entry-avr32b.S
index df2884181313..9899d3cc6f03 100644
--- a/arch/avr32/kernel/entry-avr32b.S
+++ b/arch/avr32/kernel/entry-avr32b.S
@@ -251,13 +251,15 @@ syscall_badsys:
.global ret_from_fork
ret_from_fork:
call schedule_tail
+ mov r12, 0
+ rjmp syscall_return
- /* check for syscall tracing */
- get_thread_info r0
- ld.w r1, r0[TI_flags]
- andl r1, _TIF_ALLWORK_MASK, COH
- brne syscall_exit_work
- rjmp syscall_exit_cont
+ .global ret_from_kernel_thread
+ret_from_kernel_thread:
+ call schedule_tail
+ mov r12, r0
+ mov lr, r2 /* syscall_return */
+ mov pc, r1
syscall_trace_enter:
pushm r8-r12