diff options
Diffstat (limited to 'xen/arch/x86/cpu/mcheck/amd_f10.c')
-rw-r--r-- | xen/arch/x86/cpu/mcheck/amd_f10.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/xen/arch/x86/cpu/mcheck/amd_f10.c b/xen/arch/x86/cpu/mcheck/amd_f10.c index 18e6c071e5..1dab7d046f 100644 --- a/xen/arch/x86/cpu/mcheck/amd_f10.c +++ b/xen/arch/x86/cpu/mcheck/amd_f10.c @@ -46,6 +46,7 @@ #include <asm/msr.h> #include "mce.h" +#include "mce_quirks.h" #include "x86_mca.h" @@ -85,9 +86,14 @@ amd_f10_handler(struct mc_info *mi, uint16_t bank, uint64_t status) /* AMD Family10 machine check */ enum mcheck_type amd_f10_mcheck_init(struct cpuinfo_x86 *c) { + enum mcequirk_amd_flags quirkflag = mcequirk_lookup_amd_quirkdata(c); + if (amd_k8_mcheck_init(c) == mcheck_none) return mcheck_none; + if (quirkflag == MCEQUIRK_F10_GART) + mcequirk_amd_apply(quirkflag); + x86_mce_callback_register(amd_f10_handler); return mcheck_amd_famXX; |