--- zzzz-none-000/linux-3.10.107/arch/x86/kernel/cpu/mcheck/winchip.c 2017-06-27 09:49:32.000000000 +0000 +++ scorpion-7490-727/linux-3.10.107/arch/x86/kernel/cpu/mcheck/winchip.c 2021-02-04 17:41:59.000000000 +0000 @@ -5,17 +5,22 @@ #include #include #include -#include #include +#include +#include #include #include /* Machine check handler for WinChip C6: */ static void winchip_machine_check(struct pt_regs *regs, long error_code) { + ist_enter(regs); + printk(KERN_EMERG "CPU0: Machine Check Exception.\n"); add_taint(TAINT_MACHINE_CHECK, LOCKDEP_NOW_UNRELIABLE); + + ist_exit(regs); } /* Set up machine check reporting on the Winchip C6 series */ @@ -32,7 +37,7 @@ lo &= ~(1<<4); /* Enable MCE */ wrmsr(MSR_IDT_FCR1, lo, hi); - set_in_cr4(X86_CR4_MCE); + cr4_set_bits(X86_CR4_MCE); printk(KERN_INFO "Winchip machine check reporting enabled on CPU#0.\n");