Module Name:    src
Committed By:   pgoyette
Date:           Tue Apr 17 23:06:12 UTC 2018

Modified Files:
        src/doc [pgoyette-compat]: COMPAT-branch-notes
        src/sys/compat/common [pgoyette-compat]: compat_sysv_mod.c
        src/sys/modules [pgoyette-compat]: Makefile
        src/sys/modules/compat_sysv [pgoyette-compat]: Makefile
Added Files:
        src/sys/compat/common [pgoyette-compat]: compat_sysv_10_mod.c
            compat_sysv_14_mod.c compat_sysv_50_mod.c
        src/sys/modules/compat_sysv_10 [pgoyette-compat]: Makefile
        src/sys/modules/compat_sysv_14 [pgoyette-compat]: Makefile
        src/sys/modules/compat_sysv_50 [pgoyette-compat]: Makefile

Log Message:
Split the compat_sysv module into several version-specific modules,
similar to the compat module.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.11 -r1.1.2.12 src/doc/COMPAT-branch-notes
cvs rdiff -u -r0 -r1.1.2.1 src/sys/compat/common/compat_sysv_10_mod.c \
    src/sys/compat/common/compat_sysv_14_mod.c \
    src/sys/compat/common/compat_sysv_50_mod.c
cvs rdiff -u -r1.4.10.1 -r1.4.10.2 src/sys/compat/common/compat_sysv_mod.c
cvs rdiff -u -r1.202.2.20 -r1.202.2.21 src/sys/modules/Makefile
cvs rdiff -u -r1.3.10.4 -r1.3.10.5 src/sys/modules/compat_sysv/Makefile
cvs rdiff -u -r0 -r1.1.2.1 src/sys/modules/compat_sysv_10/Makefile
cvs rdiff -u -r0 -r1.1.2.1 src/sys/modules/compat_sysv_14/Makefile
cvs rdiff -u -r0 -r1.1.2.1 src/sys/modules/compat_sysv_50/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.11 src/doc/COMPAT-branch-notes:1.1.2.12
--- src/doc/COMPAT-branch-notes:1.1.2.11	Tue Apr 17 06:20:26 2018
+++ src/doc/COMPAT-branch-notes	Tue Apr 17 23:06:11 2018
@@ -37,6 +37,9 @@ DONE
     is still available, and uses the alias mechanism to "advertise"
     that the component modules are available.
 
+    Similarly, the compat_sysv module has also been split into several
+    version-specific modules.
+
     There are still several areas which are not complete - see the
     TODO list below for more details.
 
@@ -47,46 +50,43 @@ TODO
     COMPAT_xx.  When found, move the actual compat code into the compat
     hierarchy and replace originals with indirect (vectored) calls.
 
-2.  Similar to the monolithic netbsd module, split the compat_sysv
-    module into multiple version-specific modules.
-
-3.  Update syscalls.master to reflect that modular syscalls are now
+2.  Update syscalls.master to reflect that modular syscalls are now
     provided by version-specific modules.
 
-4.  The rtsock compat code is a disaster, with rtsock_50.c #include-ing
+3.  The rtsock compat code is a disaster, with rtsock_50.c #include-ing
     the main rtsock.c code with various manipulations of the COMPAT_50
     macro.
 
-5.  The compat_60 module still needs some work for XEN systems.  We
+4.  The compat_60 module still needs some work for XEN systems.  We
     probably need some build infrastructure changes to ensure that
     XEN (and, for i386, XEN-PAE) modules are build with the correct
     macros defined and with -I directories specified in the same order
     as for building kernels.
 
-6.  Update syscalls.master to point the compat calls at the specific
+5.  Update syscalls.master to point the compat calls at the specific
     modules rather than the monolithic compat module.  Update the
     "required" lists of other modules, too.
 
-7.  The rtsock compatability code needs to be de-spaghetti'd and made
+6.  The rtsock compatability code needs to be de-spaghetti'd and made
     separable into rtsock_70 and rtsock_50 pieces.
 
 8.  Once rtsock is separated, compat_14 references to rtsock_50 routines
     needs to be verified.
 
-9.  For compat_60, still need to figure out what to do with BSDPTY and
+8.  For compat_60, still need to figure out what to do with BSDPTY and
     tty_ptm
 
-10. Also for compat_60, need to fix the building of XEN (and, for i386,
+9.  Also for compat_60, need to fix the building of XEN (and, for i386,
     XEN-PAE) module variants so that the obj-dir symlinks and the -I
     include order match those present in a kernel build.  See PR/53130
     (Currently, this affects the compat_60 module and its implementation
     of microcode updates for AMD processors - i386 and amd64.)
 
-11. For compat_50, in addition to rtsock there are some things in dev/vnd,
+10. For compat_50, in addition to rtsock there are some things in dev/vnd,
     dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly
     separate.
 
-12. There seems to be quite a bit of MD compat_xx code, in the various
+11. There seems to be quite a bit of MD compat_xx code, in the various
     sys/arch/ directories.  I haven't yet looked at any of this.  But it
     seems to me that the MI compat build infrastructure should have some
     mechanism to "reach over" to the MD code, #include a Makefile.inc file,

Index: src/sys/compat/common/compat_sysv_mod.c
diff -u src/sys/compat/common/compat_sysv_mod.c:1.4.10.1 src/sys/compat/common/compat_sysv_mod.c:1.4.10.2
--- src/sys/compat/common/compat_sysv_mod.c:1.4.10.1	Tue Apr 17 21:59:27 2018
+++ src/sys/compat/common/compat_sysv_mod.c	Tue Apr 17 23:06:11 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_sysv_mod.c,v 1.4.10.1 2018/04/17 21:59:27 pgoyette Exp $	*/
+/*	$NetBSD: compat_sysv_mod.c,v 1.4.10.2 2018/04/17 23:06:11 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: compat_sysv_mod.c,v 1.4.10.1 2018/04/17 21:59:27 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: compat_sysv_mod.c,v 1.4.10.2 2018/04/17 23:06:11 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -46,11 +46,16 @@ __KERNEL_RCSID(0, "$NetBSD: compat_sysv_
 
 #include <compat/common/compat_sysv_mod.h>
 
-MODULE(MODULE_CLASS_EXEC, compat_sysv, "sysv_ipc");
+static const char * const compat_sysv_includes[] = {
+        "compat_sysv_50", "compat_14", "compat_10", NULL
+};
+
+MODULE_WITH_ALIASES(MODULE_CLASS_EXEC, compat_sysv, "sysv_ipc",
+    &compat_sysv_includes);
 
 /* Build the syscall package based on options specified */
 
-static const struct syscall_package compat_syscalls[] = {
+static const struct syscall_package compat_sysv_syscalls[] = {
 #if defined(COMPAT_10) && !defined(_LP64)
 #ifdef	SYSVSHM
 	{ SYS_compat_10_oshmsys, 0, (sy_call_t *)compat_10_sys_shmsys },
@@ -99,7 +104,7 @@ compat_sysv_modcmd(modcmd_t cmd, void *a
 
 	switch (cmd) {
 	case MODULE_CMD_INIT:
-		error = syscall_establish(NULL, compat_syscalls);
+		error = syscall_establish(NULL, compat_sysv_syscalls);
 		if (error != 0) {
 			break;
 		}
@@ -113,7 +118,7 @@ compat_sysv_modcmd(modcmd_t cmd, void *a
 #if defined(COMPAT_50)
 		vec_sysvipc50_sysctl = orig_sysvipc50_sysctl;
 #endif
-		error = syscall_disestablish(NULL, compat_syscalls);
+		error = syscall_disestablish(NULL, compat_sysv_syscalls);
 		if (error != 0) {
 			break;
 		}

Index: src/sys/modules/Makefile
diff -u src/sys/modules/Makefile:1.202.2.20 src/sys/modules/Makefile:1.202.2.21
--- src/sys/modules/Makefile:1.202.2.20	Tue Apr 17 08:02:35 2018
+++ src/sys/modules/Makefile	Tue Apr 17 23:06:11 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.202.2.20 2018/04/17 08:02:35 pgoyette Exp $
+#	$NetBSD: Makefile,v 1.202.2.21 2018/04/17 23:06:11 pgoyette Exp $
 
 .include <bsd.own.mk>
 
@@ -12,8 +12,7 @@ SUBDIR+=	compat_09   compat_10   compat_
 SUBDIR+=	compat_16   compat_20   compat_30   compat_40   compat_50
 SUBDIR+=	compat_60   compat_70   compat_80 
 
-SUBDIR+=	compat_ossaudio
-SUBDIR+=	compat_sysv
+SUBDIR+=	compat_sysv compat_sysv_10 compat_sysv_14 compat_sysv_50
 
 SUBDIR+=	accf_dataready
 SUBDIR+=	accf_httpready
@@ -35,6 +34,7 @@ SUBDIR+=	cd9660
 SUBDIR+=	cgd
 SUBDIR+=	chfs
 SUBDIR+=	clockctl
+SUBDIR+=	compat_ossaudio
 SUBDIR+=	crypto
 SUBDIR+=	coda
 SUBDIR+=	coda5

Index: src/sys/modules/compat_sysv/Makefile
diff -u src/sys/modules/compat_sysv/Makefile:1.3.10.4 src/sys/modules/compat_sysv/Makefile:1.3.10.5
--- src/sys/modules/compat_sysv/Makefile:1.3.10.4	Sat Mar 10 02:18:56 2018
+++ src/sys/modules/compat_sysv/Makefile	Tue Apr 17 23:06:11 2018
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.3.10.4 2018/03/10 02:18:56 pgoyette Exp $
+# $NetBSD: Makefile,v 1.3.10.5 2018/04/17 23:06:11 pgoyette Exp $
 
 .include "../Makefile.inc"
 
@@ -15,7 +15,7 @@ CPPFLAGS+=	-DCOMPAT_13
 CPPFLAGS+=	-DCOMPAT_14
 CPPFLAGS+=	-DCOMPAT_50
 
-SRCS+=	sysv_mod.c
+SRCS+=	compat_sysv_mod.c
 SRCS+=	kern_ipc_10.c sysv_ipc_50.c
 SRCS+=	sysv_msg_14.c sysv_sem_14.c sysv_shm_14.c
 SRCS+=	sysv_msg_50.c sysv_sem_50.c sysv_shm_50.c

Added files:

Index: src/sys/compat/common/compat_sysv_10_mod.c
diff -u /dev/null src/sys/compat/common/compat_sysv_10_mod.c:1.1.2.1
--- /dev/null	Tue Apr 17 23:06:12 2018
+++ src/sys/compat/common/compat_sysv_10_mod.c	Tue Apr 17 23:06:11 2018
@@ -0,0 +1,92 @@
+/*	$NetBSD: compat_sysv_10_mod.c,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $	*/
+
+/*-
+ * Copyright (c) 2018 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software developed for The NetBSD Foundation
+ * by Paul Goyette
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: compat_sysv_10_mod.c,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $");
+
+#ifdef _KERNEL_OPT
+#include "opt_compat_netbsd.h"
+#include "opt_sysv.h"
+#endif
+
+#include <sys/systm.h>
+#include <sys/module.h>
+#include <sys/syscall.h>
+#include <sys/syscallargs.h>
+#include <sys/syscallvar.h>
+#include <sys/sysctl.h>
+
+MODULE(MODULE_CLASS_EXEC, compat_sysv_10, "sysv_ipc,sysv_50,sysv_14");
+
+/* Build the syscall package based on options specified */
+
+static const struct syscall_package compat_sysv_10_syscalls[] = {
+#if !defined(_LP64)
+#ifdef	SYSVSHM
+	{ SYS_compat_10_oshmsys, 0, (sy_call_t *)compat_10_sys_shmsys },
+#endif
+#ifdef	SYSVSEM
+	{ SYS_compat_10_osemsys, 0, (sy_call_t *)compat_10_sys_semsys },
+#endif
+#ifdef	SYSVMSG
+	{ SYS_compat_10_omsgsys, 0, (sy_call_t *)compat_10_sys_msgsys },
+#endif
+#endif /* !defined(_LP64) */
+	{ 0, 0, NULL }
+};
+
+static int
+compat_sysv_10_modcmd(modcmd_t cmd, void *arg)
+{
+
+	int error = 0;
+
+	switch (cmd) {
+	case MODULE_CMD_INIT:
+		error = syscall_establish(NULL, compat_sysv_10_syscalls);
+		if (error != 0) {
+			break;
+		}
+		break;
+
+	case MODULE_CMD_FINI:
+		error = syscall_disestablish(NULL, compat_sysv_10_syscalls);
+		if (error != 0) {
+			break;
+		}
+		break;
+
+	default:
+		error = ENOTTY;
+		break;
+	}
+	return error;
+}
Index: src/sys/compat/common/compat_sysv_14_mod.c
diff -u /dev/null src/sys/compat/common/compat_sysv_14_mod.c:1.1.2.1
--- /dev/null	Tue Apr 17 23:06:12 2018
+++ src/sys/compat/common/compat_sysv_14_mod.c	Tue Apr 17 23:06:11 2018
@@ -0,0 +1,90 @@
+/*	$NetBSD: compat_sysv_14_mod.c,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $	*/
+
+/*-
+ * Copyright (c) 2018 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software developed for The NetBSD Foundation
+ * by Paul Goyette
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: compat_sysv_14_mod.c,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $");
+
+#ifdef _KERNEL_OPT
+#include "opt_compat_netbsd.h"
+#include "opt_sysv.h"
+#endif
+
+#include <sys/systm.h>
+#include <sys/module.h>
+#include <sys/syscall.h>
+#include <sys/syscallargs.h>
+#include <sys/syscallvar.h>
+#include <sys/sysctl.h>
+
+MODULE(MODULE_CLASS_EXEC, compat_sysv_14, "sysv_ipc_50,sysv_ipc");
+
+/* Build the syscall package based on options specified */
+
+static const struct syscall_package compat_sysv_14_syscalls[] = {
+#ifdef SYSVSHM
+	{ SYS_compat_14_shmctl, 0, (sy_call_t *)compat_14_sys_shmctl },
+#endif
+#ifdef	SYSVSEM
+	{ SYS_compat_14___semctl, 0, (sy_call_t *)compat_14_sys___semctl },
+#endif
+#ifdef	SYSVMSG
+	{ SYS_compat_14_msgctl, 0, (sy_call_t *)compat_14_sys_msgctl },
+#endif
+	{ 0, 0, NULL }
+};
+
+static int
+compat_sysv_14_modcmd(modcmd_t cmd, void *arg)
+{
+
+	int error = 0;
+
+	switch (cmd) {
+	case MODULE_CMD_INIT:
+		error = syscall_establish(NULL, compat_sysv_14_syscalls);
+		if (error != 0) {
+			break;
+		}
+		break;
+
+	case MODULE_CMD_FINI:
+		error = syscall_disestablish(NULL, compat_sysv_14_syscalls);
+		if (error != 0) {
+			break;
+		}
+		break;
+
+	default:
+		error = ENOTTY;
+		break;
+	}
+	return error;
+}
Index: src/sys/compat/common/compat_sysv_50_mod.c
diff -u /dev/null src/sys/compat/common/compat_sysv_50_mod.c:1.1.2.1
--- /dev/null	Tue Apr 17 23:06:12 2018
+++ src/sys/compat/common/compat_sysv_50_mod.c	Tue Apr 17 23:06:11 2018
@@ -0,0 +1,96 @@
+/*	$NetBSD: compat_sysv_50_mod.c,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $	*/
+
+/*-
+ * Copyright (c) 2018 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software developed for The NetBSD Foundation
+ * by Paul Goyette
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: compat_sysv_50_mod.c,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $");
+
+#ifdef _KERNEL_OPT
+#include "opt_compat_netbsd.h"
+#include "opt_sysv.h"
+#endif
+
+#include <sys/systm.h>
+#include <sys/module.h>
+#include <sys/syscall.h>
+#include <sys/syscallargs.h>
+#include <sys/syscallvar.h>
+#include <sys/sysctl.h>
+
+#include <compat/common/compat_sysv_mod.h>
+
+MODULE(MODULE_CLASS_EXEC, compat_sysv_50, "sysv_ipc");
+
+/* Build the syscall package based on options specified */
+
+static const struct syscall_package compat_sysv_50_syscalls[] = {
+#ifdef SYSVSHM
+	{ SYS_compat_50___shmctl13, 0, (sy_call_t *)compat_50_sys___shmctl13 },
+#endif
+#ifdef	SYSVSEM
+	{ SYS_compat_50_____semctl13, 0, (sy_call_t *)compat_50_sys_____semctl13 },
+#endif
+#ifdef	SYSVMSG
+	{ SYS_compat_50___msgctl13, 0, (sy_call_t *)compat_50_sys___msgctl13 },
+#endif
+	{ 0, 0, NULL }
+};
+
+static int
+compat_sysv_50_modcmd(modcmd_t cmd, void *arg)
+{
+	static int (*orig_sysvipc50_sysctl)(SYSCTLFN_PROTO);
+
+	int error = 0;
+
+	switch (cmd) {
+	case MODULE_CMD_INIT:
+		error = syscall_establish(NULL, compat_sysv_50_syscalls);
+		if (error != 0) {
+			break;
+		}
+		orig_sysvipc50_sysctl = vec_sysvipc50_sysctl;
+		vec_sysvipc50_sysctl = sysctl_kern_sysvipc50;
+		break;
+
+	case MODULE_CMD_FINI:
+		vec_sysvipc50_sysctl = orig_sysvipc50_sysctl;
+		error = syscall_disestablish(NULL, compat_sysv_50_syscalls);
+		if (error != 0) {
+			break;
+		}
+		break;
+
+	default:
+		error = ENOTTY;
+		break;
+	}
+	return error;
+}

Index: src/sys/modules/compat_sysv_10/Makefile
diff -u /dev/null src/sys/modules/compat_sysv_10/Makefile:1.1.2.1
--- /dev/null	Tue Apr 17 23:06:12 2018
+++ src/sys/modules/compat_sysv_10/Makefile	Tue Apr 17 23:06:11 2018
@@ -0,0 +1,21 @@
+# $NetBSD: Makefile,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $
+
+.include "../Makefile.inc"
+
+.PATH:	${S}/kern
+
+KMOD=	compat_sysv_10
+
+CPPFLAGS+=	-DSYSVSEM -DSYSVSHM -DSYSVMSG
+
+.PATH:	${S}/compat/common
+
+CPPFLAGS+=	-DCOMPAT_10
+CPPFLAGS+=	-DCOMPAT_13
+CPPFLAGS+=	-DCOMPAT_14
+CPPFLAGS+=	-DCOMPAT_50
+
+SRCS+=	compat_sysv_10_mod.c
+SRCS+=	kern_ipc_10.c
+
+.include <bsd.kmodule.mk>

Index: src/sys/modules/compat_sysv_14/Makefile
diff -u /dev/null src/sys/modules/compat_sysv_14/Makefile:1.1.2.1
--- /dev/null	Tue Apr 17 23:06:12 2018
+++ src/sys/modules/compat_sysv_14/Makefile	Tue Apr 17 23:06:12 2018
@@ -0,0 +1,19 @@
+# $NetBSD: Makefile,v 1.1.2.1 2018/04/17 23:06:12 pgoyette Exp $
+
+.include "../Makefile.inc"
+
+.PATH:	${S}/kern
+
+KMOD=	compat_sysv_14
+
+CPPFLAGS+=	-DSYSVSEM -DSYSVSHM -DSYSVMSG
+
+.PATH:	${S}/compat/common
+
+CPPFLAGS+=	-DCOMPAT_14
+CPPFLAGS+=	-DCOMPAT_50
+
+SRCS+=	compat_sysv_14_mod.c
+SRCS+=	sysv_msg_14.c sysv_sem_14.c sysv_shm_14.c
+
+.include <bsd.kmodule.mk>

Index: src/sys/modules/compat_sysv_50/Makefile
diff -u /dev/null src/sys/modules/compat_sysv_50/Makefile:1.1.2.1
--- /dev/null	Tue Apr 17 23:06:12 2018
+++ src/sys/modules/compat_sysv_50/Makefile	Tue Apr 17 23:06:12 2018
@@ -0,0 +1,18 @@
+# $NetBSD: Makefile,v 1.1.2.1 2018/04/17 23:06:12 pgoyette Exp $
+
+.include "../Makefile.inc"
+
+.PATH:	${S}/kern
+
+KMOD=	compat_sysv_50
+
+CPPFLAGS+=	-DSYSVSEM -DSYSVSHM -DSYSVMSG
+
+.PATH:	${S}/compat/common
+
+CPPFLAGS+=	-DCOMPAT_50
+
+SRCS+=	compat_sysv_50_mod.c
+SRCS+=	sysv_ipc_50.c sysv_msg_50.c sysv_sem_50.c sysv_shm_50.c
+
+.include <bsd.kmodule.mk>

Reply via email to