From owner-p4-projects@FreeBSD.ORG Tue Jan 1 22:20:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 294F716A50A; Tue, 1 Jan 2008 22:20:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E269216A507 for ; Tue, 1 Jan 2008 22:20:24 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D05C213C465 for ; Tue, 1 Jan 2008 22:20:24 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m01MKOxQ042707 for ; Tue, 1 Jan 2008 22:20:24 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m01MKOU5042704 for perforce@freebsd.org; Tue, 1 Jan 2008 22:20:24 GMT (envelope-from jb@freebsd.org) Date: Tue, 1 Jan 2008 22:20:24 GMT Message-Id: <200801012220.m01MKOU5042704@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 132258 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2008 22:20:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=132258 Change 132258 by jb@jb_freebsd1 on 2008/01/01 22:19:46 Update the prototype provider: - Add a SYSUNINIT. - Move code out of modevent to load/unload. - Add a dependency on the opensolaris module. Note that the prototype provider does no more than register itself as a provider. It's just a template for writing a new DTrace provider for FreeBSD to give a starting set of functions and include files in the absense of a DTrace provider writer's guide. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/prototype.c#5 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/prototype.c#5 (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 #include #include -#include #include #include #include @@ -59,7 +58,7 @@ #include #include -#include +#include #include static d_open_t prototype_open; @@ -129,6 +128,10 @@ static void prototype_load(void *dummy) { + /* Create the /dev/dtrace/prototype entry. */ + prototype_cdev = make_dev(&prototype_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, + "dtrace/prototype"); + if (dtrace_register("prototype", &prototype_attr, DTRACE_PRIV_USER, NULL, &prototype_pops, NULL, &prototype_id) != 0) return; @@ -156,13 +159,9 @@ switch (type) { case MOD_LOAD: - /* Create the /dev/dtrace/prototype entry. */ - prototype_cdev = make_dev(&prototype_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, - "dtrace/prototype"); break; case MOD_UNLOAD: - error = prototype_unload(); break; case MOD_SHUTDOWN: @@ -184,8 +183,10 @@ return (0); } -SYSINIT(prototype_load, SI_SUB_DTRACE_PROVIDER, SI_ORDER_ANY, prototype_load, NULL) +SYSINIT(prototype_load, SI_SUB_DTRACE_PROVIDER, SI_ORDER_ANY, prototype_load, NULL); +SYSUNINIT(prototype_load, SI_SUB_DTRACE_PROVIDER, SI_ORDER_ANY, prototype_unload, NULL); DEV_MODULE(prototype, prototype_modevent, NULL); MODULE_VERSION(prototype, 1); MODULE_DEPEND(prototype, dtrace, 1, 1, 1); +MODULE_DEPEND(prototype, opensolaris, 1, 1, 1);