]> CyberLeo.Net >> Repos - FreeBSD/releng/8.0.git/blob - sys/ia64/include/smp.h
Adjust to reflect 8.0-RELEASE.
[FreeBSD/releng/8.0.git] / sys / ia64 / include / smp.h
1 /*
2  * $FreeBSD$
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 /* Machine independent IPIs. */
21 #define IPI_AST                 4
22 #define IPI_RENDEZVOUS          5
23 #define IPI_STOP                6
24 #define IPI_STOP_HARD           6
25 #define IPI_PREEMPT             7
26
27 #define IPI_COUNT               8
28
29 #ifndef LOCORE
30
31 struct pcpu;
32
33 extern int ipi_vector[];
34
35 void    ipi_all_but_self(int ipi);
36 void    ipi_selected(cpumask_t cpus, int ipi);
37 void    ipi_send(struct pcpu *, int ipi);
38
39 #endif /* !LOCORE */
40 #endif /* _KERNEL */
41 #endif /* !_MACHINE_SMP_H */