PERFORCE change 132268 for review
John Birrell
jb at FreeBSD.org
Tue Jan 1 14:53:02 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=132268
Change 132268 by jb at 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 at freebsd.org
+ * Portions Copyright 2006-2008 John Birrell jb at 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);
More information about the p4-projects
mailing list