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> 35b8915e90SJohn Birrell 36b8915e90SJohn Birrell static int 37b8915e90SJohn Birrell dtraceall_modevent(module_t mod __unused, int type, void *data __unused) 38b8915e90SJohn Birrell { 39b8915e90SJohn Birrell int error = 0; 40b8915e90SJohn Birrell 41b8915e90SJohn Birrell switch (type) { 42b8915e90SJohn Birrell case MOD_LOAD: 43b8915e90SJohn Birrell break; 44b8915e90SJohn Birrell 45b8915e90SJohn Birrell case MOD_UNLOAD: 46b8915e90SJohn Birrell break; 47b8915e90SJohn Birrell 48b8915e90SJohn Birrell case MOD_SHUTDOWN: 49b8915e90SJohn Birrell break; 50b8915e90SJohn Birrell 51b8915e90SJohn Birrell default: 52b8915e90SJohn Birrell error = EOPNOTSUPP; 53b8915e90SJohn Birrell break; 54b8915e90SJohn Birrell 55b8915e90SJohn Birrell } 56b8915e90SJohn Birrell 57b8915e90SJohn Birrell return (error); 58b8915e90SJohn Birrell } 59b8915e90SJohn Birrell 60b8915e90SJohn Birrell DEV_MODULE(dtraceall, dtraceall_modevent, NULL); 61b8915e90SJohn Birrell MODULE_VERSION(dtraceall, 1); 62b8915e90SJohn Birrell 63b8915e90SJohn Birrell /* All the DTrace modules should be dependencies here: */ 64b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, cyclic, 1, 1, 1); 65b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, opensolaris, 1, 1, 1); 66b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, dtrace, 1, 1, 1); 67b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, dtmalloc, 1, 1, 1); 6847294818SRobert Watson MODULE_DEPEND(dtraceall, dtnfsclient, 1, 1, 1); 69b8915e90SJohn Birrell #if defined(__amd64__) || defined(__i386__) 70b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, fbt, 1, 1, 1); 71*4fbdc854SRui Paulo MODULE_DEPEND(dtraceall, fasttrap, 1, 1, 1); 72b8915e90SJohn Birrell #endif 73a5aedd68SStacey Son MODULE_DEPEND(dtraceall, lockstat, 1, 1, 1); 74b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, sdt, 1, 1, 1); 75b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, systrace, 1, 1, 1); 76b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, profile, 1, 1, 1); 77