Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / arch / hexagon / include / asm / smp.h
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