xref: /linux/arch/xtensa/include/asm/smp.h (revision a23e1966932464e1c5226cb9ac4ce1d5fc10ba22)
19a8fd558SChris Zankel /*
29a8fd558SChris Zankel  * This file is subject to the terms and conditions of the GNU General Public
39a8fd558SChris Zankel  * License.  See the file "COPYING" in the main directory of this archive
49a8fd558SChris Zankel  * for more details.
59a8fd558SChris Zankel  *
6f615136cSMax Filippov  * Copyright (C) 2001 - 2013 Tensilica Inc.
79a8fd558SChris Zankel  */
89a8fd558SChris Zankel 
99a8fd558SChris Zankel #ifndef _XTENSA_SMP_H
109a8fd558SChris Zankel #define _XTENSA_SMP_H
119a8fd558SChris Zankel 
12f615136cSMax Filippov #ifdef CONFIG_SMP
139a8fd558SChris Zankel 
14f615136cSMax Filippov #define raw_smp_processor_id()	(current_thread_info()->cpu)
159a8fd558SChris Zankel #define cpu_logical_map(cpu)	(cpu)
169a8fd558SChris Zankel 
17f615136cSMax Filippov struct start_info {
18f615136cSMax Filippov 	unsigned long stack;
19f615136cSMax Filippov };
20f615136cSMax Filippov extern struct start_info start_info;
21f615136cSMax Filippov 
22f615136cSMax Filippov struct cpumask;
23f615136cSMax Filippov void arch_send_call_function_ipi_mask(const struct cpumask *mask);
24f615136cSMax Filippov void arch_send_call_function_single_ipi(int cpu);
25f615136cSMax Filippov 
26*0f95df62SRandy Dunlap void secondary_start_kernel(void);
27f615136cSMax Filippov void smp_init_cpus(void);
28f615136cSMax Filippov void secondary_init_irq(void);
29f615136cSMax Filippov void ipi_init(void);
30f615136cSMax Filippov struct seq_file;
31f615136cSMax Filippov void show_ipi_list(struct seq_file *p, int prec);
32f615136cSMax Filippov 
3349b424feSMax Filippov #ifdef CONFIG_HOTPLUG_CPU
3449b424feSMax Filippov 
3549b424feSMax Filippov void __cpu_die(unsigned int cpu);
3649b424feSMax Filippov int __cpu_disable(void);
3769dee6f0SJosh Poimboeuf void __noreturn cpu_die(void);
3849b424feSMax Filippov void cpu_restart(void);
3949b424feSMax Filippov 
4049b424feSMax Filippov #endif /* CONFIG_HOTPLUG_CPU */
4149b424feSMax Filippov 
42f615136cSMax Filippov #endif /* CONFIG_SMP */
43f615136cSMax Filippov 
449a8fd558SChris Zankel #endif	/* _XTENSA_SMP_H */
45