freebsd-dev/sys/cddl/dev/dtrace
Justin Hibbits e40a5cd3ec Fix the stack tracing for dtrace/powerpc.
Summary:
Fix the stack tracing for dtrace/powerpc by using the trapexit/asttrapexit
return address sentinels instead of checking within the kernel address space.

As part of this, I had to add new inline functions.  FBT traces the kernel, so
we have to have special case handling for this, since a trap will create a full
new trap frame, and there's no way to pass around the 'real' stack.  I handle
this by special-casing 'aframes == 0' with the trap frame.  If aframes counts
out to the trap frame, then assume we're looking for the full kernel trap frame,
so switch to the real stack pointer.

Test Plan: Tested on powerpc64

Reviewers: rpaulo, markj, nwhitehorn

Reviewed By: markj, nwhitehorn

Differential Revision: https://reviews.freebsd.org/D788

MFC after:	3 week
Relnotes:	Yes
2014-09-17 02:43:47 +00:00
..
amd64 Use a C wrapper for trap() instead of checking and calling the DTrace trap 2014-07-19 02:27:31 +00:00
i386 Invoke the DTrace trap handler before calling trap() on amd64. This matches 2014-07-14 04:38:17 +00:00
mips Invoke the DTrace trap handler before calling trap() on amd64. This matches 2014-07-14 04:38:17 +00:00
powerpc Fix the stack tracing for dtrace/powerpc. 2014-09-17 02:43:47 +00:00
x86 Update dis_tables.c to the latest Illumos version. 2014-05-15 01:06:27 +00:00
dtrace_anon.c
dtrace_cddl.h MFV illumos r266986: 2014-06-26 19:38:16 +00:00
dtrace_debug.c Correct a series of errors in the hand-rolled locking for drace_debug.c: 2012-12-23 15:50:37 +00:00
dtrace_hacks.c
dtrace_ioctl.c Continue the crusade towards a dev_clone()-free kernel, removing its 2014-06-25 03:54:02 +00:00
dtrace_load.c Continue the crusade towards a dev_clone()-free kernel, removing its 2014-06-25 03:54:02 +00:00
dtrace_modevent.c
dtrace_sysctl.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
dtrace_test.c dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE 2013-11-26 08:46:27 +00:00
dtrace_unload.c Continue the crusade towards a dev_clone()-free kernel, removing its 2014-06-25 03:54:02 +00:00
dtrace_vtime.c