1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_SH_SMP_OPS_H
3 #define __ASM_SH_SMP_OPS_H
6 void (*smp_setup
)(void);
7 unsigned int (*smp_processor_id
)(void);
8 void (*prepare_cpus
)(unsigned int max_cpus
);
9 void (*start_cpu
)(unsigned int cpu
, unsigned long entry_point
);
10 void (*send_ipi
)(unsigned int cpu
, unsigned int message
);
11 int (*cpu_disable
)(unsigned int cpu
);
12 void (*cpu_die
)(unsigned int cpu
);
13 void (*play_dead
)(void);
16 extern struct plat_smp_ops
*mp_ops
;
17 extern struct plat_smp_ops shx3_smp_ops
;
21 static inline void plat_smp_setup(void)
27 static inline void __noreturn
play_dead(void)
33 extern void register_smp_ops(struct plat_smp_ops
*ops
);
37 static inline void plat_smp_setup(void)
39 /* UP, nothing to do ... */
42 static inline void register_smp_ops(struct plat_smp_ops
*ops
)
46 static inline void __noreturn
play_dead(void)
51 #endif /* CONFIG_SMP */
53 #endif /* __ASM_SH_SMP_OPS_H */