Skip to content

Commit

Permalink
Revert adding some arch-specific signal syscalls to <linux/syscalls.h>.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Chris Metcalf committed Jun 7, 2010
1 parent cc44826 commit 139ef32
Show file tree
Hide file tree
Showing 5 changed files with 5 additions and 29 deletions.
22 changes: 1 addition & 21 deletions arch/tile/include/asm/syscalls.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,7 @@
#include <linux/linkage.h>
#include <linux/signal.h>
#include <linux/types.h>

/* kernel/process.c */
int sys_fork(struct pt_regs *);
int sys_vfork(struct pt_regs *);
int sys_clone(unsigned long clone_flags, unsigned long newsp,
int __user *parent_tidptr, int __user *child_tidptr,
struct pt_regs *);
int sys_execve(char __user *path, char __user *__user *argv,
char __user *__user *envp, struct pt_regs *);

/* kernel/signal.c */
int sys_sigaltstack(const stack_t __user *, stack_t __user *,
struct pt_regs *);
long sys_rt_sigreturn(struct pt_regs *);
int sys_raise_fpe(int code, unsigned long addr, struct pt_regs*);
#include <asm-generic/syscalls.h>

/* kernel/sys.c */
ssize_t sys32_readahead(int fd, u32 offset_lo, u32 offset_hi, u32 count);
Expand All @@ -45,12 +31,6 @@ long sys32_fadvise64(int fd, u32 offset_lo, u32 offset_hi,
int sys32_fadvise64_64(int fd, u32 offset_lo, u32 offset_hi,
u32 len_lo, u32 len_hi, int advice);
long sys_flush_cache(void);
long sys_mmap(unsigned long addr, unsigned long len,
unsigned long prot, unsigned long flags,
unsigned long fd, unsigned long offset);
long sys_mmap2(unsigned long addr, unsigned long len,
unsigned long prot, unsigned long flags,
unsigned long fd, unsigned long offset);

#ifndef __tilegx__
/* mm/fault.c */
Expand Down
2 changes: 1 addition & 1 deletion arch/tile/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -502,7 +502,7 @@ int _sys_fork(struct pt_regs *regs)
}

int _sys_clone(unsigned long clone_flags, unsigned long newsp,
int __user *parent_tidptr, int __user *child_tidptr,
void __user *parent_tidptr, void __user *child_tidptr,
struct pt_regs *regs)
{
if (!newsp)
Expand Down
4 changes: 2 additions & 2 deletions arch/tile/kernel/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@
/* Caller before callee in this file; other callee is in assembler */
void do_signal(struct pt_regs *regs);

int _sys_sigaltstack(const stack_t __user *uss,
stack_t __user *uoss, struct pt_regs *regs)
long _sys_sigaltstack(const stack_t __user *uss,
stack_t __user *uoss, struct pt_regs *regs)
{
return do_sigaltstack(uss, uoss, regs->sp);
}
Expand Down
2 changes: 1 addition & 1 deletion arch/tile/kernel/sys.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len,
*/
SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
unsigned long, prot, unsigned long, flags,
unsigned long, fd, unsigned long, offset)
unsigned long, fd, off_t, offset)
{
if (offset & ((1 << PAGE_SHIFT) - 1))
return -EINVAL;
Expand Down
4 changes: 0 additions & 4 deletions include/linux/syscalls.h
Original file line number Diff line number Diff line change
Expand Up @@ -364,13 +364,9 @@ asmlinkage long sys_init_module(void __user *umod, unsigned long len,
asmlinkage long sys_delete_module(const char __user *name_user,
unsigned int flags);

asmlinkage long sys_rt_sigaction(int sig, const struct sigaction __user *act,
struct sigaction __user *oact,
size_t sigsetsize);
asmlinkage long sys_rt_sigprocmask(int how, sigset_t __user *set,
sigset_t __user *oset, size_t sigsetsize);
asmlinkage long sys_rt_sigpending(sigset_t __user *set, size_t sigsetsize);
asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize);
asmlinkage long sys_rt_sigtimedwait(const sigset_t __user *uthese,
siginfo_t __user *uinfo,
const struct timespec __user *uts,
Expand Down

0 comments on commit 139ef32

Please sign in to comment.