1*08dbd0f8SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 243afdf50SRichard Kuo /* 343afdf50SRichard Kuo * SMP definitions for the Hexagon architecture 443afdf50SRichard Kuo * 5e1858b2aSRichard Kuo * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. 643afdf50SRichard Kuo */ 743afdf50SRichard Kuo 843afdf50SRichard Kuo #ifndef __ASM_SMP_H 943afdf50SRichard Kuo #define __ASM_SMP_H 1043afdf50SRichard Kuo 1143afdf50SRichard Kuo #include <linux/cpumask.h> 1243afdf50SRichard Kuo 1343afdf50SRichard Kuo #define raw_smp_processor_id() (current_thread_info()->cpu) 1443afdf50SRichard Kuo 1543afdf50SRichard Kuo enum ipi_message_type { 1643afdf50SRichard Kuo IPI_NOP = 0, 1743afdf50SRichard Kuo IPI_RESCHEDULE = 1, 1843afdf50SRichard Kuo IPI_CALL_FUNC, 1943afdf50SRichard Kuo IPI_CPU_STOP, 2043afdf50SRichard Kuo IPI_TIMER, 2143afdf50SRichard Kuo }; 2243afdf50SRichard Kuo 2343afdf50SRichard Kuo extern void send_ipi(const struct cpumask *cpumask, enum ipi_message_type msg); 2443afdf50SRichard Kuo extern void smp_start_cpus(void); 2543afdf50SRichard Kuo extern void arch_send_call_function_single_ipi(int cpu); 2643afdf50SRichard Kuo extern void arch_send_call_function_ipi_mask(const struct cpumask *mask); 2743afdf50SRichard Kuo 2843afdf50SRichard Kuo extern void smp_vm_unmask_irq(void *info); 2943afdf50SRichard Kuo 3043afdf50SRichard Kuo #endif 31