blob: 4e43f564389161687441c59168acb0e2f638b45b [file] [log] [blame]
Chris Zankel9a8fd552005-06-23 22:01:26 -07001/*
Chris Zankel9a8fd552005-06-23 22:01:26 -07002 * 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 *
Max Filippovf6151362013-10-17 02:42:26 +04006 * Copyright (C) 2001 - 2013 Tensilica Inc.
Chris Zankel9a8fd552005-06-23 22:01:26 -07007 */
8
9#ifndef _XTENSA_SMP_H
10#define _XTENSA_SMP_H
11
Max Filippovf6151362013-10-17 02:42:26 +040012#ifdef CONFIG_SMP
Chris Zankel9a8fd552005-06-23 22:01:26 -070013
Max Filippovf6151362013-10-17 02:42:26 +040014#define raw_smp_processor_id() (current_thread_info()->cpu)
Chris Zankel9a8fd552005-06-23 22:01:26 -070015#define cpu_logical_map(cpu) (cpu)
16
Max Filippovf6151362013-10-17 02:42:26 +040017struct 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 smp_init_cpus(void);
27void secondary_init_irq(void);
28void ipi_init(void);
29struct seq_file;
30void show_ipi_list(struct seq_file *p, int prec);
31
Max Filippov49b424f2013-10-17 02:42:28 +040032#ifdef CONFIG_HOTPLUG_CPU
33
34void __cpu_die(unsigned int cpu);
35int __cpu_disable(void);
36void cpu_die(void);
37void cpu_restart(void);
38
39#endif /* CONFIG_HOTPLUG_CPU */
40
Max Filippovf6151362013-10-17 02:42:26 +040041#endif /* CONFIG_SMP */
42
Chris Zankel9a8fd552005-06-23 22:01:26 -070043#endif /* _XTENSA_SMP_H */