diff options
author | Chris Metcalf <cmetcalf@tilera.com> | 2012-10-19 22:25:12 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-20 19:13:29 +0200 |
commit | 0f8b983812f5ff588d7e3459b203714e4e58a9b2 (patch) | |
tree | c3daaff762ca64667dc4d412509e9472b4f3d72d /arch/tile/kernel/intvec_32.S | |
parent | Drop struct pt_regs * argument in compat_sys_execve() (diff) | |
download | linux-0f8b983812f5ff588d7e3459b203714e4e58a9b2.tar.xz linux-0f8b983812f5ff588d7e3459b203714e4e58a9b2.zip |
tile: support GENERIC_KERNEL_THREAD and GENERIC_KERNEL_EXECVE
Also provide an optimized current_pt_regs() while we're at it.
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/tile/kernel/intvec_32.S')
-rw-r--r-- | arch/tile/kernel/intvec_32.S | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/tile/kernel/intvec_32.S b/arch/tile/kernel/intvec_32.S index 6943515100f8..58aad519b7d6 100644 --- a/arch/tile/kernel/intvec_32.S +++ b/arch/tile/kernel/intvec_32.S @@ -1291,6 +1291,21 @@ STD_ENTRY(ret_from_fork) } STD_ENDPROC(ret_from_fork) +STD_ENTRY(ret_from_kernel_thread) + jal sim_notify_fork + jal schedule_tail + FEEDBACK_REENTER(ret_from_fork) + { + move r0, r31 + jalr r30 + } + FEEDBACK_REENTER(ret_from_kernel_thread) + { + movei r30, 0 /* not an NMI */ + j .Lresume_userspace /* jump into middle of interrupt_return */ + } + STD_ENDPROC(ret_from_kernel_thread) + /* * Code for ill interrupt. */ |