1 2 #ifndef _MACHINE_SMP_H_ 3 #define _MACHINE_SMP_H_ 4 5 #include <sys/_cpuset.h> 6 #include <machine/pcb.h> 7 8 enum { 9 IPI_AST, 10 IPI_PREEMPT, 11 IPI_RENDEZVOUS, 12 IPI_STOP, 13 IPI_STOP_HARD = IPI_STOP, /* These are synonyms on arm. */ 14 IPI_HARDCLOCK, 15 IPI_TLB, /* Not used now, but keep it reserved. */ 16 IPI_CACHE, /* Not used now, but keep it reserved. */ 17 INTR_IPI_COUNT 18 }; 19 20 void init_secondary(int cpu); 21 void mpentry(void); 22 23 void ipi_all_but_self(u_int ipi); 24 void ipi_cpu(int cpu, u_int ipi); 25 void ipi_selected(cpuset_t cpus, u_int ipi); 26 27 /* Platform interface */ 28 void platform_mp_setmaxid(void); 29 void platform_mp_start_ap(void); 30 31 #endif /* !_MACHINE_SMP_H_ */ 32