162306a36Sopenharmony_ci/*
262306a36Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public
362306a36Sopenharmony_ci * License.  See the file "COPYING" in the main directory of this archive
462306a36Sopenharmony_ci * for more details.
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Copyright (C) 2001 - 2013 Tensilica Inc.
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#ifndef _XTENSA_SMP_H
1062306a36Sopenharmony_ci#define _XTENSA_SMP_H
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#ifdef CONFIG_SMP
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci#define raw_smp_processor_id()	(current_thread_info()->cpu)
1562306a36Sopenharmony_ci#define cpu_logical_map(cpu)	(cpu)
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_cistruct start_info {
1862306a36Sopenharmony_ci	unsigned long stack;
1962306a36Sopenharmony_ci};
2062306a36Sopenharmony_ciextern struct start_info start_info;
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_cistruct cpumask;
2362306a36Sopenharmony_civoid arch_send_call_function_ipi_mask(const struct cpumask *mask);
2462306a36Sopenharmony_civoid arch_send_call_function_single_ipi(int cpu);
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_civoid secondary_start_kernel(void);
2762306a36Sopenharmony_civoid smp_init_cpus(void);
2862306a36Sopenharmony_civoid secondary_init_irq(void);
2962306a36Sopenharmony_civoid ipi_init(void);
3062306a36Sopenharmony_cistruct seq_file;
3162306a36Sopenharmony_civoid show_ipi_list(struct seq_file *p, int prec);
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci#ifdef CONFIG_HOTPLUG_CPU
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_civoid __cpu_die(unsigned int cpu);
3662306a36Sopenharmony_ciint __cpu_disable(void);
3762306a36Sopenharmony_civoid __noreturn cpu_die(void);
3862306a36Sopenharmony_civoid cpu_restart(void);
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci#endif /* CONFIG_HOTPLUG_CPU */
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci#endif /* CONFIG_SMP */
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci#endif	/* _XTENSA_SMP_H */
45