|
From: Dave A. <ai...@us...> - 2001-09-14 11:41:44
|
Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv15088/kernel
Modified Files:
entry.S syscall.c
Log Message:
DA: fixup system calls ..
Index: entry.S
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/entry.S,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- entry.S 2001/08/15 22:55:13 1.7
+++ entry.S 2001/09/14 11:41:41 1.8
@@ -268,19 +268,19 @@
.long sys_time
.long sys_mknod
.long sys_chmod /* 15 */
- .long sys_lchown
+ .long sys_lchown16
.long sys_ni_syscall /* old break syscall holder */
- .long sys_stat
+ .long sys_ni_syscall /* old stat syscall */
.long sys_lseek
.long sys_getpid /* 20 */
.long sys_mount
- .long sys_umount /* old umount syscall holder */
- .long sys_setuid
- .long sys_getuid
+ .long sys_oldumount /* old umount syscall holder */
+ .long sys_setuid16
+ .long sys_getuid16
.long sys_stime /* 25 */
.long sys_ptrace
.long sys_alarm
- .long sys_fstat
+ .long sys_ni_syscall /* old fstat */
.long sys_pause
.long sys_utime /* 30 */
.long sys_ni_syscall /* old stty syscall holder */
@@ -298,11 +298,11 @@
.long sys_times
.long sys_ni_syscall /* old prof syscall holder */
.long sys_brk /* 45 */
- .long sys_setgid
- .long sys_getgid
+ .long sys_setgid16
+ .long sys_getgid16
.long sys_signal
- .long sys_geteuid
- .long sys_getegid /* 50 */
+ .long sys_geteuid16
+ .long sys_getegid16 /* 50 */
.long sys_acct
.long sys_oldumount /* recycled never used phys() */
.long sys_ni_syscall /* old lock syscall holder */
@@ -322,32 +322,32 @@
.long sys_sigaction
.long sys_sgetmask
.long sys_ssetmask
- .long sys_setreuid /* 70 */
- .long sys_setregid
+ .long sys_setreuid16 /* 70 */
+ .long sys_setregid16
.long sys_sigsuspend
.long sys_sigpending
.long sys_sethostname
.long sys_setrlimit /* 75 */
- .long sys_getrlimit
+ .long sys_old_getrlimit
.long sys_getrusage
.long sys_gettimeofday
.long sys_settimeofday
- .long sys_getgroups /* 80 */
- .long sys_setgroups
- .long sys_select
+ .long sys_getgroups16 /* 80 */
+ .long sys_setgroups16
+ .long sys_ni_syscall /* old_select */
.long sys_symlink
- .long sys_lstat
+ .long sys_ni_syscall /* was sys_lstat */
.long sys_readlink /* 85 */
.long sys_uselib
.long sys_swapon
.long sys_reboot
.long sys_ni_syscall /* old readdir syscall holder */
- .long sys_mmap /* 90 */
+ .long sys_mmap /* 90 */
.long sys_munmap
.long sys_truncate
.long sys_ftruncate
.long sys_fchmod
- .long sys_fchown /* 95 */
+ .long sys_fchown16 /* 95 */
.long sys_getpriority
.long sys_setpriority
.long sys_ni_syscall /* old profil syscall holder */
@@ -390,8 +390,8 @@
.long sys_sysfs /* 135 */
.long sys_personality
.long sys_ni_syscall /* for afs_syscall */
- .long sys_setfsuid
- .long sys_setfsgid
+ .long sys_setfsuid16
+ .long sys_setfsgid16
.long sys_llseek /* 140 */
.long sys_getdents
.long sys_select
@@ -416,14 +416,14 @@
.long sys_sched_rr_get_interval
.long sys_nanosleep
.long sys_mremap
- .long sys_setresuid
- .long sys_getresuid /* 165 */
+ .long sys_setresuid16
+ .long sys_getresuid16 /* 165 */
.long sys_ni_syscall /* 166 vm86 in i386 */
.long sys_query_module
.long sys_poll
.long sys_nfsservctl
- .long sys_setresgid /* 170 */
- .long sys_getresgid
+ .long sys_setresgid16 /* 170 */
+ .long sys_getresgid16
.long sys_prctl
.long sys_rt_sigreturn
.long sys_rt_sigaction
@@ -434,7 +434,7 @@
.long sys_rt_sigsuspend
.long sys_pread /* 180 */
.long sys_pwrite
- .long sys_chown
+ .long sys_chown16
.long sys_getcwd
.long sys_capget
.long sys_capset /* 185 */
@@ -443,14 +443,45 @@
.long sys_ni_syscall /* streams1 */
.long sys_ni_syscall /* streams2 */
.long sys_vfork /* 190 */
-
- /*
+ .long sys_getrlimit
+ .long sys_mmap2
+ .long sys_truncate64
+ .long sys_ftruncate64
+ .long sys_stat64 /* 195 */
+ .long sys_lstat64
+ .long sys_fstat64
+ .long sys_lchown
+ .long sys_getuid
+ .long sys_getgid /* 200 */
+ .long sys_geteuid
+ .long sys_getegid
+ .long sys_setreuid
+ .long sys_setregid
+ .long sys_getgroups /* 205 */
+ .long sys_setgroups
+ .long sys_fchown
+ .long sys_setresuid
+ .long sys_getresuid
+ .long sys_setresgid /* 210 */
+ .long sys_getresgid
+ .long sys_chown
+ .long sys_setuid
+ .long sys_setgid
+ .long sys_setfsuid /* 215 */
+ .long sys_setfsgid
+ .long sys_pivot_root
+ .long sys_mincore
+ .long sys_madvise
+ .long sys_getdents64 /* 220 */
+ .long sys_fcntl64
+ /*
+
* NOTE!! This doesn't have to be exact - we just have
* to make sure we have _enough_ of the "sys_ni_syscall"
* entries. Don't panic if you notice that this hasn't
* been shrunk every time we add a new system call.
*/
- .rept NR_syscalls-190
+ .rept NR_syscalls-221
.long sys_ni_syscall
.endr
Index: syscall.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/syscall.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- syscall.c 2001/09/02 20:48:39 1.7
+++ syscall.c 2001/09/14 11:41:41 1.8
@@ -244,3 +244,35 @@
return error;
}
+/* common code for old and new mmaps */
+static inline long do_mmap2(
+ unsigned long addr, unsigned long len,
+ unsigned long prot, unsigned long flags,
+ unsigned long fd, unsigned long pgoff)
+{
+ int error = -EBADF;
+ struct file * file = NULL;
+
+ flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
+ if (!(flags & MAP_ANONYMOUS)) {
+ file = fget(fd);
+ if (!file)
+ goto out;
+ }
+
+ down(¤t->mm->mmap_sem);
+ error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff);
+ up(¤t->mm->mmap_sem);
+
+ if (file)
+ fput(file);
+out:
+ return error;
+}
+
+asmlinkage long sys_mmap2(unsigned long addr, unsigned long len,
+ unsigned long prot, unsigned long flags,
+ unsigned long fd, unsigned long pgoff)
+{
+ return do_mmap2(addr, len, prot, flags, fd, pgoff);
+}
|