Module Name:    src
Committed By:   pgoyette
Date:           Sun Mar 18 02:05:21 UTC 2018

Modified Files:
        src/distrib/sets/lists/modules [pgoyette-compat]: mi
        src/sys/compat/common [pgoyette-compat]: Makefile compat_60_mod.c
            compat_mod.c compat_mod.h files.common kern_time_60.c
        src/sys/modules [pgoyette-compat]: Makefile
        src/sys/modules/compat_60 [pgoyette-compat]: Makefile

Log Message:
Move closer to a complete compat_60 module.  All that remains is some
tty stuff and some ccd ioctl()s.


To generate a diff of this commit:
cvs rdiff -u -r1.114.2.3 -r1.114.2.4 src/distrib/sets/lists/modules/mi
cvs rdiff -u -r1.63 -r1.63.2.1 src/sys/compat/common/Makefile
cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/sys/compat/common/compat_60_mod.c
cvs rdiff -u -r1.24.14.14 -r1.24.14.15 src/sys/compat/common/compat_mod.c
cvs rdiff -u -r1.1.42.3 -r1.1.42.4 src/sys/compat/common/compat_mod.h
cvs rdiff -u -r1.1.2.11 -r1.1.2.12 src/sys/compat/common/files.common
cvs rdiff -u -r1.1 -r1.1.38.1 src/sys/compat/common/kern_time_60.c
cvs rdiff -u -r1.202.2.7 -r1.202.2.8 src/sys/modules/Makefile
cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/sys/modules/compat_60/Makefile

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

Modified files:

Index: src/distrib/sets/lists/modules/mi
diff -u src/distrib/sets/lists/modules/mi:1.114.2.3 src/distrib/sets/lists/modules/mi:1.114.2.4
--- src/distrib/sets/lists/modules/mi:1.114.2.3	Thu Mar 15 05:10:05 2018
+++ src/distrib/sets/lists/modules/mi	Sun Mar 18 02:05:21 2018
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.114.2.3 2018/03/15 05:10:05 pgoyette Exp $
+# $NetBSD: mi,v 1.114.2.4 2018/03/18 02:05:21 pgoyette Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -68,6 +68,8 @@
 ./@MODULEDIR@/coda5/coda5.kmod			base-kernel-modules	kmod
 ./@MODULEDIR@/compat				base-kernel-modules	kmod
 ./@MODULEDIR@/compat/compat.kmod		base-kernel-modules	kmod
+./@MODULEDIR@/compat_60				base-kernel-modules	kmod
+./@MODULEDIR@/compat_60/compat_60.kmod		base-kernel-modules	kmod
 ./@MODULEDIR@/compat_70				base-kernel-modules	kmod
 ./@MODULEDIR@/compat_70/compat_70.kmod		base-kernel-modules	kmod
 ./@MODULEDIR@/compat_ossaudio			base-kernel-modules	kmod

Index: src/sys/compat/common/Makefile
diff -u src/sys/compat/common/Makefile:1.63 src/sys/compat/common/Makefile:1.63.2.1
--- src/sys/compat/common/Makefile:1.63	Wed Dec 20 04:46:19 2017
+++ src/sys/compat/common/Makefile	Sun Mar 18 02:05:21 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.63 2017/12/20 04:46:19 maya Exp $
+#	$NetBSD: Makefile,v 1.63.2.1 2018/03/18 02:05:21 pgoyette Exp $
 
 LIB=		compat
 NOPIC=		# defined
@@ -33,5 +33,9 @@ lib${LIB}.po:: ${POBJS:O}
 	@rm -f lib${LIB}.po
 	@${LD} -r -o lib${LIB}.po ${LDFLAGS} `NM=${NM} ${LORDER} ${POBJS} | ${TSORT}`
 
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
+CPPFLAGS+=	-DCPU_UCODE
+.endif
+
 showsources: ${SRCS}
 	@echo ${.ALLSRC}

Index: src/sys/compat/common/compat_60_mod.c
diff -u src/sys/compat/common/compat_60_mod.c:1.1.2.5 src/sys/compat/common/compat_60_mod.c:1.1.2.6
--- src/sys/compat/common/compat_60_mod.c:1.1.2.5	Sat Mar 17 06:49:57 2018
+++ src/sys/compat/common/compat_60_mod.c	Sun Mar 18 02:05:21 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_60_mod.c,v 1.1.2.5 2018/03/17 06:49:57 pgoyette Exp $	*/
+/*	$NetBSD: compat_60_mod.c,v 1.1.2.6 2018/03/18 02:05:21 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: compat_60_mod.c,v 1.1.2.5 2018/03/17 06:49:57 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: compat_60_mod.c,v 1.1.2.6 2018/03/18 02:05:21 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -51,44 +51,47 @@ __KERNEL_RCSID(0, "$NetBSD: compat_60_mo
 #include <compat/common/compat_util.h>
 #include <compat/common/compat_mod.h>
 
-static const struct syscall_package compat_60_syscalls[] = {
-	{ SYS_compat_60__lwp_park, 0, (sy_call_t *)compat_60_sys__lwp_park },
-	{ 0, 0, NULL }
-};
-
-#ifdef _MODULE
-
 #define REQUIRED_60 "compat_70"		/* XXX No compat_80 yet */
 MODULE(MODULE_CLASS_EXEC, compat_60, REQUIRED_60);
 
-static const struct syscall_package compat__60_syscalls[] = {
-        { SYS_compat_60__lwp_park, 0, (sy_call_t *)compat_60_sys__lwp_park },  
-        NULL, 0, NULL }
-};
-#endif	/* _MODULE */
-
 int
-compat_60_init(void)
+compat_60_init()
 {
 	int error = 0;
 
-	error = syscall_establish(NULL, compat_60_syscalls);
+	error = kern_time_60_init();
 	if (error != 0)
 		return error;
-	return 0;
+
+#ifdef CPU_UCODE
+	error = kern_cpu_60_init();
+	if (error != 0) {
+		kern_time_60_fini();
+		return 0;
+	}
+#endif
+
+	return error;
 }
 
 int
-compat_60_fini(void)
+compat_60_fini()
 {
 	int error = 0;
 
-	error = syscall_disestablish(NULL, compat_60_syscalls);
+#ifdef CPU_UCODE
+	error = kern_cpu_60_fini();
+	if (error != 0)
+		return error;
+#endif
+
+	error = kern_time_60_fini();
+	if (error != 0)
+		kern_cpu_60_init();
 
 	return error;
 }
 
-#ifdef _MODULE
 static int
 compat_60_modcmd(modcmd_t cmd, void *arg)
 {
@@ -102,4 +105,3 @@ compat_60_modcmd(modcmd_t cmd, void *arg
 		return ENOTTY;
 	}
 }
-#endif	/* _MODULE */

Index: src/sys/compat/common/compat_mod.c
diff -u src/sys/compat/common/compat_mod.c:1.24.14.14 src/sys/compat/common/compat_mod.c:1.24.14.15
--- src/sys/compat/common/compat_mod.c:1.24.14.14	Sat Mar 17 21:37:52 2018
+++ src/sys/compat/common/compat_mod.c	Sun Mar 18 02:05:21 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_mod.c,v 1.24.14.14 2018/03/17 21:37:52 pgoyette Exp $	*/
+/*	$NetBSD: compat_mod.c,v 1.24.14.15 2018/03/18 02:05:21 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: compat_mod.c,v 1.24.14.14 2018/03/17 21:37:52 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: compat_mod.c,v 1.24.14.15 2018/03/18 02:05:21 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -286,29 +286,23 @@ compat_modcmd(modcmd_t cmd, void *arg)
 		uvm_50_init();
 		if_50_init();
 #endif
-#ifdef COMPAT_60
-		if ((error = compat_60_init()) != 0)
-			return error;
-#endif
 #ifdef COMPAT_70
 		compat_70_init();
 #endif
 #ifdef COMPAT_60
-		kern_cpu_60_init();
-#endif
-#ifdef COMPAT_60
-		kern_cpu_60_fini();
+		if ((error = compat_60_init()) != 0)
+			return error;
 #endif
 		return 0;
 
 	case MODULE_CMD_FINI:
-#ifdef COMPAT_70
-		compat_70_fini();
-#endif
 #ifdef COMPAT_60
 		if ((error = compat_60_fini()) != 0)
 			return error;
 #endif
+#ifdef COMPAT_70
+		compat_70_fini();
+#endif
 #ifdef COMPAT_10
 		vfs_syscalls_10_fini();
 #endif

Index: src/sys/compat/common/compat_mod.h
diff -u src/sys/compat/common/compat_mod.h:1.1.42.3 src/sys/compat/common/compat_mod.h:1.1.42.4
--- src/sys/compat/common/compat_mod.h:1.1.42.3	Sat Mar 17 00:44:38 2018
+++ src/sys/compat/common/compat_mod.h	Sun Mar 18 02:05:21 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_mod.h,v 1.1.42.3 2018/03/17 00:44:38 pgoyette Exp $	*/
+/*	$NetBSD: compat_mod.h,v 1.1.42.4 2018/03/18 02:05:21 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -32,16 +32,28 @@
 #ifndef	_COMPAT_MOD_H
 #define	_COMPAT_MOD_H
 
+#include <sys/sysctl.h>
+
 void compat_sysctl_init(void);
 void compat_sysctl_fini(void);
 
 void compat_sysctl_time(struct sysctllog **);
 void compat_sysctl_vfs(struct sysctllog **);
 
+#ifdef COMPAT_70
 int compat_70_init(void);
 int compat_70_fini(void);
+#endif
 
+#ifdef COMPAT_60
 int compat_60_init(void);
 int compat_60_fini(void);
+int kern_time_60_init(void);
+int kern_time_60_fini(void);
+int kern_cpu_60_init(void);
+int kern_cpu_60_fini(void);
+int kern_tty_60_init(void);
+int kern_tty_60_fini(void);
+#endif
 
 #endif /* !_COMPAT_MOD_H_ */

Index: src/sys/compat/common/files.common
diff -u src/sys/compat/common/files.common:1.1.2.11 src/sys/compat/common/files.common:1.1.2.12
--- src/sys/compat/common/files.common:1.1.2.11	Fri Mar 16 08:10:26 2018
+++ src/sys/compat/common/files.common	Sun Mar 18 02:05:21 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.common,v 1.1.2.11 2018/03/16 08:10:26 pgoyette Exp $
+#	$NetBSD: files.common,v 1.1.2.12 2018/03/18 02:05:21 pgoyette Exp $
 
 #
 # Generic files, used by all compat options.
@@ -70,6 +70,7 @@ file	compat/common/compat_60_mod.c		comp
 file	compat/common/kern_sa_60.c		compat_60
 file	compat/common/tty_60.c			compat_60
 file	compat/common/kern_time_60.c		compat_60
+file	compat/common/kern_cpu_60.c		compat_60
 
 # Compatibility code for NetBSD 7.0
 file	compat/common/compat_70_mod.c		compat_70

Index: src/sys/compat/common/kern_time_60.c
diff -u src/sys/compat/common/kern_time_60.c:1.1 src/sys/compat/common/kern_time_60.c:1.1.38.1
--- src/sys/compat/common/kern_time_60.c:1.1	Fri Mar 29 01:02:50 2013
+++ src/sys/compat/common/kern_time_60.c	Sun Mar 18 02:05:21 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_time_60.c,v 1.1 2013/03/29 01:02:50 christos Exp $	*/
+/*	$NetBSD: kern_time_60.c,v 1.1.38.1 2018/03/18 02:05:21 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -29,18 +29,24 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_time_60.c,v 1.1 2013/03/29 01:02:50 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_time_60.c,v 1.1.38.1 2018/03/18 02:05:21 pgoyette Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/lwp.h>
 #include <sys/time.h>
-#include <sys/sysctl.h>
+#include <sys/syscall.h>
+#include <sys/syscallvar.h>
 #include <sys/syscallargs.h>
 
 #include <compat/common/compat_util.h>
 #include <compat/common/compat_mod.h>
 
+static const struct syscall_package compat_60_syscalls[] = {
+	{ SYS_compat_60__lwp_park, 0, (sy_call_t *)compat_60_sys__lwp_park },
+	{ 0, 0, NULL }
+};
+
 int
 compat_60_sys__lwp_park(struct lwp *l,
     const struct compat_60_sys__lwp_park_args *uap, register_t *retval)
@@ -72,3 +78,17 @@ compat_60_sys__lwp_park(struct lwp *l,
 
 	return lwp_park(CLOCK_REALTIME, TIMER_ABSTIME, tsp, SCARG(uap, hint));
 }
+
+int
+kern_time_60_init(void)
+{
+
+	return syscall_establish(NULL, compat_60_syscalls);
+}
+
+int
+kern_time_60_fini(void)
+{
+
+	return syscall_disestablish(NULL, compat_60_syscalls);
+}

Index: src/sys/modules/Makefile
diff -u src/sys/modules/Makefile:1.202.2.7 src/sys/modules/Makefile:1.202.2.8
--- src/sys/modules/Makefile:1.202.2.7	Fri Mar 16 02:55:20 2018
+++ src/sys/modules/Makefile	Sun Mar 18 02:05:21 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.202.2.7 2018/03/16 02:55:20 pgoyette Exp $
+#	$NetBSD: Makefile,v 1.202.2.8 2018/03/18 02:05:21 pgoyette Exp $
 
 .include <bsd.own.mk>
 
@@ -6,9 +6,9 @@
 
 # Modules for compatability with earlier versions of NetBSD
 
-SUBDIR+=	compat    compat_70 #compat_60 compat_50 compat_40
-#SUBDIR+=	compat_30 compat_20 compat_16 compat_14 compat_13
-#SUBDIR+=	compat_12 compat_10 compat_09
+SUBDIR+=	compat    compat_70 compat_60 # compat_50 compat_40
+SUBDIR+=	# compat_30 compat_20 compat_16 compat_14 compat_13
+SUBDIR+=	# compat_12 compat_10 compat_09
 SUBDIR+=	compat_ossaudio
 SUBDIR+=	compat_sysv
 

Index: src/sys/modules/compat_60/Makefile
diff -u src/sys/modules/compat_60/Makefile:1.1.2.5 src/sys/modules/compat_60/Makefile:1.1.2.6
--- src/sys/modules/compat_60/Makefile:1.1.2.5	Sat Mar 17 06:49:57 2018
+++ src/sys/modules/compat_60/Makefile	Sun Mar 18 02:05:21 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.1.2.5 2018/03/17 06:49:57 pgoyette Exp $
+#	$NetBSD: Makefile,v 1.1.2.6 2018/03/18 02:05:21 pgoyette Exp $
 
 .include "../Makefile.inc"
 
@@ -8,6 +8,10 @@ KMOD=	compat_60
 
 CPPFLAGS+=	-DCOMPAT_60 -DCOMPAT_70 -DCOMPAT_80
 
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
+CPPFLAGS+=	-DCPU_UCODE
+.endif
+
 SRCS+=	compat_60_mod.c kern_sa_60.c tty_60.c kern_time_60.c
 
 .include <bsd.kmodule.mk>

Reply via email to