xref: /freebsd/sys/modules/dtrace/dtraceall/dtraceall.c (revision 8805377dad832ae12aaa14ec7e584f2463681ed9)
1fe267a55SPedro F. Giffuni /*-
24d846d26SWarner Losh  * SPDX-License-Identifier: BSD-2-Clause
3fe267a55SPedro F. Giffuni  *
4b8915e90SJohn Birrell  * Copyright (C) 2008 John Birrell <jb@freebsd.org>
5b8915e90SJohn Birrell  *
6b8915e90SJohn Birrell  * Redistribution and use in source and binary forms, with or without
7b8915e90SJohn Birrell  * modification, are permitted provided that the following conditions
8b8915e90SJohn Birrell  * are met:
9b8915e90SJohn Birrell  * 1. Redistributions of source code must retain the above copyright
10b8915e90SJohn Birrell  *    notice, this list of conditions and the following disclaimer.
11b8915e90SJohn Birrell  * 2. Redistributions in binary form must reproduce the above copyright
12b8915e90SJohn Birrell  *    notice, this list of conditions and the following disclaimer in the
13b8915e90SJohn Birrell  *    documentation and/or other materials provided with the distribution.
14b8915e90SJohn Birrell  *
15b8915e90SJohn Birrell  * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16b8915e90SJohn Birrell  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17b8915e90SJohn Birrell  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18b8915e90SJohn Birrell  * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
19b8915e90SJohn Birrell  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20b8915e90SJohn Birrell  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21b8915e90SJohn Birrell  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22b8915e90SJohn Birrell  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23b8915e90SJohn Birrell  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24b8915e90SJohn Birrell  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25b8915e90SJohn Birrell  * SUCH DAMAGE.
26b8915e90SJohn Birrell  */
27b8915e90SJohn Birrell 
28b8915e90SJohn Birrell #include <sys/param.h>
29b8915e90SJohn Birrell #include <sys/systm.h>
30b8915e90SJohn Birrell #include <sys/conf.h>
31b8915e90SJohn Birrell #include <sys/kernel.h>
32b8915e90SJohn Birrell #include <sys/module.h>
33b8915e90SJohn Birrell #include <sys/errno.h>
344685b7aaSRui Paulo #include "opt_nfs.h"
35b8915e90SJohn Birrell 
36b8915e90SJohn Birrell static int
dtraceall_modevent(module_t mod __unused,int type,void * data __unused)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, opensolaris, 1, 1, 1);
65b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, dtrace, 1, 1, 1);
66*8805377dSMark Johnston #if defined(AUDIT)
67*8805377dSMark Johnston MODULE_DEPEND(dtraceall, dtaudit, 1, 1, 1);
68*8805377dSMark Johnston #endif
69b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, dtmalloc, 1, 1, 1);
703a3f4b0bSJulian Elischer #if defined(NFSCL)
718f0e65c9SRick Macklem MODULE_DEPEND(dtraceall, dtnfscl, 1, 1, 1);
72b8ded963SJulian Elischer #endif
73b78ee15eSRuslan Bukin #if defined(__aarch64__) || defined(__amd64__) || defined(__arm__) || \
741ccc3107SMateusz Guzik     defined(__i386__) || defined(__powerpc__) || defined(__riscv)
75b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, fbt, 1, 1, 1);
7680a5635cSJustin Hibbits #endif
77e8541493SJustin Hibbits #if defined(__amd64__) || defined(__i386__) || defined(__powerpc__)
784fbdc854SRui Paulo MODULE_DEPEND(dtraceall, fasttrap, 1, 1, 1);
79bf7022deSMark Johnston #if defined(__amd64__)
80bf7022deSMark Johnston MODULE_DEPEND(dtraceall, kinst, 1, 1, 1);
81bf7022deSMark Johnston #endif
82b8915e90SJohn Birrell #endif
83b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, sdt, 1, 1, 1);
84b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, systrace, 1, 1, 1);
85308bce2aSAndriy Gapon #if defined(COMPAT_FREEBSD32)
86308bce2aSAndriy Gapon MODULE_DEPEND(dtraceall, systrace_freebsd32, 1, 1, 1);
87308bce2aSAndriy Gapon #endif
88b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, profile, 1, 1, 1);
89