x86/msr: handle reads to MSR_P5_MC_{ADDR,TYPE}
authorRoger Pau Monné <roger.pau@citrix.com>
Tue, 7 Jun 2022 12:04:16 +0000 (14:04 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 7 Jun 2022 12:04:16 +0000 (14:04 +0200)
commit9ebe2ba83644ec6cd33a93c68dab5f551adcbea0
treeff2e8c0c6f3eae6fd37af8a940c80c2de92bc968
parent838f6c211f7f05f107e1acdfb0977ab61ec0bf2e
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>
master commit: ce59e472b581e4923f6892172dde62b88c8aa8b7
master date: 2022-05-02 08:49:12 +0200
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/msr.c
xen/include/asm-x86/msr-index.h