1178172Simp/*-
2178172Simp * ----------------------------------------------------------------------------
3178172Simp * "THE BEER-WARE LICENSE" (Revision 42):
4178172Simp * <phk@FreeBSD.org> wrote this file.  As long as you retain this notice you
5178172Simp * can do whatever you want with this stuff. If we meet some day, and you think
6178172Simp * this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
7178172Simp * ----------------------------------------------------------------------------
8178172Simp *
9178172Simp *	from: src/sys/alpha/include/smp.h,v 1.8 2005/01/05 20:05:50 imp
10178172Simp *	JNPR: smp.h,v 1.3 2006/12/02 09:53:41 katta
11178172Simp * $FreeBSD$
12178172Simp *
13178172Simp */
14178172Simp
15178172Simp#ifndef _MACHINE_SMP_H_
16178172Simp#define	_MACHINE_SMP_H_
17178172Simp
18178172Simp#ifdef _KERNEL
19178172Simp
20222813Sattilio#include <sys/_cpuset.h>
21222813Sattilio
22204997Sneel#include <machine/pcb.h>
23204997Sneel
24178172Simp/*
25178172Simp * Interprocessor interrupts for SMP.
26178172Simp */
27178172Simp#define	IPI_RENDEZVOUS		0x0002
28178172Simp#define	IPI_AST			0x0004
29178172Simp#define	IPI_STOP		0x0008
30196196Sattilio#define	IPI_STOP_HARD		0x0008
31208165Srrs#define	IPI_PREEMPT		0x0010
32210403Smav#define	IPI_HARDCLOCK		0x0020
33178172Simp
34178172Simp#ifndef LOCORE
35178172Simp
36210403Smavvoid	ipi_all_but_self(int ipi);
37210939Sjhbvoid	ipi_cpu(int cpu, u_int ipi);
38222813Sattiliovoid	ipi_selected(cpuset_t cpus, int ipi);
39178172Simpvoid	smp_init_secondary(u_int32_t cpuid);
40203697Sneelvoid	mpentry(void);
41178172Simp
42204997Sneelextern struct pcb stoppcbs[];
43204997Sneel
44178172Simp#endif /* !LOCORE */
45178172Simp#endif /* _KERNEL */
46178172Simp
47178172Simp#endif /* _MACHINE_SMP_H_ */
48