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>