[PATCH v5 0/4] x86/mce: Add Zhaoxin MCE support and remove functions that disable error reporting

From: Tony W Wang-oc
Date: Mon Oct 14 2024 - 04:09:55 EST


From: Lyle Li <LyleLi@xxxxxxxxxxx>

Zhaoxin consists of two vendors, X86_VENDOR_ZHAOXIN and
X86_VENDOR_CENTAUR. Add the missing Centaur vendor to
support Zhaoxin MCA.

Since all major vendors do not disable MCA_CTL after initialization,
remove the functions that disable error reporting.

For the sake of code standardization, add zhaoxin.c to
override the Zhaoxin MCA code.

Zhaoxin CPUs support CMCI which is compatible with Intel, but
their UCR errors are not reported through CMCI like Intel's. To
be compatible with intel's CMCI code, add Zhaoxin's specific
CMCI storm toggle.

v4->v5:
- Simplify the commit message (patch 1/4)
- Modify the commit message (patch 2/4)
- Simplify the code comments and modify the compilation order in the
Makefile (patch 3/4)
- Simplify the commit message and modify the order of header file
imports (patch 4/4)

v3->v4:
- Remove functions that disable error reporting (patch 2/4)

v2->v3:
- Consolidate the MCA code for Zhaoxin and Centaur regarding the
broadcast MCE configuration (patch 3/4)

v1->v2:
- Fix multiple definition of "mce_zhaoxin_feature_init" (patch 3/4)
- Fix multiple definition of "mce_zhaoxin_feature_clear" (patch 3/4)
- Fix multiple definition of "mce_zhaoxin_handle_storm" (patch 4/4)

Lyle Li (4):
x86/mce: Add Centaur vendor to support Zhaoxin MCA
x86/mce: Remove functions that disable error reporting
x86/mce: Add zhaoxin.c to support Zhaoxin MCA
x86/mce: Add CMCI storm switching support for Zhaoxin

arch/x86/Kconfig | 8 ++
arch/x86/kernel/cpu/mce/Makefile | 1 +
arch/x86/kernel/cpu/mce/core.c | 116 ++--------------------------
arch/x86/kernel/cpu/mce/intel.c | 8 +-
arch/x86/kernel/cpu/mce/internal.h | 14 ++++
arch/x86/kernel/cpu/mce/threshold.c | 4 +
arch/x86/kernel/cpu/mce/zhaoxin.c | 82 ++++++++++++++++++++
7 files changed, 120 insertions(+), 113 deletions(-)
create mode 100644 arch/x86/kernel/cpu/mce/zhaoxin.c

--
2.34.1