summaryrefslogtreecommitdiffstats
path: root/sys/ia64/include/smp.h
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2000-09-29 13:46:07 +0000
committerdfr <dfr@FreeBSD.org>2000-09-29 13:46:07 +0000
commit263f9f686317c48283eeb1e362d5f2b85791d899 (patch)
tree8fe9163c4a062545fc39dae57fe3beec1daf9cdb /sys/ia64/include/smp.h
parentfa6af7ab3eed1a53d0df517fc2c374fd886c6e63 (diff)
downloadFreeBSD-src-263f9f686317c48283eeb1e362d5f2b85791d899.zip
FreeBSD-src-263f9f686317c48283eeb1e362d5f2b85791d899.tar.gz
This is the first snapshot of the FreeBSD/ia64 kernel. This kernel will
not work on any real hardware (or fully work on any simulator). Much more needs to happen before this is actually functional but its nice to see the FreeBSD copyright message appear in the ia64 simulator.
Diffstat (limited to 'sys/ia64/include/smp.h')
-rw-r--r--sys/ia64/include/smp.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/sys/ia64/include/smp.h b/sys/ia64/include/smp.h
new file mode 100644
index 0000000..65c85ef
--- /dev/null
+++ b/sys/ia64/include/smp.h
@@ -0,0 +1,48 @@
+/*
+ * $FreeBSD$
+ */
+#ifndef _MACHINE_SMP_H_
+#define _MACHINE_SMP_H_
+
+#ifdef _KERNEL
+
+#include <machine/mutex.h>
+#include <machine/ipl.h>
+#include <sys/ktr.h>
+
+#ifndef LOCORE
+
+#define BETTER_CLOCK /* unconditional on ia64 */
+
+/* global data in mp_machdep.c */
+extern volatile u_int checkstate_probed_cpus;
+extern volatile u_int checkstate_need_ast;
+extern volatile u_int resched_cpus;
+extern void (*cpustop_restartfunc) __P((void));
+
+extern int smp_active;
+extern int mp_ncpus;
+extern u_int all_cpus;
+extern u_int started_cpus;
+extern u_int stopped_cpus;
+
+/* functions in mp_machdep.c */
+void mp_start(void);
+void mp_announce(void);
+void smp_invltlb(void);
+void forward_statclock(int pscnt);
+void forward_hardclock(int pscnt);
+void forward_signal(struct proc *);
+void forward_roundrobin(void);
+int stop_cpus(u_int);
+int restart_cpus(u_int);
+void smp_rendezvous_action(void);
+void smp_rendezvous(void (*)(void *),
+ void (*)(void *),
+ void (*)(void *),
+ void *arg);
+void smp_init_secondary(void);
+
+#endif /* !LOCORE */
+#endif /* _KERNEL */
+#endif
OpenPOWER on IntegriCloud