svn commit: r257417 - in head/sys: amd64/amd64 cddl/dev/dtrace/amd64 i386/i386 mips/mips powerpc/aim sys x86/include
Mark Johnston
markj at FreeBSD.org
Thu Oct 31 02:35:02 UTC 2013
Author: markj
Date: Thu Oct 31 02:35:00 2013
New Revision: 257417
URL: http://svnweb.freebsd.org/changeset/base/257417
Log:
Remove references to an unused fasttrap probe hook, and remove the
corresponding x86 trap type. Userland DTrace probes are currently handled
by the other fasttrap hooks (dtrace_pid_probe_ptr and
dtrace_return_probe_ptr).
Discussed with: rpaulo
Modified:
head/sys/amd64/amd64/trap.c
head/sys/cddl/dev/dtrace/amd64/dtrace_subr.c
head/sys/i386/i386/trap.c
head/sys/mips/mips/trap.c
head/sys/powerpc/aim/trap.c
head/sys/sys/dtrace_bsd.h
head/sys/x86/include/trap.h
Modified: head/sys/amd64/amd64/trap.c
==============================================================================
--- head/sys/amd64/amd64/trap.c Thu Oct 31 02:27:16 2013 (r257416)
+++ head/sys/amd64/amd64/trap.c Thu Oct 31 02:35:00 2013 (r257417)
@@ -114,9 +114,8 @@ dtrace_doubletrap_func_t dtrace_doubletr
systrace_probe_func_t systrace_probe_func;
/*
- * These hooks are necessary for the pid, usdt and fasttrap providers.
+ * These hooks are necessary for the pid and usdt providers.
*/
-dtrace_fasttrap_probe_ptr_t dtrace_fasttrap_probe_ptr;
dtrace_pid_probe_ptr_t dtrace_pid_probe_ptr;
dtrace_return_probe_ptr_t dtrace_return_probe_ptr;
#endif
@@ -128,7 +127,7 @@ void dblfault_handler(struct trapframe *
static int trap_pfault(struct trapframe *, int);
static void trap_fatal(struct trapframe *, vm_offset_t);
-#define MAX_TRAP_MSG 33
+#define MAX_TRAP_MSG 32
static char *trap_msg[] = {
"", /* 0 unused */
"privileged instruction fault", /* 1 T_PRIVINFLT */
@@ -163,7 +162,6 @@ static char *trap_msg[] = {
"reserved (unknown) fault", /* 30 T_RESERVED */
"", /* 31 unused (reserved) */
"DTrace pid return trap", /* 32 T_DTRACE_RET */
- "DTrace fasttrap probe trap", /* 33 T_DTRACE_PROBE */
};
#ifdef KDB
@@ -255,16 +253,11 @@ trap(struct trapframe *frame)
* handled the trap and modified the trap frame so that this
* function can return normally.
*/
- if (type == T_DTRACE_PROBE || type == T_DTRACE_RET ||
- type == T_BPTFLT) {
+ if (type == T_DTRACE_RET || type == T_BPTFLT) {
struct reg regs;
fill_frame_regs(frame, ®s);
- if (type == T_DTRACE_PROBE &&
- dtrace_fasttrap_probe_ptr != NULL &&
- dtrace_fasttrap_probe_ptr(®s) == 0)
- goto out;
- else if (type == T_BPTFLT &&
+ if (type == T_BPTFLT &&
dtrace_pid_probe_ptr != NULL &&
dtrace_pid_probe_ptr(®s) == 0)
goto out;
Modified: head/sys/cddl/dev/dtrace/amd64/dtrace_subr.c
==============================================================================
--- head/sys/cddl/dev/dtrace/amd64/dtrace_subr.c Thu Oct 31 02:27:16 2013 (r257416)
+++ head/sys/cddl/dev/dtrace/amd64/dtrace_subr.c Thu Oct 31 02:35:00 2013 (r257417)
@@ -142,7 +142,6 @@ dtrace_sync(void)
}
#ifdef notyet
-int (*dtrace_fasttrap_probe_ptr)(struct regs *);
int (*dtrace_pid_probe_ptr)(struct regs *);
int (*dtrace_return_probe_ptr)(struct regs *);
@@ -213,13 +212,6 @@ dtrace_user_probe(struct regs *rp, caddr
rw_exit(rwp);
rp->r_pc = npc;
- } else if (rp->r_trapno == T_DTRACE_PROBE) {
- rwp = &CPU->cpu_ft_lock;
- rw_enter(rwp, RW_READER);
- if (dtrace_fasttrap_probe_ptr != NULL)
- (void) (*dtrace_fasttrap_probe_ptr)(rp);
- rw_exit(rwp);
-
} else if (rp->r_trapno == T_BPTFLT) {
uint8_t instr;
rwp = &CPU->cpu_ft_lock;
Modified: head/sys/i386/i386/trap.c
==============================================================================
--- head/sys/i386/i386/trap.c Thu Oct 31 02:27:16 2013 (r257416)
+++ head/sys/i386/i386/trap.c Thu Oct 31 02:35:00 2013 (r257417)
@@ -123,9 +123,8 @@ dtrace_doubletrap_func_t dtrace_doubletr
systrace_probe_func_t systrace_probe_func;
/*
- * These hooks are necessary for the pid, usdt and fasttrap providers.
+ * These hooks are necessary for the pid and usdt providers.
*/
-dtrace_fasttrap_probe_ptr_t dtrace_fasttrap_probe_ptr;
dtrace_pid_probe_ptr_t dtrace_pid_probe_ptr;
dtrace_return_probe_ptr_t dtrace_return_probe_ptr;
#endif
@@ -139,7 +138,7 @@ void dblfault_handler(void);
extern inthand_t IDTVEC(lcall_syscall);
-#define MAX_TRAP_MSG 33
+#define MAX_TRAP_MSG 32
static char *trap_msg[] = {
"", /* 0 unused */
"privileged instruction fault", /* 1 T_PRIVINFLT */
@@ -174,8 +173,6 @@ static char *trap_msg[] = {
"reserved (unknown) fault", /* 30 T_RESERVED */
"", /* 31 unused (reserved) */
"DTrace pid return trap", /* 32 T_DTRACE_RET */
- "DTrace fasttrap probe trap", /* 33 T_DTRACE_PROBE */
-
};
#if defined(I586_CPU) && !defined(NO_F00F_HACK)
@@ -275,15 +272,10 @@ trap(struct trapframe *frame)
* handled the trap and modified the trap frame so that this
* function can return normally.
*/
- if (type == T_DTRACE_PROBE || type == T_DTRACE_RET ||
- type == T_BPTFLT) {
+ if (type == T_DTRACE_RET || type == T_BPTFLT) {
struct reg regs;
fill_frame_regs(frame, ®s);
- if (type == T_DTRACE_PROBE &&
- dtrace_fasttrap_probe_ptr != NULL &&
- dtrace_fasttrap_probe_ptr(®s) == 0)
- goto out;
if (type == T_BPTFLT &&
dtrace_pid_probe_ptr != NULL &&
dtrace_pid_probe_ptr(®s) == 0)
Modified: head/sys/mips/mips/trap.c
==============================================================================
--- head/sys/mips/mips/trap.c Thu Oct 31 02:27:16 2013 (r257416)
+++ head/sys/mips/mips/trap.c Thu Oct 31 02:35:00 2013 (r257417)
@@ -112,9 +112,8 @@ dtrace_doubletrap_func_t dtrace_doubletr
systrace_probe_func_t systrace_probe_func;
/*
- * These hooks are necessary for the pid, usdt and fasttrap providers.
+ * These hooks are necessary for the pid and usdt providers.
*/
-dtrace_fasttrap_probe_ptr_t dtrace_fasttrap_probe_ptr;
dtrace_pid_probe_ptr_t dtrace_pid_probe_ptr;
dtrace_return_probe_ptr_t dtrace_return_probe_ptr;
#endif
@@ -639,7 +638,7 @@ trap(struct trapframe *trapframe)
* function can return normally.
*/
/*
- * XXXDTRACE: add fasttrap and pid probes handlers here (if ever)
+ * XXXDTRACE: add pid probe handler here (if ever)
*/
if (!usermode) {
if (dtrace_trap_func != NULL && (*dtrace_trap_func)(trapframe, type))
Modified: head/sys/powerpc/aim/trap.c
==============================================================================
--- head/sys/powerpc/aim/trap.c Thu Oct 31 02:27:16 2013 (r257416)
+++ head/sys/powerpc/aim/trap.c Thu Oct 31 02:35:00 2013 (r257417)
@@ -121,9 +121,8 @@ dtrace_doubletrap_func_t dtrace_doubletr
systrace_probe_func_t systrace_probe_func;
/*
- * These hooks are necessary for the pid, usdt and fasttrap providers.
+ * These hooks are necessary for the pid and usdt providers.
*/
-dtrace_fasttrap_probe_ptr_t dtrace_fasttrap_probe_ptr;
dtrace_pid_probe_ptr_t dtrace_pid_probe_ptr;
dtrace_return_probe_ptr_t dtrace_return_probe_ptr;
int (*dtrace_invop_jump_addr)(struct trapframe *);
@@ -208,7 +207,7 @@ trap(struct trapframe *frame)
* function can return normally.
*/
/*
- * XXXDTRACE: add fasttrap and pid probes handlers here (if ever)
+ * XXXDTRACE: add pid probe handler here (if ever)
*/
if (dtrace_trap_func != NULL && (*dtrace_trap_func)(frame, type))
return;
Modified: head/sys/sys/dtrace_bsd.h
==============================================================================
--- head/sys/sys/dtrace_bsd.h Thu Oct 31 02:27:16 2013 (r257416)
+++ head/sys/sys/dtrace_bsd.h Thu Oct 31 02:35:00 2013 (r257417)
@@ -70,8 +70,6 @@ extern dtrace_invop_func_t dtrace_invop_
extern dtrace_doubletrap_func_t dtrace_doubletrap_func;
/* Pid provider hooks */
-typedef int (*dtrace_fasttrap_probe_ptr_t)(struct reg *);
-extern dtrace_fasttrap_probe_ptr_t dtrace_fasttrap_probe_ptr;
typedef int (*dtrace_pid_probe_ptr_t)(struct reg *);
extern dtrace_pid_probe_ptr_t dtrace_pid_probe_ptr;
typedef int (*dtrace_return_probe_ptr_t)(struct reg *);
Modified: head/sys/x86/include/trap.h
==============================================================================
--- head/sys/x86/include/trap.h Thu Oct 31 02:27:16 2013 (r257416)
+++ head/sys/x86/include/trap.h Thu Oct 31 02:35:00 2013 (r257417)
@@ -63,7 +63,6 @@
#define T_XMMFLT 29 /* SIMD floating-point exception */
#define T_RESERVED 30 /* reserved (unknown) */
#define T_DTRACE_RET 32 /* DTrace pid return */
-#define T_DTRACE_PROBE 33 /* DTrace fasttrap probe */
/* XXX most of the following codes aren't used, but could be. */
More information about the svn-src-all
mailing list