PERFORCE change 100927 for review

John Birrell jb at FreeBSD.org
Fri Jul 7 19:08:19 UTC 2006


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

Change 100927 by jb at jb_freebsd2 on 2006/07/07 19:07:36

	Move some hack functions into the i386 specific file to avoid
	clashing with the sparc64 ones. These aren't hacks -- they are just
	incomplete.

Affected files ...

.. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#18 edit
.. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_subr.c#3 edit

Differences ...

==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#18 (text+ko) ====

@@ -18,61 +18,16 @@
 	dtrace_speculation_clean
 	};
 void
-dtrace_sync(void)
-{
-#ifdef DOODAD
-        dtrace_xcall(DTRACE_CPUALL, (dtrace_xcall_t)dtrace_sync_func, NULL);
-#endif
-}
-void
 dtrace_vpanic(const char *fmt, __va_list args)
 {
 	kdb_backtrace();
 	vprintf(fmt,args);
 }
-int
-dtrace_getipl(void)
-{
-	return 0;
-}
 boolean_t
 priv_policy_only(const cred_t *a, int b, boolean_t c)
 {
 	return 0;
 }
-#ifdef DOODAD
-static int
-dtrace_xcall_func(dtrace_xcall_t func, void *arg)
-{
-	(*func)(arg);
-
-	return (0);
-}
-#endif
-void
-dtrace_xcall(processorid_t cpu, dtrace_xcall_t func, void *arg)
-{
-#ifdef DOODAD
-	cpuset_t set;
-
-	CPUSET_ZERO(set);
-
-	if (cpu == DTRACE_CPUALL) {
-		CPUSET_ALL(set);
-	} else {
-		CPUSET_ADD(set, cpu);
-	}
-
-	kpreempt_disable();
-	xc_sync((xc_arg_t)func, (xc_arg_t)arg, 0, X_CALL_HIPRI, set,
-		(xc_func_t)dtrace_xcall_func);
-	kpreempt_enable();
-#else
-	critical_enter();
-	(*func)(arg);
-	critical_exit();
-#endif
-}
 taskqid_t
 taskq_dispatch(taskq_t *a, task_func_t b, void *c, uint_t d)
 {

==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_subr.c#3 (text+ko) ====

@@ -134,13 +134,15 @@
 		dtrace_invop_func = NULL;
 }
 
-#ifdef DOODAD
 int
 dtrace_getipl(void)
 {
+#ifdef DOODAD
 	return (CPU->cpu_pri);
+#else
+	return (0);
+#endif
 }
-#endif
 
 /*ARGSUSED*/
 void
@@ -171,11 +173,11 @@
 
 	return (0);
 }
-
-/*ARGSUSED*/
+#endif
 void
 dtrace_xcall(processorid_t cpu, dtrace_xcall_t func, void *arg)
 {
+#ifdef DOODAD
 	cpuset_t set;
 
 	CPUSET_ZERO(set);
@@ -190,18 +192,28 @@
 	xc_sync((xc_arg_t)func, (xc_arg_t)arg, 0, X_CALL_HIPRI, set,
 		(xc_func_t)dtrace_xcall_func);
 	kpreempt_enable();
+#else
+	critical_enter();
+	(*func)(arg);
+	critical_exit();
+#endif
 }
 
+#ifdef DOODAD
 void
 dtrace_sync_func(void)
 {}
+#endif
 
 void
 dtrace_sync(void)
 {
-	dtrace_xcall(DTRACE_CPUALL, (dtrace_xcall_t)dtrace_sync_func, NULL);
+#ifdef DOODAD
+        dtrace_xcall(DTRACE_CPUALL, (dtrace_xcall_t)dtrace_sync_func, NULL);
+#endif
 }
 
+#ifdef DOODAD
 int (*dtrace_fasttrap_probe_ptr)(struct regs *);
 int (*dtrace_pid_probe_ptr)(struct regs *);
 int (*dtrace_return_probe_ptr)(struct regs *);


More information about the p4-projects mailing list