1 /*- 2 * ---------------------------------------------------------------------------- 3 * "THE BEER-WARE LICENSE" (Revision 42): 4 * <[email protected]> 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 * $FreeBSD$ 12 * 13 */ 14 15 #ifndef _MACHINE_SMP_H_ 16 #define _MACHINE_SMP_H_ 17 18 #ifdef _KERNEL 19 20 #include <sys/_cpuset.h> 21 22 #include <machine/pcb.h> 23 24 #ifdef INTRNG 25 # define MIPS_IPI_COUNT 1 26 # define INTR_IPI_COUNT MIPS_IPI_COUNT 27 #endif 28 29 /* 30 * Interprocessor interrupts for SMP. 31 */ 32 #define IPI_RENDEZVOUS 0x0002 33 #define IPI_AST 0x0004 34 #define IPI_STOP 0x0008 35 #define IPI_STOP_HARD 0x0008 36 #define IPI_PREEMPT 0x0010 37 #define IPI_HARDCLOCK 0x0020 38 39 #ifndef LOCORE 40 41 void ipi_all_but_self(int ipi); 42 void ipi_cpu(int cpu, u_int ipi); 43 void ipi_selected(cpuset_t cpus, int ipi); 44 void smp_init_secondary(u_int32_t cpuid); 45 void mpentry(void); 46 47 extern struct pcb stoppcbs[]; 48 49 #endif /* !LOCORE */ 50 #endif /* _KERNEL */ 51 52 #endif /* _MACHINE_SMP_H_ */ 53