FreeBSD/Linux Kernel Cross Reference
sys/arm/include/smp.h
1 /* $FreeBSD$ */
2
3 #ifndef _MACHINE_SMP_H_
4 #define _MACHINE_SMP_H_
5
6 #include <sys/_cpuset.h>
7 #include <machine/pcb.h>
8
9 enum {
10 IPI_AST,
11 IPI_PREEMPT,
12 IPI_RENDEZVOUS,
13 IPI_STOP,
14 IPI_STOP_HARD = IPI_STOP, /* These are synonyms on arm. */
15 IPI_HARDCLOCK,
16 IPI_TLB, /* Not used now, but keep it reserved. */
17 IPI_CACHE, /* Not used now, but keep it reserved. */
18 INTR_IPI_COUNT
19 };
20
21 void init_secondary(int cpu);
22 void mpentry(void);
23
24 void ipi_all_but_self(u_int ipi);
25 void ipi_cpu(int cpu, u_int ipi);
26 void ipi_selected(cpuset_t cpus, u_int ipi);
27
28 /* Platform interface */
29 void platform_mp_setmaxid(void);
30 void platform_mp_start_ap(void);
31
32 /* global data in mp_machdep.c */
33 extern struct pcb stoppcbs[];
34
35 #endif /* !_MACHINE_SMP_H_ */
Cache object: 241812f017dc98a3cd00cf8822b7e1a2
|