summaryrefslogtreecommitdiffstats
path: root/sys/modules/dtrace
diff options
context:
space:
mode:
authorjhibbits <jhibbits@FreeBSD.org>2014-01-15 05:19:37 +0000
committerjhibbits <jhibbits@FreeBSD.org>2014-01-15 05:19:37 +0000
commitb1391adbae9577879c598fce281eb1179d26142f (patch)
tree4f4aad2d0495e4af20e1796de50d77105fd6f2b6 /sys/modules/dtrace
parent44cab258a2754ab2d2c9af0fabd9cd6bda591fb9 (diff)
downloadFreeBSD-src-b1391adbae9577879c598fce281eb1179d26142f.zip
FreeBSD-src-b1391adbae9577879c598fce281eb1179d26142f.tar.gz
MFC r256543,r259245,r259421,r259668,r259674
r256543: Add fasttrap for PowerPC. This is the last piece of the DTrace/ppc puzzle. It's incomplete, it doesn't contain full instruction emulation, but it should be sufficient for most cases. r259245,r259421: (FBT) FBT now does work fully on PowerPC. Save r3 before using it for the trap check, else we end up saving the new r3, containing the trap instruction encoding (0x7c810808), and restoring it back with the frame on return. This caused it to panic on my ppc32 machine. r259668,r259674: Fix a typo in the FBT code.
Diffstat (limited to 'sys/modules/dtrace')
-rw-r--r--sys/modules/dtrace/Makefile2
-rw-r--r--sys/modules/dtrace/fasttrap/Makefile3
2 files changed, 4 insertions, 1 deletions
diff --git a/sys/modules/dtrace/Makefile b/sys/modules/dtrace/Makefile
index 2fa7ecd..8b31a17 100644
--- a/sys/modules/dtrace/Makefile
+++ b/sys/modules/dtrace/Makefile
@@ -20,7 +20,7 @@ SUBDIR= dtmalloc \
SUBDIR+= fasttrap fbt systrace_linux32
.endif
.if ${MACHINE_CPUARCH} == "powerpc"
-SUBDIR+= fbt
+SUBDIR+= fbt fasttrap
.endif
.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_ARCH} == "powerpc64"
SUBDIR+= systrace_freebsd32
diff --git a/sys/modules/dtrace/fasttrap/Makefile b/sys/modules/dtrace/fasttrap/Makefile
index 6008498..50b5c58 100644
--- a/sys/modules/dtrace/fasttrap/Makefile
+++ b/sys/modules/dtrace/fasttrap/Makefile
@@ -13,6 +13,9 @@ CFLAGS+= -I${.CURDIR}/../../../cddl/compat/opensolaris \
.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
CFLAGS+= -I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/intel
.PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/uts/intel/dtrace
+.elif ${MACHINE_CPUARCH} == "powerpc"
+CFLAGS+= -I${.CURDIR}/../../../cddl/contrib/opensolaris/uts/powerpc
+.PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/uts/powerpc/dtrace
.endif
CFLAGS+= -DSMP
OpenPOWER on IntegriCloud