Skip to content

mcelog: Add support for Zhaoxin processors - #126

Open
LyleLi-oc wants to merge 2 commits into
andikleen:masterfrom
LyleLi-oc:zhaoxin-mcelog-support
Open

mcelog: Add support for Zhaoxin processors#126
LyleLi-oc wants to merge 2 commits into
andikleen:masterfrom
LyleLi-oc:zhaoxin-mcelog-support

Conversation

@LyleLi-oc

Copy link
Copy Markdown

Zhaoxin CPUs support Machine Check Architecture (MCA), but mcelog currently does not recognize them or provide model-specific decoding for their Machine Check Exceptions (MCEs).

This series adds basic MCA support for all Zhaoxin CPUs. Detailed model-specific error decoding is implemented for the KH-50000 and KH-40000 processors.

Specifically, this series:

  • Recognizes the CentaurHauls and Shanghai CPU vendor strings.
  • Applies the extended CPUID model field to CPU families greater than or equal to 6, which is required for Zhaoxin family 7 processors.
  • Adds generic Zhaoxin MCA decoding and memory-error accounting.
  • Adds model-specific decoding for the Zhaoxin KH-50000 processor.
  • Adds model-specific decoding for the Zhaoxin KH-40000 processor.
  • Integrates the new CPU types with CPU detection, bank naming, address
    resolution, --cpu selection, and the build system.

The KH-50000 decoding logic is adapted from the corresponding rasdaemon
implementation.

Patch structure

  1. mcelog: Add support for Zhaoxin CPUs and the KH-50000 model
  2. mcelog: Add support for Zhaoxin KH-40000 model

Add machine-check decoding support for Zhaoxin processors identified by
the "CentaurHauls" and "  Shanghai  " CPU vendor strings.

Follow the Linux kernel's CPUID decoding rule and apply the extended
model field to CPU families greater than or equal to 6. This is required
to identify Zhaoxin family 7 processors correctly.

Add generic Zhaoxin MCA decoding, memory-error accounting, bank names,
and CPU type selection.

Add model-specific support for the KH-50000 processor, including decoding
for CPU, cache, PCIe, ZDI, ZPI, SVID, memory, and HIF error banks.

The KH-50000 decoding logic is adapted from the corresponding rasdaemon
implementation.

Signed-off-by: Lyle Li <LyleLi-oc@zhaoxin.com>
Zhaoxin KH-40000 processors identify as family 7, model 0x5b and
require model-specific MCA decoding.

Add decoding for CPU, cache, SVID, ZPI, PCIe, and memory banks, and
hook the model into CPU detection, bank naming, memory-error
accounting, address resolution, the build, and --cpu selection.

Signed-off-by: Lyle Li <LyleLi-oc@zhaoxin.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant