1179065Sjb/* 2179065Sjb * Copyright (C) 2008 John Birrell <jb@freebsd.org> 3179065Sjb * 4179065Sjb * Redistribution and use in source and binary forms, with or without 5179065Sjb * modification, are permitted provided that the following conditions 6179065Sjb * are met: 7179065Sjb * 1. Redistributions of source code must retain the above copyright 8179065Sjb * notice, this list of conditions and the following disclaimer. 9179065Sjb * 2. Redistributions in binary form must reproduce the above copyright 10179065Sjb * notice, this list of conditions and the following disclaimer in the 11179065Sjb * documentation and/or other materials provided with the distribution. 12179065Sjb * 13179065Sjb * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14179065Sjb * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15179065Sjb * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16179065Sjb * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE 17179065Sjb * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18179065Sjb * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19179065Sjb * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20179065Sjb * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21179065Sjb * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22179065Sjb * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23179065Sjb * SUCH DAMAGE. 24179065Sjb * 25179065Sjb * $FreeBSD$ 26179065Sjb */ 27179065Sjb 28179065Sjb#include <sys/cdefs.h> 29179065Sjb#include <sys/param.h> 30179065Sjb#include <sys/systm.h> 31179065Sjb#include <sys/conf.h> 32179065Sjb#include <sys/kernel.h> 33179065Sjb#include <sys/module.h> 34179065Sjb#include <sys/errno.h> 35219561Savg#include "opt_compat.h" 36239971Srpaulo#include "opt_nfs.h" 37179065Sjb 38179065Sjbstatic int 39179065Sjbdtraceall_modevent(module_t mod __unused, int type, void *data __unused) 40179065Sjb{ 41179065Sjb int error = 0; 42179065Sjb 43179065Sjb switch (type) { 44179065Sjb case MOD_LOAD: 45179065Sjb break; 46179065Sjb 47179065Sjb case MOD_UNLOAD: 48179065Sjb break; 49179065Sjb 50179065Sjb case MOD_SHUTDOWN: 51179065Sjb break; 52179065Sjb 53179065Sjb default: 54179065Sjb error = EOPNOTSUPP; 55179065Sjb break; 56179065Sjb 57179065Sjb } 58179065Sjb 59179065Sjb return (error); 60179065Sjb} 61179065Sjb 62179065SjbDEV_MODULE(dtraceall, dtraceall_modevent, NULL); 63179065SjbMODULE_VERSION(dtraceall, 1); 64179065Sjb 65179065Sjb/* All the DTrace modules should be dependencies here: */ 66179065SjbMODULE_DEPEND(dtraceall, opensolaris, 1, 1, 1); 67179065SjbMODULE_DEPEND(dtraceall, dtrace, 1, 1, 1); 68179065SjbMODULE_DEPEND(dtraceall, dtmalloc, 1, 1, 1); 69287090Sjulian#if defined(NFSCL) 70223280SrmacklemMODULE_DEPEND(dtraceall, dtnfscl, 1, 1, 1); 71287090Sjulian#endif 72239971Srpaulo#if defined(NFSCLIENT) 73190293SrwatsonMODULE_DEPEND(dtraceall, dtnfsclient, 1, 1, 1); 74239971Srpaulo#endif 75248457Sjhibbits#if defined(__amd64__) || defined(__i386__) || defined(__powerpc__) 76248457SjhibbitsMODULE_DEPEND(dtraceall, fbt, 1, 1, 1); 77248457Sjhibbits#endif 78179065Sjb#if defined(__amd64__) || defined(__i386__) 79211753SrpauloMODULE_DEPEND(dtraceall, fasttrap, 1, 1, 1); 80179065Sjb#endif 81192853SssonMODULE_DEPEND(dtraceall, lockstat, 1, 1, 1); 82179065SjbMODULE_DEPEND(dtraceall, sdt, 1, 1, 1); 83179065SjbMODULE_DEPEND(dtraceall, systrace, 1, 1, 1); 84219561Savg#if defined(COMPAT_FREEBSD32) 85219561SavgMODULE_DEPEND(dtraceall, systrace_freebsd32, 1, 1, 1); 86219561Savg#endif 87179065SjbMODULE_DEPEND(dtraceall, profile, 1, 1, 1); 88