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