diff options
author | Nicolae Mogoreanu <mogoreanu@gmail.com> | 2012-02-21 22:44:21 +0100 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2012-03-08 13:14:14 +0100 |
commit | a223c313cb13e9ab71051fc5b70610a2829a4082 (patch) | |
tree | a3ee30f359ee00852610cbda5e6549f5e721802a | |
parent | KVM: MMU: make use of ->root_level in reset_rsvds_bits_mask (diff) | |
download | linux-a223c313cb13e9ab71051fc5b70610a2829a4082.tar.xz linux-a223c313cb13e9ab71051fc5b70610a2829a4082.zip |
KVM: Ignore the writes to MSR_K7_HWCR(3)
When CPUID Fn8000_0001_EAX reports 0x00100f22 Windows 7 x64 guest
tries to set bit 3 in MSRC001_0015 in nt!KiDisableCacheErrataSource
and fails. This patch will ignore this step and allow things to move
on without having to fake CPUID value.
Signed-off-by: Nicolae Mogoreanu <mogoreanu@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r-- | arch/x86/kvm/x86.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 6866083a48c1..32096cf6c6c9 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -1547,6 +1547,7 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 data) case MSR_K7_HWCR: data &= ~(u64)0x40; /* ignore flush filter disable */ data &= ~(u64)0x100; /* ignore ignne emulation enable */ + data &= ~(u64)0x8; /* ignore TLB cache disable */ if (data != 0) { pr_unimpl(vcpu, "unimplemented HWCR wrmsr: 0x%llx\n", data); |