xref: /openbmc/linux/arch/xtensa/include/asm/smp.h (revision b02afe1df518369dd322f48b49e50efc49250575)
1367b8112SChris Zankel /*
2367b8112SChris Zankel  * This file is subject to the terms and conditions of the GNU General Public
3367b8112SChris Zankel  * License.  See the file "COPYING" in the main directory of this archive
4367b8112SChris Zankel  * for more details.
5367b8112SChris Zankel  *
6f615136cSMax Filippov  * Copyright (C) 2001 - 2013 Tensilica Inc.
7367b8112SChris Zankel  */
8367b8112SChris Zankel 
9367b8112SChris Zankel #ifndef _XTENSA_SMP_H
10367b8112SChris Zankel #define _XTENSA_SMP_H
11367b8112SChris Zankel 
12f615136cSMax Filippov #ifdef CONFIG_SMP
13367b8112SChris Zankel 
14f615136cSMax Filippov #define raw_smp_processor_id()	(current_thread_info()->cpu)
15367b8112SChris Zankel #define cpu_logical_map(cpu)	(cpu)
16367b8112SChris 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 
44367b8112SChris Zankel #endif	/* _XTENSA_SMP_H */
45