mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v6 0/6] alpha: improve Tsunami machine check reporting
@ 2026-10-11 19:12 Magnus Lindholm
  2026-10-11 19:12 ` [PATCH v6 1/6] alpha: move Tsunami machine check handling to err_tsunami.c Magnus Lindholm
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Magnus Lindholm @ 2026-10-11 19:12 UTC (permalink / raw)
  To: richard.henderson, mattst88, linux-kernel, linux-alpha; +Cc: linmag7

This series adds Tsunami/Typhoon system-error diagnostics and Clipper
ES40 environmental reporting. It applies to v7.3-rc1 on the Alpha for-next
branch at 33465f6ab697.

Thanks to Matt Turner for reviewing v5, building each patch for GENERIC
and SHARK with W=1, building its tip for DP264 and EIGER, and booting
GENERIC on QEMU Clipper with two CPUs. His Reviewed-by tags are carried
on patches 1 and 2; patch 1 also incorporates his build-ordering nit.

Changes since v5:
- Add bounded raw dumps for rejected EV6/system/environmental frames.
  Round down to whole quadwords and cap fallback dumps at 1 KiB.
- Clarify that ES40 documents the short EV6 frame; the corresponding
  Titan/Nautilus firmware behavior has not been verified.
- Move the non-generic Tsunami err_ev6.o dependency to patch 4.
- Correct the obsolete PERROR bit-9 RTO definitions: HRM rev. 4.0,
  Table 10-42 specifies reserved MBZ/RAZ, so the 0xdff mask is retained.
- Drop the ES40-specific system reason-code restriction, retain structural
  bounds checks, and restore CPU register/PC output for system errors.
- Remove inactive expected-probe handling and its changelog claims.
- Report valid environmental notifications with no recognized fault bits,
  including their status context; remove "Set =" from door messages.
- Keep PCI initialization in sys_dp264.c and error registration in the
  error file. Restrict console-log scanning to Clipper pending testing
  on older Tsunami firmware.
- Put UECC/PERR panic policy in patch 6 with its HRM rationale. Only
  system-error vectors can trigger it, not incidental live PERROR bits
  during CPU or environmental notifications.

PERRMASK remains as configured by firmware. Inverted SMIR halt/reset
bits remain undecoded. Console environmental records remain raw because
ES40 Table D-18 has conflicting offsets. Restricting console-log scanning
avoids extending it to untested boards; it does not validate arbitrary
firmware pointers or establish nonempty-log coverage on Clipper.

Testing:
- Native ASan/UBSan tests exercise the actual EV6/Tsunami handlers and
  console helpers, including malformed/short frames, raw-dump bounds,
  unfamiliar reason codes, separate live snapshots, register reporting,
  fault-free environmental notifications and system-only fatal policy.
- W=1 vmlinux builds passed for minimal GENERIC, SHARK, DP264 and EIGER
  configurations using GCC 15.0.1. The existing saved_config COMMON-symbol
  modpost warning remains; no compiler warnings in the final build logs.
- git am on the stated base reproduces the final source tree.
  git diff --check passes; checkpatch reports no errors.

V6 was boot-tested on my AlphaServer ES40 using my ES40 configuration,
with GENERIC_ENTRY enabled. Unplugging and reconnecting a PSU power cable
produced three correctable environmental notifications (code 206). PSU 1
was first reported enabled but failed, then its enabled indication was
absent. After reconnection, its enabled indication returned and its
individual failure indication cleared. No oops or panic appeared in the
available log during this test.

SMIR bit 0 remained set in all three reports, so this test does not
exercise notification reporting with all recognized fault bits clear.
That path, malformed-frame raw dumps, system-error register reporting and
the UECC/PERR panic policy remain covered by synthetic tests only. V6
hatch testing and nonempty firmware console-log testing remain outstanding.
PALcode clearing behavior, inverted halt/reset polarity and corresponding
firmware layouts on other boards remain unverified.

Earlier v4 testing used PSU power-cable changes, opened hatches and a
CALLSYS-based software trigger with modified handling. Matt's build and
QEMU results above apply to v5.

Magnus Lindholm (6):
  alpha: move Tsunami machine check handling to err_tsunami.c
  alpha: describe the Tsunami system machine check frame
  alpha: bound EV6 logout decoding by the processor area
  alpha: decode and acknowledge Tsunami system machine checks
  alpha: decode Clipper environmental events and retain console logs
  alpha: stop on fatal Tsunami system ECC and write parity errors

 arch/alpha/include/asm/core_tsunami.h |   8 +-
 arch/alpha/include/asm/err_common.h   |   2 +
 arch/alpha/kernel/Makefile            |   4 +-
 arch/alpha/kernel/core_tsunami.c      |  34 --
 arch/alpha/kernel/err_common.c        |  13 +
 arch/alpha/kernel/err_ev6.c           |  38 +-
 arch/alpha/kernel/err_impl.h          |   1 +
 arch/alpha/kernel/err_tsunami.c       | 592 ++++++++++++++++++++++++++
 arch/alpha/kernel/proto.h             |   2 +
 arch/alpha/kernel/sys_dp264.c         |   5 +-
 10 files changed, 651 insertions(+), 48 deletions(-)
 create mode 100644 arch/alpha/kernel/err_tsunami.c


base-commit: 33465f6ab697abceafd9a340067a544d551c4412
-- 
2.43.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-10-12  4:58 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-11 19:12 [PATCH v6 0/6] alpha: improve Tsunami machine check reporting Magnus Lindholm
2026-10-11 19:12 ` [PATCH v6 1/6] alpha: move Tsunami machine check handling to err_tsunami.c Magnus Lindholm
2026-10-11 19:12 ` [PATCH v6 2/6] alpha: describe the Tsunami system machine check frame Magnus Lindholm
2026-10-11 19:12 ` [PATCH v6 3/6] alpha: bound EV6 logout decoding by the processor area Magnus Lindholm
2026-10-11 19:59   ` Matt Turner
2026-10-11 19:12 ` [PATCH v6 4/6] alpha: decode and acknowledge Tsunami system machine checks Magnus Lindholm
2026-10-11 20:00   ` Matt Turner
2026-10-11 19:12 ` [PATCH v6 5/6] alpha: decode Clipper environmental events and retain console logs Magnus Lindholm
2026-10-11 20:00   ` Matt Turner
2026-10-11 19:12 ` [PATCH v6 6/6] alpha: stop on fatal Tsunami system ECC and write parity errors Magnus Lindholm
2026-10-11 20:01   ` Matt Turner
2026-10-12  4:57     ` Magnus Lindholm
2026-10-11 19:59 ` [PATCH v6 0/6] alpha: improve Tsunami machine check reporting Matt Turner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®