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 with
                https://patchwork.ozlabs.org/patch/706983/
        2. Remove the duplicate XIRR between KVM and the
           paca's irq field. Will do this in a follow on
           series, since that requires extensive testing

Changelog v3:
 - Try to address kbuild failure
 - Initialize paca->irq to a sane value
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 <m...@ellerman.id.au>
Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org>
Cc: Paul Mackerras <pau...@samba.org>
Cc: Nicholas Piggin <npig...@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            | 55 ++++++++++++++++++++++++++++++++++--
 arch/powerpc/kernel/paca.c           |  1 +
 arch/powerpc/kernel/time.c           | 27 +++++++++++++++++-
 6 files changed, 108 insertions(+), 17 deletions(-)

-- 
2.9.3

Reply via email to