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, &regs);
-		if (type == T_DTRACE_PROBE &&
-		    dtrace_fasttrap_probe_ptr != NULL &&
-		    dtrace_fasttrap_probe_ptr(&regs) == 0)
-			goto out;
-		else if (type == T_BPTFLT &&
+		if (type == T_BPTFLT &&
 		    dtrace_pid_probe_ptr != NULL &&
 		    dtrace_pid_probe_ptr(&regs) == 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, &regs);
-		if (type == T_DTRACE_PROBE &&
-		    dtrace_fasttrap_probe_ptr != NULL &&
-		    dtrace_fasttrap_probe_ptr(&regs) == 0)
-			goto out;
 		if (type == T_BPTFLT &&
 		    dtrace_pid_probe_ptr != NULL &&
 		    dtrace_pid_probe_ptr(&regs) == 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