x86/msr: handle reads to MSR_P5_MC_{ADDR,TYPE}
authorRoger Pau Monné <roger.pau@citrix.com>
Mon, 2 May 2022 06:49:12 +0000 (08:49 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 2 May 2022 06:49:12 +0000 (08:49 +0200)
commitce59e472b581e4923f6892172dde62b88c8aa8b7
tree0533a56823079e6c70d441fea41aadd7f0aa0913
parentad4312d764e8b40a1e45b64aac6d840a60c59f13
x86/msr: handle reads to MSR_P5_MC_{ADDR,TYPE}

Windows Server 2019 Essentials will unconditionally attempt to read
P5_MC_ADDR MSR at boot and throw a BSOD if injected a #GP.

Fix this by mapping MSR_P5_MC_{ADDR,TYPE} to
MSR_IA32_MCi_{ADDR,STATUS}, as reported also done by hardware in Intel
SDM "Mapping of the Pentium Processor Machine-Check Errors to the
Machine-Check Architecture" section.

Reported-by: Steffen Einsle <einsle@phptrix.de>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/cpu/mcheck/mce.h
xen/arch/x86/cpu/mcheck/mce_intel.c
xen/arch/x86/cpu/mcheck/vmce.c
xen/arch/x86/include/asm/msr-index.h
xen/arch/x86/msr.c