summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/smp.c
diff options
context:
space:
mode:
authorNicholas Piggin2016-12-19 19:30:09 +0100
committerMichael Ellerman2017-04-28 13:02:25 +0200
commitc64af6458e2e2ddf86aff559837d3925fbf9cbb5 (patch)
tree63993fee176303787f76ebc95381bb438e41ea27 /arch/powerpc/kernel/smp.c
parentpowerpc: Add NMI IPI infrastructure (diff)
downloadkernel-qcow2-linux-c64af6458e2e2ddf86aff559837d3925fbf9cbb5.tar.gz
kernel-qcow2-linux-c64af6458e2e2ddf86aff559837d3925fbf9cbb5.tar.xz
kernel-qcow2-linux-c64af6458e2e2ddf86aff559837d3925fbf9cbb5.zip
powerpc: Add struct smp_ops_t.cause_nmi_ipi operation
Have the NMI IPI code use this op when the platform defines it. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel/smp.c')
-rw-r--r--arch/powerpc/kernel/smp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 7461b195b29e..b37973f11ce0 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -417,6 +417,9 @@ out:
static void do_smp_send_nmi_ipi(int cpu)
{
+ if (smp_ops->cause_nmi_ipi && smp_ops->cause_nmi_ipi(cpu))
+ return;
+
if (cpu >= 0) {
do_message_pass(cpu, PPC_MSG_NMI_IPI);
} else {