--- zzzz-none-000/linux-4.4.60/arch/arm64/kernel/smp.c 2017-04-08 07:53:53.000000000 +0000 +++ dragonfly-4020-701/linux-4.4.60/arch/arm64/kernel/smp.c 2018-11-08 13:36:17.000000000 +0000 @@ -70,6 +70,7 @@ IPI_CPU_STOP, IPI_TIMER, IPI_IRQ_WORK, + IPI_WAKEUP, }; /* @@ -626,6 +627,7 @@ S(IPI_CPU_STOP, "CPU stop interrupts"), S(IPI_TIMER, "Timer broadcast interrupts"), S(IPI_IRQ_WORK, "IRQ work interrupts"), + S(IPI_WAKEUP, "CPU wakeup interrupts"), }; static void smp_cross_call(const struct cpumask *target, unsigned int ipinr) @@ -669,6 +671,11 @@ smp_cross_call(cpumask_of(cpu), IPI_CALL_FUNC); } +void arch_send_wakeup_ipi_mask(const struct cpumask *mask) +{ + smp_cross_call(mask, IPI_WAKEUP); +} + #ifdef CONFIG_IRQ_WORK void arch_irq_work_raise(void) {