diff options
author | Chris Metcalf <cmetcalf@tilera.com> | 2010-06-07 08:48:13 -0400 |
---|---|---|
committer | Chris Metcalf <cmetcalf@tilera.com> | 2010-06-07 09:29:59 -0400 |
commit | 139ef32b0e6b88b00b5e3e74d052d938f178dc9b (patch) | |
tree | 0d3af3832ada74f2dae87de971bbd46fcbabf106 | |
parent | cc44826a26b12b2489bc7dbb597fcdf107f2cc01 (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.h | 22 | ||||
-rw-r--r-- | arch/tile/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/tile/kernel/signal.c | 4 | ||||
-rw-r--r-- | arch/tile/kernel/sys.c | 2 | ||||
-rw-r--r-- | include/linux/syscalls.h | 4 |
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 */ | ||
27 | int sys_fork(struct pt_regs *); | ||
28 | int sys_vfork(struct pt_regs *); | ||
29 | int sys_clone(unsigned long clone_flags, unsigned long newsp, | ||
30 | int __user *parent_tidptr, int __user *child_tidptr, | ||
31 | struct pt_regs *); | ||
32 | int sys_execve(char __user *path, char __user *__user *argv, | ||
33 | char __user *__user *envp, struct pt_regs *); | ||
34 | |||
35 | /* kernel/signal.c */ | ||
36 | int sys_sigaltstack(const stack_t __user *, stack_t __user *, | ||
37 | struct pt_regs *); | ||
38 | long sys_rt_sigreturn(struct pt_regs *); | ||
39 | int sys_raise_fpe(int code, unsigned long addr, struct pt_regs*); | ||
40 | 26 | ||
41 | /* kernel/sys.c */ | 27 | /* kernel/sys.c */ |
42 | ssize_t sys32_readahead(int fd, u32 offset_lo, u32 offset_hi, u32 count); | 28 | ssize_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, | |||
45 | int sys32_fadvise64_64(int fd, u32 offset_lo, u32 offset_hi, | 31 | int 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); |
47 | long sys_flush_cache(void); | 33 | long sys_flush_cache(void); |
48 | long sys_mmap(unsigned long addr, unsigned long len, | ||
49 | unsigned long prot, unsigned long flags, | ||
50 | unsigned long fd, unsigned long offset); | ||
51 | long 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 | ||
504 | int _sys_clone(unsigned long clone_flags, unsigned long newsp, | 504 | int _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 */ |
44 | void do_signal(struct pt_regs *regs); | 44 | void do_signal(struct pt_regs *regs); |
45 | 45 | ||
46 | int _sys_sigaltstack(const stack_t __user *uss, | 46 | long _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 | */ |
96 | SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len, | 96 | SYSCALL_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, | |||
364 | asmlinkage long sys_delete_module(const char __user *name_user, | 364 | asmlinkage long sys_delete_module(const char __user *name_user, |
365 | unsigned int flags); | 365 | unsigned int flags); |
366 | 366 | ||
367 | asmlinkage long sys_rt_sigaction(int sig, const struct sigaction __user *act, | ||
368 | struct sigaction __user *oact, | ||
369 | size_t sigsetsize); | ||
370 | asmlinkage long sys_rt_sigprocmask(int how, sigset_t __user *set, | 367 | asmlinkage 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); |
372 | asmlinkage long sys_rt_sigpending(sigset_t __user *set, size_t sigsetsize); | 369 | asmlinkage long sys_rt_sigpending(sigset_t __user *set, size_t sigsetsize); |
373 | asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize); | ||
374 | asmlinkage long sys_rt_sigtimedwait(const sigset_t __user *uthese, | 370 | asmlinkage 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, |