1/*
| 1/*
|
2 * $FreeBSD: head/sys/ia64/include/smp.h 96442 2002-05-12 05:54:21Z marcel $
| 2 * $FreeBSD: head/sys/ia64/include/smp.h 115084 2003-05-16 21:26:42Z 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 and IPI_MCA_RENDEZ at index 1. See sal.c for details. 14 */ 15/* Architecture specific IPIs. */ 16#define IPI_AP_WAKEUP 0
| 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 and IPI_MCA_RENDEZ at index 1. See sal.c for details. 14 */ 15/* Architecture specific IPIs. */ 16#define IPI_AP_WAKEUP 0
|
17#define IPI_MCA_RENDEZ 1
| 17#define IPI_HIGH_FP 1
|
18#define IPI_MCA_CMCV 2
| 18#define IPI_MCA_CMCV 2
|
19#define IPI_TEST 3
| 19#define IPI_MCA_RENDEZ 3 20#define IPI_TEST 4
|
20/* Machine independent IPIs. */
| 21/* Machine independent IPIs. */
|
21#define IPI_AST 4 22#define IPI_RENDEZVOUS 5 23#define IPI_STOP 6
| 22#define IPI_AST 5 23#define IPI_RENDEZVOUS 6 24#define IPI_STOP 7
|
24
| 25
|
25#define IPI_COUNT 7
| 26#define IPI_COUNT 8
|
26 27#ifndef LOCORE 28 29extern int ipi_vector[]; 30 31void ipi_all(int ipi); 32void ipi_all_but_self(int ipi); 33void ipi_selected(u_int64_t cpus, int ipi); 34void ipi_self(int ipi);
| 27 28#ifndef LOCORE 29 30extern int ipi_vector[]; 31 32void ipi_all(int ipi); 33void ipi_all_but_self(int ipi); 34void ipi_selected(u_int64_t cpus, int ipi); 35void ipi_self(int ipi);
|
| 36void ipi_send(u_int64_t lid, int ipi);
|
35 36#endif /* !LOCORE */ 37#endif /* _KERNEL */ 38#endif /* !_MACHINE_SMP_H */
| 37 38#endif /* !LOCORE */ 39#endif /* _KERNEL */ 40#endif /* !_MACHINE_SMP_H */
|