Module Name:    src
Committed By:   pgoyette
Date:           Fri Mar 16 08:10:27 UTC 2018

Modified Files:
        src/sys/compat/common [pgoyette-compat]: compat_60_mod.c
            compat_70_mod.c compat_mod.c compat_mod.h files.common kern_sa_60.c
        src/sys/compat/net [pgoyette-compat]: route_70.h
        src/sys/kern [pgoyette-compat]: kern_cpu.c
        src/sys/modules/compat_60 [pgoyette-compat]: Makefile
        src/sys/sys [pgoyette-compat]: cpu.h

Log Message:
Move closer to getting a compat_60 module - still needs more work


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/sys/compat/common/compat_60_mod.c
cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/sys/compat/common/compat_70_mod.c
cvs rdiff -u -r1.24.14.12 -r1.24.14.13 src/sys/compat/common/compat_mod.c
cvs rdiff -u -r1.1.42.1 -r1.1.42.2 src/sys/compat/common/compat_mod.h \
    src/sys/compat/common/kern_sa_60.c
cvs rdiff -u -r1.1.2.10 -r1.1.2.11 src/sys/compat/common/files.common
cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/sys/compat/net/route_70.h
cvs rdiff -u -r1.71.16.1 -r1.71.16.2 src/sys/kern/kern_cpu.c
cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/sys/modules/compat_60/Makefile
cvs rdiff -u -r1.42 -r1.42.2.1 src/sys/sys/cpu.h

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_60_mod.c
diff -u src/sys/compat/common/compat_60_mod.c:1.1.2.2 src/sys/compat/common/compat_60_mod.c:1.1.2.3
--- src/sys/compat/common/compat_60_mod.c:1.1.2.2	Fri Mar 16 01:16:29 2018
+++ src/sys/compat/common/compat_60_mod.c	Fri Mar 16 08:10:26 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_60_mod.c,v 1.1.2.2 2018/03/16 01:16:29 pgoyette Exp $	*/
+/*	$NetBSD: compat_60_mod.c,v 1.1.2.3 2018/03/16 08:10:26 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.2 2018/03/16 01:16:29 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: compat_60_mod.c,v 1.1.2.3 2018/03/16 08:10:26 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -44,18 +44,20 @@ __KERNEL_RCSID(0, "$NetBSD: compat_60_mo
 #include <sys/systm.h>
 #include <sys/module.h>
 #include <sys/sysctl.h>
-
-#include <net/if.h>
-#include <net/route.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 },
+	{ SYS_compat_60__lwp_park, 0, (sy_call_t *)compat_60__lwp_park },
 	{ NULL, 0, NULL }
 };
 
+#ifdef _MODULE
+
 #define REQUIRED_60 "compat_70"		/* XXX No compat_80 yet */
 MODULE(MODULE_CLASS_EXEC, compat_60, REQUIRED_60);
 
@@ -64,6 +66,11 @@ int (*orig_compat_6_cpu_ucode)(struct co
 int (*orig_compat6_cpu_ucode_apply)(const struct compat6_cpu_ucode *);
 #endif
 
+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 }
+};
+
 static int
 compat_60_modcmd(modcmd_t cmd, void *arg)
 {
@@ -71,29 +78,38 @@ compat_60_modcmd(modcmd_t cmd, void *arg
 
 	switch (cmd) {
 	case MODULE_CMD_INIT:
-		error = syscall_establish(NULL, compat_60_syscalls);
-		if (error != 0)
-			return error;
-#ifdef CPU_UCODE
-		orig_get_version = vec_compat6_cpu_ucode_get_version;
-		*vec_compat6_cpu_ucode_get_version =
-		    compat6_cpu_ucode_get_version;
-		orig_apply = vec_compat6_cpu_ucode_apply;
-		*vec_compat6_cpu_ucode_apply = compat6_cpu_ucode_apply;
-#endif
-		return 0;
-
+		return compat_60_init();
 	case MODULE_CMD_FINI:
-		*vec_compat6_cpu_ucode_get_version = orig_get_version;
-		*vec_compat6_cpu_ucode_apply = orig_apply;
-		error = syscall_disestablish(NULL, compat_60_syscalls);
-		if (error != 0)
-			return error;
-		return 0;
-
+		return compat_60_init();
 	default:
 		return ENOTTY;
 	}
 }
+#endif	/* _MODULE */
 
+int compat_60_init(void)
+{
+	int error;
 
+	error = syscall_establish(NULL, compat_60_syscalls);
+	if (error != 0)
+		return error;
+#ifdef CPU_UCODE
+	orig_get_version = vec_compat6_cpu_ucode_get_version;
+	*vec_compat6_cpu_ucode_get_version = compat6_cpu_ucode_get_version;
+	orig_apply = vec_compat6_cpu_ucode_apply;
+	*vec_compat6_cpu_ucode_apply = compat6_cpu_ucode_apply;
+#endif
+	return 0;
+}
+
+int compat_60_fini(void)
+{
+	int error;
+
+	*vec_compat6_cpu_ucode_get_version = orig_get_version;
+	*vec_compat6_cpu_ucode_apply = orig_apply;
+	error = syscall_disestablish(NULL, compat_60_syscalls);
+
+	return error;
+}

Index: src/sys/compat/common/compat_70_mod.c
diff -u src/sys/compat/common/compat_70_mod.c:1.1.2.3 src/sys/compat/common/compat_70_mod.c:1.1.2.4
--- src/sys/compat/common/compat_70_mod.c:1.1.2.3	Fri Mar 16 01:16:29 2018
+++ src/sys/compat/common/compat_70_mod.c	Fri Mar 16 08:10:26 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_70_mod.c,v 1.1.2.3 2018/03/16 01:16:29 pgoyette Exp $	*/
+/*	$NetBSD: compat_70_mod.c,v 1.1.2.4 2018/03/16 08:10:26 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: compat_70_mod.c,v 1.1.2.3 2018/03/16 01:16:29 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: compat_70_mod.c,v 1.1.2.4 2018/03/16 08:10:26 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -54,8 +54,6 @@ __KERNEL_RCSID(0, "$NetBSD: compat_70_mo
 #include <compat/net/route.h>
 #include <compat/net/route_70.h>
 
-MODULE(MODULE_CLASS_EXEC, compat_70, NULL);	/* XXX No compat_80 yet */
-
 void compat_70_init(void)
 {
 
@@ -70,6 +68,10 @@ void compat_70_fini(void)
 	vec_ocreds_valid = false;
 }
 
+#ifdef _MODULE
+
+MODULE(MODULE_CLASS_EXEC, compat_70, NULL);	/* XXX No compat_80 yet */
+
 static int
 compat_70_modcmd(modcmd_t cmd, void *arg)
 {
@@ -87,3 +89,4 @@ compat_70_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.12 src/sys/compat/common/compat_mod.c:1.24.14.13
--- src/sys/compat/common/compat_mod.c:1.24.14.12	Fri Mar 16 01:16:29 2018
+++ src/sys/compat/common/compat_mod.c	Fri Mar 16 08:10:26 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_mod.c,v 1.24.14.12 2018/03/16 01:16:29 pgoyette Exp $	*/
+/*	$NetBSD: compat_mod.c,v 1.24.14.13 2018/03/16 08:10:26 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.12 2018/03/16 01:16:29 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: compat_mod.c,v 1.24.14.13 2018/03/16 08:10:26 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -79,6 +79,7 @@ void if_50_fini(void);
 #endif
 
 #ifdef COMPAT_70
+#include <net/route.h>
 #include <compat/net/route.h>
 #include <compat/net/route_70.h>
 #endif
@@ -285,7 +286,8 @@ compat_modcmd(modcmd_t cmd, void *arg)
 		if_50_init();
 #endif
 #ifdef COMPAT_60
-		compat_60_init();
+		if ((error = compat_60_init()) != 0)
+			return error;
 #endif
 #ifdef COMPAT_70
 		compat_70_init();
@@ -297,7 +299,8 @@ compat_modcmd(modcmd_t cmd, void *arg)
 		compat_70_fini();
 #endif
 #ifdef COMPAT_60
-		compat_60_fini();
+		if ((error = compat_60_fini()) != 0)
+			return error;
 #endif
 #ifdef COMPAT_10
 		vfs_syscalls_10_fini();

Index: src/sys/compat/common/compat_mod.h
diff -u src/sys/compat/common/compat_mod.h:1.1.42.1 src/sys/compat/common/compat_mod.h:1.1.42.2
--- src/sys/compat/common/compat_mod.h:1.1.42.1	Fri Mar 16 01:16:29 2018
+++ src/sys/compat/common/compat_mod.h	Fri Mar 16 08:10:26 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_mod.h,v 1.1.42.1 2018/03/16 01:16:29 pgoyette Exp $	*/
+/*	$NetBSD: compat_mod.h,v 1.1.42.2 2018/03/16 08:10:26 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -41,7 +41,7 @@ void compat_sysctl_vfs(struct sysctllog 
 void compat_70_init(void);
 void compat_70_fini(void);
 
-void compat_60_init(void);
-void compat_60_fini(void);
+int compat_60_init(void);
+int compat_60_fini(void);
 
 #endif /* !_COMPAT_MOD_H_ */
Index: src/sys/compat/common/kern_sa_60.c
diff -u src/sys/compat/common/kern_sa_60.c:1.1.42.1 src/sys/compat/common/kern_sa_60.c:1.1.42.2
--- src/sys/compat/common/kern_sa_60.c:1.1.42.1	Fri Mar 16 01:16:29 2018
+++ src/sys/compat/common/kern_sa_60.c	Fri Mar 16 08:10:26 2018
@@ -29,7 +29,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(1, "$NetBSD: kern_sa_60.c,v 1.1.42.1 2018/03/16 01:16:29 pgoyette Exp $");
+__KERNEL_RCSID(1, "$NetBSD: kern_sa_60.c,v 1.1.42.2 2018/03/16 08:10:26 pgoyette Exp $");
 
 #include <sys/systm.h>
 #include <sys/syscall.h>
@@ -82,23 +82,3 @@ compat_60_sys_sa_preempt(lwp_t *l,
 {
 	return sys_nosys(l, uap, retval);
 }
-
-static const struct syscall_package compat__60_syscalls[] = {
-	{ SYS_compat_60_sa_register, 0,
-	    (sy_call_t *)compat_60_sys_sa_register },
-	{ SYS_compat_60_sa_stacks, 0, (sy_call_t *)compat_60_sys_sa_stacks },
-	{ SYS_compat_60_sa_enable, 0, (sy_call_t *)compat_60_sys_sa_enable },
-	{ SYS_compat_60_sa_setconcurrency, 0,
-	    (sy_call_t *)compat_60_sys_sa_setconcurrency },
-	{ SYS_compat_60_sa_yield, 0, (sy_call_t *)compat_60_sys_sa_yield },
-	{ SYS_compat_60_sa_preempt, 0, (sy_call_t *)compat_60_sys_sa_preempt },
-	{ SYS_compat_60_lwp_park, 0, (sy_call_t *)
-
-
-62      COMPAT_43 MODULAR compat        \
-                { int|sys||fstat(int fd, struct stat43 *sb); } fstat43
-
-	{ SYS_compat_43_fstat43, 0, (sy_call_t *)compat_43_sys_fstat },
-
-
-

Index: src/sys/compat/common/files.common
diff -u src/sys/compat/common/files.common:1.1.2.10 src/sys/compat/common/files.common:1.1.2.11
--- src/sys/compat/common/files.common:1.1.2.10	Thu Mar 15 11:17:54 2018
+++ src/sys/compat/common/files.common	Fri Mar 16 08:10:26 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.common,v 1.1.2.10 2018/03/15 11:17:54 pgoyette Exp $
+#	$NetBSD: files.common,v 1.1.2.11 2018/03/16 08:10:26 pgoyette Exp $
 
 #
 # Generic files, used by all compat options.
@@ -66,11 +66,13 @@ file	compat/common/uipc_syscalls_50.c	co
 file	compat/common/uvm_50.c			compat_50
 
 # Compatibility code for NetBSD 6.0
+file	compat/common/compat_60_mod.c		compat_60
 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
 
 # Compatibility code for NetBSD 7.0
+file	compat/common/compat_70_mod.c		compat_70
 file	compat/common/rtsock_70.c		compat_70
 file	compat/common/uipc_usrreq_70.c		compat_70
 

Index: src/sys/compat/net/route_70.h
diff -u src/sys/compat/net/route_70.h:1.1.2.1 src/sys/compat/net/route_70.h:1.1.2.2
--- src/sys/compat/net/route_70.h:1.1.2.1	Thu Mar 15 05:10:05 2018
+++ src/sys/compat/net/route_70.h	Fri Mar 16 08:10:26 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: route_70.h,v 1.1.2.1 2018/03/15 05:10:05 pgoyette Exp $	*/
+/*	$NetBSD: route_70.h,v 1.1.2.2 2018/03/16 08:10:26 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -32,6 +32,8 @@
 #ifndef _COMPAT_NET_ROUTE_70_H_
 #define _COMPAT_NET_ROUTE_70_H_
 
+#include <net/route.h>
+
 /* compat interfaces */
 
 void rtsock_70_init(void);

Index: src/sys/kern/kern_cpu.c
diff -u src/sys/kern/kern_cpu.c:1.71.16.1 src/sys/kern/kern_cpu.c:1.71.16.2
--- src/sys/kern/kern_cpu.c:1.71.16.1	Fri Mar 16 01:16:29 2018
+++ src/sys/kern/kern_cpu.c	Fri Mar 16 08:10:27 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_cpu.c,v 1.71.16.1 2018/03/16 01:16:29 pgoyette Exp $	*/
+/*	$NetBSD: kern_cpu.c,v 1.71.16.2 2018/03/16 08:10:27 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2007, 2008, 2009, 2010, 2012 The NetBSD Foundation, Inc.
@@ -56,7 +56,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_cpu.c,v 1.71.16.1 2018/03/16 01:16:29 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_cpu.c,v 1.71.16.2 2018/03/16 08:10:27 pgoyette Exp $");
 
 #include "opt_cpu_ucode.h"
 #include "opt_compat_netbsd.h"
@@ -131,6 +131,7 @@ kcpuset_t *	kcpuset_running		__read_most
 
 static char cpu_model[128];
 
+#ifdef CPU_UCODE
 /*
  * routine vectors for compat code
  */
@@ -143,6 +144,7 @@ int (*vec_compat6_cpu_ucode_get_version)
     stub_compat_6_cpu_ucode;
 int (*vec_compat6_cpu_ucode_apply(const struct compat6_cpu_ucode *) =
     stub_compat_6_cpu_ucode;
+#endif
 
 /*
  * mi_cpu_init: early initialisation of MI CPU related structures.

Index: src/sys/modules/compat_60/Makefile
diff -u src/sys/modules/compat_60/Makefile:1.1.2.2 src/sys/modules/compat_60/Makefile:1.1.2.3
--- src/sys/modules/compat_60/Makefile:1.1.2.2	Fri Mar 16 01:33:24 2018
+++ src/sys/modules/compat_60/Makefile	Fri Mar 16 08:10:27 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.1.2.2 2018/03/16 01:33:24 pgoyette Exp $
+#	$NetBSD: Makefile,v 1.1.2.3 2018/03/16 08:10:27 pgoyette Exp $
 
 .include "../Makefile.inc"
 
@@ -13,6 +13,6 @@ CPPFLAGS+=	-D COMPAT_60 -DCOMPAT_70 -DCO
 #
 # SRCS+=	CPU_UCODE
 
-SRCS+=	kern_sa_60.c tty_60.c kern_time_60.c
+SRCS+=	compat_60_mod.c kern_sa_60.c tty_60.c kern_time_60.c
 
 .include <bsd.kmodule.mk>

Index: src/sys/sys/cpu.h
diff -u src/sys/sys/cpu.h:1.42 src/sys/sys/cpu.h:1.42.2.1
--- src/sys/sys/cpu.h:1.42	Sat Dec 16 00:37:51 2017
+++ src/sys/sys/cpu.h	Fri Mar 16 08:10:27 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.h,v 1.42 2017/12/16 00:37:51 mrg Exp $	*/
+/*	$NetBSD: cpu.h,v 1.42.2.1 2018/03/16 08:10:27 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2007 YAMAMOTO Takashi,
@@ -129,10 +129,16 @@ struct cpu_ucode_softc {
 
 int cpu_ucode_get_version(struct cpu_ucode_version *);
 int cpu_ucode_apply(const struct cpu_ucode *);
+
+int (*vec_compat6_cpu_ucode_get_version)(struct compat6_cpu_ucode *);
+int (*vec_compat6_cpu_ucode_apply(const struct compat6_cpu_ucode *);
+    stub_compat_6_cpu_ucode;
+
 #ifdef COMPAT_60
 int compat6_cpu_ucode_get_version(struct compat6_cpu_ucode *);
 int compat6_cpu_ucode_apply(const struct compat6_cpu_ucode *);
 #endif
+
 int cpu_ucode_load(struct cpu_ucode_softc *, const char *);
 int cpu_ucode_md_open(firmware_handle_t *, int, const char *);
 #endif

Reply via email to