1179065Sjb/*
2179065Sjb * Copyright (C) 2008 John Birrell <jb@freebsd.org>
3179065Sjb *
4179065Sjb * Redistribution and use in source and binary forms, with or without
5179065Sjb * modification, are permitted provided that the following conditions
6179065Sjb * are met:
7179065Sjb * 1. Redistributions of source code must retain the above copyright
8179065Sjb *    notice, this list of conditions and the following disclaimer.
9179065Sjb * 2. Redistributions in binary form must reproduce the above copyright
10179065Sjb *    notice, this list of conditions and the following disclaimer in the
11179065Sjb *    documentation and/or other materials provided with the distribution.
12179065Sjb *
13179065Sjb * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14179065Sjb * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15179065Sjb * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16179065Sjb * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
17179065Sjb * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18179065Sjb * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19179065Sjb * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20179065Sjb * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21179065Sjb * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22179065Sjb * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23179065Sjb * SUCH DAMAGE.
24179065Sjb *
25179065Sjb * $FreeBSD: stable/11/sys/modules/dtrace/dtraceall/dtraceall.c 332566 2018-04-16 14:39:04Z lidl $
26179065Sjb */
27179065Sjb
28179065Sjb#include <sys/cdefs.h>
29179065Sjb#include <sys/param.h>
30179065Sjb#include <sys/systm.h>
31179065Sjb#include <sys/conf.h>
32179065Sjb#include <sys/kernel.h>
33179065Sjb#include <sys/module.h>
34179065Sjb#include <sys/errno.h>
35219561Savg#include "opt_compat.h"
36239971Srpaulo#include "opt_nfs.h"
37179065Sjb
38179065Sjbstatic int
39179065Sjbdtraceall_modevent(module_t mod __unused, int type, void *data __unused)
40179065Sjb{
41179065Sjb	int error = 0;
42179065Sjb
43179065Sjb	switch (type) {
44179065Sjb	case MOD_LOAD:
45179065Sjb		break;
46179065Sjb
47179065Sjb	case MOD_UNLOAD:
48179065Sjb		break;
49179065Sjb
50179065Sjb	case MOD_SHUTDOWN:
51179065Sjb		break;
52179065Sjb
53179065Sjb	default:
54179065Sjb		error = EOPNOTSUPP;
55179065Sjb		break;
56179065Sjb
57179065Sjb	}
58179065Sjb
59179065Sjb	return (error);
60179065Sjb}
61179065Sjb
62179065SjbDEV_MODULE(dtraceall, dtraceall_modevent, NULL);
63179065SjbMODULE_VERSION(dtraceall, 1);
64179065Sjb
65179065Sjb/* All the DTrace modules should be dependencies here: */
66179065SjbMODULE_DEPEND(dtraceall, opensolaris, 1, 1, 1);
67179065SjbMODULE_DEPEND(dtraceall, dtrace, 1, 1, 1);
68179065SjbMODULE_DEPEND(dtraceall, dtmalloc, 1, 1, 1);
69276304Sjulian#if defined(NFSCL)
70223280SrmacklemMODULE_DEPEND(dtraceall, dtnfscl, 1, 1, 1);
71273762Sjulian#endif
72285009Sbr#if defined(__aarch64__) || defined(__amd64__) || defined(__arm__) || \
73332566Slidl    defined(__i386__) || defined(__mips__) || \
74332566Slidl    defined(__powerpc__)
75248457SjhibbitsMODULE_DEPEND(dtraceall, fbt, 1, 1, 1);
76248457Sjhibbits#endif
77179065Sjb#if defined(__amd64__) || defined(__i386__)
78211753SrpauloMODULE_DEPEND(dtraceall, fasttrap, 1, 1, 1);
79179065Sjb#endif
80179065SjbMODULE_DEPEND(dtraceall, sdt, 1, 1, 1);
81179065SjbMODULE_DEPEND(dtraceall, systrace, 1, 1, 1);
82219561Savg#if defined(COMPAT_FREEBSD32)
83219561SavgMODULE_DEPEND(dtraceall, systrace_freebsd32, 1, 1, 1);
84219561Savg#endif
85179065SjbMODULE_DEPEND(dtraceall, profile, 1, 1, 1);
86