[PATCH v5 0/4] Provide core API for NMIs

From: Julien Thierry
Date: Mon Jan 28 2019 - 10:38:36 EST


Hi,

This patch series provides a way for irqchips to define some IRQs as NMIs.

Updating this series as it is needed for the arm64 pseudo-NMI[1] which we
are considering to merge.

Changes since v4[2]:
- Rebased on v5.0-rc4
- Modified comment for request_percpu_nmi() to detail
the use of per CPU NMIs a bit more

Changes since v3[3]:
- Rebased on v4.20-rc2

Changes since v2[4]:
- Fix ARM build error reported by kbuild bot
- Fix documentation warnings reported by kbuild bot

Changes since v1[5]:
- Rebased to v4.19-rc1
- Fix some coding style issues

Changes since RFC[6]:
- Rebased to v4.18-rc6
- Remove disable_nmi, one should call disable_nmi_nosync instead
- Remove code related to affinity balancing from NMI functions
- Require PERCPU configuration for NMIs

[1] https://lkml.org/lkml/2019/1/21/1060
[2] https://lkml.org/lkml/2018/11/12/2113
[3] https://lkml.org/lkml/2018/8/31/173
[4] https://lkml.org/lkml/2018/8/28/661
[5] https://lkml.org/lkml/2018/7/24/321
[6] https://lkml.org/lkml/2018/7/9/768

Cheers,

Julien

-->

Julien Thierry (4):
genirq: Provide basic NMI management for interrupt lines
genirq: Provide NMI management for percpu_devid interrupts
genirq: Provide NMI handlers
irqdesc: Add domain handler for NMIs

include/linux/interrupt.h | 18 +++
include/linux/irq.h | 10 ++
include/linux/irqdesc.h | 5 +
kernel/irq/chip.c | 54 +++++++
kernel/irq/debugfs.c | 6 +-
kernel/irq/internals.h | 2 +
kernel/irq/irqdesc.c | 35 +++++
kernel/irq/manage.c | 376 +++++++++++++++++++++++++++++++++++++++++++++-
8 files changed, 503 insertions(+), 3 deletions(-)

--
1.9.1