| .. | .. |
|---|
| 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) |
|---|