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: stable/11/sys/modules/dtrace/dtraceall/dtraceall.c 332566 2018-04-16 14:39:04Z lidl $ 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); 69276304Sjulian#if defined(NFSCL) 70223280SrmacklemMODULE_DEPEND(dtraceall, dtnfscl, 1, 1, 1); 71273762Sjulian#endif 72285009Sbr#if defined(__aarch64__) || defined(__amd64__) || defined(__arm__) || \ 73332566Slidl defined(__i386__) || defined(__mips__) || \ 74332566Slidl defined(__powerpc__) 75248457SjhibbitsMODULE_DEPEND(dtraceall, fbt, 1, 1, 1); 76248457Sjhibbits#endif 77179065Sjb#if defined(__amd64__) || defined(__i386__) 78211753SrpauloMODULE_DEPEND(dtraceall, fasttrap, 1, 1, 1); 79179065Sjb#endif 80179065SjbMODULE_DEPEND(dtraceall, sdt, 1, 1, 1); 81179065SjbMODULE_DEPEND(dtraceall, systrace, 1, 1, 1); 82219561Savg#if defined(COMPAT_FREEBSD32) 83219561SavgMODULE_DEPEND(dtraceall, systrace_freebsd32, 1, 1, 1); 84219561Savg#endif 85179065SjbMODULE_DEPEND(dtraceall, profile, 1, 1, 1); 86