summaryrefslogtreecommitdiff
path: root/sys/modules
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>2015-03-08 17:11:57 +0000
committerchristos <christos@NetBSD.org>2015-03-08 17:11:57 +0000
commit692e9dd7d93eddba09615bc720e913baf388de7d (patch)
treec891733163190722f265cb1bb4ad34386662444b /sys/modules
parent0581368b512a55f824c483faedcd2dbee8c9055e (diff)
dtrace syscall for linux32
Diffstat (limited to 'sys/modules')
-rw-r--r--sys/modules/dtrace/Makefile6
-rw-r--r--sys/modules/dtrace/linux32_syscall/Makefile15
-rw-r--r--sys/modules/dtrace/linux32_syscall/emultrace.h22
3 files changed, 40 insertions, 3 deletions
diff --git a/sys/modules/dtrace/Makefile b/sys/modules/dtrace/Makefile
index 0edd9107463..b26c6317937 100644
--- a/sys/modules/dtrace/Makefile
+++ b/sys/modules/dtrace/Makefile
@@ -1,14 +1,14 @@
-# $NetBSD: Makefile,v 1.5 2015/03/07 15:13:04 christos Exp $
+# $NetBSD: Makefile,v 1.6 2015/03/08 17:11:57 christos Exp $
# $FreeBSD: src/sys/modules/dtrace/Makefile,v 1.6.2.1 2009/08/03 08:13:06 kensmith Exp $
.include <bsd.own.mk>
-SUBDIR= dtrace sdt fbt profile syscall
+SUBDIR= dtrace sdt fbt lockstat profile syscall
SUBDIR+= linux_syscall
.if ${MACHINE_ARCH} == "x86_64"
SUBDIR+= netbsd32_syscall
-#SUBDIR+= linux32_syscall
+SUBDIR+= linux32_syscall
.endif
.include <bsd.subdir.mk>
diff --git a/sys/modules/dtrace/linux32_syscall/Makefile b/sys/modules/dtrace/linux32_syscall/Makefile
new file mode 100644
index 00000000000..ddb1071023a
--- /dev/null
+++ b/sys/modules/dtrace/linux32_syscall/Makefile
@@ -0,0 +1,15 @@
+# $FreeBSD: src/sys/modules/dtrace/sdt/Makefile,v 1.1.4.1 2009/08/03 08:13:06 kensmith Exp $
+
+.include "../../Makefile.inc"
+
+.PATH: ${NETBSDSRCDIR}/external/cddl/osnet/dev/systrace
+
+KMOD= dtrace_syscall_linux32
+SRCS= systrace.c
+
+CPPFLAGS+= -I${NETBSDSRCDIR}/external/cddl/osnet/sys \
+ -I${NETBSDSRCDIR}/external/cddl/osnet/dist/uts/common
+
+CPPFLAGS+= -Wno-unknown-pragmas
+
+.include <bsd.kmodule.mk>
diff --git a/sys/modules/dtrace/linux32_syscall/emultrace.h b/sys/modules/dtrace/linux32_syscall/emultrace.h
new file mode 100644
index 00000000000..f827873a0fa
--- /dev/null
+++ b/sys/modules/dtrace/linux32_syscall/emultrace.h
@@ -0,0 +1,22 @@
+/*
+ * The syscall arguments are processed into a DTrace argument array
+ * using a generated function. See sys/kern/makesyscalls.sh.
+ */
+#define COMPAT_NETBSD32
+
+#include <compat/netbsd32/netbsd32.h>
+#include <compat/netbsd32/netbsd32_syscallargs.h>
+
+#include <compat/linux/common/linux_types.h>
+#include <compat/linux/common/linux_mmap.h>
+#include <compat/linux/common/linux_signal.h>
+#include <compat/linux/linux_syscallargs.h>
+
+#include <compat/linux32/common/linux32_types.h>
+#include <compat/linux32/common/linux32_signal.h>
+#include <compat/linux32/linux32_syscall.h>
+#include <compat/linux32/linux32_syscallargs.h>
+#include <compat/linux32/linux32_systrace_args.c>
+
+#define emulname linux32
+#define EMULNAME LINUX32