2008-07-21 00:02:47

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 0/22] Introducing asm/syscalls.h

Hello,

The following series of patches introduce asm/syscalls.h in various
architectures.

As per David Woodhouse suggestion I am sending one patch per
architecture.

Thank you,

Jaswinder Singh.


2008-07-21 00:03:04

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 2/22] alpha: Introducing asm/syscalls.h


Declaring arch-dependent syscalls for alpha architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/alpha/kernel/signal.c | 1 +
include/asm-alpha/syscalls.h | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/arch/alpha/kernel/signal.c b/arch/alpha/kernel/signal.c
index 410af4f..3cf9971 100644
--- a/arch/alpha/kernel/signal.c
+++ b/arch/alpha/kernel/signal.c
@@ -19,6 +19,7 @@
#include <linux/tty.h>
#include <linux/binfmts.h>
#include <linux/bitops.h>
+#include <linux/syscalls.h>

#include <asm/uaccess.h>
#include <asm/sigcontext.h>
diff --git a/include/asm-alpha/syscalls.h b/include/asm-alpha/syscalls.h
index e69de29..eec7dc5 100644
--- a/include/asm-alpha/syscalls.h
+++ b/include/asm-alpha/syscalls.h
@@ -0,0 +1,21 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_APLHA_SYSCALLS_H
+#define _ASM_APLHA_SYSCALLS_H
+
+/* kernel/signal.c */
+asmlinkage long sys_rt_sigaction(int, const struct sigaction __user *,
+ struct sigaction __user *, size_t,
+ void __user *restorer);
+asmlinkage int sys_sigaltstack(const stack_t __user *, stack_t __user *);
+
+#endif /* _ASM_APLHA_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:03:27

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 3/22] arm: Introducing asm/syscalls.h


Declaring arch-dependent syscalls for arm architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/arm/kernel/signal.c | 1 +
arch/arm/kernel/sys_oabi-compat.c | 3 --
include/asm-arm/syscalls.h | 73 +++++++++++++++++++++++++++++++++++++
3 files changed, 74 insertions(+), 3 deletions(-)

diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c
index ef2f86a..64e23ed 100644
--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
@@ -11,6 +11,7 @@
#include <linux/signal.h>
#include <linux/personality.h>
#include <linux/freezer.h>
+#include <linux/syscalls.h>

#include <asm/elf.h>
#include <asm/cacheflush.h>
diff --git a/arch/arm/kernel/sys_oabi-compat.c b/arch/arm/kernel/sys_oabi-compat.c
index 96ab5f5..a1e6fa4 100644
--- a/arch/arm/kernel/sys_oabi-compat.c
+++ b/arch/arm/kernel/sys_oabi-compat.c
@@ -354,9 +354,6 @@ asmlinkage long sys_oabi_semop(int semid, struct oabi_sembuf __user *tsops,
return sys_oabi_semtimedop(semid, tsops, nsops, NULL);
}

-extern asmlinkage int sys_ipc(uint call, int first, int second, int third,
- void __user *ptr, long fifth);
-
asmlinkage int sys_oabi_ipc(uint call, int first, int second, int third,
void __user *ptr, long fifth)
{
diff --git a/include/asm-arm/syscalls.h b/include/asm-arm/syscalls.h
index e69de29..1a97a82 100644
--- a/include/asm-arm/syscalls.h
+++ b/include/asm-arm/syscalls.h
@@ -0,0 +1,73 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_ARM_SYSCALLS_H
+#define _ASM_ARM_SYSCALLS_H
+
+/* kernel/signal.c */
+asmlinkage int sys_sigsuspend(int, unsigned long, old_sigset_t,
+ struct pt_regs *);
+asmlinkage int sys_rt_sigsuspend(sigset_t __user *, size_t,
+ struct pt_regs *);
+asmlinkage int sys_sigaction(int, const struct old_sigaction __user *,
+ struct old_sigaction __user *);
+asmlinkage int sys_sigreturn(struct pt_regs *);
+asmlinkage int sys_rt_sigreturn(struct pt_regs *);
+
+/* kernel/sys_arm.c */
+struct mmap_arg_struct;
+asmlinkage int old_mmap(struct mmap_arg_struct __user *);
+asmlinkage unsigned long sys_arm_mremap(unsigned long, unsigned long,
+ unsigned long, unsigned long,
+ unsigned long);
+
+struct sel_arg_struct;
+asmlinkage int old_select(struct sel_arg_struct __user *);
+#if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT)
+asmlinkage int sys_ipc(uint, int, int, int, void __user *, long);
+#endif
+asmlinkage int sys_fork(struct pt_regs *);
+asmlinkage int sys_clone(unsigned long, unsigned long, int __user *,
+ int, int __user *, struct pt_regs *);
+asmlinkage int sys_vfork(struct pt_regs *);
+asmlinkage int sys_execve(char __user *, char __user * __user *,
+ char __user * __user *, struct pt_regs *);
+asmlinkage long sys_arm_fadvise64_64(int, int, loff_t, loff_t);
+
+#if defined(CONFIG_OABI_COMPAT)
+/* kernel/sys_oabi-compat.c */
+struct oldabi_stat64;
+asmlinkage long sys_oabi_stat64(char __user *, struct oldabi_stat64 __user *);
+asmlinkage long sys_oabi_lstat64(char __user *, struct oldabi_stat64 __user *);
+asmlinkage long sys_oabi_fstat64(unsigned long, struct oldabi_stat64 __user *);
+asmlinkage long sys_oabi_fstatat64(int, char __user *,
+ struct oldabi_stat64 __user *, int);
+asmlinkage long sys_oabi_fcntl64(unsigned int, unsigned int, unsigned long);
+struct oabi_epoll_event;
+asmlinkage long sys_oabi_epoll_ctl(int, int, int,
+ struct oabi_epoll_event __user *);
+asmlinkage long sys_oabi_epoll_wait(int, struct oabi_epoll_event __user *,
+ int, int);
+struct oabi_sembuf;
+asmlinkage long sys_oabi_semtimedop(int, struct oabi_sembuf __user *,
+ unsigned, const struct timespec __user *);
+asmlinkage long sys_oabi_semop(int, struct oabi_sembuf __user *, unsigned);
+asmlinkage int sys_oabi_ipc(uint, int, int, int, void __user *, long);
+asmlinkage long sys_oabi_bind(int, struct sockaddr __user *, int);
+asmlinkage long sys_oabi_connect(int, struct sockaddr __user *, int);
+asmlinkage long sys_oabi_sendto(int, void __user *, size_t,
+ unsigned, struct sockaddr __user *, int);
+asmlinkage long sys_oabi_sendmsg(int, struct msghdr __user *, unsigned);
+asmlinkage long sys_oabi_socketcall(int, unsigned long __user *);
+
+#endif
+
+#endif /* _ASM_ARM_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:03:45

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 1/22] Introducing asm/syscalls.h

Forward declartion of struct {old,}old_utsname in linux/syscalls.h
for system calls like sys_uname, sys_olduname

Signed-off-by: Jaswinder Singh <[email protected]>
---
include/linux/syscalls.h | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
create mode 100644 include/asm-alpha/syscalls.h
create mode 100644 include/asm-arm/syscalls.h
create mode 100644 include/asm-avr32/syscalls.h
create mode 100644 include/asm-blackfin/syscalls.h
create mode 100644 include/asm-cris/syscalls.h
create mode 100644 include/asm-frv/syscalls.h
create mode 100644 include/asm-h8300/syscalls.h
create mode 100644 include/asm-ia64/syscalls.h
create mode 100644 include/asm-m32r/syscalls.h
create mode 100644 include/asm-m68k/syscalls.h
create mode 100644 include/asm-m68knommu/syscalls.h
create mode 100644 include/asm-mips/syscalls.h
create mode 100644 include/asm-mn10300/syscalls.h
create mode 100644 include/asm-parisc/syscalls.h
create mode 100644 include/asm-s390/syscalls.h
create mode 100644 include/asm-sh/syscalls.h
create mode 100644 include/asm-sparc/syscalls.h
create mode 100644 include/asm-um/syscalls.h
create mode 100644 include/asm-v850/syscalls.h
create mode 100644 include/asm-x86/syscalls.h
create mode 100644 include/asm-xtensa/syscalls.h

diff --git a/include/asm-alpha/syscalls.h b/include/asm-alpha/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-arm/syscalls.h b/include/asm-arm/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-avr32/syscalls.h b/include/asm-avr32/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-blackfin/syscalls.h b/include/asm-blackfin/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-cris/syscalls.h b/include/asm-cris/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-frv/syscalls.h b/include/asm-frv/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-h8300/syscalls.h b/include/asm-h8300/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-ia64/syscalls.h b/include/asm-ia64/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-m32r/syscalls.h b/include/asm-m32r/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-m68k/syscalls.h b/include/asm-m68k/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-m68knommu/syscalls.h b/include/asm-m68knommu/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-mips/syscalls.h b/include/asm-mips/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-mn10300/syscalls.h b/include/asm-mn10300/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-parisc/syscalls.h b/include/asm-parisc/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-s390/syscalls.h b/include/asm-s390/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-sh/syscalls.h b/include/asm-sh/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-sparc/syscalls.h b/include/asm-sparc/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-um/syscalls.h b/include/asm-um/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-v850/syscalls.h b/include/asm-v850/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-x86/syscalls.h b/include/asm-x86/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/asm-xtensa/syscalls.h b/include/asm-xtensa/syscalls.h
new file mode 100644
index 0000000..e69de29
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 0522f36..829556e 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -54,6 +54,8 @@ struct compat_stat;
struct compat_timeval;
struct robust_list_head;
struct getcpu_cache;
+struct oldold_utsname;
+struct old_utsname;

#include <linux/types.h>
#include <linux/aio_abi.h>
@@ -65,6 +67,8 @@ struct getcpu_cache;
#include <linux/quota.h>
#include <linux/key.h>

+#include <asm/syscalls.h>
+
asmlinkage long sys_time(time_t __user *tloc);
asmlinkage long sys_stime(time_t __user *tptr);
asmlinkage long sys_gettimeofday(struct timeval __user *tv,
--
1.5.5.1


2008-07-21 00:04:01

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 4/22] avr32: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for avr32 architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/avr32/kernel/process.c | 1 +
arch/avr32/kernel/signal.c | 1 +
arch/avr32/kernel/sys_avr32.c | 1 +
arch/avr32/mm/cache.c | 1 +
include/asm-avr32/syscalls.h | 36 ++++++++++++++++++++++++++++++++++++
5 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/arch/avr32/kernel/process.c b/arch/avr32/kernel/process.c
index 6cf9df1..ee57d4c 100644
--- a/arch/avr32/kernel/process.c
+++ b/arch/avr32/kernel/process.c
@@ -14,6 +14,7 @@
#include <linux/tick.h>
#include <linux/uaccess.h>
#include <linux/unistd.h>
+#include <linux/syscalls.h>

#include <asm/sysreg.h>
#include <asm/ocd.h>
diff --git a/arch/avr32/kernel/signal.c b/arch/avr32/kernel/signal.c
index c5b11f9..90ba201 100644
--- a/arch/avr32/kernel/signal.c
+++ b/arch/avr32/kernel/signal.c
@@ -16,6 +16,7 @@
#include <linux/ptrace.h>
#include <linux/unistd.h>
#include <linux/freezer.h>
+#include <linux/syscalls.h>

#include <asm/uaccess.h>
#include <asm/ucontext.h>
diff --git a/arch/avr32/kernel/sys_avr32.c b/arch/avr32/kernel/sys_avr32.c
index 8e8911e..4c0a167 100644
--- a/arch/avr32/kernel/sys_avr32.c
+++ b/arch/avr32/kernel/sys_avr32.c
@@ -10,6 +10,7 @@
#include <linux/file.h>
#include <linux/mm.h>
#include <linux/unistd.h>
+#include <linux/syscalls.h>

#include <asm/mman.h>
#include <asm/uaccess.h>
diff --git a/arch/avr32/mm/cache.c b/arch/avr32/mm/cache.c
index 15a4e5e..2faf302 100644
--- a/arch/avr32/mm/cache.c
+++ b/arch/avr32/mm/cache.c
@@ -8,6 +8,7 @@

#include <linux/highmem.h>
#include <linux/unistd.h>
+#include <linux/syscalls.h>

#include <asm/cacheflush.h>
#include <asm/cachectl.h>
diff --git a/include/asm-avr32/syscalls.h b/include/asm-avr32/syscalls.h
index e69de29..727c58c 100644
--- a/include/asm-avr32/syscalls.h
+++ b/include/asm-avr32/syscalls.h
@@ -0,0 +1,36 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_AVR32_SYSCALLS_H
+#define _ASM_AVR32_SYSCALLS_H
+
+/* kernel/process.c */
+asmlinkage int sys_fork(struct pt_regs);
+asmlinkage int sys_clone(unsigned long, unsigned long,
+ unsigned long, unsigned long,
+ struct pt_regs *);
+asmlinkage int sys_vfork(struct pt_regs);
+asmlinkage int sys_execve(char __user *, char __user *__user *,
+ char __user *__user *, struct pt_regs *);
+
+/* kernel/signal.c */
+asmlinkage int sys_sigaltstack(const stack_t __user *, stack_t __user *,
+ struct pt_regs *);
+asmlinkage int sys_rt_sigreturn(struct pt_regs *);
+
+/* kernel/sys_avr32.c */
+asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, off_t);
+
+/* mm/cache.c */
+asmlinkage int sys_cacheflush(int, void __user *, size_t);
+
+#endif /* _ASM_AVR32_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:04:29

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 5/22] blackfin: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for blackfin architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/blackfin/kernel/process.c | 1 +
include/asm-blackfin/syscalls.h | 29 +++++++++++++++++++++++++++++
2 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c
index 53c2cd2..6ca088c 100644
--- a/arch/blackfin/kernel/process.c
+++ b/arch/blackfin/kernel/process.c
@@ -36,6 +36,7 @@
#include <linux/tick.h>
#include <linux/fs.h>
#include <linux/err.h>
+#include <linux/syscalls.h>

#include <asm/blackfin.h>
#include <asm/fixed_code.h>
diff --git a/include/asm-blackfin/syscalls.h b/include/asm-blackfin/syscalls.h
index e69de29..73927f5 100644
--- a/include/asm-blackfin/syscalls.h
+++ b/include/asm-blackfin/syscalls.h
@@ -0,0 +1,29 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_BLACKFIN_SYSCALLS_H
+#define _ASM_BLACKFIN_SYSCALLS_H
+
+/* kernel/process.c */
+asmlinkage int sys_execve(char __user *, char __user * __user *,
+ char __user * __user *);
+
+/* kernel/signal.c */
+asmlinkage int sys_sigaltstack(const stack_t __user *, stack_t __user *);
+
+/* kernel/sys_bfin.c */
+asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+asmlinkage void *sys_sram_alloc(size_t, unsigned long);
+asmlinkage int sys_sram_free(const void *);
+asmlinkage void *sys_dma_memcpy(void *, const void *, size_t);
+
+#endif /* _ASM_BLACKFIN_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:04:44

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 6/22] cris: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for cris architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
include/asm-cris/syscalls.h | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/include/asm-cris/syscalls.h b/include/asm-cris/syscalls.h
index e69de29..711adad 100644
--- a/include/asm-cris/syscalls.h
+++ b/include/asm-cris/syscalls.h
@@ -0,0 +1,21 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_CRIS_SYSCALLS_H
+#define _ASM_CRIS_SYSCALLS_H
+
+/* kernel/sys_cris.c */
+asmlinkage unsigned long old_mmap(unsigned long __user *);
+asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+asmlinkage int sys_ipc(uint, int, int, int, void __user *, long);
+
+#endif /* _ASM_CRIS_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:05:05

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 7/22] frv: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for frv architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/frv/kernel/process.c | 1 +
arch/frv/kernel/signal.c | 1 +
include/asm-frv/syscalls.h | 37 +++++++++++++++++++++++++++++++++++++
3 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/arch/frv/kernel/process.c b/arch/frv/kernel/process.c
index 9583a33..09b3c13 100644
--- a/arch/frv/kernel/process.c
+++ b/arch/frv/kernel/process.c
@@ -26,6 +26,7 @@
#include <linux/reboot.h>
#include <linux/interrupt.h>
#include <linux/pagemap.h>
+#include <linux/syscalls.h>

#include <asm/asm-offsets.h>
#include <asm/uaccess.h>
diff --git a/arch/frv/kernel/signal.c b/arch/frv/kernel/signal.c
index 3bdb368..5d024fe 100644
--- a/arch/frv/kernel/signal.c
+++ b/arch/frv/kernel/signal.c
@@ -21,6 +21,7 @@
#include <linux/unistd.h>
#include <linux/personality.h>
#include <linux/freezer.h>
+#include <linux/syscalls.h>
#include <asm/ucontext.h>
#include <asm/uaccess.h>
#include <asm/cacheflush.h>
diff --git a/include/asm-frv/syscalls.h b/include/asm-frv/syscalls.h
index e69de29..e2639f2 100644
--- a/include/asm-frv/syscalls.h
+++ b/include/asm-frv/syscalls.h
@@ -0,0 +1,37 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_FRV_SYSCALLS_H
+#define _ASM_FRV_SYSCALLS_H
+
+/* kernel/process.c */
+asmlinkage int sys_fork(void);
+asmlinkage int sys_vfork(void);
+asmlinkage int sys_clone(unsigned long, unsigned long, int __user *,
+ int __user *, int __user *);
+asmlinkage int sys_execve(char __user *, char __user * __user *,
+ char __user * __user *);
+
+/* kernel/signal.c */
+asmlinkage int sys_sigsuspend(int, int, old_sigset_t);
+asmlinkage int sys_sigaction(int, const struct old_sigaction __user *,
+ struct old_sigaction __user *);
+asmlinkage int sys_sigaltstack(const stack_t __user *, stack_t __user *);
+asmlinkage int sys_sigreturn(void);
+asmlinkage int sys_rt_sigreturn(void);
+
+/* kernel/sys_frv.c */
+asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+asmlinkage long sys_ipc(unsigned long, unsigned long, unsigned long,
+ unsigned long, void __user *, unsigned long);
+
+#endif /* _ASM_FRV_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:05:32

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 8/22] h8300: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for h8300 architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/h8300/kernel/process.c | 1 +
include/asm-h8300/syscalls.h | 33 +++++++++++++++++++++++++++++++++
2 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/arch/h8300/kernel/process.c b/arch/h8300/kernel/process.c
index dfbe7ab..3529387 100644
--- a/arch/h8300/kernel/process.c
+++ b/arch/h8300/kernel/process.c
@@ -38,6 +38,7 @@
#include <linux/interrupt.h>
#include <linux/reboot.h>
#include <linux/fs.h>
+#include <linux/syscalls.h>

#include <asm/uaccess.h>
#include <asm/system.h>
diff --git a/include/asm-h8300/syscalls.h b/include/asm-h8300/syscalls.h
index e69de29..d021f52 100644
--- a/include/asm-h8300/syscalls.h
+++ b/include/asm-h8300/syscalls.h
@@ -0,0 +1,33 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_H8300_SYSCALLS_H
+#define _ASM_H8300_SYSCALLS_H
+
+/* kernel/process.c */
+asmlinkage int sys_execve(char *, char **, char **, int, ...);
+
+/* kernel/signal.c */
+asmlinkage int sys_sigaction(int, const struct old_sigaction *,
+ struct old_sigaction *);
+asmlinkage int sys_sigaltstack(const stack_t *, stack_t *);
+
+/* kernel/sys_h8300.c */
+asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+struct mmap_arg_struct;
+asmlinkage int old_mmap(struct mmap_arg_struct *);
+struct sel_arg_struct;
+asmlinkage int old_select(struct sel_arg_struct *);
+asmlinkage int sys_ipc(uint, int, int, int, void *, long);
+asmlinkage int sys_cacheflush(unsigned long, int, int, unsigned long);
+
+#endif /* _ASM_H8300_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:05:48

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 9/22] ia64: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for ia64 architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/ia64/kernel/process.c | 1 +
arch/ia64/kernel/signal.c | 1 +
include/asm-ia64/syscalls.h | 38 ++++++++++++++++++++++++++++++++++++++
include/asm-ia64/unistd.h | 14 +-------------
4 files changed, 41 insertions(+), 13 deletions(-)

diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c
index 3ab8373..3b668a9 100644
--- a/arch/ia64/kernel/process.c
+++ b/arch/ia64/kernel/process.c
@@ -28,6 +28,7 @@
#include <linux/delay.h>
#include <linux/kdebug.h>
#include <linux/utsname.h>
+#include <linux/syscalls.h>

#include <asm/cpu.h>
#include <asm/delay.h>
diff --git a/arch/ia64/kernel/signal.c b/arch/ia64/kernel/signal.c
index 19c5a78..7b249da 100644
--- a/arch/ia64/kernel/signal.c
+++ b/arch/ia64/kernel/signal.c
@@ -19,6 +19,7 @@
#include <linux/binfmts.h>
#include <linux/unistd.h>
#include <linux/wait.h>
+#include <linux/syscalls.h>

#include <asm/ia32.h>
#include <asm/intrinsics.h>
diff --git a/include/asm-ia64/syscalls.h b/include/asm-ia64/syscalls.h
index e69de29..71af530 100644
--- a/include/asm-ia64/syscalls.h
+++ b/include/asm-ia64/syscalls.h
@@ -0,0 +1,38 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_IA64_SYSCALLS_H
+#define _ASM_IA64_SYSCALLS_H
+
+/* kernel/process.c */
+long sys_execve(char __user *, char __user * __user *,
+ char __user * __user *, struct pt_regs *);
+
+/* kernel/signal.c */
+asmlinkage long sys_sigaltstack(const stack_t __user *, stack_t __user *,
+ long, long, long, long, long, long,
+ struct pt_regs);
+
+/* kernel/sys_ia64.c */
+asmlinkage unsigned long sys_getpagesize(void);
+asmlinkage long sys_pipe(void);
+asmlinkage unsigned long sys_mmap2(unsigned long, unsigned long,
+ int, int, int, long);
+asmlinkage unsigned long sys_mmap(unsigned long, unsigned long,
+ int, int, int, long);
+#ifndef CONFIG_PCI
+asmlinkage long sys_pciconfig_read(unsigned long, unsigned long,
+ unsigned long, unsigned long, void *);
+asmlinkage long sys_pciconfig_write(unsigned long, unsigned long,
+ unsigned long, unsigned long, void *);
+#endif /* CONFIG_PCI */
+
+#endif /* _ASM_IA64_SYSCALLS_H */
diff --git a/include/asm-ia64/unistd.h b/include/asm-ia64/unistd.h
index e603147..6b0e8c6 100644
--- a/include/asm-ia64/unistd.h
+++ b/include/asm-ia64/unistd.h
@@ -342,22 +342,10 @@
#include <linux/types.h>
#include <linux/linkage.h>
#include <linux/compiler.h>
+#include <linux/syscalls.h>

extern long __ia64_syscall (long a0, long a1, long a2, long a3, long a4, long nr);

-asmlinkage unsigned long sys_mmap(
- unsigned long addr, unsigned long len,
- int prot, int flags,
- int fd, long off);
-asmlinkage unsigned long sys_mmap2(
- unsigned long addr, unsigned long len,
- int prot, int flags,
- int fd, long pgoff);
-struct pt_regs;
-struct sigaction;
-long sys_execve(char __user *filename, char __user * __user *argv,
- char __user * __user *envp, struct pt_regs *regs);
-asmlinkage long sys_pipe(void);
asmlinkage long sys_rt_sigaction(int sig,
const struct sigaction __user *act,
struct sigaction __user *oact,
--
1.5.5.1


2008-07-21 00:06:05

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 10/22] m32r: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for m32r architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/m32r/kernel/process.c | 1 +
arch/m32r/kernel/signal.c | 1 +
include/asm-m32r/syscalls.h | 49 +++++++++++++++++++++++++++++++++++++++++++
3 files changed, 51 insertions(+), 0 deletions(-)

diff --git a/arch/m32r/kernel/process.c b/arch/m32r/kernel/process.c
index a689e29..9f5335c 100644
--- a/arch/m32r/kernel/process.c
+++ b/arch/m32r/kernel/process.c
@@ -26,6 +26,7 @@
#include <linux/unistd.h>
#include <linux/slab.h>
#include <linux/hardirq.h>
+#include <linux/syscalls.h>

#include <asm/io.h>
#include <asm/uaccess.h>
diff --git a/arch/m32r/kernel/signal.c b/arch/m32r/kernel/signal.c
index 1812454..4478893 100644
--- a/arch/m32r/kernel/signal.c
+++ b/arch/m32r/kernel/signal.c
@@ -21,6 +21,7 @@
#include <linux/stddef.h>
#include <linux/personality.h>
#include <linux/freezer.h>
+#include <linux/syscalls.h>
#include <asm/cacheflush.h>
#include <asm/ucontext.h>
#include <asm/uaccess.h>
diff --git a/include/asm-m32r/syscalls.h b/include/asm-m32r/syscalls.h
index e69de29..78ccedb 100644
--- a/include/asm-m32r/syscalls.h
+++ b/include/asm-m32r/syscalls.h
@@ -0,0 +1,49 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_M32R_SYSCALLS_H
+#define _ASM_M32R_SYSCALLS_H
+
+/* kernel/process.c */
+asmlinkage int sys_fork(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long,
+ unsigned long, struct pt_regs);
+asmlinkage int sys_clone(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long,
+ unsigned long, struct pt_regs);
+asmlinkage int sys_vfork(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long,
+ unsigned long, struct pt_regs);
+asmlinkage int sys_execve(char __user *, char __user * __user *,
+ char __user * __user *, unsigned long,
+ unsigned long, unsigned long, unsigned long,
+ struct pt_regs);
+
+/* kernel/signal.c */
+asmlinkage int sys_rt_sigsuspend(sigset_t __user *, size_t, unsigned long,
+ unsigned long, unsigned long, unsigned long,
+ unsigned long, struct pt_regs *);
+asmlinkage int sys_sigaltstack(const stack_t __user *, stack_t __user *,
+ unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, struct pt_regs *);
+asmlinkage int sys_rt_sigreturn(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long,
+ unsigned long, struct pt_regs *);
+
+/* kernel/sys_m32r.c */
+asmlinkage int sys_tas(int __user *);
+asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+asmlinkage int sys_ipc(uint, int, int, int, void __user *, long);
+asmlinkage int sys_uname(struct old_utsname __user *);
+asmlinkage int sys_cachectl(char *, int, int);
+
+#endif /* _ASM_M32R_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:06:27

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 11/22] m68k: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for m68k architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/m68k/kernel/process.c | 1 +
include/asm-m68k/syscalls.h | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c
index 7888cdf..41aa0c3 100644
--- a/arch/m68k/kernel/process.c
+++ b/arch/m68k/kernel/process.c
@@ -26,6 +26,7 @@
#include <linux/reboot.h>
#include <linux/init_task.h>
#include <linux/mqueue.h>
+#include <linux/syscalls.h>

#include <asm/uaccess.h>
#include <asm/system.h>
diff --git a/include/asm-m68k/syscalls.h b/include/asm-m68k/syscalls.h
index e69de29..13ad908 100644
--- a/include/asm-m68k/syscalls.h
+++ b/include/asm-m68k/syscalls.h
@@ -0,0 +1,35 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_M68K_SYSCALLS_H
+#define _ASM_M68K_SYSCALLS_H
+
+/* kernel/process.c */
+asmlinkage int sys_execve(char __user *, char __user * __user *,
+ char __user * __user *);
+
+/* kernel/signal.c */
+asmlinkage int sys_sigaction(int, const struct old_sigaction __user *,
+ struct old_sigaction __user *);
+asmlinkage int sys_sigaltstack(const stack_t __user *, stack_t __user *);
+
+/* kernel/sys_m68k.c */
+asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+struct mmap_arg_struct;
+asmlinkage int old_mmap(struct mmap_arg_struct __user *);
+struct sel_arg_struct;
+asmlinkage int old_select(struct sel_arg_struct __user *);
+asmlinkage int sys_ipc(uint, int, int, int, void __user *, long);
+asmlinkage int sys_cacheflush(unsigned long, int, int, unsigned long);
+asmlinkage int sys_getpagesize(void);
+
+#endif /* _ASM_M68K_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:06:43

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 12/22] m68knommu: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for m68knommu architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/m68knommu/kernel/process.c | 1 +
include/asm-m68knommu/syscalls.h | 34 ++++++++++++++++++++++++++++++++++
2 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/arch/m68knommu/kernel/process.c b/arch/m68knommu/kernel/process.c
index 47502d5..30dea18 100644
--- a/arch/m68knommu/kernel/process.c
+++ b/arch/m68knommu/kernel/process.c
@@ -29,6 +29,7 @@
#include <linux/interrupt.h>
#include <linux/reboot.h>
#include <linux/fs.h>
+#include <linux/syscalls.h>

#include <asm/uaccess.h>
#include <asm/system.h>
diff --git a/include/asm-m68knommu/syscalls.h b/include/asm-m68knommu/syscalls.h
index e69de29..e4b5c95 100644
--- a/include/asm-m68knommu/syscalls.h
+++ b/include/asm-m68knommu/syscalls.h
@@ -0,0 +1,34 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_M68KNOMMU_SYSCALLS_H
+#define _ASM_M68KNOMMU_SYSCALLS_H
+
+/* kernel/process.c */
+asmlinkage int sys_execve(char *, char **, char **);
+
+/* kernel/signal.c */
+asmlinkage int sys_sigaction(int, const struct old_sigaction *,
+ struct old_sigaction *);
+asmlinkage int sys_sigaltstack(const stack_t *, stack_t *);
+
+/* kernel/sys_m68k.c */
+asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+struct mmap_arg_struct;
+asmlinkage int old_mmap(struct mmap_arg_struct *);
+struct sel_arg_struct;
+asmlinkage int old_select(struct sel_arg_struct *);
+asmlinkage int sys_ipc(uint, int, int, int, void *, long);
+asmlinkage int sys_cacheflush(unsigned long, int, int, unsigned long);
+asmlinkage int sys_getpagesize(void);
+
+#endif /* _ASM_M68KNOMMU_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:07:00

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 13/22] mips: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for mips architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/mips/kernel/linux32.c | 1 -
arch/mips/kernel/signal.c | 2 +-
arch/mips/kernel/signal32.c | 1 -
arch/mips/kernel/syscall.c | 1 -
include/asm-mips/syscalls.h | 45 +++++++++++++++++++++++++++++++++++++++++++
5 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c
index 65af3cc..710e4dc 100644
--- a/arch/mips/kernel/linux32.c
+++ b/arch/mips/kernel/linux32.c
@@ -41,7 +41,6 @@
#include <net/scm.h>

#include <asm/compat-signal.h>
-#include <asm/sim.h>
#include <asm/uaccess.h>
#include <asm/mmu_context.h>
#include <asm/mman.h>
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
index a4e106c..2bc1a37 100644
--- a/arch/mips/kernel/signal.c
+++ b/arch/mips/kernel/signal.c
@@ -20,13 +20,13 @@
#include <linux/unistd.h>
#include <linux/compiler.h>
#include <linux/uaccess.h>
+#include <linux/syscalls.h>

#include <asm/abi.h>
#include <asm/asm.h>
#include <linux/bitops.h>
#include <asm/cacheflush.h>
#include <asm/fpu.h>
-#include <asm/sim.h>
#include <asm/ucontext.h>
#include <asm/cpu-features.h>
#include <asm/war.h>
diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c
index 572c610..c1b32e9 100644
--- a/arch/mips/kernel/signal32.c
+++ b/arch/mips/kernel/signal32.c
@@ -27,7 +27,6 @@
#include <asm/compat-signal.h>
#include <linux/bitops.h>
#include <asm/cacheflush.h>
-#include <asm/sim.h>
#include <asm/ucontext.h>
#include <asm/system.h>
#include <asm/fpu.h>
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
index af1bdc8..3505210 100644
--- a/arch/mips/kernel/syscall.c
+++ b/arch/mips/kernel/syscall.c
@@ -35,7 +35,6 @@
#include <asm/cacheflush.h>
#include <asm/asm-offsets.h>
#include <asm/signal.h>
-#include <asm/sim.h>
#include <asm/shmparam.h>
#include <asm/sysmips.h>
#include <asm/uaccess.h>
diff --git a/include/asm-mips/syscalls.h b/include/asm-mips/syscalls.h
index e69de29..3beed90 100644
--- a/include/asm-mips/syscalls.h
+++ b/include/asm-mips/syscalls.h
@@ -0,0 +1,45 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_MIPS_SYSCALLS_H
+#define _ASM_MIPS_SYSCALLS_H
+
+#include <linux/ptrace.h>
+#include <asm/sim.h>
+
+/* kernel/signal.c */
+#ifdef CONFIG_TRAD_SIGNALS
+asmlinkage int sys_sigsuspend(nabi_no_regargs struct pt_regs);
+asmlinkage int sys_sigaction(int, const struct sigaction __user *,
+ struct sigaction __user *);
+asmlinkage void sys_sigreturn(nabi_no_regargs struct pt_regs);
+#endif
+
+asmlinkage int sys_rt_sigsuspend(nabi_no_regargs struct pt_regs);
+asmlinkage int sys_sigaltstack(nabi_no_regargs struct pt_regs);
+asmlinkage void sys_rt_sigreturn(nabi_no_regargs struct pt_regs);
+
+/* kernel/syscalls.c */
+asmlinkage unsigned long old_mmap(unsigned long, unsigned long,
+ int, int, int, off_t);
+
+asmlinkage unsigned long sys_mmap2(unsigned long, unsigned long,
+ unsigned long, unsigned long,
+ unsigned long, unsigned long);
+asmlinkage int sys_execve(nabi_no_regargs struct pt_regs);
+asmlinkage int sys_uname(struct old_utsname __user *);
+asmlinkage int sys_olduname(struct oldold_utsname __user *);
+asmlinkage int sys_set_thread_area(unsigned long);
+asmlinkage int sys_ipc(unsigned int, int, int,
+ unsigned long, void __user *, long);
+asmlinkage int sys_cachectl(char *, int, int);
+
+#endif /* _ASM_MIPS_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:07:30

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 14/22] mn10300: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for mn10300 architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/mn10300/kernel/process.c | 1 +
arch/mn10300/kernel/signal.c | 1 +
include/asm-mn10300/syscalls.h | 41 ++++++++++++++++++++++++++++++++++++++++
3 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/arch/mn10300/kernel/process.c b/arch/mn10300/kernel/process.c
index b28c9a6..49a05f9 100644
--- a/arch/mn10300/kernel/process.c
+++ b/arch/mn10300/kernel/process.c
@@ -26,6 +26,7 @@
#include <linux/percpu.h>
#include <linux/err.h>
#include <linux/fs.h>
+#include <linux/syscalls.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
#include <asm/system.h>
diff --git a/arch/mn10300/kernel/signal.c b/arch/mn10300/kernel/signal.c
index 841ca99..bf37ccc 100644
--- a/arch/mn10300/kernel/signal.c
+++ b/arch/mn10300/kernel/signal.c
@@ -23,6 +23,7 @@
#include <linux/tty.h>
#include <linux/personality.h>
#include <linux/suspend.h>
+#include <linux/syscalls.h>
#include <asm/cacheflush.h>
#include <asm/ucontext.h>
#include <asm/uaccess.h>
diff --git a/include/asm-mn10300/syscalls.h b/include/asm-mn10300/syscalls.h
index e69de29..67baaea 100644
--- a/include/asm-mn10300/syscalls.h
+++ b/include/asm-mn10300/syscalls.h
@@ -0,0 +1,41 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_MN10300_SYSCALLS_H
+#define _ASM_MN10300_SYSCALLS_H
+
+/* kernel/process.c */
+asmlinkage long sys_clone(unsigned long, unsigned long,
+ int __user *, int __user *, int __user *);
+asmlinkage long sys_fork(void);
+asmlinkage long sys_vfork(void);
+asmlinkage long sys_execve(char __user *, char __user * __user *,
+ char __user * __user *);
+
+/* kernel/signal.c */
+asmlinkage long sys_sigsuspend(int, int, old_sigset_t);
+asmlinkage long sys_sigaction(int sig,
+ const struct old_sigaction __user *,
+ struct old_sigaction __user *);
+asmlinkage long sys_sigaltstack(const stack_t __user *, stack_t *);
+asmlinkage long sys_sigreturn(void);
+asmlinkage long sys_rt_sigreturn(void);
+
+/* kernel/sys_mn10300.c */
+asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+asmlinkage long old_mmap(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+struct sel_arg_struct;
+asmlinkage int old_select(struct sel_arg_struct __user *);
+asmlinkage long sys_ipc(uint, int, int, int, void __user *, long);
+
+#endif /* _ASM_MN10300_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:07:49

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 15/22] parisc: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for parisc architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/parisc/kernel/process.c | 1 +
arch/parisc/kernel/signal.c | 1 +
include/asm-parisc/syscalls.h | 36 ++++++++++++++++++++++++++++++++++++
3 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c
index b80e02a..9a73fcd 100644
--- a/arch/parisc/kernel/process.c
+++ b/arch/parisc/kernel/process.c
@@ -46,6 +46,7 @@
#include <linux/stddef.h>
#include <linux/unistd.h>
#include <linux/kallsyms.h>
+#include <linux/syscalls.h>

#include <asm/io.h>
#include <asm/asm-offsets.h>
diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c
index 06213d1..b10cade 100644
--- a/arch/parisc/kernel/signal.c
+++ b/arch/parisc/kernel/signal.c
@@ -25,6 +25,7 @@
#include <linux/stddef.h>
#include <linux/compat.h>
#include <linux/elf.h>
+#include <linux/syscalls.h>
#include <asm/ucontext.h>
#include <asm/rt_sigframe.h>
#include <asm/uaccess.h>
diff --git a/include/asm-parisc/syscalls.h b/include/asm-parisc/syscalls.h
index e69de29..0de8837 100644
--- a/include/asm-parisc/syscalls.h
+++ b/include/asm-parisc/syscalls.h
@@ -0,0 +1,36 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_PARISC_SYSCALLS_H
+#define _ASM_PARISC_SYSCALLS_H
+
+/* kernel/process.c */
+int sys_clone(unsigned long, unsigned long, struct pt_regs *);
+int sys_vfork(struct pt_regs *);
+asmlinkage int sys_execve(struct pt_regs *);
+
+/* kernel/signal.c */
+void sys_rt_sigreturn(struct pt_regs *, int);
+
+/* kernel/sys_parisc.c */
+asmlinkage unsigned long sys_mmap2(unsigned long, unsigned long,
+ unsigned long, unsigned long,
+ unsigned long, unsigned long);
+asmlinkage unsigned long sys_mmap(unsigned long, unsigned long,
+ unsigned long, unsigned long,
+ unsigned long, unsigned long);
+#ifdef CONFIG_64BIT
+asmlinkage long sys_truncate64(const char __user *, unsigned long);
+asmlinkage long sys_ftruncate64(unsigned int, unsigned long);
+asmlinkage long sys_fcntl64(unsigned int, unsigned int, unsigned long);
+#endif
+
+#endif /* _ASM_PARISC_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:08:12

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 16/22] s390: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for s390 architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/s390/kernel/entry.h | 18 ------------------
arch/s390/kernel/process.c | 1 +
arch/s390/kernel/signal.c | 1 +
arch/s390/mm/fault.c | 1 +
include/asm-s390/syscalls.h | 38 ++++++++++++++++++++++++++++++++++++++
5 files changed, 41 insertions(+), 18 deletions(-)

diff --git a/arch/s390/kernel/entry.h b/arch/s390/kernel/entry.h
index 6b18963..c8b5dfd 100644
--- a/arch/s390/kernel/entry.h
+++ b/arch/s390/kernel/entry.h
@@ -25,36 +25,18 @@ void __init startup_init(void);
void die(const char * str, struct pt_regs * regs, long err);

struct new_utsname;
-struct mmap_arg_struct;
struct fadvise64_64_args;
-struct old_sigaction;
-struct sel_arg_struct;

long sys_pipe(unsigned long __user *fildes);
-long sys_mmap2(struct mmap_arg_struct __user *arg);
-long old_mmap(struct mmap_arg_struct __user *arg);
-long sys_ipc(uint call, int first, unsigned long second,
- unsigned long third, void __user *ptr);
long s390x_newuname(struct new_utsname __user *name);
long s390x_personality(unsigned long personality);
long s390_fadvise64(int fd, u32 offset_high, u32 offset_low,
size_t len, int advice);
long s390_fadvise64_64(struct fadvise64_64_args __user *args);
long s390_fallocate(int fd, int mode, loff_t offset, u32 len_high, u32 len_low);
-long sys_fork(void);
-long sys_clone(void);
-long sys_vfork(void);
void execve_tail(void);
-long sys_execve(void);
-int sys_sigsuspend(int history0, int history1, old_sigset_t mask);
-long sys_sigaction(int sig, const struct old_sigaction __user *act,
- struct old_sigaction __user *oact);
-long sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss);
-long sys_sigreturn(void);
-long sys_rt_sigreturn(void);
long sys32_sigreturn(void);
long sys32_rt_sigreturn(void);
-long old_select(struct sel_arg_struct __user *arg);
long sys_ptrace(long request, long pid, long addr, long data);

#endif /* _ENTRY_H */
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
index 85defd0..5f6d7a8 100644
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
@@ -38,6 +38,7 @@
#include <linux/utsname.h>
#include <linux/tick.h>
#include <linux/elfcore.h>
+#include <linux/syscalls.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
#include <asm/system.h>
diff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c
index b976820..c73b369 100644
--- a/arch/s390/kernel/signal.c
+++ b/arch/s390/kernel/signal.c
@@ -24,6 +24,7 @@
#include <linux/tty.h>
#include <linux/personality.h>
#include <linux/binfmts.h>
+#include <linux/syscalls.h>
#include <asm/ucontext.h>
#include <asm/uaccess.h>
#include <asm/lowcore.h>
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c
index 4d53720..a5c5f66 100644
--- a/arch/s390/mm/fault.c
+++ b/arch/s390/mm/fault.c
@@ -29,6 +29,7 @@
#include <linux/kprobes.h>
#include <linux/uaccess.h>
#include <linux/hugetlb.h>
+#include <linux/syscalls.h>
#include <asm/system.h>
#include <asm/pgtable.h>
#include <asm/s390_ext.h>
diff --git a/include/asm-s390/syscalls.h b/include/asm-s390/syscalls.h
index e69de29..439d6f8 100644
--- a/include/asm-s390/syscalls.h
+++ b/include/asm-s390/syscalls.h
@@ -0,0 +1,38 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_S390_SYSCALLS_H
+#define _ASM_S390_SYSCALLS_H
+
+/* kernel/process.c */
+asmlinkage long sys_fork(void);
+asmlinkage long sys_clone(void);
+asmlinkage long sys_vfork(void);
+asmlinkage long sys_execve(void);
+
+/* kernel/signal.c */
+asmlinkage int sys_sigsuspend(int, int, old_sigset_t);
+asmlinkage long sys_sigaction(int,
+ const struct old_sigaction __user *,
+ struct old_sigaction __user *);
+asmlinkage long sys_sigaltstack(const stack_t __user *,
+ stack_t __user *);
+asmlinkage long sys_sigreturn(void);
+asmlinkage long sys_rt_sigreturn(void);
+
+/* kernel/sys_s390.c */
+struct mmap_arg_struct;
+asmlinkage long sys_mmap2(struct mmap_arg_struct __user *);
+asmlinkage long old_mmap(struct mmap_arg_struct __user *);
+asmlinkage long sys_ipc(uint, int, unsigned long,
+ unsigned long, void __user *);
+
+#endif /* _ASM_S390_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:08:38

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 17/22] sh: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for sh architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/sh/kernel/process_32.c | 1 +
arch/sh/kernel/process_64.c | 1 +
arch/sh/kernel/signal_32.c | 1 +
arch/sh/kernel/signal_64.c | 1 +
include/asm-sh/syscalls.h | 88 +++++++++++++++++++++++++++++++++++++++++++
5 files changed, 92 insertions(+), 0 deletions(-)

diff --git a/arch/sh/kernel/process_32.c b/arch/sh/kernel/process_32.c
index b98e37a..b6fb73e 100644
--- a/arch/sh/kernel/process_32.c
+++ b/arch/sh/kernel/process_32.c
@@ -20,6 +20,7 @@
#include <linux/reboot.h>
#include <linux/fs.h>
#include <linux/preempt.h>
+#include <linux/syscalls.h>
#include <asm/uaccess.h>
#include <asm/mmu_context.h>
#include <asm/pgalloc.h>
diff --git a/arch/sh/kernel/process_64.c b/arch/sh/kernel/process_64.c
index 0283d81..f0b249f 100644
--- a/arch/sh/kernel/process_64.c
+++ b/arch/sh/kernel/process_64.c
@@ -25,6 +25,7 @@
#include <linux/module.h>
#include <linux/proc_fs.h>
#include <linux/io.h>
+#include <linux/syscalls.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
#include <asm/mmu_context.h>
diff --git a/arch/sh/kernel/signal_32.c b/arch/sh/kernel/signal_32.c
index f311551..852c81b 100644
--- a/arch/sh/kernel/signal_32.c
+++ b/arch/sh/kernel/signal_32.c
@@ -24,6 +24,7 @@
#include <linux/binfmts.h>
#include <linux/freezer.h>
#include <linux/io.h>
+#include <linux/syscalls.h>
#include <asm/system.h>
#include <asm/ucontext.h>
#include <asm/uaccess.h>
diff --git a/arch/sh/kernel/signal_64.c b/arch/sh/kernel/signal_64.c
index 552eb81..b2be648 100644
--- a/arch/sh/kernel/signal_64.c
+++ b/arch/sh/kernel/signal_64.c
@@ -22,6 +22,7 @@
#include <linux/ptrace.h>
#include <linux/unistd.h>
#include <linux/stddef.h>
+#include <linux/syscalls.h>
#include <asm/ucontext.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/include/asm-sh/syscalls.h b/include/asm-sh/syscalls.h
index e69de29..8966e00 100644
--- a/include/asm-sh/syscalls.h
+++ b/include/asm-sh/syscalls.h
@@ -0,0 +1,88 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_SH_SYSCALLS_H
+#define _ASM_SH_SYSCALLS_H
+
+#ifdef CONFIG_SUPERH32
+/* kernel/process_32.c */
+asmlinkage int sys_fork(unsigned long, unsigned long, unsigned long,
+ unsigned long, struct pt_regs);
+asmlinkage int sys_sigaction(int,
+ const struct old_sigaction __user *,
+ struct old_sigaction __user *);
+asmlinkage int sys_clone(unsigned long, unsigned long, unsigned long,
+ unsigned long, struct pt_regs);
+asmlinkage int sys_vfork(unsigned long, unsigned long, unsigned long,
+ unsigned long, struct pt_regs);
+asmlinkage int sys_execve(char __user *, char __user * __user *,
+ char __user * __user *, unsigned long,
+ struct pt_regs);
+
+/* kernel/signal_32.c */
+asmlinkage int sys_sigsuspend(old_sigset_t, unsigned long,
+ unsigned long, unsigned long,
+ struct pt_regs);
+asmlinkage int sys_sigaltstack(const stack_t __user *, stack_t __user *,
+ unsigned long, unsigned long,
+ struct pt_regs);
+asmlinkage int sys_sigreturn(unsigned long, unsigned long, unsigned long,
+ unsigned long, struct pt_regs);
+asmlinkage int sys_rt_sigreturn(unsigned long, unsigned long,
+ unsigned long, unsigned long,
+ struct pt_regs);
+
+/* kernel/sys_sh32.c */
+asmlinkage int sys_pipe(unsigned long, unsigned long, unsigned long,
+ unsigned long, struct pt_regs);
+asmlinkage ssize_t sys_pread_wrapper(unsigned int, char *, size_t,
+ long, loff_t);
+asmlinkage ssize_t sys_pwrite_wrapper(unsigned int, const char *,
+ size_t, long, loff_t);
+asmlinkage int sys_fadvise64_64_wrapper(int, u32, u32, u32, u32, int);
+
+#else /* CONFIG_SUPERH32 */
+
+/* kernel/process_64.c */
+asmlinkage int sys_fork(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long,
+ struct pt_regs *);
+asmlinkage int sys_clone(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long,
+ struct pt_regs *);
+asmlinkage int sys_vfork(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long,
+ struct pt_regs *);
+asmlinkage int sys_execve(char *, char **, char **, unsigned long,
+ unsigned long, unsigned long, struct pt_regs *);
+
+/* kernel/signal_64.c */
+asmlinkage int sys_sigsuspend(old_sigset_t, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long,
+ struct pt_regs *);
+asmlinkage int sys_rt_sigsuspend(sigset_t *, size_t, unsigned long,
+ unsigned long, unsigned long, unsigned long,
+ struct pt_regs *);
+asmlinkage int sys_sigaction(int,
+ const struct old_sigaction __user *,
+ struct old_sigaction __user *);
+asmlinkage int sys_sigaltstack(const stack_t __user *, stack_t __user *,
+ unsigned long, unsigned long, unsigned long,
+ unsigned long, struct pt_regs *);
+asmlinkage int sys_sigreturn(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long,
+ struct pt_regs *);
+asmlinkage int sys_rt_sigreturn(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long,
+ struct pt_regs *);
+
+#endif /* CONFIG_SUPERH32 */
+#endif /* _ASM_SH_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:08:53

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 18/22] sparc: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for sparc architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/sparc/kernel/signal.c | 1 +
include/asm-sparc/syscalls.h | 30 ++++++++++++++++++++++++++++++
2 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/arch/sparc/kernel/signal.c b/arch/sparc/kernel/signal.c
index 3fd1df9..6fe2da5 100644
--- a/arch/sparc/kernel/signal.c
+++ b/arch/sparc/kernel/signal.c
@@ -18,6 +18,7 @@
#include <linux/smp.h>
#include <linux/binfmts.h> /* do_coredum */
#include <linux/bitops.h>
+#include <linux/syscalls.h>

#include <asm/uaccess.h>
#include <asm/ptrace.h>
diff --git a/include/asm-sparc/syscalls.h b/include/asm-sparc/syscalls.h
index e69de29..65c25cd 100644
--- a/include/asm-sparc/syscalls.h
+++ b/include/asm-sparc/syscalls.h
@@ -0,0 +1,30 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_SPARC_SYSCALLS_H
+#define _ASM_SPARC_SYSCALLS_H
+
+/* kernel/signal.c */
+asmlinkage int sys_sigsuspend(old_sigset_t);
+
+/* kernel/sys_sparc.c */
+asmlinkage unsigned long sys_getpagesize(void);
+asmlinkage int sys_ipc(uint, int, int, int, void __user *, long);
+asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+asmlinkage long sys_mmap(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+asmlinkage long sys_rt_sigaction(int, const struct sigaction __user *,
+ struct sigaction __user *,
+ void __user *, size_t);
+asmlinkage int sys_getdomainname(char __user *, int);
+
+#endif /* _ASM_SPARC_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:09:16

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 19/22] um: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for um architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/um/kernel/exec.c | 1 +
arch/um/kernel/signal.c | 3 +--
arch/um/kernel/syscall.c | 1 +
include/asm-um/syscalls.h | 32 ++++++++++++++++++++++++++++++++
4 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/arch/um/kernel/exec.c b/arch/um/kernel/exec.c
index f5d7f45..cd9fa46 100644
--- a/arch/um/kernel/exec.c
+++ b/arch/um/kernel/exec.c
@@ -8,6 +8,7 @@
#include "linux/smp_lock.h"
#include "linux/ptrace.h"
#include "linux/sched.h"
+#include "linux/syscalls.h"
#include "asm/current.h"
#include "asm/processor.h"
#include "asm/uaccess.h"
diff --git a/arch/um/kernel/signal.c b/arch/um/kernel/signal.c
index b0fce72..9a72afc 100644
--- a/arch/um/kernel/signal.c
+++ b/arch/um/kernel/signal.c
@@ -6,8 +6,7 @@
#include <linux/module.h>
#include <linux/ptrace.h>
#include <linux/sched.h>
-#include <asm/siginfo.h>
-#include <asm/signal.h>
+#include <linux/syscalls.h>
#include <asm/unistd.h>
#include "frame_kern.h"
#include "kern_util.h"
diff --git a/arch/um/kernel/syscall.c b/arch/um/kernel/syscall.c
index 128ee85..0c35194 100644
--- a/arch/um/kernel/syscall.c
+++ b/arch/um/kernel/syscall.c
@@ -8,6 +8,7 @@
#include "linux/mm.h"
#include "linux/sched.h"
#include "linux/utsname.h"
+#include "linux/syscalls.h"
#include "asm/current.h"
#include "asm/mman.h"
#include "asm/uaccess.h"
diff --git a/include/asm-um/syscalls.h b/include/asm-um/syscalls.h
index e69de29..2124282 100644
--- a/include/asm-um/syscalls.h
+++ b/include/asm-um/syscalls.h
@@ -0,0 +1,32 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_UM_SYSCALLS_H
+#define _ASM_UM_SYSCALLS_H
+
+/* kernel/exec.c */
+long sys_execve(char __user *, char __user *__user *,
+ char __user * __user *);
+
+/* kernel/signal.c */
+long sys_sigsuspend(int, int, old_sigset_t);
+long sys_sigaltstack(const stack_t __user *, stack_t __user *);
+
+/* kernel/syscall.c */
+long sys_fork(void);
+long sys_vfork(void);
+long sys_mmap2(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+long old_mmap(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+long sys_uname(struct old_utsname __user *);
+
+#endif /* _ASM_UM_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:09:34

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 20/22] v850: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for v850 architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/v850/kernel/process.c | 1 +
arch/v850/kernel/signal.c | 1 +
include/asm-v850/syscalls.h | 34 ++++++++++++++++++++++++++++++++++
3 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/arch/v850/kernel/process.c b/arch/v850/kernel/process.c
index e4a4b8e..4ea0783 100644
--- a/arch/v850/kernel/process.c
+++ b/arch/v850/kernel/process.c
@@ -23,6 +23,7 @@
#include <linux/user.h>
#include <linux/a.out.h>
#include <linux/reboot.h>
+#include <linux/syscalls.h>

#include <asm/uaccess.h>
#include <asm/system.h>
diff --git a/arch/v850/kernel/signal.c b/arch/v850/kernel/signal.c
index bf166e7..603c13e 100644
--- a/arch/v850/kernel/signal.c
+++ b/arch/v850/kernel/signal.c
@@ -26,6 +26,7 @@
#include <linux/stddef.h>
#include <linux/personality.h>
#include <linux/tty.h>
+#include <linux/syscalls.h>

#include <asm/ucontext.h>
#include <asm/uaccess.h>
diff --git a/include/asm-v850/syscalls.h b/include/asm-v850/syscalls.h
index e69de29..5c7f0eb 100644
--- a/include/asm-v850/syscalls.h
+++ b/include/asm-v850/syscalls.h
@@ -0,0 +1,34 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_V850_SYSCALLS_H
+#define _ASM_V850_SYSCALLS_H
+
+/* kernel/process.c */
+int sys_execve(char *, char **, char **, struct pt_regs *);
+
+/* kernel/signal.c */
+asmlinkage int sys_sigsuspend(old_sigset_t, struct pt_regs *);
+asmlinkage int sys_rt_sigsuspend(sigset_t *, size_t, struct pt_regs *);
+asmlinkage int sys_sigaction(int, const struct old_sigaction *,
+ struct old_sigaction *);
+asmlinkage int sys_sigaltstack(const stack_t *, stack_t *, struct pt_regs *);
+asmlinkage int sys_sigreturn(struct pt_regs *);
+asmlinkage int sys_rt_sigreturn(struct pt_regs *);
+
+/* kernel/syscalls.c */
+int sys_ipc(uint, int, int, int, void *, long);
+unsigned long sys_mmap2(unsigned long, size_t, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+unsigned long sys_mmap(unsigned long, size_t, unsigned long,
+ unsigned long, unsigned long, off_t);
+
+#endif /* _ASM_V850_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:09:53

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 21/22] x86: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for x86 architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
arch/x86/kernel/ldt.c | 1 +
arch/x86/kernel/process_32.c | 1 +
arch/x86/kernel/process_64.c | 1 +
arch/x86/kernel/signal_32.c | 1 +
arch/x86/kernel/signal_64.c | 1 +
arch/x86/kernel/tls.c | 1 +
arch/x86/kernel/vm86_32.c | 1 +
include/asm-x86/syscalls.h | 83 ++++++++++++++++++++++++++++++++++++++++++
8 files changed, 90 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/ldt.c b/arch/x86/kernel/ldt.c
index a844957..047a021 100644
--- a/arch/x86/kernel/ldt.c
+++ b/arch/x86/kernel/ldt.c
@@ -12,6 +12,7 @@
#include <linux/mm.h>
#include <linux/smp.h>
#include <linux/vmalloc.h>
+#include <linux/syscalls.h>

#include <asm/uaccess.h>
#include <asm/system.h>
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
index 0c3927a..8e46d82 100644
--- a/arch/x86/kernel/process_32.c
+++ b/arch/x86/kernel/process_32.c
@@ -37,6 +37,7 @@
#include <linux/tick.h>
#include <linux/percpu.h>
#include <linux/prctl.h>
+#include <linux/syscalls.h>

#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
index a8e5362..f99381b 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -37,6 +37,7 @@
#include <linux/kdebug.h>
#include <linux/tick.h>
#include <linux/prctl.h>
+#include <linux/syscalls.h>

#include <asm/uaccess.h>
#include <asm/pgtable.h>
diff --git a/arch/x86/kernel/signal_32.c b/arch/x86/kernel/signal_32.c
index d923736..954a3b8 100644
--- a/arch/x86/kernel/signal_32.c
+++ b/arch/x86/kernel/signal_32.c
@@ -20,6 +20,7 @@
#include <linux/elf.h>
#include <linux/smp.h>
#include <linux/mm.h>
+#include <linux/syscalls.h>

#include <asm/processor.h>
#include <asm/ucontext.h>
diff --git a/arch/x86/kernel/signal_64.c b/arch/x86/kernel/signal_64.c
index e53b267..12c0ab5 100644
--- a/arch/x86/kernel/signal_64.c
+++ b/arch/x86/kernel/signal_64.c
@@ -19,6 +19,7 @@
#include <linux/stddef.h>
#include <linux/personality.h>
#include <linux/compiler.h>
+#include <linux/syscalls.h>
#include <asm/processor.h>
#include <asm/ucontext.h>
#include <asm/uaccess.h>
diff --git a/arch/x86/kernel/tls.c b/arch/x86/kernel/tls.c
index ab6bf37..90bc24c 100644
--- a/arch/x86/kernel/tls.c
+++ b/arch/x86/kernel/tls.c
@@ -3,6 +3,7 @@
#include <linux/sched.h>
#include <linux/user.h>
#include <linux/regset.h>
+#include <linux/syscalls.h>

#include <asm/uaccess.h>
#include <asm/desc.h>
diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c
index 38f566f..d77e312 100644
--- a/arch/x86/kernel/vm86_32.c
+++ b/arch/x86/kernel/vm86_32.c
@@ -41,6 +41,7 @@
#include <linux/ptrace.h>
#include <linux/audit.h>
#include <linux/stddef.h>
+#include <linux/syscalls.h>

#include <asm/uaccess.h>
#include <asm/io.h>
diff --git a/include/asm-x86/syscalls.h b/include/asm-x86/syscalls.h
index e69de29..a93e6db 100644
--- a/include/asm-x86/syscalls.h
+++ b/include/asm-x86/syscalls.h
@@ -0,0 +1,83 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_X86_SYSCALLS_H
+#define _ASM_X86_SYSCALLS_H
+
+/* Common in X86_32 and X86_64 */
+/* kernel/ioport.c */
+asmlinkage long sys_ioperm(unsigned long, unsigned long, int);
+
+/* X86_32 only */
+#ifdef CONFIG_X86_32
+/* kernel/process_32.c */
+asmlinkage int sys_fork(struct pt_regs);
+asmlinkage int sys_clone(struct pt_regs);
+asmlinkage int sys_vfork(struct pt_regs);
+asmlinkage int sys_execve(struct pt_regs);
+
+/* kernel/signal_32.c */
+asmlinkage int sys_sigsuspend(int, int, old_sigset_t);
+asmlinkage int sys_sigaction(int, const struct old_sigaction __user *,
+ struct old_sigaction __user *);
+asmlinkage int sys_sigaltstack(unsigned long);
+asmlinkage unsigned long sys_sigreturn(unsigned long);
+asmlinkage int sys_rt_sigreturn(unsigned long);
+
+/* kernel/ioport.c */
+asmlinkage long sys_iopl(unsigned long);
+
+/* kernel/ldt.c */
+asmlinkage int sys_modify_ldt(int, void __user *, unsigned long);
+
+/* kernel/sys_i386_32.c */
+asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+struct mmap_arg_struct;
+asmlinkage int old_mmap(struct mmap_arg_struct __user *);
+struct sel_arg_struct;
+asmlinkage int old_select(struct sel_arg_struct __user *);
+asmlinkage int sys_ipc(uint, int, int, int, void __user *, long);
+asmlinkage int sys_uname(struct old_utsname __user *);
+asmlinkage int sys_olduname(struct oldold_utsname __user *);
+
+/* kernel/tls.c */
+asmlinkage int sys_set_thread_area(struct user_desc __user *);
+asmlinkage int sys_get_thread_area(struct user_desc __user *);
+
+#else /* CONFIG_X86_32 */
+
+/* X86_64 only */
+/* kernel/process_64.c */
+asmlinkage long sys_fork(struct pt_regs *);
+asmlinkage long sys_clone(unsigned long, unsigned long,
+ void __user *, void __user *,
+ struct pt_regs *);
+asmlinkage long sys_vfork(struct pt_regs *);
+asmlinkage long sys_execve(char __user *, char __user * __user *,
+ char __user * __user *,
+ struct pt_regs *);
+
+/* kernel/ioport.c */
+asmlinkage long sys_iopl(unsigned int, struct pt_regs *);
+
+/* kernel/signal_64.c */
+asmlinkage long sys_sigaltstack(const stack_t __user *, stack_t __user *,
+ struct pt_regs *);
+asmlinkage long sys_rt_sigreturn(struct pt_regs *);
+
+/* kernel/sys_x86_64.c */
+asmlinkage long sys_mmap(unsigned long, unsigned long, unsigned long,
+ unsigned long, unsigned long, unsigned long);
+asmlinkage long sys_uname(struct new_utsname __user *);
+
+#endif /* CONFIG_X86_32 */
+#endif /* _ASM_X86_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:10:23

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH 22/22] xtensa: Introducing asm/syscalls.h

Declaring arch-dependent syscalls for xtensa architecture

Signed-off-by: Jaswinder Singh <[email protected]>
---
include/asm-xtensa/syscalls.h | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/include/asm-xtensa/syscalls.h b/include/asm-xtensa/syscalls.h
index e69de29..4aa949e 100644
--- a/include/asm-xtensa/syscalls.h
+++ b/include/asm-xtensa/syscalls.h
@@ -0,0 +1,17 @@
+/*
+ * syscalls.h - Linux syscall interfaces (arch-specific)
+ *
+ * Copyright (c) 2008 Jaswinder Singh
+ *
+ * This file is released under the GPLv2.
+ * See the file COPYING for more details.
+ *
+ * Please do not call me directly, include linux/syscalls.h
+ */
+
+#ifndef _ASM_XTENSA_SYSCALLS_H
+#define _ASM_XTENSA_SYSCALLS_H
+
+/* define arch dependent syscalls here */
+
+#endif /* _ASM_XTENSA_SYSCALLS_H */
--
1.5.5.1


2008-07-21 00:19:35

by Matthew Wilcox

[permalink] [raw]
Subject: Re: [PATCH 9/22] ia64: Introducing asm/syscalls.h

On Mon, Jul 21, 2008 at 05:03:55AM +0530, Jaswinder Singh wrote:
> Declaring arch-dependent syscalls for ia64 architecture
> +#ifndef CONFIG_PCI
> +asmlinkage long sys_pciconfig_read(unsigned long, unsigned long,
> + unsigned long, unsigned long, void *);
> +asmlinkage long sys_pciconfig_write(unsigned long, unsigned long,
> + unsigned long, unsigned long, void *);
> +#endif /* CONFIG_PCI */

These are already declared in linux/syscalls.h

And frankly, we should just make these return -ENOSYS always. Any
software that uses them is stuffed on machines with multiple domains.

--
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."

2008-07-21 00:31:03

by Alexey Dobriyan

[permalink] [raw]
Subject: Re: [PATCH 0/22] Introducing asm/syscalls.h

On Mon, Jul 21, 2008 at 03:51:40AM +0530, Jaswinder Singh wrote:
> The following series of patches introduce asm/syscalls.h in various
> architectures.

Copyright for a bunch of prototypes?

All those /* kernel/signal.c */ comments are generally stupid and
useless, so no point adding even for functions that rarely move
(syscalls).

Of course, there is no explanation why files are being added.

2008-07-21 05:21:00

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: Re: [PATCH 9/22] ia64: Introducing asm/syscalls.h

Hello Matthew,

On Sun, 2008-07-20 at 18:19 -0600, Matthew Wilcox wrote:
> On Mon, Jul 21, 2008 at 05:03:55AM +0530, Jaswinder Singh wrote:
> > Declaring arch-dependent syscalls for ia64 architecture
> > +#ifndef CONFIG_PCI
> > +asmlinkage long sys_pciconfig_read(unsigned long, unsigned long,
> > + unsigned long, unsigned long, void *);
> > +asmlinkage long sys_pciconfig_write(unsigned long, unsigned long,
> > + unsigned long, unsigned long, void *);
> > +#endif /* CONFIG_PCI */
>
> These are already declared in linux/syscalls.h
>
> And frankly, we should just make these return -ENOSYS always. Any
> software that uses them is stuffed on machines with multiple domains.
>

diff --git a/include/asm-ia64/syscalls.h b/include/asm-ia64/syscalls.h
index 71af530..8799e14 100644
--- a/include/asm-ia64/syscalls.h
+++ b/include/asm-ia64/syscalls.h
@@ -28,11 +28,5 @@ asmlinkage unsigned long sys_mmap2(unsigned long, unsigned long,
int, int, int, long);
asmlinkage unsigned long sys_mmap(unsigned long, unsigned long,
int, int, int, long);
-#ifndef CONFIG_PCI
-asmlinkage long sys_pciconfig_read(unsigned long, unsigned long,
- unsigned long, unsigned long, void *);
-asmlinkage long sys_pciconfig_write(unsigned long, unsigned long,
- unsigned long, unsigned long, void *);
-#endif /* CONFIG_PCI */

#endif /* _ASM_IA64_SYSCALLS_H */

Thank you,

Jaswinder Singh.

2008-07-21 05:46:23

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: Re: [PATCH 0/22] Introducing asm/syscalls.h

Hello Alexey,

On Mon, 2008-07-21 at 04:28 +0400, Alexey Dobriyan wrote:
> On Mon, Jul 21, 2008 at 03:51:40AM +0530, Jaswinder Singh wrote:
> > The following series of patches introduce asm/syscalls.h in various
> > architectures.
>
> Copyright for a bunch of prototypes?
>

So according to you, there _should_ be no copyright for header files.
If this is the case, then remove it, I have no objections :)

> All those /* kernel/signal.c */ comments are generally stupid and
> useless, so no point adding even for functions that rarely move
> (syscalls).
>
> Of course, there is no explanation why files are being added.
>

It may be useless for you but it looks useful for me.
If you go though all syscalls patches only then you will figure it out
syscalls are moving in many files for many architecture.

There can be many reasons to add syscalls.h, few of them are :-
1. Declaring syscalls functions before they get used is a nice habit and
will quite also quiet sparse.

2. Declaring all arch dependent syscalls under one roof is nice for
future enhancement for kernel developers as they can see what is defined
in other architectures and try to follow same prototype as far as
possible, Then it will be really useful for everyone. And then we can
move common arch dependent syscalls in one place.

3. Declaring all arch dependent syscalls under one roof is nice for
user for reference purpose.

Thank you,

Jaswinder Singh.

2008-07-21 05:55:27

by Matthew Wilcox

[permalink] [raw]
Subject: Re: [PATCH 0/22] Introducing asm/syscalls.h

On Mon, Jul 21, 2008 at 11:15:00AM +0530, Jaswinder Singh wrote:
> It may be useless for you but it looks useful for me.
> If you go though all syscalls patches only then you will figure it out
> syscalls are moving in many files for many architecture.
>
> There can be many reasons to add syscalls.h, few of them are :-
> 1. Declaring syscalls functions before they get used is a nice habit and
> will quite also quiet sparse.
>
> 2. Declaring all arch dependent syscalls under one roof is nice for
> future enhancement for kernel developers as they can see what is defined
> in other architectures and try to follow same prototype as far as
> possible, Then it will be really useful for everyone. And then we can
> move common arch dependent syscalls in one place.
>
> 3. ???Declaring all arch dependent syscalls under one roof is nice for
> user for reference purpose.

I think it makes more sense to add them to linux/syscall.h, possibly
with comments mentioning which architectures implement them.

If there are architectures with different prototypes for the same
syscall, using an ifdef CONFIG_(arch) is /better/ annotation that having
them in different header files.

--
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."

2008-07-21 06:08:33

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: Re: [PATCH 0/22] Introducing asm/syscalls.h

Hello Matthew,

On Sun, 2008-07-20 at 23:55 -0600, Matthew Wilcox wrote:

> I think it makes more sense to add them to linux/syscall.h, possibly
> with comments mentioning which architectures implement them.
>
> If there are architectures with different prototypes for the same
> syscall, using an ifdef CONFIG_(arch) is /better/ annotation that having
> them in different header files.
>

linux/syscalls.h is Linux syscall interfaces (non-arch-specific)

So asm/syscalls.h is Linux syscall interfaces (arch-specific)

And if we add all arch dependent syscalls.h in linux/syscalls then it
will be very complex and do not look nice, for example sys_fork is keep
on changing for many architecture.

Thank you,

Jaswinder Singh.

2008-07-21 06:17:22

by Matthew Wilcox

[permalink] [raw]
Subject: Re: [PATCH 0/22] Introducing asm/syscalls.h

On Mon, Jul 21, 2008 at 11:37:14AM +0530, Jaswinder Singh wrote:
> ???linux/syscalls.h is Linux syscall interfaces (non-arch-specific)
>
> So asm/syscalls.h is ???Linux syscall interfaces (arch-specific)

That's how you see it.

> And if we add all arch dependent syscalls.h in linux/syscalls then it
> will be very complex and do not look nice, for example sys_fork is keep
> on changing for many architecture.

sys_fork() does seem to be the worst case scenario. I suspect there's
similar ones (clone?). I still think it's worth adding them all to
linux/syscalls.h.

--
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."

2008-07-21 07:01:22

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: Re: [PATCH 0/22] Introducing asm/syscalls.h

Hello Matthew,

On Mon, 2008-07-21 at 00:16 -0600, Matthew Wilcox wrote:

> sys_fork() does seem to be the worst case scenario. I suspect there's
> similar ones (clone?). I still think it's worth adding them all to
> linux/syscalls.h.
>

I tried my best to make things simpler. I also tried this in :-
[PATCH 17/22] sh: Introducing asm/syscalls.h
[PATCH 21/22] x86: Introducing asm/syscalls.h

For same architecture it looks complex for 32 and 64 bit.

You can Imagine how linux/syscalls.h will look if we add all
architectures in it.

And you can imagine what will be size of linux/syscalls.h. As more than
60% of arch dependent syscalls have totally different prototypes.

Thank you,

Jaswinder Singh.



2008-07-24 13:17:47

by Haavard Skinnemoen

[permalink] [raw]
Subject: Re: [PATCH 4/22] avr32: Introducing asm/syscalls.h

Jaswinder Singh <[email protected]> wrote:
> +asmlinkage int sys_fork(struct pt_regs);

This should be "struct pt_regs *"

> +asmlinkage int sys_clone(unsigned long, unsigned long,
> + unsigned long, unsigned long,
> + struct pt_regs *);
> +asmlinkage int sys_vfork(struct pt_regs);

Same thing here.

Other than that, looks good to me.

Haavard

2008-07-24 15:09:50

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: Re: [PATCH 4/22] avr32: Introducing asm/syscalls.h

Hello Haavard,

On Thu, 2008-07-24 at 15:09 +0200, Haavard Skinnemoen wrote:
> Jaswinder Singh <[email protected]> wrote:
> > +asmlinkage int sys_fork(struct pt_regs);
>
> This should be "struct pt_regs *"
>
> > +asmlinkage int sys_clone(unsigned long, unsigned long,
> > + unsigned long, unsigned long,
> > + struct pt_regs *);
> > +asmlinkage int sys_vfork(struct pt_regs);
>
> Same thing here.
>
> Other than that, looks good to me.
>

If you want to merge this patch in your tree then let me know.

I will fix above issues and send updated patch for avr32 tree.

Thank you,

Jaswinder Singh.

2008-07-24 16:57:48

by Haavard Skinnemoen

[permalink] [raw]
Subject: Re: [PATCH 4/22] avr32: Introducing asm/syscalls.h

Jaswinder Singh <[email protected]> wrote:
> If you want to merge this patch in your tree then let me know.

Well, I'd rather have it go in along with the others through mm or
something. But if it doesn't depend on anything else, I can take it if
it makes things easier.

> I will fix above issues and send updated patch for avr32 tree.

That'd be great, thanks.

Haavard