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>