Module Name:    src
Committed By:   pgoyette
Date:           Thu Dec  3 02:51:01 UTC 2015

Modified Files:
        src/sys/compat/linux/common: linux_mod.c
        src/sys/compat/netbsd32: netbsd32_mod.c
        src/sys/kern: files.kern syscalls.master sysv_ipc.c
        src/sys/modules: Makefile
        src/sys/modules/sysv_ipc: Makefile
Removed Files:
        src/sys/compat/common: compat_sysv_mod.c
        src/sys/modules/compat_sysv: Makefile

Log Message:
Merge the compat_sysv module into the sysv_ipc module - it should
never have been a separate module in the first place (my bad).

Adjust dependencies as appropriate.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r0 src/sys/compat/common/compat_sysv_mod.c
cvs rdiff -u -r1.5 -r1.6 src/sys/compat/linux/common/linux_mod.c
cvs rdiff -u -r1.12 -r1.13 src/sys/compat/netbsd32/netbsd32_mod.c
cvs rdiff -u -r1.9 -r1.10 src/sys/kern/files.kern
cvs rdiff -u -r1.280 -r1.281 src/sys/kern/syscalls.master
cvs rdiff -u -r1.30 -r1.31 src/sys/kern/sysv_ipc.c
cvs rdiff -u -r1.160 -r1.161 src/sys/modules/Makefile
cvs rdiff -u -r1.2 -r0 src/sys/modules/compat_sysv/Makefile
cvs rdiff -u -r1.1 -r1.2 src/sys/modules/sysv_ipc/Makefile

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

Modified files:

Index: src/sys/compat/linux/common/linux_mod.c
diff -u src/sys/compat/linux/common/linux_mod.c:1.5 src/sys/compat/linux/common/linux_mod.c:1.6
--- src/sys/compat/linux/common/linux_mod.c:1.5	Sat Oct 10 04:28:04 2015
+++ src/sys/compat/linux/common/linux_mod.c	Thu Dec  3 02:51:01 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: linux_mod.c,v 1.5 2015/10/10 04:28:04 pgoyette Exp $	*/
+/*	$NetBSD: linux_mod.c,v 1.6 2015/12/03 02:51:01 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_mod.c,v 1.5 2015/10/10 04:28:04 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_mod.c,v 1.6 2015/12/03 02:51:01 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_execfmt.h"
@@ -65,7 +65,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_mod.c,
 # define	MD3	""
 #endif
 
-MODULE(MODULE_CLASS_EXEC, compat_linux, "compat,compat_ossaudio,compat_sysv"
+MODULE(MODULE_CLASS_EXEC, compat_linux, "compat,compat_ossaudio,sysv_ipc"
 	MD1 MD2 MD3);
 
 static struct execsw linux_execsw[] = {

Index: src/sys/compat/netbsd32/netbsd32_mod.c
diff -u src/sys/compat/netbsd32/netbsd32_mod.c:1.12 src/sys/compat/netbsd32/netbsd32_mod.c:1.13
--- src/sys/compat/netbsd32/netbsd32_mod.c:1.12	Tue Dec  1 23:56:43 2015
+++ src/sys/compat/netbsd32/netbsd32_mod.c	Thu Dec  3 02:51:01 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_mod.c,v 1.12 2015/12/01 23:56:43 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_mod.c,v 1.13 2015/12/03 02:51:01 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.12 2015/12/01 23:56:43 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.13 2015/12/03 02:51:01 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_execfmt.h"
@@ -48,7 +48,7 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_mod
 #include <compat/netbsd32/netbsd32_sysctl.h>
 #include <compat/netbsd32/netbsd32_exec.h>
 
-# define	DEPS1	"compat,compat_sysv,ksem"
+# define	DEPS1	"compat,sysv_ipc,ksem"
 
 #if defined(EXEC_ELF32)
 # define	DEPS2	",exec_elf32"

Index: src/sys/kern/files.kern
diff -u src/sys/kern/files.kern:1.9 src/sys/kern/files.kern:1.10
--- src/sys/kern/files.kern:1.9	Thu Sep  3 01:09:38 2015
+++ src/sys/kern/files.kern	Thu Dec  3 02:51:00 2015
@@ -1,4 +1,4 @@
-#	$NetBSD: files.kern,v 1.9 2015/09/03 01:09:38 uebayasi Exp $
+#	$NetBSD: files.kern,v 1.10 2015/12/03 02:51:00 pgoyette Exp $
 
 #
 # kernel sources
@@ -6,8 +6,6 @@
 define	kern:	machdep, uvm
 defflag	opt_kern.h			KERN
 file	compat/common/compat_mod.c	compat_netbsd | compat_netbsd32
-file	compat/common/compat_sysv_mod.c	(compat_netbsd | compat_netbsd32) &
-					(sysvshm | sysvsem | sysvmsg)
 file	conf/debugsyms.c		kern
 file	conf/param.c			kern
 file	kern/bufq_disksort.c		bufq_disksort

Index: src/sys/kern/syscalls.master
diff -u src/sys/kern/syscalls.master:1.280 src/sys/kern/syscalls.master:1.281
--- src/sys/kern/syscalls.master:1.280	Sat Oct 10 03:27:30 2015
+++ src/sys/kern/syscalls.master	Thu Dec  3 02:51:00 2015
@@ -1,4 +1,4 @@
-	$NetBSD: syscalls.master,v 1.280 2015/10/10 03:27:30 pgoyette Exp $
+	$NetBSD: syscalls.master,v 1.281 2015/12/03 02:51:00 pgoyette Exp $
 
 ;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
 
@@ -351,7 +351,7 @@
 168	UNIMPL
 ; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
 #if !defined(_LP64)
-169	COMPAT_10 MODULAR compat_sysv	\
+169	COMPAT_10 MODULAR sysv_ipc	\
 		{ int|sys||semsys(int which, int a2, int a3, int a4, \
 			    int a5); } osemsys
 #else
@@ -359,7 +359,7 @@
 #endif
 ; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
 #if !defined(_LP64)
-170	COMPAT_10 MODULAR compat_sysv	\
+170	COMPAT_10 MODULAR sysv_ipc	\
 		{ int|sys||msgsys(int which, int a2, int a3, int a4, \
 			    int a5, int a6); } omsgsys
 #else
@@ -367,7 +367,7 @@
 #endif
 ; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
 #if !defined(_LP64)
-171	COMPAT_10 MODULAR compat_sysv	\
+171	COMPAT_10 MODULAR sysv_ipc	\
 		{ int|sys||shmsys(int which, int a2, int a3, int a4); } \
 			    oshmsys
 #else
@@ -453,7 +453,7 @@
 218	UNIMPL
 219	UNIMPL
 ; System calls 220-300 are reserved for use by NetBSD
-220	COMPAT_14 MODULAR compat_sysv	\
+220	COMPAT_14 MODULAR sysv_ipc	\
 		{ int|sys||__semctl(int semid, int semnum, int cmd, \
 			    union __semun *arg); }
 221	STD MODULAR sysv_ipc { int|sys||semget(key_t key, int nsems, \
@@ -461,7 +461,7 @@
 222	STD MODULAR sysv_ipc { int|sys||semop(int semid, struct sembuf *sops, \
 			    size_t nsops); }
 223	STD MODULAR sysv_ipc { int|sys||semconfig(int flag); }
-224	COMPAT_14 MODULAR compat_sysv { int|sys||msgctl(int msqid, int cmd, \
+224	COMPAT_14 MODULAR sysv_ipc { int|sys||msgctl(int msqid, int cmd, \
 			    struct msqid_ds14 *buf); }
 225	STD MODULAR sysv_ipc { int|sys||msgget(key_t key, int msgflg); }
 226	STD MODULAR sysv_ipc { int|sys||msgsnd(int msqid, const void *msgp, \
@@ -470,7 +470,7 @@
 			    size_t msgsz, long msgtyp, int msgflg); }
 228	STD MODULAR sysv_ipc { void *|sys||shmat(int shmid,	\
 			    const void *shmaddr, int shmflg); }
-229	COMPAT_14 MODULAR compat_sysv { int|sys||shmctl(int shmid, int cmd, \
+229	COMPAT_14 MODULAR sysv_ipc { int|sys||shmctl(int shmid, int cmd, \
 			    struct shmid_ds14 *buf); }
 230	STD MODULAR sysv_ipc { int|sys||shmdt(const void *shmaddr); }
 231	STD MODULAR sysv_ipc { int|sys||shmget(key_t key, size_t size,	\
@@ -609,12 +609,12 @@
 300	COMPAT_20 MODULAR compat	\
 		{ int|sys||fhstatfs(const struct compat_30_fhandle *fhp, \
 			    struct statfs12 *buf); }
-301	COMPAT_50 MODULAR compat_sysv	\
+301	COMPAT_50 MODULAR sysv_ipc	\
 		{ int|sys|13|__semctl(int semid, int semnum, int cmd, \
 			    ... union __semun *arg); }
-302	COMPAT_50 MODULAR compat_sysv { int|sys|13|msgctl(int msqid, int cmd, \
+302	COMPAT_50 MODULAR sysv_ipc { int|sys|13|msgctl(int msqid, int cmd, \
 			    struct msqid_ds *buf); }
-303	COMPAT_50 MODULAR compat_sysv { int|sys|13|shmctl(int shmid, int cmd, \
+303	COMPAT_50 MODULAR sysv_ipc { int|sys|13|shmctl(int shmid, int cmd, \
 			    struct shmid_ds13 *buf); }
 304	STD 	 RUMP	{ int|sys||lchflags(const char *path, u_long flags); }
 305	NOERR 	RUMP	{ int|sys||issetugid(void); }

Index: src/sys/kern/sysv_ipc.c
diff -u src/sys/kern/sysv_ipc.c:1.30 src/sys/kern/sysv_ipc.c:1.31
--- src/sys/kern/sysv_ipc.c:1.30	Fri Nov  6 02:26:42 2015
+++ src/sys/kern/sysv_ipc.c	Thu Dec  3 02:51:00 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysv_ipc.c,v 1.30 2015/11/06 02:26:42 pgoyette Exp $	*/
+/*	$NetBSD: sysv_ipc.c,v 1.31 2015/12/03 02:51:00 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 1998, 2007 The NetBSD Foundation, Inc.
@@ -30,10 +30,11 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sysv_ipc.c,v 1.30 2015/11/06 02:26:42 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysv_ipc.c,v 1.31 2015/12/03 02:51:00 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_sysv.h"
+#include "opt_compat_netbsd.h"
 #endif
 
 #include <sys/syscall.h>
@@ -61,8 +62,6 @@ __KERNEL_RCSID(0, "$NetBSD: sysv_ipc.c,v
 #include <sys/sysctl.h>
 #include <sys/kauth.h>
 
-static int (*kern_sysvipc50_sysctl_p)(SYSCTLFN_ARGS);
-
 /*
  * Values in support of System V compatible shared memory.	XXX
  * (originally located in sys/conf/param.c)
@@ -125,6 +124,10 @@ struct	msginfo msginfo = {
 };
 #endif
 
+#if defined(COMPAT_50)
+int sysctl_kern_sysvipc50(SYSCTLFN_PROTO);
+#endif
+
 MODULE(MODULE_CLASS_EXEC, sysv_ipc, NULL);
  
 SYSCTL_SETUP_PROTO(sysctl_ipc_setup);
@@ -132,24 +135,53 @@ SYSCTL_SETUP_PROTO(sysctl_ipc_setup);
 static struct sysctllog *sysctl_sysvipc_clog = NULL;
 
 static const struct syscall_package sysvipc_syscalls[] = {
-#ifdef SYSVSHM
+#if defined(SYSVSHM)
 	{ SYS___shmctl50, 0, (sy_call_t *)sys___shmctl50 },
 	{ SYS_shmat, 0, (sy_call_t *)sys_shmat },
 	{ SYS_shmdt, 0, (sy_call_t *)sys_shmdt },
 	{ SYS_shmget, 0, (sy_call_t *)sys_shmget },
+#if defined(COMPAT_10) && !defined(_LP64)
+	{ SYS_compat_10_oshmsys, 0, (sy_call_t *)compat_10_sys_shmsys },
 #endif
-#ifdef SYSVSEM
+#if defined(COMPAT_14)
+	{ SYS_compat_14_shmctl, 0, (sy_call_t *)compat_14_sys_shmctl },
+#endif
+#if defined(COMPAT_50)
+	{ SYS_compat_50___shmctl13, 0, (sy_call_t *)compat_50_sys___shmctl13 },
+#endif
+#endif	/* SYSVSHM */
+
+#if defined(SYSVSEM)
 	{ SYS_____semctl50, 0, (sy_call_t *)sys_____semctl50 },
 	{ SYS_semget, 0, (sy_call_t *)sys_semget },
 	{ SYS_semop, 0, (sy_call_t *)sys_semop },
 	{ SYS_semconfig, 0, (sy_call_t *)sys_semconfig },
+#if defined(COMPAT_10) && !defined(_LP64)
+	{ SYS_compat_10_osemsys, 0, (sy_call_t *)compat_10_sys_semsys },
 #endif
-#ifdef SYSVMSG
+#if defined(COMPAT_14)
+	{ SYS_compat_14___semctl, 0, (sy_call_t *)compat_14_sys___semctl },
+#endif
+#if defined(COMPAT_50)
+	{ SYS_compat_50_____semctl13, 0, (sy_call_t *)compat_50_sys_____semctl13 },
+#endif
+#endif	/* SYSVSEM */
+
+#if defined(SYSVMSG)
 	{ SYS___msgctl50, 0, (sy_call_t *)sys___msgctl50 },
 	{ SYS_msgget, 0, (sy_call_t *)sys_msgget },
 	{ SYS_msgsnd, 0, (sy_call_t *)sys_msgsnd },
 	{ SYS_msgrcv, 0, (sy_call_t *)sys_msgrcv },
+#if defined(COMPAT_10) && !defined(_LP64)
+	{ SYS_compat_10_omsgsys, 0, (sy_call_t *)compat_10_sys_msgsys },
 #endif
+#if defined(COMPAT_14)
+	{ SYS_compat_14_msgctl, 0, (sy_call_t *)compat_14_sys_msgctl },
+#endif
+#if defined(COMPAT_50)
+	{ SYS_compat_50___msgctl13, 0, (sy_call_t *)compat_50_sys___msgctl13 },
+#endif
+#endif	/* SYSVMSG */
 	{ 0, 0, NULL }
 };
 
@@ -173,9 +205,6 @@ sysv_ipc_modcmd(modcmd_t cmd, void *arg)
 		if (error)
 			sysvipcfini();
 
-		/* Assume no compat sysctl routine for now */
-		kern_sysvipc50_sysctl_p = NULL;
-
 		/*
 		 * Initialize each sub-component, including their
 		 * sysctl data
@@ -243,13 +272,6 @@ sysv_ipc_modcmd(modcmd_t cmd, void *arg)
 	return error;
 }
 
-void
-sysvipc50_set_compat_sysctl(int (*compat_sysctl)(SYSCTLFN_PROTO))
-{
-
-	kern_sysvipc50_sysctl_p = compat_sysctl;
-}
-
 static kauth_listener_t sysvipc_listener = NULL;
 
 static int
@@ -367,15 +389,16 @@ sysctl_kern_sysvipc(SYSCTLFN_ARGS)
 	int i, error, ret;
 
 /*
- * If compat_sysv module has loaded the compat sysctl, call it.  If
- * it handles the request completely (either success or error), just
- * return.  Otherwise fallthrough to the non-compat_sysv sysctl code.
+ * If present, call the compat sysctl() code.  If it handles the request
+ * completely (either success or error), return.  Otherwise fallthrough
+ * to the non-compat sysctl code.
  */
-	if (kern_sysvipc50_sysctl_p != NULL) {
-		error = (*kern_sysvipc50_sysctl_p)(SYSCTLFN_CALL(rnode));
-		if (error != EPASSTHROUGH)
-			return error;
-	}
+
+#if defined(COMPAT_50)
+	error = sysctl_kern_sysvipc50(SYSCTLFN_CALL(rnode));
+	if (error != EPASSTHROUGH)
+		return error;
+#endif
 
 	if (namelen != 1)
 		return EINVAL;

Index: src/sys/modules/Makefile
diff -u src/sys/modules/Makefile:1.160 src/sys/modules/Makefile:1.161
--- src/sys/modules/Makefile:1.160	Wed Dec  2 00:07:35 2015
+++ src/sys/modules/Makefile	Thu Dec  3 02:51:01 2015
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.160 2015/12/02 00:07:35 pgoyette Exp $
+#	$NetBSD: Makefile,v 1.161 2015/12/03 02:51:01 pgoyette Exp $
 
 .include <bsd.own.mk>
 
@@ -20,7 +20,6 @@ SUBDIR+=	crypto
 SUBDIR+=	coda
 SUBDIR+=	coda5
 SUBDIR+=	compat
-SUBDIR+=	compat_sysv
 SUBDIR+=	compat_ossaudio
 SUBDIR+=	coredump
 SUBDIR+=	dbcool

Index: src/sys/modules/sysv_ipc/Makefile
diff -u src/sys/modules/sysv_ipc/Makefile:1.1 src/sys/modules/sysv_ipc/Makefile:1.2
--- src/sys/modules/sysv_ipc/Makefile:1.1	Wed May 13 02:06:25 2015
+++ src/sys/modules/sysv_ipc/Makefile	Thu Dec  3 02:51:01 2015
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2015/05/13 02:06:25 pgoyette Exp $
+# $NetBSD: Makefile,v 1.2 2015/12/03 02:51:01 pgoyette Exp $
 
 .include "../Makefile.inc"
 
@@ -8,6 +8,20 @@ KMOD=	sysv_ipc
 
 CPPFLAGS+=	-DSYSVSEM -DSYSVSHM -DSYSVMSG
 
-SRCS=	sysv_ipc.c sysv_msg.c sysv_sem.c sysv_shm.c
+SRCS+=	sysv_ipc.c sysv_msg.c sysv_sem.c sysv_shm.c
+
+.PATH:	${S}/compat/common
+
+CPPFLAGS+=	-DCOMPAT_10
+CPPFLAGS+=	-DCOMPAT_13
+CPPFLAGS+=	-DCOMPAT_14
+CPPFLAGS+=	-DCOMPAT_50
+
+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 sysv_ipc_50.c
+
+.if ${MACHINE_ARCH} != "alpha"
+SRCS+=  kern_ipc_10.c
+.endif
 
 .include <bsd.kmodule.mk>

Reply via email to