Signed-off-by: Keir Fraser <keir@xen.org>
#include <asm-x86/msr.h>
#include <asm-x86/processor.h>
+#include <xen/errno.h>
#include "mce_quirks.h"
int mcequirk_amd_apply(enum mcequirk_amd_flags flags)
{
- u64 val;
+ u32 lo, hi;
switch (flags) {
case MCEQUIRK_K7_BANK0:
wrmsrl(MSR_IA32_MC4_STATUS, 0ULL);
break;
case MCEQUIRK_F10_GART:
- if (rdmsr_safe(MSR_AMD64_MCx_MASK(4), val) == 0)
- wrmsr_safe(MSR_AMD64_MCx_MASK(4), val | (1 << 10));
+ if (rdmsr_safe(MSR_AMD64_MCx_MASK(4), lo, hi) == 0)
+ wrmsr_safe(MSR_AMD64_MCx_MASK(4), lo | (1 << 10), hi);
break;
}