diff --git a/arch/arm/include/asm/syscalls.h b/arch/arm/include/asm/syscalls.h
new file mode 100644
index 0000000..e775746
--- /dev/null
+++ b/arch/arm/include/asm/syscalls.h
@@ -0,0 +1,60 @@
+#ifndef _ASM_ARM_SYSCALLS_H
+#define _ASM_ARM_SYSCALLS_H
+
+#include <linux/linkage.h>
+#include <linux/types.h>
+
+struct msghdr;
+struct sockaddr;
+
+/* arch/arm/kernel/signal.c */
+asmlinkage int sys_sigsuspend(int, unsigned long, old_sigset_t);
+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 *);
+
+/* arch/arm/kernel/sys_arm.c */
+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(const char __user *,
+                         const char __user *const __user *,
+                         const char __user *const __user *, struct pt_regs *);
+asmlinkage long sys_arm_fadvise64_64(int, int, loff_t, loff_t);
+
+/* arch/arm/kernel/sys_oabi-compat.c */
+struct oldabi_stat64;
+asmlinkage long sys_oabi_stat64(const char __user *,
+                               struct oldabi_stat64 __user *);
+asmlinkage long sys_oabi_lstat64(const char __user *,
+                                struct oldabi_stat64 __user *);
+asmlinkage long sys_oabi_fstat64(unsigned long, struct oldabi_stat64 __user *);+asmlinkage long sys_oabi_fstatat64(int, const 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 *);
+
+/* arch/arm/kernel/traps.c */
+asmlinkage int arm_syscall(int, struct pt_regs *);
+
+#endif
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c
index 0340224..9498fb5 100644
--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
@@ -16,6 +16,7 @@

 #include <asm/elf.h>
 #include <asm/cacheflush.h>
+#include <asm/syscalls.h>
 #include <asm/ucontext.h>
 #include <asm/unistd.h>
 #include <asm/vfp.h>
diff --git a/arch/arm/kernel/sys_arm.c b/arch/arm/kernel/sys_arm.c
index 62e7c61..5bda298 100644
--- a/arch/arm/kernel/sys_arm.c
+++ b/arch/arm/kernel/sys_arm.c
@@ -28,6 +28,8 @@
 #include <linux/uaccess.h>
 #include <linux/slab.h>

+#include <asm/syscalls.h>
+
 /* Fork a new task - this creates a new program thread.
  * This is called indirectly via a small wrapper
  */
diff --git a/arch/arm/kernel/sys_oabi-compat.c b/arch/arm/kernel/sys_oabi-compat.c
index af0aaeb..e71a41c 100644
--- a/arch/arm/kernel/sys_oabi-compat.c
+++ b/arch/arm/kernel/sys_oabi-compat.c
@@ -85,6 +85,8 @@
 #include <linux/uaccess.h>
 #include <linux/slab.h>

+#include <asm/syscalls.h>
+
 struct oldabi_stat64 {
        unsigned long long st_dev;
        unsigned int    __pad1;
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index d52eec2..d040421 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -27,6 +27,7 @@

 #include <asm/atomic.h>
 #include <asm/cacheflush.h>
+#include <asm/syscalls.h>
 #include <asm/system.h>
 #include <asm/unistd.h>
 #include <asm/traps.h>
