diff options
author | Sergey Kiselev <sergey.kiselev@intel.com> | 2007-03-22 08:06:18 -0400 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2007-05-03 03:52:26 -0400 |
commit | 0e5bf0d0e449f6597870570e8dd17e78ba4d75ff (patch) | |
tree | 2ac27b98ec801261998c868ed856e1488bcae62e | |
parent | fcd3410870049cb74bb1a3a2458cb3ec21185cd1 (diff) |
KVM: Handle writes to MCG_STATUS msr
Some older (~2.6.7) kernels write MCG_STATUS register during kernel
boot (mce_clear_all() function, called from mce_init()). It's not
currently handled by kvm and will cause it to inject a GPF.
Following patch adds a "nop" handler for this.
Signed-off-by: Sergey Kiselev <sergey.kiselev@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
-rw-r--r-- | drivers/kvm/kvm_main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c index 05235e1751fb..33eade7e237c 100644 --- a/drivers/kvm/kvm_main.c +++ b/drivers/kvm/kvm_main.c | |||
@@ -1467,6 +1467,10 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 data) | |||
1467 | printk(KERN_WARNING "%s: MSR_IA32_MC0_STATUS 0x%llx, nop\n", | 1467 | printk(KERN_WARNING "%s: MSR_IA32_MC0_STATUS 0x%llx, nop\n", |
1468 | __FUNCTION__, data); | 1468 | __FUNCTION__, data); |
1469 | break; | 1469 | break; |
1470 | case MSR_IA32_MCG_STATUS: | ||
1471 | printk(KERN_WARNING "%s: MSR_IA32_MCG_STATUS 0x%llx, nop\n", | ||
1472 | __FUNCTION__, data); | ||
1473 | break; | ||
1470 | case MSR_IA32_UCODE_REV: | 1474 | case MSR_IA32_UCODE_REV: |
1471 | case MSR_IA32_UCODE_WRITE: | 1475 | case MSR_IA32_UCODE_WRITE: |
1472 | case 0x200 ... 0x2ff: /* MTRRs */ | 1476 | case 0x200 ... 0x2ff: /* MTRRs */ |