smp.h revision 66458
1/* 2 * $FreeBSD: head/sys/ia64/include/smp.h 66458 2000-09-29 13:46:07Z dfr $ 3 */ 4#ifndef _MACHINE_SMP_H_ 5#define _MACHINE_SMP_H_ 6 7#ifdef _KERNEL 8 9#include <machine/mutex.h> 10#include <machine/ipl.h> 11#include <sys/ktr.h> 12 13#ifndef LOCORE 14 15#define BETTER_CLOCK /* unconditional on ia64 */ 16 17/* global data in mp_machdep.c */ 18extern volatile u_int checkstate_probed_cpus; 19extern volatile u_int checkstate_need_ast; 20extern volatile u_int resched_cpus; 21extern void (*cpustop_restartfunc) __P((void)); 22 23extern int smp_active; 24extern int mp_ncpus; 25extern u_int all_cpus; 26extern u_int started_cpus; 27extern u_int stopped_cpus; 28 29/* functions in mp_machdep.c */ 30void mp_start(void); 31void mp_announce(void); 32void smp_invltlb(void); 33void forward_statclock(int pscnt); 34void forward_hardclock(int pscnt); 35void forward_signal(struct proc *); 36void forward_roundrobin(void); 37int stop_cpus(u_int); 38int restart_cpus(u_int); 39void smp_rendezvous_action(void); 40void smp_rendezvous(void (*)(void *), 41 void (*)(void *), 42 void (*)(void *), 43 void *arg); 44void smp_init_secondary(void); 45 46#endif /* !LOCORE */ 47#endif /* _KERNEL */ 48#endif 49