This patch is based on suggestions from paulus and benh.
The bugs are all mine. The idea was to implement soft
NMI(s) by keeping interrupts enabled in the soft-disabled
state, but to use the interrupt controller to gate posting
of new interrupts to the processor. This is still work in
progress and a preliminary RFC that needs testing.
Nick posted a more comprehensive version for soft NMI at
https://patchwork.ozlabs.org/patch/704605/, but it does
not work when interrupts are disabled
TODOs:
1. Integrate on top of
https://patchwork.ozlabs.org/patch/706983/
Changelog v2:
- Rename functions as suggested by Nick
- Move irq in paca down for better alignment
- Break the patches up further into interrupt disabling
and soft nmi patches
- Support only PPC_XICS for now
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <redacted>
Cc: Nicholas Piggin <npiggin@gmail.com>
Balbir Singh (3):
Merge IPI and DEFAULT priorities
Keep interrupts enabled even on soft disable
Enable soft nmi handler
arch/powerpc/include/asm/paca.h | 1 +
arch/powerpc/include/asm/xics.h | 8 ++----
arch/powerpc/kernel/exceptions-64s.S | 33 +++++++++++++++++------
arch/powerpc/kernel/irq.c | 52 +++++++++++++++++++++++++++++++++++-
arch/powerpc/kernel/time.c | 27 ++++++++++++++++++-
5 files changed, 105 insertions(+), 16 deletions(-)
--
2.9.3