]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
EDAC/igen6: Make masks of {MCHBAR, TOM, TOUUD, ECC_ERROR_LOG} configurable
authorQiuxu Zhuo <qiuxu.zhuo@intel.com>
Fri, 19 Dec 2025 04:29:56 +0000 (12:29 +0800)
committerTony Luck <tony.luck@intel.com>
Fri, 19 Dec 2025 21:36:07 +0000 (13:36 -0800)
commit4b720906efa34e1f68e3b2f7061c294e1889525b
tree3e60f840aa5463764893d0dd8829027ee7c541a7
parent41ca2155d62b0b0d217f59e1bce18362d0c2446f
EDAC/igen6: Make masks of {MCHBAR, TOM, TOUUD, ECC_ERROR_LOG} configurable

The masks used to retrieve base addresses from {MCHBAR, TOM, TOUUD,
ECC_ERROR_LOG} registers can be CPU model-specific. Currently,
igen6_edac hard-codes these masks with the most significant bit at
38, while some CPUs have extended the most significant bit to bit 41
or bit 45.

Systems with more than 512GB (2^39) memory need this extension to get
correct masks. But all CPUs currently supported by igen6_edac support
max memory less than 512GB (e.g., max memory size for Raptor Lake
systems is 192GB, for Alder Lake systems is 128GB, ...), which means
the previous hard-coded most significant bit 38 still works properly.
So backporting this patch to stable kernels is not necessary.

To make these masks reflect the CPUs' real support and easily support
future Intel client CPUs supported by igen6_edac that have more than
512GB memory, add four new fields to structure res_config to make these
masks CPU model-specific and configure them properly.

Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Tested-by: Jianfeng Gao <jianfeng.gao@intel.com>
Link: https://patch.msgid.link/20251219042956.3232568-3-qiuxu.zhuo@intel.com
drivers/edac/igen6_edac.c