.. | .. |
---|
91 | 91 | extern void play_dead(void); |
---|
92 | 92 | #endif |
---|
93 | 93 | |
---|
| 94 | +#ifdef CONFIG_KEXEC |
---|
| 95 | +static inline void kexec_nonboot_cpu(void) |
---|
| 96 | +{ |
---|
| 97 | + extern const struct plat_smp_ops *mp_ops; /* private */ |
---|
| 98 | + |
---|
| 99 | + return mp_ops->kexec_nonboot_cpu(); |
---|
| 100 | +} |
---|
| 101 | + |
---|
| 102 | +static inline void *kexec_nonboot_cpu_func(void) |
---|
| 103 | +{ |
---|
| 104 | + extern const struct plat_smp_ops *mp_ops; /* private */ |
---|
| 105 | + |
---|
| 106 | + return mp_ops->kexec_nonboot_cpu; |
---|
| 107 | +} |
---|
| 108 | +#endif |
---|
| 109 | + |
---|
94 | 110 | /* |
---|
95 | 111 | * This function will set up the necessary IPIs for Linux to communicate |
---|
96 | 112 | * with the CPUs in mask. |
---|
.. | .. |
---|
109 | 125 | { |
---|
110 | 126 | extern const struct plat_smp_ops *mp_ops; /* private */ |
---|
111 | 127 | |
---|
112 | | - mp_ops->send_ipi_mask(cpumask_of(cpu), SMP_CALL_FUNCTION); |
---|
| 128 | + mp_ops->send_ipi_single(cpu, SMP_CALL_FUNCTION); |
---|
113 | 129 | } |
---|
114 | 130 | |
---|
115 | 131 | static inline void arch_send_call_function_ipi_mask(const struct cpumask *mask) |
---|