smp.h revision 266203
1/* $FreeBSD: stable/10/sys/arm/include/smp.h 266203 2014-05-16 00:14:50Z ian $ */ 2 3#ifndef _MACHINE_SMP_H_ 4#define _MACHINE_SMP_H_ 5 6#include <sys/_cpuset.h> 7#include <machine/pcb.h> 8 9#define IPI_AST 0 10#define IPI_PREEMPT 2 11#define IPI_RENDEZVOUS 3 12#define IPI_STOP 4 13#define IPI_STOP_HARD 5 14#define IPI_HARDCLOCK 6 15#define IPI_TLB 7 16 17void init_secondary(int cpu); 18void mpentry(void); 19 20void ipi_all_but_self(u_int ipi); 21void ipi_cpu(int cpu, u_int ipi); 22void ipi_selected(cpuset_t cpus, u_int ipi); 23 24/* PIC interface */ 25void pic_ipi_send(cpuset_t cpus, u_int ipi); 26void pic_ipi_clear(int ipi); 27int pic_ipi_get(int arg); 28 29/* Platform interface */ 30void platform_mp_setmaxid(void); 31int platform_mp_probe(void); 32void platform_mp_start_ap(void); 33void platform_mp_init_secondary(void); 34 35void platform_ipi_send(cpuset_t cpus, u_int ipi); 36 37/* global data in mp_machdep.c */ 38extern struct pcb stoppcbs[]; 39 40#endif /* !_MACHINE_SMP_H_ */ 41