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