[PATCH v4 0/1] soc: fujitsu: Add A64FX diagnostic interrupt driver

From: Hitomi Hasegawa
Date: Wed May 11 2022 - 02:22:59 EST


The interrupt is set using pseudo-NMI if it is available. Arm has a
diagnostic interrupt feature called "Arm Generic Diagnostic Dump and
Reset device", but the A64FX does not support this feature and instead
has its own device definition.

I tested on FX700:
$ echo 1 > /proc/sys/kernel/sysrq
$ echo HARDLOCKUP > /sys/kernel/debug/provoke-crash/DIRECT
:
:

Send the "chassis power diag" command from the management server
using ipmitool, the following message is shown:
[ 123.272342] Kernel panic - not syncing: a64fx_diag: interrupt received
:
:

Changes in V4:
- Call the panic function instead of sysrq. Prepare a handler
for each NMI/IRQ and call nmi_panic()/panic() respectively (as in v1).
- Fixing other issues raised by Greg.

Changes in V3:
- Exclude Sumit's patch.
- Retest in v5.17.

Changes in V2:
- Include Sumit's patch.
- The handler calls handle_sysrq() to use the sysrq feature to cause
a panic.
- request_nmi() and request_irq() now use the same handler, and
the function name of the handler has also changed.
- Use readl()/writel() instead of readl_relaxed()/writel_relaxed().

V3: https://lore.kernel.org/linux-arm-kernel/20220331092235.3000787-1-hasegawa-hitomi@xxxxxxxxxxx/
V2: https://lore.kernel.org/linux-arm-kernel/20220304064324.331217-3-hasegawa-hitomi@xxxxxxxxxxx/
V1: https://lore.kernel.org/linux-arm-kernel/20220218092010.1327309-1-hasegawa-hitomi@xxxxxxxxxxx/


Hitomi Hasegawa (1):
soc: fujitsu: Add A64FX diagnostic interrupt driver

MAINTAINERS | 5 +
drivers/soc/Kconfig | 1 +
drivers/soc/Makefile | 1 +
drivers/soc/fujitsu/Kconfig | 13 +++
drivers/soc/fujitsu/Makefile | 3 +
drivers/soc/fujitsu/a64fx-diag.c | 155 +++++++++++++++++++++++++++++++
6 files changed, 178 insertions(+)
create mode 100644 drivers/soc/fujitsu/Kconfig
create mode 100644 drivers/soc/fujitsu/Makefile
create mode 100644 drivers/soc/fujitsu/a64fx-diag.c

--
2.27.0