[PATCH v2 0/8] AMD MCA Address Translation Updates

From: Yazen Ghannam
Date: Thu Sep 03 2020 - 16:01:56 EST


From: Yazen Ghannam <yazen.ghannam@xxxxxxx>

This patchset includes updates for the MCA Address Translation process
on recent AMD systems.

Patches 1 & 3:
Fixes an input to the address translation function. The translation
requires a physical Die ID (NodeId in AMD documentation) rather than a
logicial NUMA node ID. This is because the physical and logical nodes
may not always match.

Patch 2:
Removes a function that is no longer needed with Patch 1.

Patches 4-7:
Code cleanup in preparation for Patch 8.

Patch 8:
Add translation support for new memory interleaving options available in
Rome systems. The patch is based on the latest AMD reference code for
the address translation.

Patches 6-8 have checkpatch warnings about long lines, but I kept the
long lines for readability.

Thanks,
Yazen

Link:
https://lkml.kernel.org/r/20200814191449.183998-1-Yazen.Ghannam@xxxxxxx

v1 -> v2:
* Save the AMD NodeId value in struct cpuinfo_x86 rather than use a
local value in MCA code.
* Include code cleanup for AMD MCA Address Translation function before
adding new functionality.

Muralidhara M K (1):
x86/MCE/AMD Support new memory interleaving modes during address
translation

Yazen Ghannam (7):
x86/CPU/AMD: Save NodeId on AMD-based systems
x86/CPU/AMD: Remove amd_get_nb_id()
EDAC/mce_amd: Use struct cpuinfo_x86.node_id for NodeId
x86/MCE/AMD: Use defines for register addresses in translation code
x86/MCE/AMD: Use macros to get bitfields in translation code
x86/MCE/AMD: Drop tmp variable in translation code
x86/MCE/AMD: Group register reads in translation code

arch/x86/events/amd/core.c | 2 +-
arch/x86/include/asm/cacheinfo.h | 4 +-
arch/x86/include/asm/processor.h | 3 +-
arch/x86/kernel/amd_nb.c | 4 +-
arch/x86/kernel/cpu/amd.c | 17 +-
arch/x86/kernel/cpu/cacheinfo.c | 8 +-
arch/x86/kernel/cpu/hygon.c | 11 +-
arch/x86/kernel/cpu/mce/amd.c | 284 ++++++++++++++++++++++---------
arch/x86/kernel/cpu/mce/inject.c | 4 +-
drivers/edac/amd64_edac.c | 4 +-
drivers/edac/mce_amd.c | 4 +-
11 files changed, 233 insertions(+), 112 deletions(-)

--
2.25.1