aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-10-26 23:41:40 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-11-28 23:43:41 -0500
commit3e41f9ba611cf8b87a20eecc54572b348b48bd91 (patch)
treec85f8e3fe45e092ecee443f00aad3509442facd8 /arch
parent39d91a9eafec7524482e70af76ccbe803dce5b8e (diff)
xtensa: switch to generic clone()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/xtensa/Kconfig1
-rw-r--r--arch/xtensa/include/asm/syscall.h1
-rw-r--r--arch/xtensa/include/asm/unistd.h1
-rw-r--r--arch/xtensa/include/uapi/asm/unistd.h2
-rw-r--r--arch/xtensa/kernel/process.c9
5 files changed, 3 insertions, 11 deletions
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index 0d1f36a22c98..2481f267be29 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -16,6 +16,7 @@ config XTENSA
16 select GENERIC_KERNEL_THREAD 16 select GENERIC_KERNEL_THREAD
17 select GENERIC_KERNEL_EXECVE 17 select GENERIC_KERNEL_EXECVE
18 select ARCH_WANT_OPTIONAL_GPIOLIB 18 select ARCH_WANT_OPTIONAL_GPIOLIB
19 select CLONE_BACKWARDS
19 help 20 help
20 Xtensa processors are 32-bit RISC machines designed by Tensilica 21 Xtensa processors are 32-bit RISC machines designed by Tensilica
21 primarily for embedded systems. These processors are both 22 primarily for embedded systems. These processors are both
diff --git a/arch/xtensa/include/asm/syscall.h b/arch/xtensa/include/asm/syscall.h
index 4e27d76c9612..b00c928d4cce 100644
--- a/arch/xtensa/include/asm/syscall.h
+++ b/arch/xtensa/include/asm/syscall.h
@@ -10,7 +10,6 @@
10 10
11struct pt_regs; 11struct pt_regs;
12struct sigaction; 12struct sigaction;
13asmlinkage long xtensa_clone(unsigned long, unsigned long, struct pt_regs*);
14asmlinkage long xtensa_ptrace(long, long, long, long); 13asmlinkage long xtensa_ptrace(long, long, long, long);
15asmlinkage long xtensa_sigreturn(struct pt_regs*); 14asmlinkage long xtensa_sigreturn(struct pt_regs*);
16asmlinkage long xtensa_rt_sigreturn(struct pt_regs*); 15asmlinkage long xtensa_rt_sigreturn(struct pt_regs*);
diff --git a/arch/xtensa/include/asm/unistd.h b/arch/xtensa/include/asm/unistd.h
index f4e6eaa40d1c..e002dbcc88b6 100644
--- a/arch/xtensa/include/asm/unistd.h
+++ b/arch/xtensa/include/asm/unistd.h
@@ -2,6 +2,7 @@
2#define _XTENSA_UNISTD_H 2#define _XTENSA_UNISTD_H
3 3
4#define __ARCH_WANT_SYS_EXECVE 4#define __ARCH_WANT_SYS_EXECVE
5#define __ARCH_WANT_SYS_CLONE
5#include <uapi/asm/unistd.h> 6#include <uapi/asm/unistd.h>
6 7
7/* 8/*
diff --git a/arch/xtensa/include/uapi/asm/unistd.h b/arch/xtensa/include/uapi/asm/unistd.h
index 9f36d0e3e0ac..5162418c5d90 100644
--- a/arch/xtensa/include/uapi/asm/unistd.h
+++ b/arch/xtensa/include/uapi/asm/unistd.h
@@ -260,7 +260,7 @@ __SYSCALL(115, sys_sendmmsg, 4)
260/* Process Operations */ 260/* Process Operations */
261 261
262#define __NR_clone 116 262#define __NR_clone 116
263__SYSCALL(116, xtensa_clone, 5) 263__SYSCALL(116, sys_clone, 5)
264#define __NR_execve 117 264#define __NR_execve 117
265__SYSCALL(117, sys_execve, 3) 265__SYSCALL(117, sys_execve, 3)
266#define __NR_exit 118 266#define __NR_exit 118
diff --git a/arch/xtensa/kernel/process.c b/arch/xtensa/kernel/process.c
index 09ae7bfab9a7..0036c14739f8 100644
--- a/arch/xtensa/kernel/process.c
+++ b/arch/xtensa/kernel/process.c
@@ -364,12 +364,3 @@ int dump_fpu(void)
364{ 364{
365 return 0; 365 return 0;
366} 366}
367
368asmlinkage
369long xtensa_clone(unsigned long clone_flags, unsigned long newsp,
370 void __user *parent_tid, void *child_tls,
371 void __user *child_tid, long a5,
372 struct pt_regs *regs)
373{
374 return do_fork(clone_flags, newsp, regs, 0, parent_tid, child_tid);
375}