1 /*- 2 * ---------------------------------------------------------------------------- 3 * "THE BEER-WARE LICENSE" (Revision 42): 4 * <phk@FreeBSD.org> wrote this file. As long as you retain this notice you 5 * can do whatever you want with this stuff. If we meet some day, and you think 6 * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp 7 * ---------------------------------------------------------------------------- 8 * 9 * from: src/sys/alpha/include/smp.h,v 1.8 2005/01/05 20:05:50 imp 10 * JNPR: smp.h,v 1.3 2006/12/02 09:53:41 katta 11 * 12 */ 13 14 #ifndef _MACHINE_SMP_H_ 15 #define _MACHINE_SMP_H_ 16 17 #ifdef _KERNEL 18 19 #include <sys/_cpuset.h> 20 21 #include <machine/pcb.h> 22 23 #ifdef INTRNG 24 # define MIPS_IPI_COUNT 1 25 # define INTR_IPI_COUNT MIPS_IPI_COUNT 26 #endif 27 28 /* 29 * Interprocessor interrupts for SMP. 30 */ 31 #define IPI_RENDEZVOUS 0x0002 32 #define IPI_AST 0x0004 33 #define IPI_STOP 0x0008 34 #define IPI_STOP_HARD 0x0008 35 #define IPI_PREEMPT 0x0010 36 #define IPI_HARDCLOCK 0x0020 37 38 #ifndef LOCORE 39 40 void ipi_all_but_self(int ipi); 41 void ipi_cpu(int cpu, u_int ipi); 42 void ipi_selected(cpuset_t cpus, int ipi); 43 void smp_init_secondary(u_int32_t cpuid); 44 void mpentry(void); 45 46 extern struct pcb stoppcbs[]; 47 48 #endif /* !LOCORE */ 49 #endif /* _KERNEL */ 50 51 #endif /* _MACHINE_SMP_H_ */ 52