1295972Sbr/*- 2295972Sbr * Copyright (c) 2016 Ruslan Bukin <br@bsdpad.com> 3295972Sbr * All rights reserved. 4295972Sbr * 5295972Sbr * Portions of this software were developed by SRI International and the 6295972Sbr * University of Cambridge Computer Laboratory under DARPA/AFRL contract 7295972Sbr * FA8750-10-C-0237 ("CTSRD"), as part of the DARPA CRASH research programme. 8295972Sbr * 9295972Sbr * Portions of this software were developed by the University of Cambridge 10295972Sbr * Computer Laboratory as part of the CTSRD Project, with support from the 11295972Sbr * UK Higher Education Innovation Fund (HEIF). 12295972Sbr * 13295972Sbr * Redistribution and use in source and binary forms, with or without 14295972Sbr * modification, are permitted provided that the following conditions 15295972Sbr * are met: 16295972Sbr * 1. Redistributions of source code must retain the above copyright 17295972Sbr * notice, this list of conditions and the following disclaimer. 18295972Sbr * 2. Redistributions in binary form must reproduce the above copyright 19295972Sbr * notice, this list of conditions and the following disclaimer in the 20295972Sbr * documentation and/or other materials provided with the distribution. 21295972Sbr * 22295972Sbr * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 23295972Sbr * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24295972Sbr * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25295972Sbr * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 26295972Sbr * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27295972Sbr * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28295972Sbr * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29295972Sbr * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30295972Sbr * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31295972Sbr * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32295972Sbr * SUCH DAMAGE. 33295972Sbr * 34295972Sbr * $FreeBSD$ 35295972Sbr */ 36295972Sbr 37295972Sbr#ifndef _MACHINE_SMP_H_ 38295972Sbr#define _MACHINE_SMP_H_ 39295972Sbr 40295972Sbr#include <machine/pcb.h> 41295972Sbr 42295972Sbr#define IPI_AST (1 << 0) 43295972Sbr#define IPI_PREEMPT (1 << 1) 44295972Sbr#define IPI_RENDEZVOUS (1 << 2) 45295972Sbr#define IPI_STOP (1 << 3) 46295972Sbr#define IPI_STOP_HARD (1 << 4) 47295972Sbr#define IPI_HARDCLOCK (1 << 5) 48295972Sbr 49295972Sbrvoid ipi_all_but_self(u_int ipi); 50295972Sbrvoid ipi_cpu(int cpu, u_int ipi); 51295972Sbrvoid ipi_selected(cpuset_t cpus, u_int ipi); 52295972Sbr 53295972Sbrextern struct pcb stoppcbs[]; 54295972Sbr 55295972Sbr#endif /* !_MACHINE_SMP_H_ */ 56