123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /* SPDX-License-Identifier: GPL-2.0-or-later */
- /*
- * Copyright (C) 2013 Imagination Technologies
- * Author: Paul Burton <[email protected]>
- */
- #ifndef __MIPS_ASM_SMP_CPS_H__
- #define __MIPS_ASM_SMP_CPS_H__
- #ifndef __ASSEMBLY__
- struct vpe_boot_config {
- unsigned long pc;
- unsigned long sp;
- unsigned long gp;
- };
- struct core_boot_config {
- atomic_t vpe_mask;
- struct vpe_boot_config *vpe_config;
- };
- extern struct core_boot_config *mips_cps_core_bootcfg;
- extern void mips_cps_core_entry(void);
- extern void mips_cps_core_init(void);
- extern void mips_cps_boot_vpes(struct core_boot_config *cfg, unsigned vpe);
- extern void mips_cps_pm_save(void);
- extern void mips_cps_pm_restore(void);
- #ifdef CONFIG_MIPS_CPS
- extern bool mips_cps_smp_in_use(void);
- #else /* !CONFIG_MIPS_CPS */
- static inline bool mips_cps_smp_in_use(void) { return false; }
- #endif /* !CONFIG_MIPS_CPS */
- #else /* __ASSEMBLY__ */
- .extern mips_cps_bootcfg;
- #endif /* __ASSEMBLY__ */
- #endif /* __MIPS_ASM_SMP_CPS_H__ */
|