PERFORCE change 130444 for review

John Birrell jb at FreeBSD.org
Fri Dec 7 16:25:27 PST 2007


http://perforce.freebsd.org/chv.cgi?CH=130444

Change 130444 by jb at jb_freebsd1 on 2007/12/08 00:24:54

	Save some WIP.

Affected files ...

.. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_cddl.h#2 edit

Differences ...

==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_cddl.h#2 (text+ko) ====

@@ -25,10 +25,22 @@
 #ifndef _DTRACE_CDDL_H_
 #define	_DTRACE_CDDL_H_
 
+#include <sys/proc.h>
+
+/*
+ * Kernel DTrace extension to 'struct proc' for FreeBSD.
+ */
+typedef struct kdtrace_proc {
+	int		p_dtrace_probes;	/* Are there probes for this proc? */
+	u_int64_t	p_dtrace_count;		/* Number of DTrace tracepoints */
+	void		*p_dtrace_helpers;	/* DTrace helpers, if any */
+
+} kdtrace_proc_t;
+
 /*
  * Kernel DTrace extension to 'struct thread' for FreeBSD.
  */
-struct kdtrace_thread {
+typedef struct kdtrace_thread {
 	u_int8_t	td_dtrace_stop;	/* Indicates a DTrace-desired stop */
 	u_int8_t	td_dtrace_sig;	/* Signal sent via DTrace's raise() */
 	u_int		td_predcache;	/* DTrace predicate cache */
@@ -62,6 +74,30 @@
 					/* DTrace return sequence location. */
 	u_int64_t	td_hrtime;	/* Last time on cpu. */
 	int		td_errno;	/* Syscall return value. */
-};
+} kdtrace_thread_t;
+
+/*
+ * Definitions to reference fields in the FreeBSD DTrace structures defined
+ * above using the names of fields in similar structures in Solaris. Note 
+ * that the separation on FreeBSD is a licensing constraint designed to
+ * keep the GENERIC kernel BSD licensed.
+ */
+#define	t_dtrace_vtime	td_dtrace->td_dtrace_vtime
+#define	t_dtrace_start	td_dtrace->td_dtrace_start
+#define	t_dtrace_stop	td_dtrace->td_dtrace_stop
+#define	t_dtrace_sig	td_dtrace->td_dtrace_sig
+#define	t_predcache	td_dtrace->td_predcache
+#define p_dtrace_helpers	p_dtrace->p_dtrace_helpers
+
+/*
+ * Definitions for fields in struct proc which are named differntly in FreeBSD.
+ */
+#define	p_cred		p_ucred
+
+/*
+ * Definitions for fields in struct thread which are named differntly in FreeBSD.
+ */
+#define	t_procp		td_proc
+#define	t_tid		td_tid
 
 #endif	/* !_DTRACE_CDDL_H_ */


More information about the p4-projects mailing list