From: Magnus Lindholm <linmag7@gmail.com>
To: richard.henderson@linaro.org, mattst88@gmail.com,
linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org
Cc: linmag7@gmail.com
Subject: [PATCH v7 0/5] alpha: improve Tsunami machine check reporting
Date: Tue, 13 Oct 2026 23:15:33 +0200 [thread overview]
Message-ID: <20261013211551.991723-1-linmag7@gmail.com> (raw)
This series adds Tsunami/Typhoon system-error diagnostics and Clipper
ES40 environmental reporting. It applies to v7.3-rc1 on Alpha for-next
at 33465f6ab697.
Thanks to Matt Turner for the v6 review. His Reviewed-by tags are carried
on patches 1 and 2 from v5 and patch 3 from v6. Patches 1-3 have no code
changes since v6.
Changes since v6:
- Drop v6 patch 6, "alpha: stop on fatal Tsunami system ECC and write
parity errors", as agreed with Matt. The panic policy will be handled
separately; v7 focuses on reporting and acknowledgment improvements
without adding a new panic path.
- Remove the duplicate irq_regs.h include and the trailing blank line.
- Gate full register dumps for correctable system errors on verbose
machine-check reporting; retain their error decode and always show
registers for uncorrectable system errors.
- Document that PERRMASK gates new PERROR latching (HRM 10.2.5.7), and
that the ECC field selection does not establish mixed-error ordering.
- Retain conservative SERR transaction suppression: HRM 8.8.2.6 leaves
address/command undefined whenever SERR is set, with no stated exception
for combined errors. This differs from the suggested SERR-only check.
- Remove the redundant environmental silent pass and always-true condition.
- Treat SMIR bit 0 as raw context, using fault mask 0x14. It stayed set
after PSU reconnection on the ES40, so do not label it a current failure.
- Print the recorded CPU ID for processor console subpackets.
- Bound Clipper console-log traversal by the HWRPB byte count. Preserve
the firmware pointer on unknown or truncated records and dump at most
1 KiB of raw data. Acknowledge only after a complete termination packet;
no class-5/type-4 layout is assumed.
Deferring panic policy preserves the existing continuation behavior; it
is not a claim that continuing is safe after an uncorrectable error.
Acknowledging a latch does not repair corrupted data. A follow-up needs
to consider CPU-detected ECC, Pchip UECC, RDPE/PERR, previously latched
errors, firmware masks and the impact of a device asserting PERR#.
In particular, HRM 8.8.2.3 says erroneous PIO read data is returned as
received; it does not establish an automatic CPU 670 for that case.
PERRMASK is left as firmware configured it. A zero mask bit prevents new
latching but does not establish that previously latched status is cleared.
SMIR polarity/latching, inverted halt/reset bits, other-board firmware
layouts and successful nonempty console-log decoding remain unverified.
Console-log scanning remains restricted to Clipper; ambiguous console
environmental records remain raw.
Testing:
- Native ASan/UBSan tests pass with CONFIG_VERBOSE_MCHECK enabled and
disabled, including runtime verbosity selection, SERR with other bits,
mixed ECC/PCI decoding, processor subpacket CPU IDs and the new SMIR mask.
- The observed v6 PSU state sequence was replayed synthetically: individual
failure reports remain visible and the final state reports no recognized
fault bits while preserving raw SMIR=1. This is not a v7 hardware test.
- V7 tip vmlinux builds pass with W=1 and GCC 15.0.1 for GENERIC,
DP264, SHARK and EIGER using minimal configurations. No warnings in
touched files; logs contain unrelated kernel-doc warnings and the
saved_config COMMON-symbol modpost warning. These are not per-patch
or ES40 deployment builds.
V6 was boot-tested on my ES40 with GENERIC_ENTRY enabled. Unplugging and
reconnecting PSU AC power produced code 206 notifications: PSU 1's
individual failure indication cleared and its enabled indication returned,
while SMIR bit 0 remained set in all three reports.
V7 was built and boot-tested on my AlphaServer ES40. Basic CPU, memory
and file I/O checks passed with no new kernel messages or kernel taint.
Matt built all six v6 patches for GENERIC, DP264, SHARK and EIGER with
W=1 and GCC 16.2.0 (24 builds), with no warnings in touched files, and
booted its GENERIC tip on QEMU Clipper to root mounting. These results
apply to v6; they do not establish machine-check or manual-layout coverage.
Magnus Lindholm (5):
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
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 | 724 ++++++++++++++++++++++++++
arch/alpha/kernel/proto.h | 3 +
arch/alpha/kernel/sys_dp264.c | 5 +-
10 files changed, 784 insertions(+), 48 deletions(-)
create mode 100644 arch/alpha/kernel/err_tsunami.c
base-commit: 33465f6ab697abceafd9a340067a544d551c4412
--
2.43.0
next reply other threads:[~2026-10-13 21:15 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-13 21:15 Magnus Lindholm [this message]
2026-10-13 21:15 ` [PATCH v7 1/5] alpha: move Tsunami machine check handling to err_tsunami.c Magnus Lindholm
2026-10-13 21:15 ` [PATCH v7 2/5] alpha: describe the Tsunami system machine check frame Magnus Lindholm
2026-10-13 21:15 ` [PATCH v7 3/5] alpha: bound EV6 logout decoding by the processor area Magnus Lindholm
2026-10-13 21:15 ` [PATCH v7 4/5] alpha: decode and acknowledge Tsunami system machine checks Magnus Lindholm
2026-10-14 2:10 ` Matt Turner
2026-10-13 21:15 ` [PATCH v7 5/5] alpha: decode Clipper environmental events and retain console logs Magnus Lindholm
2026-10-14 2:10 ` Matt Turner
2026-10-14 2:10 ` [PATCH v7 0/5] alpha: improve Tsunami machine check reporting Matt Turner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261013211551.991723-1-linmag7@gmail.com \
--to=linmag7@gmail.com \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mattst88@gmail.com \
--cc=richard.henderson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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®