summaryrefslogtreecommitdiff
path: root/arch/parisc/kernel/entry.S
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-10-04 07:44:44 +0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-10-15 03:36:36 +0400
commit4e5ed85ab5f1c9973588d7226c2894016059d9f6 (patch)
tree20fd443d736bca2b2853628cc89e9d8bc1d9a212 /arch/parisc/kernel/entry.S
parenta44e060fc523c379341e35a981c09c3953cf4ba4 (diff)
downloadlinux-4e5ed85ab5f1c9973588d7226c2894016059d9f6.tar.xz
parisc: switch to generic kernel_execve()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/parisc/kernel/entry.S')
-rw-r--r--arch/parisc/kernel/entry.S28
1 files changed, 6 insertions, 22 deletions
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
index 18d05e7373b5..a26917da9b2f 100644
--- a/arch/parisc/kernel/entry.S
+++ b/arch/parisc/kernel/entry.S
@@ -741,28 +741,12 @@ ENTRY(ret_from_kernel_thread)
ldi 0, %r26
ENDPROC(ret_from_kernel_thread)
- .import sys_execve, code
-ENTRY(__execve)
- copy %r2, %r15
- copy %r30, %r16
- ldo PT_SZ_ALGN(%r30), %r30
- STREG %r26, PT_GR26(%r16)
- STREG %r25, PT_GR25(%r16)
- STREG %r24, PT_GR24(%r16)
-#ifdef CONFIG_64BIT
- ldo -16(%r30),%r29 /* Reference param save area */
-#endif
- BL sys_execve, %r2
- copy %r16, %r26
-
- cmpib,=,n 0,%r28,intr_return /* forward */
-
- /* yes, this will trap and die. */
- copy %r15, %r2
- copy %r16, %r30
- bv %r0(%r2)
- nop
-ENDPROC(__execve)
+ENTRY(ret_from_kernel_execve)
+ mfctl %cr30, %r1
+ ldo THREAD_SZ_ALGN(%r1), %r30
+ b intr_return /* forward */
+ copy %r26,%r16 /* pt_regs into r16 */
+ENDPROC(ret_from_kernel_execve)
/*