diff options
author | Marcel Moolenaar <marcel@FreeBSD.org> | 2008-04-27 22:33:43 +0000 |
---|---|---|
committer | Marcel Moolenaar <marcel@FreeBSD.org> | 2008-04-27 22:33:43 +0000 |
commit | 12640815f815936a684029de569522738d5b22da (patch) | |
tree | 4b070e2f496ebbb1c51a6e269f603b5beaaa4f8a /sys/powerpc/include | |
parent | 7de3bc26a57277bf49faa8cb11ae591663068c6f (diff) | |
download | src-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.h | 10 | ||||
-rw-r--r-- | sys/powerpc/include/pcpu.h | 15 |
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 */ |