summaryrefslogtreecommitdiffstats
path: root/arch/m68k/kernel/entry.S
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-09-16 18:05:09 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2012-10-01 06:44:44 +0200
commit533e6903bea0440816a0f517b0845ccea4cc7917 (patch)
treebc01397ec305de38476ab9dab8b33c1b2d492379 /arch/m68k/kernel/entry.S
parentm68k: always set stack frame format for ColdFire on thread start (diff)
downloadlinux-533e6903bea0440816a0f517b0845ccea4cc7917.tar.xz
linux-533e6903bea0440816a0f517b0845ccea4cc7917.zip
m68k: split ret_from_fork(), simplify kernel_thread()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/m68k/kernel/entry.S')
-rw-r--r--arch/m68k/kernel/entry.S11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/m68k/kernel/entry.S b/arch/m68k/kernel/entry.S
index 165ee9f9d5c9..8a01f580a024 100644
--- a/arch/m68k/kernel/entry.S
+++ b/arch/m68k/kernel/entry.S
@@ -111,6 +111,17 @@ ENTRY(ret_from_fork)
addql #4,%sp
jra ret_from_exception
+ENTRY(ret_from_kernel_thread)
+ | a3 contains the kernel thread payload, d7 - its argument
+ movel %d1,%sp@-
+ jsr schedule_tail
+ GET_CURRENT(%d0)
+ movel %d7,(%sp)
+ jsr %a3@
+ addql #4,%sp
+ movel %d0,(%sp)
+ jra sys_exit
+
#if defined(CONFIG_COLDFIRE) || !defined(CONFIG_MMU)
#ifdef TRAP_DBG_INTERRUPT