Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys Revert vadvise(2) removal



details:   https://anonhg.NetBSD.org/src/rev/edc196895dbb
branches:  trunk
changeset: 828835:edc196895dbb
user:      kamil <kamil%NetBSD.org@localhost>
date:      Sat Jan 06 16:41:23 2018 +0000

description:
Revert vadvise(2) removal

This system call was used in legacy Lisp code, that was inherited to modern
age and still compiled against supported compat layers (e.g. in clisp,
oaklisp, Franz Lisp).

It used to instruct the kernel about paging policy (G/C aware, flush etc).

Newly compiled code (assuming that it will detect vadvise()) will use the
libc stub for vadvise(). The headers for this interface are gone.

vadvise(2) could be marked as COMPAT_80, but as long as we support ultrix,
sunos or aout68k ABI, don't bother with this.

Requested by <mrg>

diffstat:

 sys/compat/aoutm68k/aoutm68k_syscall.h           |   8 +++++---
 sys/compat/aoutm68k/aoutm68k_syscallargs.h       |   8 ++++++--
 sys/compat/aoutm68k/aoutm68k_syscalls.c          |  10 +++++-----
 sys/compat/aoutm68k/aoutm68k_sysent.c            |  11 ++++++-----
 sys/compat/aoutm68k/syscalls.master              |   4 ++--
 sys/compat/freebsd/freebsd_syscall.h             |   8 +++++---
 sys/compat/freebsd/freebsd_syscallargs.h         |   8 ++++++--
 sys/compat/freebsd/freebsd_syscalls.c            |  10 +++++-----
 sys/compat/freebsd/freebsd_sysent.c              |  11 ++++++-----
 sys/compat/freebsd/syscalls.master               |   4 ++--
 sys/compat/netbsd32/netbsd32_netbsd.c            |  15 +++++++++++++--
 sys/compat/netbsd32/netbsd32_syscall.h           |   8 +++++---
 sys/compat/netbsd32/netbsd32_syscallargs.h       |  11 +++++++++--
 sys/compat/netbsd32/netbsd32_syscalls.c          |  10 +++++-----
 sys/compat/netbsd32/netbsd32_syscalls_autoload.c |   6 +++---
 sys/compat/netbsd32/netbsd32_sysent.c            |  11 ++++++-----
 sys/compat/netbsd32/netbsd32_systrace_args.c     |  24 +++++++++++++++++++++++-
 sys/compat/netbsd32/syscalls.master              |   4 ++--
 sys/compat/sunos/sunos_syscall.h                 |   8 +++++---
 sys/compat/sunos/sunos_syscallargs.h             |   8 ++++++--
 sys/compat/sunos/sunos_syscalls.c                |  10 +++++-----
 sys/compat/sunos/sunos_sysent.c                  |  11 ++++++-----
 sys/compat/sunos/syscalls.master                 |   4 ++--
 sys/compat/sunos32/sunos32_syscall.h             |   8 +++++---
 sys/compat/sunos32/sunos32_syscallargs.h         |   8 ++++++--
 sys/compat/sunos32/sunos32_syscalls.c            |  10 +++++-----
 sys/compat/sunos32/sunos32_sysent.c              |  11 ++++++-----
 sys/compat/sunos32/syscalls.master               |   4 ++--
 sys/compat/ultrix/syscalls.master                |   4 ++--
 sys/compat/ultrix/ultrix_syscall.h               |   8 +++++---
 sys/compat/ultrix/ultrix_syscallargs.h           |   8 ++++++--
 sys/compat/ultrix/ultrix_syscalls.c              |  10 +++++-----
 sys/compat/ultrix/ultrix_sysent.c                |  11 ++++++-----
 sys/kern/init_sysent.c                           |  11 ++++++-----
 sys/kern/syscalls.c                              |  10 +++++-----
 sys/kern/syscalls.master                         |   4 ++--
 sys/kern/syscalls_autoload.c                     |   6 +++---
 sys/kern/systrace_args.c                         |  24 +++++++++++++++++++++++-
 sys/rump/include/rump/rump_syscalls.h            |   4 ++--
 sys/rump/librump/rumpkern/rump_syscalls.c        |  11 +++++------
 sys/sys/syscall.h                                |   8 +++++---
 sys/sys/syscallargs.h                            |  13 +++++++++++--
 sys/uvm/uvm_unix.c                               |  21 +++++++++++++++++++--
 43 files changed, 267 insertions(+), 139 deletions(-)

diffs (truncated from 1339 to 300 lines):

diff -r e08b9960db4c -r edc196895dbb sys/compat/aoutm68k/aoutm68k_syscall.h
--- a/sys/compat/aoutm68k/aoutm68k_syscall.h    Sat Jan 06 16:01:43 2018 +0000
+++ b/sys/compat/aoutm68k/aoutm68k_syscall.h    Sat Jan 06 16:41:23 2018 +0000
@@ -1,10 +1,10 @@
-/* $NetBSD: aoutm68k_syscall.h,v 1.51 2017/12/19 19:17:17 kamil Exp $ */
+/* $NetBSD: aoutm68k_syscall.h,v 1.52 2018/01/06 16:41:23 kamil Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from        NetBSD: syscalls.master,v 1.39 2017/12/19 18:10:22 kamil Exp
+ * created from        NetBSD: syscalls.master,v 1.38 2017/12/19 08:09:36 kamil Exp
  */
 
 #ifndef _AOUTM68K_SYS_SYSCALL_H_
@@ -273,7 +273,9 @@
 #else
                                /* 71 is excluded compat_43_sys_mmap */
 #endif
-                               /* 72 is obsolete vadvise */
+/* syscall: "vadvise" ret: "int" args: "int" */
+#define        AOUTM68K_SYS_vadvise    72
+
 /* syscall: "munmap" ret: "int" args: "void *" "size_t" */
 #define        AOUTM68K_SYS_munmap     73
 
diff -r e08b9960db4c -r edc196895dbb sys/compat/aoutm68k/aoutm68k_syscallargs.h
--- a/sys/compat/aoutm68k/aoutm68k_syscallargs.h        Sat Jan 06 16:01:43 2018 +0000
+++ b/sys/compat/aoutm68k/aoutm68k_syscallargs.h        Sat Jan 06 16:41:23 2018 +0000
@@ -1,10 +1,10 @@
-/* $NetBSD: aoutm68k_syscallargs.h,v 1.49 2017/12/19 19:17:17 kamil Exp $ */
+/* $NetBSD: aoutm68k_syscallargs.h,v 1.50 2018/01/06 16:41:23 kamil Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from        NetBSD: syscalls.master,v 1.39 2017/12/19 18:10:22 kamil Exp
+ * created from        NetBSD: syscalls.master,v 1.38 2017/12/19 08:09:36 kamil Exp
  */
 
 #ifndef _AOUTM68K_SYS_SYSCALLARGS_H_
@@ -195,6 +195,8 @@
 #else
 #endif
 
+struct sys_ovadvise_args;
+
 struct sys_munmap_args;
 
 struct sys_mprotect_args;
@@ -821,6 +823,8 @@
 
 #else
 #endif
+int    sys_ovadvise(struct lwp *, const struct sys_ovadvise_args *, register_t *);
+
 int    sys_munmap(struct lwp *, const struct sys_munmap_args *, register_t *);
 
 int    sys_mprotect(struct lwp *, const struct sys_mprotect_args *, register_t *);
diff -r e08b9960db4c -r edc196895dbb sys/compat/aoutm68k/aoutm68k_syscalls.c
--- a/sys/compat/aoutm68k/aoutm68k_syscalls.c   Sat Jan 06 16:01:43 2018 +0000
+++ b/sys/compat/aoutm68k/aoutm68k_syscalls.c   Sat Jan 06 16:41:23 2018 +0000
@@ -1,14 +1,14 @@
-/* $NetBSD: aoutm68k_syscalls.c,v 1.48 2017/12/19 19:17:17 kamil Exp $ */
+/* $NetBSD: aoutm68k_syscalls.c,v 1.49 2018/01/06 16:41:23 kamil Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from        NetBSD: syscalls.master,v 1.39 2017/12/19 18:10:22 kamil Exp
+ * created from        NetBSD: syscalls.master,v 1.38 2017/12/19 08:09:36 kamil Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: aoutm68k_syscalls.c,v 1.48 2017/12/19 19:17:17 kamil Exp $");
+__KERNEL_RCSID(0, "$NetBSD: aoutm68k_syscalls.c,v 1.49 2018/01/06 16:41:23 kamil Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -158,7 +158,7 @@
 #else
        /*  71 */       "#71 (excluded compat_43_sys_mmap)",
 #endif
-       /*  72 */       "#72 (obsolete vadvise)",
+       /*  72 */       "vadvise",
        /*  73 */       "munmap",
        /*  74 */       "mprotect",
        /*  75 */       "madvise",
@@ -905,7 +905,7 @@
 #else
        /*  71 */       NULL, /* excluded compat_43_sys_mmap */
 #endif
-       /*  72 */       NULL, /* obsolete vadvise */
+       /*  72 */       "ovadvise",
        /*  73 */       NULL, /* munmap */
        /*  74 */       NULL, /* mprotect */
        /*  75 */       NULL, /* madvise */
diff -r e08b9960db4c -r edc196895dbb sys/compat/aoutm68k/aoutm68k_sysent.c
--- a/sys/compat/aoutm68k/aoutm68k_sysent.c     Sat Jan 06 16:01:43 2018 +0000
+++ b/sys/compat/aoutm68k/aoutm68k_sysent.c     Sat Jan 06 16:41:23 2018 +0000
@@ -1,14 +1,14 @@
-/* $NetBSD: aoutm68k_sysent.c,v 1.53 2017/12/19 19:17:17 kamil Exp $ */
+/* $NetBSD: aoutm68k_sysent.c,v 1.54 2018/01/06 16:41:23 kamil Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from        NetBSD: syscalls.master,v 1.39 2017/12/19 18:10:22 kamil Exp
+ * created from        NetBSD: syscalls.master,v 1.38 2017/12/19 08:09:36 kamil Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: aoutm68k_sysent.c,v 1.53 2017/12/19 19:17:17 kamil Exp $");
+__KERNEL_RCSID(0, "$NetBSD: aoutm68k_sysent.c,v 1.54 2018/01/06 16:41:23 kamil Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ktrace.h"
@@ -434,8 +434,9 @@
        },              /* 71 = filler */
 #endif
        {
-               .sy_call = sys_nosys,
-       },              /* 72 = filler */
+               ns(struct sys_ovadvise_args),
+               .sy_call = (sy_call_t *)sys_ovadvise
+       },              /* 72 = vadvise */
        {
                ns(struct sys_munmap_args),
                .sy_flags = SYCALL_ARG_PTR,
diff -r e08b9960db4c -r edc196895dbb sys/compat/aoutm68k/syscalls.master
--- a/sys/compat/aoutm68k/syscalls.master       Sat Jan 06 16:01:43 2018 +0000
+++ b/sys/compat/aoutm68k/syscalls.master       Sat Jan 06 16:41:23 2018 +0000
@@ -1,4 +1,4 @@
-       $NetBSD: syscalls.master,v 1.40 2017/12/19 19:17:17 kamil Exp $
+       $NetBSD: syscalls.master,v 1.41 2018/01/06 16:41:23 kamil Exp $
 
 ;      @(#)syscalls.master     8.2 (Berkeley) 1/13/94
 
@@ -220,7 +220,7 @@
 #else
 71     EXCL            compat_43_sys_mmap
 #endif
-72     OBSOL           vadvise
+72     NOARGS          { int|sys||ovadvise(int anom); } vadvise
 73     NOARGS          { int|sys||munmap(void *addr, size_t len); }
 74     NOARGS          { int|sys||mprotect(void *addr, size_t len, \
                            int prot); }
diff -r e08b9960db4c -r edc196895dbb sys/compat/freebsd/freebsd_syscall.h
--- a/sys/compat/freebsd/freebsd_syscall.h      Sat Jan 06 16:01:43 2018 +0000
+++ b/sys/compat/freebsd/freebsd_syscall.h      Sat Jan 06 16:41:23 2018 +0000
@@ -1,10 +1,10 @@
-/* $NetBSD: freebsd_syscall.h,v 1.87 2017/12/19 19:18:18 kamil Exp $ */
+/* $NetBSD: freebsd_syscall.h,v 1.88 2018/01/06 16:41:23 kamil Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from        NetBSD: syscalls.master,v 1.70 2017/12/19 18:15:08 kamil Exp
+ * created from        NetBSD: syscalls.master,v 1.69 2017/12/19 08:27:05 kamil Exp
  */
 
 #ifndef _FREEBSD_SYS_SYSCALL_H_
@@ -222,7 +222,9 @@
 /* syscall: "ommap" ret: "int" args: "void *" "size_t" "int" "int" "int" "long" */
 #define        FREEBSD_SYS_ommap       71
 
-                               /* 72 is obsolete vadvise */
+/* syscall: "vadvise" ret: "int" args: "int" */
+#define        FREEBSD_SYS_vadvise     72
+
 /* syscall: "munmap" ret: "int" args: "void *" "size_t" */
 #define        FREEBSD_SYS_munmap      73
 
diff -r e08b9960db4c -r edc196895dbb sys/compat/freebsd/freebsd_syscallargs.h
--- a/sys/compat/freebsd/freebsd_syscallargs.h  Sat Jan 06 16:01:43 2018 +0000
+++ b/sys/compat/freebsd/freebsd_syscallargs.h  Sat Jan 06 16:41:23 2018 +0000
@@ -1,10 +1,10 @@
-/* $NetBSD: freebsd_syscallargs.h,v 1.90 2017/12/19 19:18:18 kamil Exp $ */
+/* $NetBSD: freebsd_syscallargs.h,v 1.91 2018/01/06 16:41:23 kamil Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from        NetBSD: syscalls.master,v 1.70 2017/12/19 18:15:08 kamil Exp
+ * created from        NetBSD: syscalls.master,v 1.69 2017/12/19 08:27:05 kamil Exp
  */
 
 #ifndef _FREEBSD_SYS_SYSCALLARGS_H_
@@ -167,6 +167,8 @@
 
 struct compat_43_sys_mmap_args;
 
+struct sys_ovadvise_args;
+
 struct sys_munmap_args;
 
 struct sys_mprotect_args;
@@ -736,6 +738,8 @@
 
 int    compat_43_sys_mmap(struct lwp *, const struct compat_43_sys_mmap_args *, register_t *);
 
+int    sys_ovadvise(struct lwp *, const struct sys_ovadvise_args *, register_t *);
+
 int    sys_munmap(struct lwp *, const struct sys_munmap_args *, register_t *);
 
 int    sys_mprotect(struct lwp *, const struct sys_mprotect_args *, register_t *);
diff -r e08b9960db4c -r edc196895dbb sys/compat/freebsd/freebsd_syscalls.c
--- a/sys/compat/freebsd/freebsd_syscalls.c     Sat Jan 06 16:01:43 2018 +0000
+++ b/sys/compat/freebsd/freebsd_syscalls.c     Sat Jan 06 16:41:23 2018 +0000
@@ -1,14 +1,14 @@
-/* $NetBSD: freebsd_syscalls.c,v 1.88 2017/12/19 19:18:18 kamil Exp $ */
+/* $NetBSD: freebsd_syscalls.c,v 1.89 2018/01/06 16:41:23 kamil Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from        NetBSD: syscalls.master,v 1.70 2017/12/19 18:15:08 kamil Exp
+ * created from        NetBSD: syscalls.master,v 1.69 2017/12/19 08:27:05 kamil Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: freebsd_syscalls.c,v 1.88 2017/12/19 19:18:18 kamil Exp $");
+__KERNEL_RCSID(0, "$NetBSD: freebsd_syscalls.c,v 1.89 2018/01/06 16:41:23 kamil Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -107,7 +107,7 @@
        /*  69 */       "#69 (obsolete sbrk)",
        /*  70 */       "#70 (obsolete sstk)",
        /*  71 */       "ommap",
-       /*  72 */       "#72 (obsolete vadvise)",
+       /*  72 */       "vadvise",
        /*  73 */       "munmap",
        /*  74 */       "mprotect",
        /*  75 */       "madvise",
@@ -677,7 +677,7 @@
        /*  69 */       NULL, /* obsolete sbrk */
        /*  70 */       NULL, /* obsolete sstk */
        /*  71 */       "mmap",
-       /*  72 */       NULL, /* obsolete vadvise */
+       /*  72 */       "ovadvise",
        /*  73 */       NULL, /* munmap */
        /*  74 */       NULL, /* mprotect */
        /*  75 */       NULL, /* madvise */
diff -r e08b9960db4c -r edc196895dbb sys/compat/freebsd/freebsd_sysent.c
--- a/sys/compat/freebsd/freebsd_sysent.c       Sat Jan 06 16:01:43 2018 +0000
+++ b/sys/compat/freebsd/freebsd_sysent.c       Sat Jan 06 16:41:23 2018 +0000
@@ -1,14 +1,14 @@
-/* $NetBSD: freebsd_sysent.c,v 1.90 2017/12/19 19:18:18 kamil Exp $ */
+/* $NetBSD: freebsd_sysent.c,v 1.91 2018/01/06 16:41:23 kamil Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from        NetBSD: syscalls.master,v 1.70 2017/12/19 18:15:08 kamil Exp
+ * created from        NetBSD: syscalls.master,v 1.69 2017/12/19 08:27:05 kamil Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: freebsd_sysent.c,v 1.90 2017/12/19 19:18:18 kamil Exp $");
+__KERNEL_RCSID(0, "$NetBSD: freebsd_sysent.c,v 1.91 2018/01/06 16:41:23 kamil Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ktrace.h"
@@ -351,8 +351,9 @@
                .sy_call = (sy_call_t *)compat_43_sys_mmap
        },              /* 71 = ommap */
        {
-               .sy_call = sys_nosys,
-       },              /* 72 = filler */
+               ns(struct sys_ovadvise_args),
+               .sy_call = (sy_call_t *)sys_ovadvise
+       },              /* 72 = vadvise */
        {
                ns(struct sys_munmap_args),
                .sy_flags = SYCALL_ARG_PTR,
diff -r e08b9960db4c -r edc196895dbb sys/compat/freebsd/syscalls.master
--- a/sys/compat/freebsd/syscalls.master        Sat Jan 06 16:01:43 2018 +0000
+++ b/sys/compat/freebsd/syscalls.master        Sat Jan 06 16:41:23 2018 +0000
@@ -1,4 +1,4 @@
-       $NetBSD: syscalls.master,v 1.71 2017/12/19 19:18:18 kamil Exp $
+       $NetBSD: syscalls.master,v 1.72 2018/01/06 16:41:23 kamil Exp $
 
 ;      from: @(#)syscalls.master       8.2 (Berkeley) 1/13/94
 
@@ -161,7 +161,7 @@
 70     OBSOL           sstk
 71     NOARGS          { int|compat_43_sys||mmap(void *addr, size_t len, \
                            int prot, int flags, int fd, long pos); } ommap
-72     OBSOL           vadvise
+72     NOARGS          { int|sys||ovadvise(int anom); } vadvise
 73     NOARGS          { int|sys||munmap(void *addr, size_t len); }



Home | Main Index | Thread Index | Old Index