1 2#ifndef _MACHINE_SMP_H_ 3#define _MACHINE_SMP_H_ 4 5#include <sys/_cpuset.h> 6#include <machine/pcb.h> 7 8enum { 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 20void init_secondary(int cpu); 21void mpentry(void); 22 23void ipi_all_but_self(u_int ipi); 24void ipi_cpu(int cpu, u_int ipi); 25void ipi_selected(cpuset_t cpus, u_int ipi); 26 27/* Platform interface */ 28void platform_mp_setmaxid(void); 29void platform_mp_start_ap(void); 30 31#endif /* !_MACHINE_SMP_H_ */ 32