aboutsummaryrefslogtreecommitdiff
path: root/sys/powerpc/include
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>2008-04-27 22:33:43 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>2008-04-27 22:33:43 +0000
commit12640815f815936a684029de569522738d5b22da (patch)
tree4b070e2f496ebbb1c51a6e269f603b5beaaa4f8a /sys/powerpc/include
parent7de3bc26a57277bf49faa8cb11ae591663068c6f (diff)
downloadsrc-12640815f815936a684029de569522738d5b22da.tar.gz
src-12640815f815936a684029de569522738d5b22da.zip
MFp4: SMP support
Notes
Notes: svn path=/head/; revision=178628
Diffstat (limited to 'sys/powerpc/include')
-rw-r--r--sys/powerpc/include/cpufunc.h10
-rw-r--r--sys/powerpc/include/pcpu.h15
2 files changed, 11 insertions, 14 deletions
diff --git a/sys/powerpc/include/cpufunc.h b/sys/powerpc/include/cpufunc.h
index a58d4c531673..6928fc3eb481 100644
--- a/sys/powerpc/include/cpufunc.h
+++ b/sys/powerpc/include/cpufunc.h
@@ -49,17 +49,9 @@ powerpc_mb(void)
struct thread;
#ifdef KDB
-void ppc_db_trap(void);
+void breakpoint(void);
#endif
-static __inline void
-breakpoint(void)
-{
-#ifdef KDB
- ppc_db_trap();
-#endif
-}
-
/* CPU register mangling inlines */
static __inline void
diff --git a/sys/powerpc/include/pcpu.h b/sys/powerpc/include/pcpu.h
index 3970ad542744..af9e54b2e0d5 100644
--- a/sys/powerpc/include/pcpu.h
+++ b/sys/powerpc/include/pcpu.h
@@ -40,6 +40,11 @@ struct pmap;
int pc_inside_intr; \
struct pmap *pc_curpmap; /* current pmap */ \
struct thread *pc_fputhread; /* current fpu user */ \
+ uintptr_t pc_hwref; \
+ uint32_t pc_pir; \
+ int pc_bsp:1; \
+ int pc_awake:1; \
+ uint32_t pc_ipimask; \
register_t pc_tempsave[CPUSAVE_LEN]; \
register_t pc_disisave[CPUSAVE_LEN]; \
register_t pc_dbsave[CPUSAVE_LEN];
@@ -112,18 +117,18 @@ struct pmap;
int pc_md_placeholder
#endif
-#define PCPUP ((struct pcpu *) powerpc_get_pcpup())
+#define pcpup ((struct pcpu *) powerpc_get_pcpup())
-#define PCPU_GET(member) (PCPUP->pc_ ## member)
+#define PCPU_GET(member) (pcpup->pc_ ## member)
/*
* XXX The implementation of this operation should be made atomic
* with respect to preemption.
*/
-#define PCPU_ADD(member, value) (PCPUP->pc_ ## member += (value))
+#define PCPU_ADD(member, value) (pcpup->pc_ ## member += (value))
#define PCPU_INC(member) PCPU_ADD(member, 1)
-#define PCPU_PTR(member) (&PCPUP->pc_ ## member)
-#define PCPU_SET(member,value) (PCPUP->pc_ ## member = (value))
+#define PCPU_PTR(member) (&pcpup->pc_ ## member)
+#define PCPU_SET(member,value) (pcpup->pc_ ## member = (value))
#endif /* _KERNEL */