smp.h revision 85656
1/*
2 * $FreeBSD: head/sys/ia64/include/smp.h 85656 2001-10-29 02:16:02Z 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. Keep the IPI_AP_WAKEUP at index 0.
13 */
14#define	IPI_AP_WAKEUP		0
15#define	IPI_AST			1
16#define	IPI_CHECKSTATE		2
17#define	IPI_INVLTLB		3
18#define	IPI_RENDEZVOUS		4
19#define	IPI_STOP		5
20
21#define	IPI_COUNT		6
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