forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
998 B
48 lines
998 B
/* 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__ */
|
|
|