Date: Tue, 1 Jan 2008 22:53:01 GMT From: John Birrell <jb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 132268 for review Message-ID: <200801012253.m01Mr1El061003@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=132268 Change 132268 by jb@jb_freebsd1 on 2008/01/01 22:52:36 Revise the systrace provider: - Add a SYSUNINIT - Move code from modevent to load/unload - Add a dependency on the opensolaris module. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/systrace/systrace.c#7 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/systrace/systrace.c#7 (text+ko) ==== @@ -18,7 +18,7 @@ * * CDDL HEADER END * - * Portions Copyright 2006 John Birrell jb@freebsd.org + * Portions Copyright 2006-2008 John Birrell jb@freebsd.org * * $FreeBSD$ * @@ -32,7 +32,6 @@ #include <sys/cdefs.h> #include <sys/param.h> #include <sys/systm.h> -#include <sys/bus.h> #include <sys/conf.h> #include <sys/cpuvar.h> #include <sys/fcntl.h> @@ -58,7 +57,7 @@ #include <sys/unistd.h> #include <machine/stdarg.h> -#include <contrib/opensolaris/uts/common/sys/dtrace_impl.h> +#include <sys/dtrace.h> #define SYSTRACE_ARTIFICIAL_FRAMES 1 @@ -232,6 +231,10 @@ static void systrace_load(void *dummy) { + /* Create the /dev/dtrace/systrace entry. */ + systrace_cdev = make_dev(&systrace_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, + "dtrace/systrace"); + if (dtrace_register("syscall", &systrace_attr, DTRACE_PRIV_USER, NULL, &systrace_pops, NULL, &systrace_id) != 0) return; @@ -263,13 +266,9 @@ switch (type) { case MOD_LOAD: - /* Create the /dev/dtrace/systrace entry. */ - systrace_cdev = make_dev(&systrace_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, - "dtrace/systrace"); break; case MOD_UNLOAD: - error = systrace_unload(); break; case MOD_SHUTDOWN: @@ -290,8 +289,10 @@ return (0); } -SYSINIT(systrace_load, SI_SUB_DTRACE_PROVIDER, SI_ORDER_ANY, systrace_load, NULL) +SYSINIT(systrace_load, SI_SUB_DTRACE_PROVIDER, SI_ORDER_ANY, systrace_load, NULL); +SYSUNINIT(systrace_unload, SI_SUB_DTRACE_PROVIDER, SI_ORDER_ANY, systrace_unload, NULL); DEV_MODULE(systrace, systrace_modevent, NULL); MODULE_VERSION(systrace, 1); MODULE_DEPEND(systrace, dtrace, 1, 1, 1); +MODULE_DEPEND(systrace, opensolaris, 1, 1, 1);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801012253.m01Mr1El061003>