1b8915e90SJohn Birrell /* 2b8915e90SJohn Birrell * Copyright (C) 2008 John Birrell <jb@freebsd.org> 3b8915e90SJohn Birrell * 4b8915e90SJohn Birrell * Redistribution and use in source and binary forms, with or without 5b8915e90SJohn Birrell * modification, are permitted provided that the following conditions 6b8915e90SJohn Birrell * are met: 7b8915e90SJohn Birrell * 1. Redistributions of source code must retain the above copyright 8b8915e90SJohn Birrell * notice, this list of conditions and the following disclaimer. 9b8915e90SJohn Birrell * 2. Redistributions in binary form must reproduce the above copyright 10b8915e90SJohn Birrell * notice, this list of conditions and the following disclaimer in the 11b8915e90SJohn Birrell * documentation and/or other materials provided with the distribution. 12b8915e90SJohn Birrell * 13b8915e90SJohn Birrell * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14b8915e90SJohn Birrell * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15b8915e90SJohn Birrell * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16b8915e90SJohn Birrell * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE 17b8915e90SJohn Birrell * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18b8915e90SJohn Birrell * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19b8915e90SJohn Birrell * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20b8915e90SJohn Birrell * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21b8915e90SJohn Birrell * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22b8915e90SJohn Birrell * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23b8915e90SJohn Birrell * SUCH DAMAGE. 24b8915e90SJohn Birrell * 25b8915e90SJohn Birrell * $FreeBSD$ 26b8915e90SJohn Birrell */ 27b8915e90SJohn Birrell 28b8915e90SJohn Birrell #include <sys/cdefs.h> 29b8915e90SJohn Birrell #include <sys/param.h> 30b8915e90SJohn Birrell #include <sys/systm.h> 31b8915e90SJohn Birrell #include <sys/conf.h> 32b8915e90SJohn Birrell #include <sys/kernel.h> 33b8915e90SJohn Birrell #include <sys/module.h> 34b8915e90SJohn Birrell #include <sys/errno.h> 35308bce2aSAndriy Gapon #include "opt_compat.h" 364685b7aaSRui Paulo #include "opt_nfs.h" 37b8915e90SJohn Birrell 38b8915e90SJohn Birrell static int 39b8915e90SJohn Birrell dtraceall_modevent(module_t mod __unused, int type, void *data __unused) 40b8915e90SJohn Birrell { 41b8915e90SJohn Birrell int error = 0; 42b8915e90SJohn Birrell 43b8915e90SJohn Birrell switch (type) { 44b8915e90SJohn Birrell case MOD_LOAD: 45b8915e90SJohn Birrell break; 46b8915e90SJohn Birrell 47b8915e90SJohn Birrell case MOD_UNLOAD: 48b8915e90SJohn Birrell break; 49b8915e90SJohn Birrell 50b8915e90SJohn Birrell case MOD_SHUTDOWN: 51b8915e90SJohn Birrell break; 52b8915e90SJohn Birrell 53b8915e90SJohn Birrell default: 54b8915e90SJohn Birrell error = EOPNOTSUPP; 55b8915e90SJohn Birrell break; 56b8915e90SJohn Birrell 57b8915e90SJohn Birrell } 58b8915e90SJohn Birrell 59b8915e90SJohn Birrell return (error); 60b8915e90SJohn Birrell } 61b8915e90SJohn Birrell 62b8915e90SJohn Birrell DEV_MODULE(dtraceall, dtraceall_modevent, NULL); 63b8915e90SJohn Birrell MODULE_VERSION(dtraceall, 1); 64b8915e90SJohn Birrell 65b8915e90SJohn Birrell /* All the DTrace modules should be dependencies here: */ 66b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, opensolaris, 1, 1, 1); 67b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, dtrace, 1, 1, 1); 68b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, dtmalloc, 1, 1, 1); 693a3f4b0bSJulian Elischer #if defined(NFSCL) 708f0e65c9SRick Macklem MODULE_DEPEND(dtraceall, dtnfscl, 1, 1, 1); 71b8ded963SJulian Elischer #endif 72*b78ee15eSRuslan Bukin #if defined(__aarch64__) || defined(__amd64__) || defined(__arm__) || \ 73*b78ee15eSRuslan Bukin defined(__i386__) || defined(__powerpc__) 74b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, fbt, 1, 1, 1); 7580a5635cSJustin Hibbits #endif 7680a5635cSJustin Hibbits #if defined(__amd64__) || defined(__i386__) 774fbdc854SRui Paulo MODULE_DEPEND(dtraceall, fasttrap, 1, 1, 1); 78b8915e90SJohn Birrell #endif 79a5aedd68SStacey Son MODULE_DEPEND(dtraceall, lockstat, 1, 1, 1); 80b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, sdt, 1, 1, 1); 81b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, systrace, 1, 1, 1); 82308bce2aSAndriy Gapon #if defined(COMPAT_FREEBSD32) 83308bce2aSAndriy Gapon MODULE_DEPEND(dtraceall, systrace_freebsd32, 1, 1, 1); 84308bce2aSAndriy Gapon #endif 85b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, profile, 1, 1, 1); 86