xref: /linux/arch/xtensa/include/asm/smp.h (revision afca12e35e711ae8f97e835a3704cc305592eac9)
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 2001 - 2013 Tensilica Inc.
7  */
8 
9 #ifndef _XTENSA_SMP_H
10 #define _XTENSA_SMP_H
11 
12 #ifdef CONFIG_SMP
13 
14 #define raw_smp_processor_id()	(current_thread_info()->cpu)
15 #define cpu_logical_map(cpu)	(cpu)
16 
17 struct start_info {
18 	unsigned long stack;
19 };
20 extern struct start_info start_info;
21 
22 struct cpumask;
23 void arch_send_call_function_ipi_mask(const struct cpumask *mask);
24 void arch_send_call_function_single_ipi(int cpu);
25 
26 void smp_init_cpus(void);
27 void secondary_init_irq(void);
28 void ipi_init(void);
29 struct seq_file;
30 void show_ipi_list(struct seq_file *p, int prec);
31 
32 #ifdef CONFIG_HOTPLUG_CPU
33 
34 void __cpu_die(unsigned int cpu);
35 int __cpu_disable(void);
36 void __noreturn cpu_die(void);
37 void cpu_restart(void);
38 
39 #endif /* CONFIG_HOTPLUG_CPU */
40 
41 #endif /* CONFIG_SMP */
42 
43 #endif	/* _XTENSA_SMP_H */
44