diff options
Diffstat (limited to 'sys/ia64/include')
-rw-r--r-- | sys/ia64/include/cpu.h | 3 | ||||
-rw-r--r-- | sys/ia64/include/globaldata.h | 4 | ||||
-rw-r--r-- | sys/ia64/include/ipl.h | 15 | ||||
-rw-r--r-- | sys/ia64/include/pcpu.h | 4 | ||||
-rw-r--r-- | sys/ia64/include/smp.h | 41 |
5 files changed, 13 insertions, 54 deletions
diff --git a/sys/ia64/include/cpu.h b/sys/ia64/include/cpu.h index 2b15a48..61766d2 100644 --- a/sys/ia64/include/cpu.h +++ b/sys/ia64/include/cpu.h @@ -68,9 +68,6 @@ struct clockframe { #define CLKF_USERMODE(framep) TRAPF_USERMODE(&(framep)->cf_tf) #define CLKF_PC(framep) TRAPF_PC(&(framep)->cf_tf) -#define CLKF_BASEPRI(framep) \ - (((framep)->cf_tf.tf_cr_ipsr & IA64_PSR_I) == 0) -#define CLKF_INTR(framep) (curproc->p_intr_nesting_level >= 2) /* * Give a profiling tick to the current process when the user profiling diff --git a/sys/ia64/include/globaldata.h b/sys/ia64/include/globaldata.h index a92f543..0ec1e19 100644 --- a/sys/ia64/include/globaldata.h +++ b/sys/ia64/include/globaldata.h @@ -66,11 +66,7 @@ struct globaldata { #endif }; -SLIST_HEAD(cpuhead, globaldata); -extern struct cpuhead cpuhead; - void globaldata_init(struct globaldata *pcpu, int cpuid, size_t sz); -struct globaldata *globaldata_find(int cpuid); #endif /* _KERNEL */ diff --git a/sys/ia64/include/ipl.h b/sys/ia64/include/ipl.h index 8432299..cbdecbb 100644 --- a/sys/ia64/include/ipl.h +++ b/sys/ia64/include/ipl.h @@ -29,19 +29,4 @@ #ifndef _MACHINE_IPL_H_ #define _MACHINE_IPL_H_ -/* - * Interprocessor interrupts for SMP. - */ -#define IPI_INVLTLB 0x0001 -#define IPI_RENDEZVOUS 0x0002 -#define IPI_AST 0x0004 -#define IPI_CHECKSTATE 0x0008 -#define IPI_STOP 0x0010 - -void ipi_selected(u_int32_t cpus, u_int64_t ipi); -void ipi_all(u_int64_t ipi); -void ipi_all_but_self(u_int64_t ipi); -void ipi_self(u_int64_t ipi); -void smp_handle_ipi(struct trapframe *frame); - #endif /* !_MACHINE_IPL_H_ */ diff --git a/sys/ia64/include/pcpu.h b/sys/ia64/include/pcpu.h index a92f543..0ec1e19 100644 --- a/sys/ia64/include/pcpu.h +++ b/sys/ia64/include/pcpu.h @@ -66,11 +66,7 @@ struct globaldata { #endif }; -SLIST_HEAD(cpuhead, globaldata); -extern struct cpuhead cpuhead; - void globaldata_init(struct globaldata *pcpu, int cpuid, size_t sz); -struct globaldata *globaldata_find(int cpuid); #endif /* _KERNEL */ diff --git a/sys/ia64/include/smp.h b/sys/ia64/include/smp.h index 65c85ef..e4f2091 100644 --- a/sys/ia64/include/smp.h +++ b/sys/ia64/include/smp.h @@ -6,43 +6,28 @@ #ifdef _KERNEL -#include <machine/mutex.h> -#include <machine/ipl.h> -#include <sys/ktr.h> +/* + * Interprocessor interrupts for SMP. + */ +#define IPI_INVLTLB 0x0001 +#define IPI_RENDEZVOUS 0x0002 +#define IPI_AST 0x0004 +#define IPI_CHECKSTATE 0x0008 +#define IPI_STOP 0x0010 #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 ipi_selected(u_int cpus, u_int ipi); +void ipi_all(u_int ipi); +void ipi_all_but_self(u_int ipi); +void ipi_self(u_int ipi); void smp_init_secondary(void); #endif /* !LOCORE */ #endif /* _KERNEL */ -#endif +#endif /* !_MACHINE_SMP_H */ |