Hi, Keir
Below is a small patch for fixing CMCI
Threshold set problem. When generating
new threshold value, we must firstly clean
old value before or the new set value.
Thanks& Regards,
Criping
Small fix for CMCI Threshold set problem.
When generating new threshold value,
we must firstly clean old value before or
the new set value since the new
value might be different with the old (BIOS
might pre-set some threshold).
Signed-off-by: Liping
Ke<liping.ke@xxxxxxxxx>
Signed-off-by: Ying
Huang<ying.huang@xxxxxxxxx>
diff -r 02e9bafc1f62
xen/arch/x86/cpu/mcheck/mce_intel.c
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c Tue
Mar 30 13:29:53 2010 +0800
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c Tue
Mar 30 13:41:03 2010 +0800
@@ -824,6 +824,8 @@
clear_bit(i, __get_cpu_var(mce_banks_owned));
goto out;
}
+
+ val &=
~CMCI_THRESHOLD_MASK;
wrmsrl(msr, val |
CMCI_EN | CMCI_THRESHOLD);
rdmsrl(msr, val);