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