diff options
Diffstat (limited to 'sys/alpha/include')
-rw-r--r-- | sys/alpha/include/cpu.h | 1 | ||||
-rw-r--r-- | sys/alpha/include/globaldata.h | 7 | ||||
-rw-r--r-- | sys/alpha/include/ipl.h | 19 | ||||
-rw-r--r-- | sys/alpha/include/pcpu.h | 7 | ||||
-rw-r--r-- | sys/alpha/include/smp.h | 45 |
5 files changed, 14 insertions, 65 deletions
diff --git a/sys/alpha/include/cpu.h b/sys/alpha/include/cpu.h index d8ff1cc..f3bd8d2 100644 --- a/sys/alpha/include/cpu.h +++ b/sys/alpha/include/cpu.h @@ -68,7 +68,6 @@ struct clockframe { #define CLKF_USERMODE(framep) TRAPF_USERMODE(&(framep)->cf_tf) #define CLKF_PC(framep) TRAPF_PC(&(framep)->cf_tf) -#define CLKF_INTR(framep) (curproc->p_intr_nesting_level >= 2) /* * Arrange to handle pending profiling ticks before returning to user mode. diff --git a/sys/alpha/include/globaldata.h b/sys/alpha/include/globaldata.h index 15bd8c41a..4d6d02f 100644 --- a/sys/alpha/include/globaldata.h +++ b/sys/alpha/include/globaldata.h @@ -66,14 +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); -#ifdef SMP -void globaldata_register(struct globaldata *pcpu); -#endif #endif /* _KERNEL */ diff --git a/sys/alpha/include/ipl.h b/sys/alpha/include/ipl.h index 357dc7a..9b94bf6 100644 --- a/sys/alpha/include/ipl.h +++ b/sys/alpha/include/ipl.h @@ -30,23 +30,4 @@ #define _MACHINE_IPL_H_ -#include <machine/cpu.h> /* for pal inlines */ - -#ifdef SMP -/* - * 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 - #endif /* !_MACHINE_IPL_H_ */ diff --git a/sys/alpha/include/pcpu.h b/sys/alpha/include/pcpu.h index 15bd8c41a..4d6d02f 100644 --- a/sys/alpha/include/pcpu.h +++ b/sys/alpha/include/pcpu.h @@ -66,14 +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); -#ifdef SMP -void globaldata_register(struct globaldata *pcpu); -#endif #endif /* _KERNEL */ diff --git a/sys/alpha/include/smp.h b/sys/alpha/include/smp.h index 2c208c8..05af7f4 100644 --- a/sys/alpha/include/smp.h +++ b/sys/alpha/include/smp.h @@ -15,41 +15,24 @@ #ifdef _KERNEL -#include <sys/ipl.h> -#include <sys/ktr.h> -#include <sys/mutex.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 alpha */ - -/* 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; +extern u_int boot_cpu_id; -/* 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_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); void smp_init_secondary(void); #endif /* !LOCORE */ |