diff options
Diffstat (limited to 'sys/sparc64/include/cpufunc.h')
-rw-r--r-- | sys/sparc64/include/cpufunc.h | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/sys/sparc64/include/cpufunc.h b/sys/sparc64/include/cpufunc.h index 4e59bb3..4a3dd7a 100644 --- a/sys/sparc64/include/cpufunc.h +++ b/sys/sparc64/include/cpufunc.h @@ -32,6 +32,8 @@ #include <machine/asi.h> #include <machine/pstate.h> +struct thread; + /* * membar operand macros for use in other macros when # is a special * character. Keep these in sync with what the hardware expects. @@ -160,30 +162,12 @@ STNC_GEN(u_long, stxa); : : "r" (val), "rI" (xor)); \ } while (0) -#define CRITICAL_FORK (0) - static __inline void breakpoint(void) { __asm __volatile("ta %%xcc, 1" : :); } -static __inline critical_t -cpu_critical_enter(void) -{ - critical_t pil; - - pil = rdpr(pil); - wrpr(pil, 0, 14); - return (pil); -} - -static __inline void -cpu_critical_exit(critical_t pil) -{ - wrpr(pil, pil, 0); -} - static __inline register_t intr_disable(void) { @@ -240,4 +224,9 @@ ffs(int mask) #undef LDNC_GEN #undef STNC_GEN +void cpu_critical_enter(void); +void cpu_critical_exit(void); +void cpu_critical_fork_exit(void); +void cpu_thread_link(struct thread *td); + #endif /* !_MACHINE_CPUFUNC_H_ */ |