smp.h revision 88691
1/*
2 * $FreeBSD: head/sys/ia64/include/smp.h 88691 2001-12-30 09:41:29Z 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.
14 */
15#define	IPI_AP_WAKEUP		0		/* ia64 specific */
16#define	IPI_AST			1
17#define	IPI_RENDEZVOUS		2
18#define	IPI_STOP		3
19#define	IPI_TEST		4		/* ia64 specific */
20
21#define	IPI_COUNT		5
22
23#ifndef LOCORE
24
25extern int mp_hardware;
26extern int mp_ipi_vector[];
27
28void	ipi_all(int ipi);
29void	ipi_all_but_self(int ipi);
30void	ipi_selected(u_int64_t cpus, int ipi);
31void	ipi_self(int ipi);
32
33#endif /* !LOCORE */
34#endif /* _KERNEL */
35#endif /* !_MACHINE_SMP_H */
36