smp.h revision 148807
1/* 2 * $FreeBSD: head/sys/ia64/include/smp.h 148807 2005-08-06 20:28:19Z marcel $ 3 */ 4#ifndef _MACHINE_SMP_H_ 5#define _MACHINE_SMP_H_ 6 7#ifdef _KERNEL 8 9/* 10 * Interprocessor interrupts for SMP. The following values are indices 11 * into the IPI vector table. The SAL gives us the vector used for AP 12 * wake-up. We base the other vectors on that. Keep IPI_AP_WAKEUP at 13 * index 0. See sal.c for details. 14 */ 15/* Architecture specific IPIs. */ 16#define IPI_AP_WAKEUP 0 17#define IPI_HIGH_FP 1 18#define IPI_MCA_CMCV 2 19#define IPI_MCA_RENDEZ 3 20#define IPI_TEST 4 21/* Machine independent IPIs. */ 22#define IPI_AST 5 23#define IPI_RENDEZVOUS 6 24#define IPI_STOP 7 25#define IPI_PREEMPT 8 26 27#define IPI_COUNT 9 28 29#ifndef LOCORE 30 31struct pcpu; 32 33extern int ipi_vector[]; 34 35void ipi_all(int ipi); 36void ipi_all_but_self(int ipi); 37void ipi_selected(cpumask_t cpus, int ipi); 38void ipi_self(int ipi); 39void ipi_send(struct pcpu *, int ipi); 40 41#endif /* !LOCORE */ 42#endif /* _KERNEL */ 43#endif /* !_MACHINE_SMP_H */ 44