Module Name: src
Committed By: pgoyette
Date: Mon Sep 10 09:54:47 UTC 2018
Modified Files:
src/sys/compat/netbsd32 [pgoyette-compat]: netbsd32_compat_09.c
netbsd32_compat_10.c netbsd32_compat_12.c syscalls.master
Added Files:
src/sys/modules/compat_netbsd32_09 [pgoyette-compat]: Makefile
src/sys/modules/compat_netbsd32_12 [pgoyette-compat]: Makefile
Log Message:
Initial cut at a compat_netbsd32_09 and compat_netbsd32_12 modules.
To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.18.86.1 src/sys/compat/netbsd32/netbsd32_compat_09.c
cvs rdiff -u -r1.25 -r1.25.16.1 src/sys/compat/netbsd32/netbsd32_compat_10.c
cvs rdiff -u -r1.33 -r1.33.36.1 src/sys/compat/netbsd32/netbsd32_compat_12.c
cvs rdiff -u -r1.120.2.3 -r1.120.2.4 src/sys/compat/netbsd32/syscalls.master
cvs rdiff -u -r0 -r1.1.2.1 src/sys/modules/compat_netbsd32_09/Makefile
cvs rdiff -u -r0 -r1.1.2.1 src/sys/modules/compat_netbsd32_12/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/netbsd32/netbsd32_compat_09.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_09.c:1.18 src/sys/compat/netbsd32/netbsd32_compat_09.c:1.18.86.1
--- src/sys/compat/netbsd32/netbsd32_compat_09.c:1.18 Thu May 29 14:51:26 2008
+++ src/sys/compat/netbsd32/netbsd32_compat_09.c Mon Sep 10 09:54:47 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_compat_09.c,v 1.18 2008/05/29 14:51:26 mrg Exp $ */
+/* $NetBSD: netbsd32_compat_09.c,v 1.18.86.1 2018/09/10 09:54:47 pgoyette Exp $ */
/*
* Copyright (c) 1998 Matthew R. Green
@@ -27,11 +27,13 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_09.c,v 1.18 2008/05/29 14:51:26 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_09.c,v 1.18.86.1 2018/09/10 09:54:47 pgoyette Exp $");
#include <sys/param.h>
#include <sys/systm.h>
+#include <sys/module.h>
#include <sys/mount.h>
+#include <sys/syscallvar.h>
#include <sys/syscallargs.h>
#include <sys/time.h>
@@ -84,3 +86,30 @@ compat_09_netbsd32_uname(struct lwp *l,
NETBSD32TOP_UAP(name, struct outsname);
return (compat_09_sys_uname(l, &ua, retval));
}
+
+static struct syscall_package compat_netbsd32_09_syscalls[] = {
+ { NETBSD32_SYS_ogetdomainname, 0,
+ (sy_call_t *)compat_09_netbsd32_ogetdomainname },
+ { NETBSD32_SYS_osetdomainname, 0,
+ (sy_call_t *)compat_09_netbsd32_osetdomainname },
+ { NETBSD32_SYS_ouname, 0, (sy_call_t *)compat_09_netbsd32_uname },
+ { 0, 0, NULL }
+};
+
+MODULE(MODULE_CLASS_EXEC, compat_netbsd32_09, "compat_netbsd32,compat_09");
+
+static int
+compat_netbsd32_09_modcmd(modcmt_t cmd, void *(arg)
+{
+
+ switch (cmd) {
+ case MODULE_CMD_INIT:
+ return syscall_establish(NULL, compat_netbsd32_09_syscalls);
+
+ case MODULE_CMD_FINI:
+ return syscall_disestablish(NULL, compat_netbsd32_09_syscalls);
+
+ default:
+ return ENOTTY;
+ }
+}
Index: src/sys/compat/netbsd32/netbsd32_compat_10.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_10.c:1.25 src/sys/compat/netbsd32/netbsd32_compat_10.c:1.25.16.1
--- src/sys/compat/netbsd32/netbsd32_compat_10.c:1.25 Thu Dec 3 10:38:21 2015
+++ src/sys/compat/netbsd32/netbsd32_compat_10.c Mon Sep 10 09:54:47 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_compat_10.c,v 1.25 2015/12/03 10:38:21 pgoyette Exp $ */
+/* $NetBSD: netbsd32_compat_10.c,v 1.25.16.1 2018/09/10 09:54:47 pgoyette Exp $ */
/*
* Copyright (c) 1994 Adam Glass and Charles M. Hannum. All rights reserved.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_10.c,v 1.25 2015/12/03 10:38:21 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_10.c,v 1.25.16.1 2018/09/10 09:54:47 pgoyette Exp $");
#ifdef _KERNEL_OPT
#include "opt_sysv.h"
@@ -40,6 +40,7 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_com
#include <sys/param.h>
#include <sys/systm.h>
+#include <sys/module.h>
#include <sys/kernel.h>
#include <sys/proc.h>
#include <sys/sem.h>
@@ -48,6 +49,7 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_com
#include <sys/syscallargs.h>
#include <compat/netbsd32/netbsd32.h>
+#include <compat/netbsd32/netbsd32_syscallvar.h>
#include <compat/netbsd32/netbsd32_syscallargs.h>
#include <compat/sys/shm.h>
Index: src/sys/compat/netbsd32/netbsd32_compat_12.c
diff -u src/sys/compat/netbsd32/netbsd32_compat_12.c:1.33 src/sys/compat/netbsd32/netbsd32_compat_12.c:1.33.36.1
--- src/sys/compat/netbsd32/netbsd32_compat_12.c:1.33 Mon Dec 10 02:21:58 2012
+++ src/sys/compat/netbsd32/netbsd32_compat_12.c Mon Sep 10 09:54:47 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_compat_12.c,v 1.33 2012/12/10 02:21:58 chs Exp $ */
+/* $NetBSD: netbsd32_compat_12.c,v 1.33.36.1 2018/09/10 09:54:47 pgoyette Exp $ */
/*
* Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_12.c,v 1.33 2012/12/10 02:21:58 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_12.c,v 1.33.36.1 2018/09/10 09:54:47 pgoyette Exp $");
#if defined(_KERNEL_OPT)
#include "opt_compat_netbsd.h"
@@ -35,6 +35,7 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_com
#include <sys/param.h>
#include <sys/systm.h>
+#include <sys/module.h>
#include <sys/filedesc.h>
#include <sys/mount.h>
#include <sys/mman.h>
@@ -49,6 +50,7 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_com
#include <compat/sys/stat.h>
#include <compat/netbsd32/netbsd32.h>
+#include <compat/netbsd32/netbsd32_syscallvar.h>
#include <compat/netbsd32/netbsd32_syscallargs.h>
static void netbsd32_stat12_to_netbsd32(struct stat12 *,
@@ -207,3 +209,37 @@ compat_12_netbsd32_getdirentries(struct
return (compat_12_sys_getdirentries(l, &ua, retval));
}
+
+static struct syscall_package compat_netbsd32_09_syscalls[] = {
+ { NETBSD32_SYS_reboot, 0,
+ (sy_call_t *)compat_12_netbsd32_reboot },
+ { NETBSD32_SYS_msync, 0,
+ (sy_call_t *)compat_12_netbsd32_msync },
+ { NETBSD32_SYS_swapon, 0,
+ (sy_call_t *)compat_12_netbsd32_swapon },
+ { NETBSD32_SYS_stat12, 0,
+ (sy_call_t *)compat_12_netbsd32_stat12 },
+ { NETBSD32_SYS_fstat12, 0,
+ (sy_call_t *)compat_12_netbsd32_fstat12 },
+ { NETBSD32_SYS_lstat12, 0,
+ (sy_call_t *)compat_12_netbsd32_lstat12 },
+ { NETBSD32_SYS_getdirentries, 0,
+ (sy_call_t *)compat_12_netbsd32_getdirentries },
+ { 0, 0, NULL }
+};
+
+MODULE(MODULE_CLASS_EXEC, compat_netbsd32_12, "compat_netbsd32,compat_12");
+
+static int
+compat_netbsd32_12_modcmd(modcmd_t cmd, void *arg)
+{
+
+ switch (cmd) {
+ case MODULE_CMD_INIT:
+
+ case MODULE_CMD_FINI:
+
+ default:
+ return ENOTTY;
+ }
+}
Index: src/sys/compat/netbsd32/syscalls.master
diff -u src/sys/compat/netbsd32/syscalls.master:1.120.2.3 src/sys/compat/netbsd32/syscalls.master:1.120.2.4
--- src/sys/compat/netbsd32/syscalls.master:1.120.2.3 Thu Sep 6 06:55:47 2018
+++ src/sys/compat/netbsd32/syscalls.master Mon Sep 10 09:54:47 2018
@@ -1,4 +1,4 @@
- $NetBSD: syscalls.master,v 1.120.2.3 2018/09/06 06:55:47 pgoyette Exp $
+ $NetBSD: syscalls.master,v 1.120.2.4 2018/09/10 09:54:47 pgoyette Exp $
; from: NetBSD: syscalls.master,v 1.81 1998/07/05 08:49:50 jonathan Exp
; @(#)syscalls.master 8.2 (Berkeley) 1/13/94
@@ -330,11 +330,14 @@
160 UNIMPL
161 COMPAT_30 { int|netbsd32||getfh(netbsd32_charp fname, \
netbsd32_compat_30_fhandlep_t fhp); }
-162 COMPAT_09 { int|netbsd32||ogetdomainname( \
+162 COMPAT_09 modular compat_netbsd32_09 \
+ { int|netbsd32||ogetdomainname( \
netbsd32_charp domainname, int len); }
-163 COMPAT_09 { int|netbsd32||osetdomainname( \
+163 COMPAT_09 modular compat_netbsd32_09 \
+ { int|netbsd32||osetdomainname( \
netbsd32_charp domainname, int len); }
-164 COMPAT_09 { int|netbsd32||uname(netbsd32_outsnamep_t name); }
+164 COMPAT_09 modular compat_netbsd32_09 \
+ { int|netbsd32||uname(netbsd32_outsnamep_t name); }
165 STD { int|netbsd32||sysarch(int op, netbsd32_voidp parms); }
166 UNIMPL
167 UNIMPL
Added files:
Index: src/sys/modules/compat_netbsd32_09/Makefile
diff -u /dev/null src/sys/modules/compat_netbsd32_09/Makefile:1.1.2.1
--- /dev/null Mon Sep 10 09:54:47 2018
+++ src/sys/modules/compat_netbsd32_09/Makefile Mon Sep 10 09:54:47 2018
@@ -0,0 +1,15 @@
+# $NetBSD: Makefile,v 1.1.2.1 2018/09/10 09:54:47 pgoyette Exp $
+
+.include "../Makefile.inc"
+
+.PATH: ${S}/compat/netbsd32
+
+KMOD= compat_netbsd32_09
+
+CPPFLAGS+= -DCOMPAT_09 -DCOMPAT_10 -DCOMPAT_12
+CPPFLAGS+= -DCOMPAT_13 -DCOMPAT_14 -DCOMPAT_16 -DCOMPAT_20 -DCOMPAT_30
+CPPFLAGS+= -DCOMPAT_40 -DCOMPAT_50 -DCOMPAT_60 -DCOMPAT_70 -DCOMPAT_80
+
+SRCS+= netbsd32_compat_09.c
+
+.include <bsd.kmodule.mk>
Index: src/sys/modules/compat_netbsd32_12/Makefile
diff -u /dev/null src/sys/modules/compat_netbsd32_12/Makefile:1.1.2.1
--- /dev/null Mon Sep 10 09:54:47 2018
+++ src/sys/modules/compat_netbsd32_12/Makefile Mon Sep 10 09:54:47 2018
@@ -0,0 +1,15 @@
+# $NetBSD: Makefile,v 1.1.2.1 2018/09/10 09:54:47 pgoyette Exp $
+
+.include "../Makefile.inc"
+
+.PATH: ${S}/compat/netbsd32
+
+KMOD= compat_netbsd32_12
+
+CPPFLAGS+= -DCOMPAT_12
+CPPFLAGS+= -DCOMPAT_13 -DCOMPAT_14 -DCOMPAT_16 -DCOMPAT_20 -DCOMPAT_30
+CPPFLAGS+= -DCOMPAT_40 -DCOMPAT_50 -DCOMPAT_60 -DCOMPAT_70 -DCOMPAT_80
+
+SRCS+= netbsd32_compat_12.c
+
+.include <bsd.kmodule.mk>