Module Name:    src
Committed By:   pgoyette
Date:           Mon Dec 19 23:19:52 UTC 2022

Modified Files:
        src/sys/compat/common: compat_90_mod.c compat_mod.h files.common
        src/sys/compat/netbsd32: files.netbsd32 syscalls.conf
        src/sys/conf: files
        src/sys/modules: Makefile
Added Files:
        src/sys/compat/common: compat_100_mod.c
        src/sys/compat/netbsd32: netbsd32_compat_100.c
        src/sys/conf: compat_netbsd100.config
        src/sys/modules/compat_100: Makefile
        src/sys/modules/compat_netbsd32_100: Makefile

Log Message:
Create compat_100 module infrastructure now that we have branched
for NetBSD-10


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/compat/common/compat_100_mod.c
cvs rdiff -u -r1.3 -r1.4 src/sys/compat/common/compat_90_mod.c
cvs rdiff -u -r1.6 -r1.7 src/sys/compat/common/compat_mod.h
cvs rdiff -u -r1.7 -r1.8 src/sys/compat/common/files.common
cvs rdiff -u -r1.53 -r1.54 src/sys/compat/netbsd32/files.netbsd32
cvs rdiff -u -r0 -r1.1 src/sys/compat/netbsd32/netbsd32_compat_100.c
cvs rdiff -u -r1.17 -r1.18 src/sys/compat/netbsd32/syscalls.conf
cvs rdiff -u -r0 -r1.1 src/sys/conf/compat_netbsd100.config
cvs rdiff -u -r1.1304 -r1.1305 src/sys/conf/files
cvs rdiff -u -r1.274 -r1.275 src/sys/modules/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/modules/compat_100/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/modules/compat_netbsd32_100/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/common/compat_90_mod.c
diff -u src/sys/compat/common/compat_90_mod.c:1.3 src/sys/compat/common/compat_90_mod.c:1.4
--- src/sys/compat/common/compat_90_mod.c:1.3	Sat Jan  4 02:40:22 2020
+++ src/sys/compat/common/compat_90_mod.c	Mon Dec 19 23:19:51 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_90_mod.c,v 1.3 2020/01/04 02:40:22 pgoyette Exp $	*/
+/*	$NetBSD: compat_90_mod.c,v 1.4 2022/12/19 23:19:51 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2019 The NetBSD Foundation, Inc.
@@ -38,7 +38,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: compat_90_mod.c,v 1.3 2020/01/04 02:40:22 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: compat_90_mod.c,v 1.4 2022/12/19 23:19:51 pgoyette Exp $");
 
 #include <sys/systm.h>
 #include <sys/module.h>
@@ -60,7 +60,7 @@ compat_90_fini(void)
 	return vfs_syscalls_90_fini();
 }
 
-MODULE(MODULE_CLASS_EXEC, compat_90, NULL);
+MODULE(MODULE_CLASS_EXEC, compat_90, "compat_100");
 
 static int
 compat_90_modcmd(modcmd_t cmd, void *arg)

Index: src/sys/compat/common/compat_mod.h
diff -u src/sys/compat/common/compat_mod.h:1.6 src/sys/compat/common/compat_mod.h:1.7
--- src/sys/compat/common/compat_mod.h:1.6	Sun Sep 22 22:59:38 2019
+++ src/sys/compat/common/compat_mod.h	Mon Dec 19 23:19:51 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_mod.h,v 1.6 2019/09/22 22:59:38 christos Exp $	*/
+/*	$NetBSD: compat_mod.h,v 1.7 2022/12/19 23:19:51 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2013, 2019 The NetBSD Foundation, Inc.
@@ -32,6 +32,11 @@
 #ifndef	_COMPAT_MOD_H
 #define	_COMPAT_MOD_H
 
+#ifdef COMPAT_100
+int compat_100_init(void);
+int compat_100_fini(void);
+#endif
+
 #ifdef COMPAT_90
 int compat_90_init(void);
 int compat_90_fini(void);

Index: src/sys/compat/common/files.common
diff -u src/sys/compat/common/files.common:1.7 src/sys/compat/common/files.common:1.8
--- src/sys/compat/common/files.common:1.7	Mon Aug  9 20:49:09 2021
+++ src/sys/compat/common/files.common	Mon Dec 19 23:19:51 2022
@@ -1,4 +1,4 @@
-#	$NetBSD: files.common,v 1.7 2021/08/09 20:49:09 andvar Exp $
+#	$NetBSD: files.common,v 1.8 2022/12/19 23:19:51 pgoyette Exp $
 
 #
 # Generic utility files, used by various compat options.
@@ -110,6 +110,9 @@ file	compat/common/if_media_80.c		compat
 file	compat/common/compat_90_mod.c		compat_90
 file	compat/common/vfs_syscalls_90.c		compat_90
 
+# Compatibility code for NetBSD 10.0
+file	compat/common/compat_100_mod.c		compat_100
+
 #
 # Sources for sysv ipc compatibility across the versions.
 #

Index: src/sys/compat/netbsd32/files.netbsd32
diff -u src/sys/compat/netbsd32/files.netbsd32:1.53 src/sys/compat/netbsd32/files.netbsd32:1.54
--- src/sys/compat/netbsd32/files.netbsd32:1.53	Sat Apr 17 03:57:42 2021
+++ src/sys/compat/netbsd32/files.netbsd32	Mon Dec 19 23:19:51 2022
@@ -1,4 +1,4 @@
-#	$NetBSD: files.netbsd32,v 1.53 2021/04/17 03:57:42 simonb Exp $
+#	$NetBSD: files.netbsd32,v 1.54 2022/12/19 23:19:51 pgoyette Exp $
 #
 # config file description for machine-independent netbsd32 compat code.
 # included by ports that need it.
@@ -64,3 +64,4 @@ file	compat/netbsd32/netbsd32_compat_50_
 file	compat/netbsd32/netbsd32_compat_60.c	compat_netbsd32 & compat_60
 file	compat/netbsd32/netbsd32_compat_80.c	compat_netbsd32 & compat_80
 file	compat/netbsd32/netbsd32_compat_90.c	compat_netbsd32 & compat_90
+file	compat/netbsd32/netbsd32_compat_100.c	compat_netbsd32 & compat_100

Index: src/sys/compat/netbsd32/syscalls.conf
diff -u src/sys/compat/netbsd32/syscalls.conf:1.17 src/sys/compat/netbsd32/syscalls.conf:1.18
--- src/sys/compat/netbsd32/syscalls.conf:1.17	Sun Sep 22 22:59:38 2019
+++ src/sys/compat/netbsd32/syscalls.conf	Mon Dec 19 23:19:51 2022
@@ -1,4 +1,4 @@
-#	$NetBSD: syscalls.conf,v 1.17 2019/09/22 22:59:38 christos Exp $
+#	$NetBSD: syscalls.conf,v 1.18 2022/12/19 23:19:51 pgoyette Exp $
 
 sysnames="netbsd32_syscalls.c"
 sysnumhdr="netbsd32_syscall.h"
@@ -6,7 +6,7 @@ syssw="netbsd32_sysent.c"
 sysarghdr="netbsd32_syscallargs.h"
 systrace="netbsd32_systrace_args.c"
 sysautoload="netbsd32_syscalls_autoload.c"
-compatopts="compat_43 compat_09 compat_10 compat_11 compat_12 compat_13 compat_14 compat_15 compat_16 compat_20 compat_30 compat_40 compat_50 compat_60 compat_70 compat_80 compat_90"
+compatopts="compat_43 compat_09 compat_10 compat_11 compat_12 compat_13 compat_14 compat_15 compat_16 compat_20 compat_30 compat_40 compat_50 compat_60 compat_70 compat_80 compat_90 compat_100"
 libcompatopts=""
 
 switchname="netbsd32_sysent"

Index: src/sys/conf/files
diff -u src/sys/conf/files:1.1304 src/sys/conf/files:1.1305
--- src/sys/conf/files:1.1304	Sat Dec  3 01:04:42 2022
+++ src/sys/conf/files	Mon Dec 19 23:19:51 2022
@@ -1,4 +1,4 @@
-#	$NetBSD: files,v 1.1304 2022/12/03 01:04:42 brad Exp $
+#	$NetBSD: files,v 1.1305 2022/12/19 23:19:51 pgoyette Exp $
 #	@(#)files.newconf	7.5 (Berkeley) 5/10/93
 
 version 	20171118
@@ -149,7 +149,8 @@ defflag opt_efi.h		EFI_RUNTIME
 # compatibility options
 #
 defflag opt_compat_netbsd.h	COMPAT_NETBSD
-defflag	opt_compat_netbsd.h	COMPAT_90: COMPAT_NETBSD
+defflag	opt_compat_netbsd.h	COMPAT_100: COMPAT_NETBSD
+defflag	opt_compat_netbsd.h	COMPAT_90: COMPAT_100, COMPAT_NETBSD
 defflag	opt_compat_netbsd.h	COMPAT_80: COMPAT_90, COMPAT_NETBSD
 defflag	opt_compat_netbsd.h	COMPAT_70: COMPAT_80, COMPAT_NETBSD
 defflag	opt_compat_netbsd.h	COMPAT_60: COMPAT_70, COMPAT_NETBSD

Index: src/sys/modules/Makefile
diff -u src/sys/modules/Makefile:1.274 src/sys/modules/Makefile:1.275
--- src/sys/modules/Makefile:1.274	Sat Dec  3 01:04:42 2022
+++ src/sys/modules/Makefile	Mon Dec 19 23:19:51 2022
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.274 2022/12/03 01:04:42 brad Exp $
+#	$NetBSD: Makefile,v 1.275 2022/12/19 23:19:51 pgoyette Exp $
 
 .include <bsd.own.mk>
 
@@ -10,7 +10,7 @@ SUBDIR+=	compat_util
 SUBDIR+=	compat_43   compat_sysctl_09_43
 SUBDIR+=	compat_09   compat_10   compat_12   compat_13   compat_14
 SUBDIR+=	compat_16   compat_20   compat_30   compat_40   compat_50
-SUBDIR+=	compat_60   compat_70   compat_80   compat_90
+SUBDIR+=	compat_60   compat_70   compat_80   compat_90   compat_100
 
 SUBDIR+=	compat_sysv_10 compat_sysv_14 compat_sysv_50
 
@@ -313,7 +313,7 @@ SUBDIR+=	compat_netbsd32_13	compat_netbs
 SUBDIR+=	compat_netbsd32_20	compat_netbsd32_30
 SUBDIR+=	compat_netbsd32_40	compat_netbsd32_50
 SUBDIR+=	compat_netbsd32_60	compat_netbsd32_80
-SUBDIR+=	compat_netbsd32_90
+SUBDIR+=	compat_netbsd32_90	compat_netbsd32_100
 SUBDIR+=	compat_netbsd32_43
 SUBDIR+=	compat_netbsd32_coredump
 SUBDIR+=	compat_netbsd32_mqueue

Added files:

Index: src/sys/compat/common/compat_100_mod.c
diff -u /dev/null src/sys/compat/common/compat_100_mod.c:1.1
--- /dev/null	Mon Dec 19 23:19:52 2022
+++ src/sys/compat/common/compat_100_mod.c	Mon Dec 19 23:19:51 2022
@@ -0,0 +1,79 @@
+/*	$NetBSD: compat_100_mod.c,v 1.1 2022/12/19 23:19:51 pgoyette Exp $ */
+
+/*-
+ * Copyright (c) 2019 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.
+ */
+
+/*
+ * Linkage for the compat module: spaghetti.
+ */
+
+#if defined(_KERNEL_OPT)
+#include "opt_compat_netbsd.h"
+#endif
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: compat_100_mod.c,v 1.1 2022/12/19 23:19:51 pgoyette Exp $");
+
+#include <sys/systm.h>
+#include <sys/module.h>
+
+#include <compat/common/compat_util.h>
+#include <compat/common/compat_mod.h>
+
+int
+compat_100_init(void)
+{
+
+	return 0;
+}
+
+int
+compat_100_fini(void)
+{
+
+	return 0;
+}
+
+MODULE(MODULE_CLASS_EXEC, compat_100, NULL);
+
+static int
+compat_100_modcmd(modcmd_t cmd, void *arg)
+{
+
+	switch (cmd) {
+	case MODULE_CMD_INIT:
+		return compat_100_init();
+
+	case MODULE_CMD_FINI:
+		return compat_100_fini();
+
+	default:
+		return ENOTTY;
+	}
+}

Index: src/sys/compat/netbsd32/netbsd32_compat_100.c
diff -u /dev/null src/sys/compat/netbsd32/netbsd32_compat_100.c:1.1
--- /dev/null	Mon Dec 19 23:19:52 2022
+++ src/sys/compat/netbsd32/netbsd32_compat_100.c	Mon Dec 19 23:19:51 2022
@@ -0,0 +1,58 @@
+/*	$NetBSD: netbsd32_compat_100.c,v 1.1 2022/12/19 23:19:51 pgoyette Exp $ */
+
+/*-
+ * Copyright (c) 2019 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software developed for The NetBSD Foundation
+ * by Christos Zoulas.
+ *
+ * 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: netbsd32_compat_100.c,v 1.1 2022/12/19 23:19:51 pgoyette Exp $");
+
+#include <sys/module.h>
+
+#include <compat/netbsd32/netbsd32.h>
+#include <compat/netbsd32/netbsd32_syscall.h>
+#include <compat/netbsd32/netbsd32_syscallargs.h>
+#include <compat/netbsd32/netbsd32_conv.h>
+
+MODULE(MODULE_CLASS_EXEC, compat_netbsd32_100, "compat_netbsd32,compat_100");
+
+static int
+compat_netbsd32_100_modcmd(modcmd_t cmd, void *arg)
+{
+
+	switch (cmd) {
+	case MODULE_CMD_INIT:
+		return 0;
+
+	case MODULE_CMD_FINI:
+		return 0;
+
+	default:
+		return ENOTTY;
+	}
+}

Index: src/sys/conf/compat_netbsd100.config
diff -u /dev/null src/sys/conf/compat_netbsd100.config:1.1
--- /dev/null	Mon Dec 19 23:19:52 2022
+++ src/sys/conf/compat_netbsd100.config	Mon Dec 19 23:19:51 2022
@@ -0,0 +1,9 @@
+#	$NetBSD: compat_netbsd100.config,v 1.1 2022/12/19 23:19:51 pgoyette Exp $
+
+# Common fragment for all NetBSD targets wanting NetBSD 10.0 and newer
+# compatibility support.
+#
+# Note that COMPAT_100 implies all newer COMPAT_XX options.
+
+include        "conf/compat_netbsd.config"
+options 	COMPAT_100	# NetBSD 10.0 and beyond.

Index: src/sys/modules/compat_100/Makefile
diff -u /dev/null src/sys/modules/compat_100/Makefile:1.1
--- /dev/null	Mon Dec 19 23:19:52 2022
+++ src/sys/modules/compat_100/Makefile	Mon Dec 19 23:19:51 2022
@@ -0,0 +1,13 @@
+#	$NetBSD: Makefile,v 1.1 2022/12/19 23:19:51 pgoyette Exp $
+
+.include "../Makefile.inc"
+
+.PATH:	${S}/compat/common
+
+KMOD=	compat_100
+
+CPPFLAGS+=	-DCOMPAT_100
+
+SRCS+=	compat_100_mod.c
+
+.include <bsd.kmodule.mk>

Index: src/sys/modules/compat_netbsd32_100/Makefile
diff -u /dev/null src/sys/modules/compat_netbsd32_100/Makefile:1.1
--- /dev/null	Mon Dec 19 23:19:52 2022
+++ src/sys/modules/compat_netbsd32_100/Makefile	Mon Dec 19 23:19:51 2022
@@ -0,0 +1,15 @@
+#	$NetBSD: Makefile,v 1.1 2022/12/19 23:19:51 pgoyette Exp $
+
+.include "../Makefile.inc"
+
+.PATH:	${S}/compat/netbsd32
+
+KMOD=	compat_netbsd32_100
+
+CPPFLAGS+=	-DCOMPAT_NETBSD32
+CPPFLAGS+=	-DCOMPAT_100
+CPPFLAGS+=	-I${NETBSDSRCDIR}/sys/external/bsd/libnv/dist
+
+SRCS+=	netbsd32_compat_100.c
+
+.include <bsd.kmodule.mk>

Reply via email to