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