smp.h revision 76078
166458Sdfr/*
266458Sdfr * $FreeBSD: head/sys/ia64/include/smp.h 76078 2001-04-27 19:28:25Z jhb $
366458Sdfr */
466458Sdfr#ifndef _MACHINE_SMP_H_
566458Sdfr#define _MACHINE_SMP_H_
666458Sdfr
766458Sdfr#ifdef _KERNEL
866458Sdfr
976078Sjhb/*
1076078Sjhb * Interprocessor interrupts for SMP.
1176078Sjhb */
1276078Sjhb#define	IPI_INVLTLB		0x0001
1376078Sjhb#define	IPI_RENDEZVOUS		0x0002
1476078Sjhb#define	IPI_AST			0x0004
1576078Sjhb#define	IPI_CHECKSTATE		0x0008
1676078Sjhb#define	IPI_STOP		0x0010
1766458Sdfr
1866458Sdfr#ifndef LOCORE
1966458Sdfr
2066458Sdfr/* global data in mp_machdep.c */
2166458Sdfrextern volatile u_int		checkstate_probed_cpus;
2266458Sdfrextern volatile u_int		checkstate_need_ast;
2366458Sdfrextern volatile u_int		resched_cpus;
2466458Sdfr
2576078Sjhbvoid	ipi_selected(u_int cpus, u_int ipi);
2676078Sjhbvoid	ipi_all(u_int ipi);
2776078Sjhbvoid	ipi_all_but_self(u_int ipi);
2876078Sjhbvoid	ipi_self(u_int ipi);
2966458Sdfrvoid	smp_init_secondary(void);
3066458Sdfr
3166458Sdfr#endif /* !LOCORE */
3266458Sdfr#endif /* _KERNEL */
3376078Sjhb#endif /* !_MACHINE_SMP_H */
34