summaryrefslogtreecommitdiffstats
path: root/arch/frv/kernel/entry.S
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-09-18 22:18:51 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-10-01 00:53:10 -0400
commit02ce496f152df87be081a64796498942c433a2fd (patch)
tree0e6bdae8a5c9b1538f45c198cae7715957b997ba /arch/frv/kernel/entry.S
parentd878d6dacee2c862f02da20f7fa3e2c0e8820e71 (diff)
downloadop-kernel-dev-02ce496f152df87be081a64796498942c433a2fd.zip
op-kernel-dev-02ce496f152df87be081a64796498942c433a2fd.tar.gz
frv: split ret_from_fork, simplify kernel_thread() a lot
Acked-by: David Howells <dhowells@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/frv/kernel/entry.S')
-rw-r--r--arch/frv/kernel/entry.S8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/frv/kernel/entry.S b/arch/frv/kernel/entry.S
index 7d5e000..7a88613 100644
--- a/arch/frv/kernel/entry.S
+++ b/arch/frv/kernel/entry.S
@@ -863,6 +863,14 @@ ret_from_fork:
setlos.p #0,gr8
bra __syscall_exit
+ .globl ret_from_kernel_thread
+ret_from_kernel_thread:
+ lddi.p @(gr28,#REG_GR(8)),gr20
+ call schedule_tail
+ or.p gr20,gr20,gr8
+ calll @(gr21,gr0)
+ bra sys_exit
+
###################################################################################################
#
# Return to user mode is not as complex as all this looks,
OpenPOWER on IntegriCloud