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