1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * SMP definitions for the Hexagon architecture
4  *
5  * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
6  */
7 
8 #ifndef __ASM_SMP_H
9 #define __ASM_SMP_H
10 
11 #include <linux/cpumask.h>
12 
13 #define raw_smp_processor_id() (current_thread_info()->cpu)
14 
15 enum ipi_message_type {
16 	IPI_NOP = 0,
17 	IPI_RESCHEDULE = 1,
18 	IPI_CALL_FUNC,
19 	IPI_CPU_STOP,
20 	IPI_TIMER,
21 };
22 
23 extern void send_ipi(const struct cpumask *cpumask, enum ipi_message_type msg);
24 extern void smp_start_cpus(void);
25 extern void arch_send_call_function_single_ipi(int cpu);
26 extern void arch_send_call_function_ipi_mask(const struct cpumask *mask);
27 
28 extern void smp_vm_unmask_irq(void *info);
29 
30 #endif
31