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>