162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef _ASM_CMP_H
362306a36Sopenharmony_ci#define _ASM_CMP_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci/*
662306a36Sopenharmony_ci * Definitions for CMP multitasking on MIPS cores
762306a36Sopenharmony_ci */
862306a36Sopenharmony_cistruct task_struct;
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciextern void cmp_smp_setup(void);
1162306a36Sopenharmony_ciextern void cmp_smp_finish(void);
1262306a36Sopenharmony_ciextern void cmp_boot_secondary(int cpu, struct task_struct *t);
1362306a36Sopenharmony_ciextern void cmp_init_secondary(void);
1462306a36Sopenharmony_ciextern void cmp_prepare_cpus(unsigned int max_cpus);
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci/* This is platform specific */
1762306a36Sopenharmony_ciextern void cmp_send_ipi(int cpu, unsigned int action);
1862306a36Sopenharmony_ci#endif /*  _ASM_CMP_H */
19