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
17struct start_info {
18	unsigned long stack;
19};
20extern struct start_info start_info;
21
22struct cpumask;
23void arch_send_call_function_ipi_mask(const struct cpumask *mask);
24void arch_send_call_function_single_ipi(int cpu);
25
26void secondary_start_kernel(void);
27void smp_init_cpus(void);
28void secondary_init_irq(void);
29void ipi_init(void);
30struct seq_file;
31void show_ipi_list(struct seq_file *p, int prec);
32
33#ifdef CONFIG_HOTPLUG_CPU
34
35void __cpu_die(unsigned int cpu);
36int __cpu_disable(void);
37void __noreturn cpu_die(void);
38void cpu_restart(void);
39
40#endif /* CONFIG_HOTPLUG_CPU */
41
42#endif /* CONFIG_SMP */
43
44#endif	/* _XTENSA_SMP_H */
45