Add the DTrace kernel module makefiles.

This commit is contained in:
John Birrell 2008-05-17 02:31:19 +00:00
parent 385db7fe8f
commit b8915e90a2
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=179065
16 changed files with 345 additions and 0 deletions

View file

@ -0,0 +1,19 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../cddl/cyclic
KMOD= cyclic
SRCS= cyclic.c
SRCS+= vnode_if.h
CFLAGS+= -I${.CURDIR}/../../cddl/compat/opensolaris \
-I${.CURDIR}/../../cddl/contrib/opensolaris/uts/common \
-I${.CURDIR}/../.. \
-I${.CURDIR}/../../cddl/cyclic/${MACHINE_ARCH}
CFLAGS+= -DDEBUG=1
IGNORE_PRAGMA= 1
.include <bsd.kmod.mk>

View file

@ -0,0 +1,23 @@
# $FreeBSD$
.include <bsd.own.mk>
.include "Makefile.inc"
SUBDIR= dtmalloc \
dtrace \
dtrace_test \
dtraceall \
lockstat \
profile \
prototype \
sdt \
systrace
.if ${MACHINE_ARCH} == "amd64"
SUBDIR+= fasttrap \
fbt
.elif ${MACHINE_ARCH} == "i386"
SUBDIR+= fbt
.endif
.include <bsd.subdir.mk>

View file

@ -0,0 +1,29 @@
# $FreeBSD$
IGNORE_PRAGMA= 1
load :
-kldload cyclic
-kldload dtrace
.if ${MACHINE_ARCH} == "i386"
-kldload sdt
-kldload lockstat
-kldload fbt
-kldload prototype
.endif
-kldload profile
-kldload systrace
kldstat
unload :
-kldunload systrace
-kldunload profile
.if ${MACHINE_ARCH} == "i386"
-kldunload prototype
-kldunload fbt
-kldunload lockstat
-kldunload sdt
.endif
-kldunload dtrace
-kldunload cyclic
kldstat

View file

@ -0,0 +1,13 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../../cddl/dev/dtmalloc
KMOD= dtmalloc
SRCS= dtmalloc.c
SRCS+= vnode_if.h
CFLAGS+= -I${.CURDIR}/../../../cddl/compat/opensolaris \
-I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/common \
-I${.CURDIR}/../../..
.include <bsd.kmod.mk>

View file

@ -0,0 +1,44 @@
# $FreeBSD$
ARCHDIR= ${MACHINE_ARCH}
.PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/uts/common/dtrace
.PATH: ${.CURDIR}/../../../cddl/kern
.PATH: ${.CURDIR}/../../../cddl/dev/dtrace
.PATH: ${.CURDIR}/../../../cddl/dev/dtrace/${ARCHDIR}
KMOD= dtrace
SRCS= dtrace.c \
dtrace_asm.S \
dtrace_subr.c
.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
SRCS+= dis_tables.c \
instr_size.c
.endif
SRCS+= bus_if.h device_if.h vnode_if.h
# Needed for dtrace_asm.S
SRCS+= assym.s
# These are needed for assym.s
SRCS+= opt_compat.h opt_kstack_pages.h opt_nfs.h
.if ${MACHINE_ARCH} == "i386"
SRCS+= opt_apic.h
.endif
CFLAGS+= -I${.CURDIR}/../../../cddl/compat/opensolaris \
-I${.CURDIR}/../../../cddl/dev/dtrace \
-I${.CURDIR}/../../../cddl/dev/dtrace/${ARCHDIR} \
-I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/common \
-I${.CURDIR}/../../.. -DDIS_MEM
CFLAGS+= -DSMP -DDEBUG
EXPORT_SYMS= dtrace_register \
dtrace_unregister \
dtrace_probe_lookup
.include <bsd.kmod.mk>

View file

@ -0,0 +1,14 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../../cddl/dev/dtrace
KMOD= dtrace_test
SRCS= dtrace_test.c
SRCS+= vnode_if.h
CFLAGS+= -I${.CURDIR}/../../..
CFLAGS+= -D_KERNEL
.include <bsd.kmod.mk>

View file

@ -0,0 +1,8 @@
# $FreeBSD$
KMOD= dtraceall
SRCS= dtraceall.c
CFLAGS+= -I${.CURDIR}/../../..
.include <bsd.kmod.mk>

View file

@ -0,0 +1,74 @@
/*
* Copyright (C) 2008 John Birrell <jb@freebsd.org>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $FreeBSD$
*/
#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/conf.h>
#include <sys/kernel.h>
#include <sys/module.h>
#include <sys/errno.h>
static int
dtraceall_modevent(module_t mod __unused, int type, void *data __unused)
{
int error = 0;
switch (type) {
case MOD_LOAD:
break;
case MOD_UNLOAD:
break;
case MOD_SHUTDOWN:
break;
default:
error = EOPNOTSUPP;
break;
}
return (error);
}
DEV_MODULE(dtraceall, dtraceall_modevent, NULL);
MODULE_VERSION(dtraceall, 1);
/* All the DTrace modules should be dependencies here: */
MODULE_DEPEND(dtraceall, cyclic, 1, 1, 1);
MODULE_DEPEND(dtraceall, opensolaris, 1, 1, 1);
MODULE_DEPEND(dtraceall, dtrace, 1, 1, 1);
MODULE_DEPEND(dtraceall, dtmalloc, 1, 1, 1);
#if defined(__amd64__) || defined(__i386__)
MODULE_DEPEND(dtraceall, fbt, 1, 1, 1);
#endif
MODULE_DEPEND(dtraceall, lockstat, 1, 1, 1);
MODULE_DEPEND(dtraceall, sdt, 1, 1, 1);
MODULE_DEPEND(dtraceall, systrace, 1, 1, 1);
MODULE_DEPEND(dtraceall, profile, 1, 1, 1);

View file

@ -0,0 +1,19 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../../cddl/dev/fasttrap
KMOD= fasttrap
SRCS= fasttrap.c
SRCS+= vnode_if.h
CFLAGS+= -I${.CURDIR}/../../../cddl/compat/opensolaris \
-I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/common \
-I${.CURDIR}/../../..
.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
CFLAGS+= -I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/intel
.endif
CFLAGS+= -DSMP -DDEBUG
.include <bsd.kmod.mk>

View file

@ -0,0 +1,13 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../../cddl/dev/fbt
KMOD= fbt
SRCS= fbt.c
SRCS+= vnode_if.h
CFLAGS+= -I${.CURDIR}/../../../cddl/compat/opensolaris \
-I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/common \
-I${.CURDIR}/../../..
.include <bsd.kmod.mk>

View file

@ -0,0 +1,14 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../../cddl/dev/lockstat
KMOD= lockstat
SRCS= lockstat.c
SRCS+= vnode_if.h
CFLAGS+= -I${.CURDIR}/../../../cddl/compat/opensolaris \
-I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/common \
-I${.CURDIR}/../../..
.include <bsd.kmod.mk>

View file

@ -0,0 +1,13 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../../cddl/dev/profile
KMOD= profile
SRCS= profile.c
SRCS+= vnode_if.h
CFLAGS+= -I${.CURDIR}/../../../cddl/compat/opensolaris \
-I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/common \
-I${.CURDIR}/../../..
.include <bsd.kmod.mk>

View file

@ -0,0 +1,13 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../../cddl/dev
KMOD= prototype
SRCS= prototype.c
SRCS+= vnode_if.h
CFLAGS+= -I${.CURDIR}/../../../cddl/compat/opensolaris \
-I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/common \
-I${.CURDIR}/../../..
.include <bsd.kmod.mk>

View file

@ -0,0 +1,13 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../../cddl/dev/sdt
KMOD= sdt
SRCS= sdt.c
SRCS+= vnode_if.h
CFLAGS+= -I${.CURDIR}/../../../cddl/compat/opensolaris \
-I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/common \
-I${.CURDIR}/../../..
.include <bsd.kmod.mk>

View file

@ -0,0 +1,13 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../../cddl/dev/systrace
KMOD= systrace
SRCS= systrace.c
SRCS+= vnode_if.h
CFLAGS+= -I${.CURDIR}/../../../cddl/compat/opensolaris \
-I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/common \
-I${.CURDIR}/../../..
.include <bsd.kmod.mk>

View file

@ -0,0 +1,23 @@
# $FreeBSD$
.PATH: ${.CURDIR}/../../cddl/compat/opensolaris/kern
KMOD= opensolaris
SRCS= opensolaris.c \
opensolaris_cmn_err.c \
opensolaris_kmem.c
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "ia64"
.PATH: ${.CURDIR}/../../cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}
SRCS+= atomic.S
.else
SRCS+= opensolaris_atomic.c
.endif
CFLAGS+= -I${.CURDIR}/../../cddl/compat/opensolaris \
-I${.CURDIR}/../../cddl/contrib/opensolaris/uts/common \
-I${.CURDIR}/../..
IGNORE_PRAGMA= 1
.include <bsd.kmod.mk>