diff options
author | Nicolae Mogoreanu <mogoreanu@gmail.com> | 2012-02-21 16:44:21 -0500 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2012-03-08 07:14:14 -0500 |
commit | a223c313cb13e9ab71051fc5b70610a2829a4082 (patch) | |
tree | a3ee30f359ee00852610cbda5e6549f5e721802a /arch/x86 | |
parent | 4d6931c380a976753f7566a96b58690010ef1413 (diff) |
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>
Diffstat (limited to 'arch/x86')
-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) | |||
1547 | case MSR_K7_HWCR: | 1547 | case MSR_K7_HWCR: |
1548 | data &= ~(u64)0x40; /* ignore flush filter disable */ | 1548 | data &= ~(u64)0x40; /* ignore flush filter disable */ |
1549 | data &= ~(u64)0x100; /* ignore ignne emulation enable */ | 1549 | data &= ~(u64)0x100; /* ignore ignne emulation enable */ |
1550 | data &= ~(u64)0x8; /* ignore TLB cache disable */ | ||
1550 | if (data != 0) { | 1551 | if (data != 0) { |
1551 | pr_unimpl(vcpu, "unimplemented HWCR wrmsr: 0x%llx\n", | 1552 | pr_unimpl(vcpu, "unimplemented HWCR wrmsr: 0x%llx\n", |
1552 | data); | 1553 | data); |