diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-03-30 08:32:34 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-03-30 08:32:34 +0100 |
commit | 24f2d7393849de5aec0ff36f3b02d22d327de59e (patch) | |
tree | 404d87753206f08243a5a266ec0f7b096302c3fb | |
parent | e1a5597bc844d14d4d46a88b301b9cea39729634 (diff) | |
download | xen-24f2d7393849de5aec0ff36f3b02d22d327de59e.tar.gz xen-24f2d7393849de5aec0ff36f3b02d22d327de59e.tar.bz2 xen-24f2d7393849de5aec0ff36f3b02d22d327de59e.zip |
mcheck: 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@intel.com>
Signed-off-by: Ying Huang <ying.huang@intel.com>
-rw-r--r-- | xen/arch/x86/cpu/mcheck/mce_intel.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/xen/arch/x86/cpu/mcheck/mce_intel.c b/xen/arch/x86/cpu/mcheck/mce_intel.c index 9e56df9ca9..0eefd9263c 100644 --- a/xen/arch/x86/cpu/mcheck/mce_intel.c +++ b/xen/arch/x86/cpu/mcheck/mce_intel.c @@ -824,6 +824,8 @@ static int do_cmci_discover(int i) 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); |