/* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 2001 - 2013 Tensilica Inc. */ #ifndef _XTENSA_SMP_H #define _XTENSA_SMP_H #ifdef [31mCONFIG_SMP[0m #define raw_smp_processor_id() (current_thread_info()->cpu) #define cpu_logical_map(cpu) (cpu) struct start_info { unsigned long stack; }; extern struct start_info start_info; struct cpumask; void arch_send_call_function_ipi_mask(const struct cpumask *mask); void arch_send_call_function_single_ipi(int cpu); void smp_init_cpus(void); void secondary_init_irq(void); void ipi_init(void); struct seq_file; void show_ipi_list(struct seq_file *p, int prec); #ifdef [31mCONFIG_HOTPLUG_CPU[0m void __cpu_die(unsigned int cpu); int __cpu_disable(void); void cpu_die(void); void cpu_restart(void); #endif /* CONFIG_HOTPLUG_CPU */ #endif /* CONFIG_SMP */ #endif /* _XTENSA_SMP_H */ |