mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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 v5 0/5] alpha: improve Tsunami machine check reporting
Date: Fri,  9 Oct 2026 13:54:36 +0200	[thread overview]
Message-ID: <20261009115627.969047-1-linmag7@gmail.com> (raw)

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

The first two patches move the existing handler unchanged and describe
the system logout frame. A separate EV6 prerequisite handles the short
correctable CPU frame safely. The final two patches add Tsunami system
handling, Clipper live environmental decoding and console-log reporting.

PERRMASK is left as configured by firmware. Enabling more checking needs
separate justification and hardware testing. Inverted SMIR halt/reset
signals remain undecoded; PSU tests do not establish their polarity.

ES40 Service Guide Table D-18 gives sys_offset=0x20 in its console header,
but places the summary at frame+0x18. Console environmental packets are
therefore printed raw until an actual SRM record can resolve the layout.
Live environmental decoding follows Tables D-20 and D-21; QW8 is not used.

Changes since v4:
- Split the implementation into five patches; build error objects for
  CONFIG_ALPHA_TSUNAMI, covering non-generic Shark, DP264 and Eiger.
- Correct PCI/system addresses, ECC commands and syndrome, INV/SERR
  handling, DAC/MWIN selection, and SGE page granularity.
- Remove the unsupported Titan master-abort dismissal policy and leave
  PERRMASK as configured by firmware.
- Snapshot each live PERROR and MISC before acknowledging defined W1C
  bits; report additional live status without combining transaction fields.
- Check saved and live UECC/PERR before expected-probe dismissal and panic
  on either; retain expected NXM probe handling.
- Add an EV6 prerequisite to validate CPU-area bounds, including short
  correctable frames, before decoding extended registers.
- Restrict ES40 environmental decoding to Clipper; fix masks, fan input,
  print suppression, context-only status, and PSU warning source.
- Leave inverted SMIR halt/reset bits undecoded pending polarity checks.
- Preserve console environmental packets as raw data pending verification.
- Register console handling on all Tsunami boards; bound subpacket decode
  and terminate extended-register annotation arrays.
- Remove duplicate definitions and the private header; use shared IDs.

Link to v4
https://lore.kernel.org/linux-alpha/20251125224352.32034-1-linmag7@gmail.com/

Validation:
- Fresh vmlinux builds for minimal GENERIC, SHARK, DP264 and EIGER
  configurations, using GCC 15.0.1.
- Native ASan/UBSan tests of the actual EV6/Tsunami handlers, console
  dispatch and raw-dump helpers, including short/truncated frames, saved
  fatal errors during expected probes, and separate live snapshots.
- git am of the five exported patches on the base produces the exact
  branch tree; git diff --check passes.
- checkpatch reports zero errors. Its remaining warnings include the
  Alpha err_print_prefix convention, existing split printk strings,
  moved barrier code and the new-file MAINTAINERS prompt.

This version was boot-tested on an AlphaServer ES40 using my ES40
configuration. Unplugging and reconnecting a PSU power cable produced
correctable environmental events (code 206): PSU 0 was reported failed,
then enabled again with its individual failure indication cleared. SMIR
bit 0 remained set in all three reports; this does not establish whether
it describes current status or a latched event.

Earlier v4 testing was on the same ES40, using PSU power-cable changes,
opened hatches and a CALLSYS-based software trigger with modified
handling. PALcode clearing behavior and halt/reset polarity remain
unverified.

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 Tsunami console
    logs

 arch/alpha/include/asm/core_tsunami.h |   5 +
 arch/alpha/include/asm/err_common.h   |   2 +
 arch/alpha/kernel/Makefile            |   4 +-
 arch/alpha/kernel/core_tsunami.c      |  34 --
 arch/alpha/kernel/err_ev6.c           |  36 +-
 arch/alpha/kernel/err_tsunami.c       | 595 ++++++++++++++++++++++++++
 arch/alpha/kernel/proto.h             |   2 +
 arch/alpha/kernel/sys_dp264.c         |  12 +-
 arch/alpha/kernel/sys_eiger.c         |   2 +-
 9 files changed, 640 insertions(+), 52 deletions(-)
 create mode 100644 arch/alpha/kernel/err_tsunami.c


base-commit: 33465f6ab697abceafd9a340067a544d551c4412
-- 
2.43.0


             reply	other threads:[~2026-10-09 11:58 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-09 11:54 Magnus Lindholm [this message]
2026-10-09 11:54 ` [PATCH v5 1/5] alpha: move Tsunami machine check handling to err_tsunami.c Magnus Lindholm
2026-10-10  1:36   ` Matt Turner
2026-10-09 11:54 ` [PATCH v5 2/5] alpha: describe the Tsunami system machine check frame Magnus Lindholm
2026-10-10  1:37   ` Matt Turner
2026-10-09 11:54 ` [PATCH v5 3/5] alpha: bound EV6 logout decoding by the processor area Magnus Lindholm
2026-10-10  1:38   ` Matt Turner
2026-10-09 11:54 ` [PATCH v5 4/5] alpha: decode and acknowledge Tsunami system machine checks Magnus Lindholm
2026-10-10  1:39   ` Matt Turner
2026-10-09 11:54 ` [PATCH v5 5/5] alpha: decode Clipper environmental events and retain Tsunami console logs Magnus Lindholm
2026-10-10  1:40   ` 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=20261009115627.969047-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®