From: "Randy.Dunlap" <rddunlap@osdl.org>

This is the next syscalls update.

Built on ia32, ia64, and x86_64(X-build).

Andi, would you look at the changes to include/asm-x86_64/unistd.h please? 
I'm not terribly happy with them, but it took several iterations to get the
compiler happy with it.

What's left:
- include/linux/fs.h:  sys_open, sys_close
- fixing all uses of __KERNEL_SYSCALLS__



---

 25-akpm/arch/cris/kernel/sys_cris.c     |    1 +
 25-akpm/arch/mips/kernel/syscall.c      |    1 +
 25-akpm/arch/parisc/kernel/ioctl32.c    |    2 ++
 25-akpm/arch/ppc64/kernel/ioctl32.c     |    1 +
 25-akpm/arch/ppc64/kernel/syscalls.c    |    1 +
 25-akpm/arch/s390/kernel/s390_ksyms.c   |    1 +
 25-akpm/arch/sparc64/kernel/ioctl32.c   |    1 +
 25-akpm/arch/um/kernel/syscall_kern.c   |    1 +
 25-akpm/arch/v850/kernel/syscalls.c     |    1 +
 25-akpm/arch/x86_64/ia32/ipc32.c        |    1 +
 25-akpm/arch/x86_64/ia32/ptrace32.c     |    1 +
 25-akpm/arch/x86_64/kernel/sys_x86_64.c |    1 +
 25-akpm/fs/compat_ioctl.c               |    1 +
 25-akpm/fs/nfsd/export.c                |    1 +
 25-akpm/fs/nfsd/nfsctl.c                |    1 +
 25-akpm/include/asm-x86_64/compat.h     |    1 +
 25-akpm/include/asm-x86_64/unistd.h     |    9 ++++++++-
 25-akpm/include/linux/eventpoll.h       |    7 -------
 25-akpm/include/linux/futex.h           |    4 ----
 25-akpm/include/linux/ioctl32.h         |    2 --
 25-akpm/include/linux/mm.h              |    2 --
 25-akpm/include/linux/nfsd/syscall.h    |    1 -
 25-akpm/include/linux/sched.h           |    2 --
 25-akpm/include/linux/shm.h             |    5 -----
 25-akpm/include/linux/socket.h          |    4 ----
 25-akpm/include/linux/syscalls.h        |   15 +++++++++++++--
 25-akpm/kernel/fork.c                   |    1 +
 25-akpm/kernel/module.c                 |    1 +
 25-akpm/mm/mmap.c                       |    1 +
 29 files changed, 41 insertions(+), 30 deletions(-)

diff -puN arch/cris/kernel/sys_cris.c~add-syscalls_h-8 arch/cris/kernel/sys_cris.c
--- 25/arch/cris/kernel/sys_cris.c~add-syscalls_h-8	Thu Feb 19 15:16:39 2004
+++ 25-akpm/arch/cris/kernel/sys_cris.c	Thu Feb 19 15:16:40 2004
@@ -11,6 +11,7 @@
 
 #include <linux/errno.h>
 #include <linux/sched.h>
+#include <linux/syscalls.h>
 #include <linux/mm.h>
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
diff -puN arch/mips/kernel/syscall.c~add-syscalls_h-8 arch/mips/kernel/syscall.c
--- 25/arch/mips/kernel/syscall.c~add-syscalls_h-8	Thu Feb 19 15:16:39 2004
+++ 25-akpm/arch/mips/kernel/syscall.c	Thu Feb 19 15:16:40 2004
@@ -16,6 +16,7 @@
 #include <linux/ptrace.h>
 #include <linux/sched.h>
 #include <linux/string.h>
+#include <linux/syscalls.h>
 #include <linux/file.h>
 #include <linux/slab.h>
 #include <linux/utsname.h>
diff -puN arch/parisc/kernel/ioctl32.c~add-syscalls_h-8 arch/parisc/kernel/ioctl32.c
--- 25/arch/parisc/kernel/ioctl32.c~add-syscalls_h-8	Thu Feb 19 15:16:39 2004
+++ 25-akpm/arch/parisc/kernel/ioctl32.c	Thu Feb 19 15:16:40 2004
@@ -8,6 +8,8 @@
  * ioctls.
  */
 
+#include <linux/syscalls.h>
+
 #define INCLUDES
 #include "compat_ioctl.c"
 
diff -puN arch/ppc64/kernel/ioctl32.c~add-syscalls_h-8 arch/ppc64/kernel/ioctl32.c
--- 25/arch/ppc64/kernel/ioctl32.c~add-syscalls_h-8	Thu Feb 19 15:16:39 2004
+++ 25-akpm/arch/ppc64/kernel/ioctl32.c	Thu Feb 19 15:16:40 2004
@@ -23,6 +23,7 @@
 #define INCLUDES
 #include "compat_ioctl.c"
 #include <linux/ncp_fs.h>
+#include <linux/syscalls.h>
 #include <asm/ppc32.h>
 
 #define CODE
diff -puN arch/ppc64/kernel/syscalls.c~add-syscalls_h-8 arch/ppc64/kernel/syscalls.c
--- 25/arch/ppc64/kernel/syscalls.c~add-syscalls_h-8	Thu Feb 19 15:16:39 2004
+++ 25-akpm/arch/ppc64/kernel/syscalls.c	Thu Feb 19 15:16:40 2004
@@ -22,6 +22,7 @@
 
 #include <linux/errno.h>
 #include <linux/sched.h>
+#include <linux/syscalls.h>
 #include <linux/mm.h>
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
diff -puN arch/s390/kernel/s390_ksyms.c~add-syscalls_h-8 arch/s390/kernel/s390_ksyms.c
--- 25/arch/s390/kernel/s390_ksyms.c~add-syscalls_h-8	Thu Feb 19 15:16:39 2004
+++ 25-akpm/arch/s390/kernel/s390_ksyms.c	Thu Feb 19 15:16:40 2004
@@ -8,6 +8,7 @@
 #include <linux/module.h>
 #include <linux/mm.h>
 #include <linux/smp.h>
+#include <linux/syscalls.h>
 #include <linux/interrupt.h>
 #include <linux/ioctl32.h>
 #include <asm/checksum.h>
diff -puN arch/sparc64/kernel/ioctl32.c~add-syscalls_h-8 arch/sparc64/kernel/ioctl32.c
--- 25/arch/sparc64/kernel/ioctl32.c~add-syscalls_h-8	Thu Feb 19 15:16:39 2004
+++ 25-akpm/arch/sparc64/kernel/ioctl32.c	Thu Feb 19 15:16:40 2004
@@ -12,6 +12,7 @@
 #define INCLUDES
 #include "compat_ioctl.c"
 #include <linux/ncp_fs.h>
+#include <linux/syscalls.h>
 #include <asm/fbio.h>
 #include <asm/kbio.h>
 #include <asm/vuid_event.h>
diff -puN arch/um/kernel/syscall_kern.c~add-syscalls_h-8 arch/um/kernel/syscall_kern.c
--- 25/arch/um/kernel/syscall_kern.c~add-syscalls_h-8	Thu Feb 19 15:16:39 2004
+++ 25-akpm/arch/um/kernel/syscall_kern.c	Thu Feb 19 15:16:40 2004
@@ -11,6 +11,7 @@
 #include "linux/msg.h"
 #include "linux/shm.h"
 #include "linux/sys.h"
+#include "linux/syscalls.h"
 #include "linux/unistd.h"
 #include "linux/slab.h"
 #include "linux/utime.h"
diff -puN arch/v850/kernel/syscalls.c~add-syscalls_h-8 arch/v850/kernel/syscalls.c
--- 25/arch/v850/kernel/syscalls.c~add-syscalls_h-8	Thu Feb 19 15:16:39 2004
+++ 25-akpm/arch/v850/kernel/syscalls.c	Thu Feb 19 15:16:40 2004
@@ -20,6 +20,7 @@
 #include <linux/mm.h>
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
+#include <linux/syscalls.h>
 #include <linux/sem.h>
 #include <linux/msg.h>
 #include <linux/shm.h>
diff -puN arch/x86_64/ia32/ipc32.c~add-syscalls_h-8 arch/x86_64/ia32/ipc32.c
--- 25/arch/x86_64/ia32/ipc32.c~add-syscalls_h-8	Thu Feb 19 15:16:39 2004
+++ 25-akpm/arch/x86_64/ia32/ipc32.c	Thu Feb 19 15:16:40 2004
@@ -2,6 +2,7 @@
 #include <linux/spinlock.h>
 #include <linux/list.h>
 #include <linux/time.h>
+#include <linux/syscalls.h>
 #include <linux/sem.h>
 #include <linux/msg.h>
 #include <linux/shm.h>
diff -puN arch/x86_64/ia32/ptrace32.c~add-syscalls_h-8 arch/x86_64/ia32/ptrace32.c
--- 25/arch/x86_64/ia32/ptrace32.c~add-syscalls_h-8	Thu Feb 19 15:16:39 2004
+++ 25-akpm/arch/x86_64/ia32/ptrace32.c	Thu Feb 19 15:16:40 2004
@@ -15,6 +15,7 @@
 #include <linux/stddef.h>
 #include <linux/sched.h>
 #include <linux/syscalls.h>
+#include <linux/unistd.h>
 #include <linux/mm.h>
 #include <asm/ptrace.h>
 #include <asm/uaccess.h>
diff -puN arch/x86_64/kernel/sys_x86_64.c~add-syscalls_h-8 arch/x86_64/kernel/sys_x86_64.c
--- 25/arch/x86_64/kernel/sys_x86_64.c~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/arch/x86_64/kernel/sys_x86_64.c	Thu Feb 19 15:16:40 2004
@@ -4,6 +4,7 @@
 
 #include <linux/errno.h>
 #include <linux/sched.h>
+#include <linux/syscalls.h>
 #include <linux/mm.h>
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
diff -puN fs/compat_ioctl.c~add-syscalls_h-8 fs/compat_ioctl.c
--- 25/fs/compat_ioctl.c~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/fs/compat_ioctl.c	Thu Feb 19 15:16:40 2004
@@ -62,6 +62,7 @@
 #include <linux/if_tun.h>
 #include <linux/ctype.h>
 #include <linux/ioctl32.h>
+#include <linux/syscalls.h>
 #include <linux/ncp_fs.h>
 #include <linux/i2c.h>
 #include <linux/i2c-dev.h>
diff -puN fs/nfsd/export.c~add-syscalls_h-8 fs/nfsd/export.c
--- 25/fs/nfsd/export.c~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/fs/nfsd/export.c	Thu Feb 19 15:16:40 2004
@@ -20,6 +20,7 @@
 #include <linux/stat.h>
 #include <linux/in.h>
 #include <linux/seq_file.h>
+#include <linux/syscalls.h>
 #include <linux/rwsem.h>
 #include <linux/dcache.h>
 #include <linux/namei.h>
diff -puN fs/nfsd/nfsctl.c~add-syscalls_h-8 fs/nfsd/nfsctl.c
--- 25/fs/nfsd/nfsctl.c~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/fs/nfsd/nfsctl.c	Thu Feb 19 15:16:40 2004
@@ -16,6 +16,7 @@
 #include <linux/fcntl.h>
 #include <linux/net.h>
 #include <linux/in.h>
+#include <linux/syscalls.h>
 #include <linux/unistd.h>
 #include <linux/slab.h>
 #include <linux/proc_fs.h>
diff -puN include/asm-x86_64/compat.h~add-syscalls_h-8 include/asm-x86_64/compat.h
--- 25/include/asm-x86_64/compat.h~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/include/asm-x86_64/compat.h	Thu Feb 19 15:16:40 2004
@@ -28,6 +28,7 @@ typedef u16		compat_ipc_pid_t;
 typedef s32		compat_daddr_t;
 typedef u32		compat_caddr_t;
 typedef __kernel_fsid_t	compat_fsid_t;
+typedef u32		compat_timer_t;
 typedef s32		compat_key_t;
 
 typedef s32		compat_int_t;
diff -puN include/asm-x86_64/unistd.h~add-syscalls_h-8 include/asm-x86_64/unistd.h
--- 25/include/asm-x86_64/unistd.h~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/include/asm-x86_64/unistd.h	Thu Feb 19 15:16:40 2004
@@ -710,10 +710,17 @@ asmlinkage long sys_clone(unsigned long 
 asmlinkage long sys_fork(struct pt_regs regs);
 asmlinkage long sys_vfork(struct pt_regs regs);
 asmlinkage long sys_pipe(int *fildes);
+
+#endif /* __KERNEL_SYSCALLS__ */
+
+#ifndef __ASSEMBLY__
+
+#include <linux/linkage.h>
+
 asmlinkage long sys_ptrace(long request, long pid,
 				unsigned long addr, long data);
 
-#endif /* __KERNEL_SYSCALLS__ */
+#endif	/* __ASSEMBLY__ */
 
 #endif /* __NO_STUBS */
 
diff -puN include/linux/eventpoll.h~add-syscalls_h-8 include/linux/eventpoll.h
--- 25/include/linux/eventpoll.h~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/include/linux/eventpoll.h	Thu Feb 19 15:16:40 2004
@@ -49,13 +49,6 @@ struct epoll_event {
 struct file;
 
 
-/* Kernel space functions implementing the user space "epoll" API */
-asmlinkage long sys_epoll_create(int size);
-asmlinkage long sys_epoll_ctl(int epfd, int op, int fd,
-			      struct epoll_event __user *event);
-asmlinkage long sys_epoll_wait(int epfd, struct epoll_event __user *events,
-			       int maxevents, int timeout);
-
 #ifdef CONFIG_EPOLL
 
 /* Used to initialize the epoll bits inside the "struct file" */
diff -puN include/linux/futex.h~add-syscalls_h-8 include/linux/futex.h
--- 25/include/linux/futex.h~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/include/linux/futex.h	Thu Feb 19 15:16:40 2004
@@ -10,10 +10,6 @@
 #define FUTEX_REQUEUE (3)
 
 
-asmlinkage long sys_futex(u32 __user *uaddr, int op, int val,
-			  struct timespec __user *utime, u32 __user *uaddr2);
-
-
 long do_futex(unsigned long uaddr, int op, int val,
 		unsigned long timeout, unsigned long uaddr2, int val2);
 
diff -puN include/linux/ioctl32.h~add-syscalls_h-8 include/linux/ioctl32.h
--- 25/include/linux/ioctl32.h~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/include/linux/ioctl32.h	Thu Feb 19 15:16:40 2004
@@ -3,8 +3,6 @@
 
 struct file;
 
-extern long sys_ioctl(unsigned int, unsigned int, unsigned long);
-
 /* 
  * Register an 32bit ioctl translation handler for ioctl cmd.
  *
diff -puN include/linux/mm.h~add-syscalls_h-8 include/linux/mm.h
--- 25/include/linux/mm.h~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/include/linux/mm.h	Thu Feb 19 15:16:40 2004
@@ -455,8 +455,6 @@ extern int install_file_pte(struct mm_st
 extern int handle_mm_fault(struct mm_struct *mm,struct vm_area_struct *vma, unsigned long address, int write_access);
 extern int make_pages_present(unsigned long addr, unsigned long end);
 extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, int write);
-extern long sys_remap_file_pages(unsigned long start, unsigned long size, unsigned long prot, unsigned long pgoff, unsigned long nonblock);
-extern long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice);
 void put_dirty_page(struct task_struct *tsk, struct page *page,
 			unsigned long address, pgprot_t prot);
 
diff -puN include/linux/nfsd/syscall.h~add-syscalls_h-8 include/linux/nfsd/syscall.h
--- 25/include/linux/nfsd/syscall.h~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/include/linux/nfsd/syscall.h	Thu Feb 19 15:16:40 2004
@@ -115,7 +115,6 @@ union nfsctl_res {
 /*
  * Kernel syscall implementation.
  */
-extern asmlinkage long	sys_nfsservctl(int, struct nfsctl_arg __user *, void __user *);
 extern int		exp_addclient(struct nfsctl_client *ncp);
 extern int		exp_delclient(struct nfsctl_client *ncp);
 extern int		exp_export(struct nfsctl_export *nxp);
diff -puN include/linux/sched.h~add-syscalls_h-8 include/linux/sched.h
--- 25/include/linux/sched.h~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/include/linux/sched.h	Thu Feb 19 15:16:40 2004
@@ -833,8 +833,6 @@ extern task_t *child_reaper;
 extern int do_execve(char *, char __user * __user *, char __user * __user *, struct pt_regs *);
 extern long do_fork(unsigned long, unsigned long, struct pt_regs *, unsigned long, int __user *, int __user *);
 extern struct task_struct * copy_process(unsigned long, unsigned long, struct pt_regs *, unsigned long, int __user *, int __user *);
-extern asmlinkage long sys_sched_setscheduler(pid_t pid, int policy,
-					      struct sched_param __user *parm);
 
 #ifdef CONFIG_SMP
 extern void wait_task_inactive(task_t * p);
diff -puN include/linux/shm.h~add-syscalls_h-8 include/linux/shm.h
--- 25/include/linux/shm.h~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/include/linux/shm.h	Thu Feb 19 15:16:40 2004
@@ -90,11 +90,6 @@ struct shmid_kernel /* private to the ke
 #define SHM_LOCKED      02000   /* segment will not be swapped */
 #define SHM_HUGETLB     04000   /* segment will use huge TLB pages */
 
-long sys_shmat (int shmid, char __user *shmaddr, int shmflg, unsigned long *addr);
-asmlinkage long sys_shmget (key_t key, size_t size, int flag);
-asmlinkage long sys_shmdt (char __user *shmaddr);
-asmlinkage long sys_shmctl (int shmid, int cmd, struct shmid_ds __user *buf);
-
 #endif /* __KERNEL__ */
 
 #endif /* _LINUX_SHM_H_ */
diff -puN include/linux/socket.h~add-syscalls_h-8 include/linux/socket.h
--- 25/include/linux/socket.h~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/include/linux/socket.h	Thu Feb 19 15:16:40 2004
@@ -245,10 +245,6 @@ struct ucred {
 #define MSG_CMSG_COMPAT	0		/* We never have 32 bit fixups */
 #endif
 
-extern asmlinkage long sys_sendmsg(int fd, struct msghdr __user *msg, unsigned flags);
-extern asmlinkage long sys_recvmsg(int fd, struct msghdr __user *msg, unsigned flags);
-
-
 
 /* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx */
 #define SOL_IP		0
diff -puN include/linux/syscalls.h~add-syscalls_h-8 include/linux/syscalls.h
--- 25/include/linux/syscalls.h~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/include/linux/syscalls.h	Thu Feb 19 15:16:40 2004
@@ -35,6 +35,7 @@ struct rusage;
 struct sched_param;
 struct semaphore;
 struct sembuf;
+struct shmid_ds;
 struct sockaddr;
 struct stat;
 struct stat64;
@@ -251,7 +252,14 @@ asmlinkage long sys_mprotect(unsigned lo
 asmlinkage unsigned long sys_mremap(unsigned long addr,
 				unsigned long old_len, unsigned long new_len,
 				unsigned long flags, unsigned long new_addr);
+long sys_remap_file_pages(unsigned long start, unsigned long size,
+			unsigned long prot, unsigned long pgoff,
+			unsigned long flags);
+long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice);
 asmlinkage long sys_munmap(unsigned long addr, size_t len);
+asmlinkage long sys_mlock(unsigned long start, size_t len);
+asmlinkage long sys_munlock(unsigned long start, size_t len);
+
 asmlinkage long sys_pivot_root(const char __user *new_root,
 				const char __user *put_old);
 asmlinkage long sys_chroot(const char __user *filename);
@@ -385,8 +393,7 @@ asmlinkage long sys_sendmsg(int fd, stru
 asmlinkage long sys_recv(int, void *, size_t, unsigned);
 asmlinkage long sys_recvfrom(int, void *, size_t, unsigned,
 				struct sockaddr *, int *);
-asmlinkage long sys_recvmsg(int fd, struct msghdr __user *msg,
-				unsigned int flags);
+asmlinkage long sys_recvmsg(int fd, struct msghdr __user *msg, unsigned flags);
 asmlinkage long sys_socket(int, int, int);
 asmlinkage long sys_socketpair(int, int, int, int [2]);
 asmlinkage long sys_socketcall(int call, unsigned long __user *args);
@@ -429,6 +436,10 @@ asmlinkage long sys_semctl(int semid, in
 asmlinkage long sys_semtimedop(int semid, struct sembuf __user *sops,
 				unsigned nsops,
 				const struct timespec __user *timeout);
+long sys_shmat(int shmid, char __user *shmaddr, int shmflg, unsigned long *addr);
+asmlinkage long sys_shmget(key_t key, size_t size, int flag);
+asmlinkage long sys_shmdt(char __user *shmaddr);
+asmlinkage long sys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf);
 
 asmlinkage long sys_pciconfig_iobase(long which, unsigned long bus, unsigned long devfn);
 asmlinkage long sys_pciconfig_read(unsigned long bus, unsigned long dfn,
diff -puN kernel/fork.c~add-syscalls_h-8 kernel/fork.c
--- 25/kernel/fork.c~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/kernel/fork.c	Thu Feb 19 15:16:40 2004
@@ -26,6 +26,7 @@
 #include <linux/mman.h>
 #include <linux/fs.h>
 #include <linux/security.h>
+#include <linux/syscalls.h>
 #include <linux/jiffies.h>
 #include <linux/futex.h>
 #include <linux/ptrace.h>
diff -puN kernel/module.c~add-syscalls_h-8 kernel/module.c
--- 25/kernel/module.c~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/kernel/module.c	Thu Feb 19 15:16:40 2004
@@ -24,6 +24,7 @@
 #include <linux/vmalloc.h>
 #include <linux/elf.h>
 #include <linux/seq_file.h>
+#include <linux/syscalls.h>
 #include <linux/fcntl.h>
 #include <linux/rcupdate.h>
 #include <linux/cpu.h>
diff -puN mm/mmap.c~add-syscalls_h-8 mm/mmap.c
--- 25/mm/mmap.c~add-syscalls_h-8	Thu Feb 19 15:16:40 2004
+++ 25-akpm/mm/mmap.c	Thu Feb 19 15:16:40 2004
@@ -11,6 +11,7 @@
 #include <linux/mman.h>
 #include <linux/pagemap.h>
 #include <linux/swap.h>
+#include <linux/syscalls.h>
 #include <linux/init.h>
 #include <linux/file.h>
 #include <linux/fs.h>

_