mirror of https://gitee.com/openkylin/linux.git
x86, mce: synchronize core after machine check handling
The example code in the IA32 SDM recommends to synchronize the CPU after machine check handling. So do that here. [ Impact: Spec compliance ] Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
parent
5706001aac
commit
88921be302
|
@ -328,6 +328,8 @@ void machine_check_poll(enum mcp_flags flags, mce_banks_t *b)
|
||||||
* Don't clear MCG_STATUS here because it's only defined for
|
* Don't clear MCG_STATUS here because it's only defined for
|
||||||
* exceptions.
|
* exceptions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
sync_core();
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(machine_check_poll);
|
EXPORT_SYMBOL_GPL(machine_check_poll);
|
||||||
|
|
||||||
|
@ -501,6 +503,7 @@ void do_machine_check(struct pt_regs *regs, long error_code)
|
||||||
mce_wrmsrl(MSR_IA32_MCG_STATUS, 0);
|
mce_wrmsrl(MSR_IA32_MCG_STATUS, 0);
|
||||||
out2:
|
out2:
|
||||||
atomic_dec(&mce_entry);
|
atomic_dec(&mce_entry);
|
||||||
|
sync_core();
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(do_machine_check);
|
EXPORT_SYMBOL_GPL(do_machine_check);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue