Hi, These patches have been posted a few times before. Since then I've split them up and tried to simplify the NMI IPI stuff as much as possible.
I've been testing using David Gibson's QEMU branch ppc-for-2.9, which implements the required hcall. Thanks, Nick Nicholas Piggin (10): powerpc/64s: add exception macro that does not enable RI powerpc/64s: exception macro for stack frame and initial register save powerpc/64s: fix system reset vs general interrupt reentrancy powerpc/64s: disallow system reset vs system reset reentrancy powerpc/64s: dedicated system reset interrupt stack powerpc: nmi_enter for system reset powerpc: add NMI IPI infrastructure powerpc: add struct smp_ops_t.cause_nmi_ipi operation powerpc/pseries: implement NMI IPI with H_SIGNAL_SYS_RESET powerpc: xmon wait for secondaries before sending IPI arch/powerpc/Kconfig | 5 + arch/powerpc/include/asm/exception-64s.h | 69 +++++++-- arch/powerpc/include/asm/paca.h | 14 +- arch/powerpc/include/asm/smp.h | 15 +- arch/powerpc/kernel/asm-offsets.c | 5 +- arch/powerpc/kernel/exceptions-64s.S | 72 +++++---- arch/powerpc/kernel/setup_64.c | 5 + arch/powerpc/kernel/smp.c | 250 +++++++++++++++++++++++++----- arch/powerpc/kernel/traps.c | 19 ++- arch/powerpc/platforms/85xx/smp.c | 1 + arch/powerpc/platforms/86xx/mpc86xx_smp.c | 1 + arch/powerpc/platforms/cell/interrupt.c | 2 +- arch/powerpc/platforms/chrp/smp.c | 1 + arch/powerpc/platforms/powermac/smp.c | 1 + arch/powerpc/platforms/powernv/smp.c | 1 + arch/powerpc/platforms/ps3/smp.c | 4 +- arch/powerpc/platforms/pseries/ras.c | 4 + arch/powerpc/platforms/pseries/smp.c | 22 +++ arch/powerpc/xmon/xmon.c | 15 +- 19 files changed, 418 insertions(+), 88 deletions(-) -- 2.11.0