aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2010-06-07 08:48:13 -0400
committerChris Metcalf <cmetcalf@tilera.com>2010-06-07 09:29:59 -0400
commit139ef32b0e6b88b00b5e3e74d052d938f178dc9b (patch)
tree0d3af3832ada74f2dae87de971bbd46fcbabf106
parentcc44826a26b12b2489bc7dbb597fcdf107f2cc01 (diff)
Revert adding some arch-specific signal syscalls to <linux/syscalls.h>.
It turns out there is some variance on the calling conventions for these syscalls, and <asm-generic/syscalls.h> is already the mechanism used to handle this. Switch arch/tile over to using that mechanism and tweak the calling conventions for a couple of tile syscalls to match <asm-generic/syscalls.h>. Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
-rw-r--r--arch/tile/include/asm/syscalls.h22
-rw-r--r--arch/tile/kernel/process.c2
-rw-r--r--arch/tile/kernel/signal.c4
-rw-r--r--arch/tile/kernel/sys.c2
-rw-r--r--include/linux/syscalls.h4
5 files changed, 5 insertions, 29 deletions
diff --git a/arch/tile/include/asm/syscalls.h b/arch/tile/include/asm/syscalls.h
index e1be54d1a7d8..9f2b8e2f69d5 100644
--- a/arch/tile/include/asm/syscalls.h
+++ b/arch/tile/include/asm/syscalls.h
@@ -22,21 +22,7 @@
22#include <linux/linkage.h> 22#include <linux/linkage.h>
23#include <linux/signal.h> 23#include <linux/signal.h>
24#include <linux/types.h> 24#include <linux/types.h>
25 25#include <asm-generic/syscalls.h>
26/* kernel/process.c */
27int sys_fork(struct pt_regs *);
28int sys_vfork(struct pt_regs *);
29int sys_clone(unsigned long clone_flags, unsigned long newsp,
30 int __user *parent_tidptr, int __user *child_tidptr,
31 struct pt_regs *);
32int sys_execve(char __user *path, char __user *__user *argv,
33 char __user *__user *envp, struct pt_regs *);
34
35/* kernel/signal.c */
36int sys_sigaltstack(const stack_t __user *, stack_t __user *,
37 struct pt_regs *);
38long sys_rt_sigreturn(struct pt_regs *);
39int sys_raise_fpe(int code, unsigned long addr, struct pt_regs*);
40 26
41/* kernel/sys.c */ 27/* kernel/sys.c */
42ssize_t sys32_readahead(int fd, u32 offset_lo, u32 offset_hi, u32 count); 28ssize_t sys32_readahead(int fd, u32 offset_lo, u32 offset_hi, u32 count);
@@ -45,12 +31,6 @@ long sys32_fadvise64(int fd, u32 offset_lo, u32 offset_hi,
45int sys32_fadvise64_64(int fd, u32 offset_lo, u32 offset_hi, 31int sys32_fadvise64_64(int fd, u32 offset_lo, u32 offset_hi,
46 u32 len_lo, u32 len_hi, int advice); 32 u32 len_lo, u32 len_hi, int advice);
47long sys_flush_cache(void); 33long sys_flush_cache(void);
48long sys_mmap(unsigned long addr, unsigned long len,
49 unsigned long prot, unsigned long flags,
50 unsigned long fd, unsigned long offset);
51long sys_mmap2(unsigned long addr, unsigned long len,
52 unsigned long prot, unsigned long flags,
53 unsigned long fd, unsigned long offset);
54 34
55#ifndef __tilegx__ 35#ifndef __tilegx__
56/* mm/fault.c */ 36/* mm/fault.c */
diff --git a/arch/tile/kernel/process.c b/arch/tile/kernel/process.c
index 824f230e6d1a..c70ff14a48e4 100644
--- a/arch/tile/kernel/process.c
+++ b/arch/tile/kernel/process.c
@@ -502,7 +502,7 @@ int _sys_fork(struct pt_regs *regs)
502} 502}
503 503
504int _sys_clone(unsigned long clone_flags, unsigned long newsp, 504int _sys_clone(unsigned long clone_flags, unsigned long newsp,
505 int __user *parent_tidptr, int __user *child_tidptr, 505 void __user *parent_tidptr, void __user *child_tidptr,
506 struct pt_regs *regs) 506 struct pt_regs *regs)
507{ 507{
508 if (!newsp) 508 if (!newsp)
diff --git a/arch/tile/kernel/signal.c b/arch/tile/kernel/signal.c
index 7ea85eb85242..45835cfad407 100644
--- a/arch/tile/kernel/signal.c
+++ b/arch/tile/kernel/signal.c
@@ -43,8 +43,8 @@
43/* Caller before callee in this file; other callee is in assembler */ 43/* Caller before callee in this file; other callee is in assembler */
44void do_signal(struct pt_regs *regs); 44void do_signal(struct pt_regs *regs);
45 45
46int _sys_sigaltstack(const stack_t __user *uss, 46long _sys_sigaltstack(const stack_t __user *uss,
47 stack_t __user *uoss, struct pt_regs *regs) 47 stack_t __user *uoss, struct pt_regs *regs)
48{ 48{
49 return do_sigaltstack(uss, uoss, regs->sp); 49 return do_sigaltstack(uss, uoss, regs->sp);
50} 50}
diff --git a/arch/tile/kernel/sys.c b/arch/tile/kernel/sys.c
index a3d982b212b4..0427978cea0a 100644
--- a/arch/tile/kernel/sys.c
+++ b/arch/tile/kernel/sys.c
@@ -95,7 +95,7 @@ SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len,
95 */ 95 */
96SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len, 96SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
97 unsigned long, prot, unsigned long, flags, 97 unsigned long, prot, unsigned long, flags,
98 unsigned long, fd, unsigned long, offset) 98 unsigned long, fd, off_t, offset)
99{ 99{
100 if (offset & ((1 << PAGE_SHIFT) - 1)) 100 if (offset & ((1 << PAGE_SHIFT) - 1))
101 return -EINVAL; 101 return -EINVAL;
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 1e3cd5fec7ed..7f614ce274a9 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -364,13 +364,9 @@ asmlinkage long sys_init_module(void __user *umod, unsigned long len,
364asmlinkage long sys_delete_module(const char __user *name_user, 364asmlinkage long sys_delete_module(const char __user *name_user,
365 unsigned int flags); 365 unsigned int flags);
366 366
367asmlinkage long sys_rt_sigaction(int sig, const struct sigaction __user *act,
368 struct sigaction __user *oact,
369 size_t sigsetsize);
370asmlinkage long sys_rt_sigprocmask(int how, sigset_t __user *set, 367asmlinkage long sys_rt_sigprocmask(int how, sigset_t __user *set,
371 sigset_t __user *oset, size_t sigsetsize); 368 sigset_t __user *oset, size_t sigsetsize);
372asmlinkage long sys_rt_sigpending(sigset_t __user *set, size_t sigsetsize); 369asmlinkage long sys_rt_sigpending(sigset_t __user *set, size_t sigsetsize);
373asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize);
374asmlinkage long sys_rt_sigtimedwait(const sigset_t __user *uthese, 370asmlinkage long sys_rt_sigtimedwait(const sigset_t __user *uthese,
375 siginfo_t __user *uinfo, 371 siginfo_t __user *uinfo,
376 const struct timespec __user *uts, 372 const struct timespec __user *uts,