1 #ifndef __ASM_SMP_H
2 #define __ASM_SMP_H
3 
4 #ifndef __ASSEMBLY__
5 #include <xen/cpumask.h>
6 #include <xen/device_tree.h>
7 #include <asm/current.h>
8 #endif
9 
10 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
11 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
12 
13 #define cpu_is_offline(cpu) unlikely(!cpu_online(cpu))
14 
15 #define raw_smp_processor_id() (get_processor_id())
16 
17 extern void noreturn stop_cpu(void);
18 
19 extern int arch_smp_init(void);
20 extern int arch_cpu_init(int cpu, struct dt_device_node *dn);
21 extern int arch_cpu_up(int cpu);
22 
23 int cpu_up_send_sgi(int cpu);
24 
25 /* Secondary CPU entry point */
26 extern void init_secondary(void);
27 
28 extern void smp_init_cpus(void);
29 extern void smp_clear_cpu_maps (void);
30 extern int smp_get_max_cpus (void);
31 #endif
32 
33 /*
34  * Local variables:
35  * mode: C
36  * c-file-style: "BSD"
37  * c-basic-offset: 4
38  * indent-tabs-mode: nil
39  * End:
40  */
41