xref: /freebsd/sys/modules/dtrace/dtraceall/dtraceall.c (revision fe267a559009cbf34f9341666fe4d88a92c02d5e)
1*fe267a55SPedro F. Giffuni /*-
2*fe267a55SPedro F. Giffuni  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3*fe267a55SPedro 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  * $FreeBSD$
28b8915e90SJohn Birrell  */
29b8915e90SJohn Birrell 
30b8915e90SJohn Birrell #include <sys/cdefs.h>
31b8915e90SJohn Birrell #include <sys/param.h>
32b8915e90SJohn Birrell #include <sys/systm.h>
33b8915e90SJohn Birrell #include <sys/conf.h>
34b8915e90SJohn Birrell #include <sys/kernel.h>
35b8915e90SJohn Birrell #include <sys/module.h>
36b8915e90SJohn Birrell #include <sys/errno.h>
37308bce2aSAndriy Gapon #include "opt_compat.h"
384685b7aaSRui Paulo #include "opt_nfs.h"
39b8915e90SJohn Birrell 
40b8915e90SJohn Birrell static int
41b8915e90SJohn Birrell dtraceall_modevent(module_t mod __unused, int type, void *data __unused)
42b8915e90SJohn Birrell {
43b8915e90SJohn Birrell 	int error = 0;
44b8915e90SJohn Birrell 
45b8915e90SJohn Birrell 	switch (type) {
46b8915e90SJohn Birrell 	case MOD_LOAD:
47b8915e90SJohn Birrell 		break;
48b8915e90SJohn Birrell 
49b8915e90SJohn Birrell 	case MOD_UNLOAD:
50b8915e90SJohn Birrell 		break;
51b8915e90SJohn Birrell 
52b8915e90SJohn Birrell 	case MOD_SHUTDOWN:
53b8915e90SJohn Birrell 		break;
54b8915e90SJohn Birrell 
55b8915e90SJohn Birrell 	default:
56b8915e90SJohn Birrell 		error = EOPNOTSUPP;
57b8915e90SJohn Birrell 		break;
58b8915e90SJohn Birrell 
59b8915e90SJohn Birrell 	}
60b8915e90SJohn Birrell 
61b8915e90SJohn Birrell 	return (error);
62b8915e90SJohn Birrell }
63b8915e90SJohn Birrell 
64b8915e90SJohn Birrell DEV_MODULE(dtraceall, dtraceall_modevent, NULL);
65b8915e90SJohn Birrell MODULE_VERSION(dtraceall, 1);
66b8915e90SJohn Birrell 
67b8915e90SJohn Birrell /* All the DTrace modules should be dependencies here: */
68b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, opensolaris, 1, 1, 1);
69b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, dtrace, 1, 1, 1);
70b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, dtmalloc, 1, 1, 1);
713a3f4b0bSJulian Elischer #if defined(NFSCL)
728f0e65c9SRick Macklem MODULE_DEPEND(dtraceall, dtnfscl, 1, 1, 1);
73b8ded963SJulian Elischer #endif
74b78ee15eSRuslan Bukin #if defined(__aarch64__) || defined(__amd64__) || defined(__arm__) || \
75a8273e43SKurt Lidl     defined(__i386__) || defined(__mips__) || \
76a8273e43SKurt Lidl     defined(__powerpc__) || defined(__riscv)
77b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, fbt, 1, 1, 1);
7880a5635cSJustin Hibbits #endif
7980a5635cSJustin Hibbits #if defined(__amd64__) || defined(__i386__)
804fbdc854SRui Paulo MODULE_DEPEND(dtraceall, fasttrap, 1, 1, 1);
81b8915e90SJohn Birrell #endif
82b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, sdt, 1, 1, 1);
83b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, systrace, 1, 1, 1);
84308bce2aSAndriy Gapon #if defined(COMPAT_FREEBSD32)
85308bce2aSAndriy Gapon MODULE_DEPEND(dtraceall, systrace_freebsd32, 1, 1, 1);
86308bce2aSAndriy Gapon #endif
87b8915e90SJohn Birrell MODULE_DEPEND(dtraceall, profile, 1, 1, 1);
88