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 * $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 41void ipi_all_but_self(int ipi); 42void ipi_cpu(int cpu, u_int ipi); 43void ipi_selected(cpuset_t cpus, int ipi); 44void smp_init_secondary(u_int32_t cpuid); 45void mpentry(void); 46 47extern struct pcb stoppcbs[]; 48 49#endif /* !LOCORE */ 50#endif /* _KERNEL */ 51 52#endif /* _MACHINE_SMP_H_ */ 53