162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci#ifndef __ASM_CSKY_SMP_H
462306a36Sopenharmony_ci#define __ASM_CSKY_SMP_H
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#include <linux/cpumask.h>
762306a36Sopenharmony_ci#include <linux/irqreturn.h>
862306a36Sopenharmony_ci#include <linux/threads.h>
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#ifdef CONFIG_SMP
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_civoid __init setup_smp(void);
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_civoid __init setup_smp_ipi(void);
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_civoid arch_send_call_function_ipi_mask(struct cpumask *mask);
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_civoid arch_send_call_function_single_ipi(int cpu);
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_civoid __init set_send_ipi(void (*func)(const struct cpumask *mask), int irq);
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci#define raw_smp_processor_id()	(current_thread_info()->cpu)
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciint __cpu_disable(void);
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_cistatic inline void __cpu_die(unsigned int cpu) { }
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci#endif /* CONFIG_SMP */
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci#endif /* __ASM_CSKY_SMP_H */
31