From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: [PATCH master/stable-0.12/stable-0.13] kvm: reset MSR_IA32_CR_PAT correctly Date: Tue, 7 Sep 2010 16:21:22 +0300 Message-ID: <1283865682-30720-1-git-send-email-avi@redhat.com> Cc: Sheng Yang To: Marcelo Tosatti , kvm@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:11184 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756374Ab0IGNVY (ORCPT ); Tue, 7 Sep 2010 09:21:24 -0400 Sender: kvm-owner@vger.kernel.org List-ID: The power-on value of MSR_IA32_CR_PAT is not 0 - that disables cacheing and makes everything dog slow. Fix to reset MSR_IA32_CR_PAT to the correct value. Signed-off-by: Avi Kivity --- qemu-kvm-x86.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c index 4c32771..e02e896 100644 --- a/qemu-kvm-x86.c +++ b/qemu-kvm-x86.c @@ -1289,12 +1289,21 @@ static int kvm_reset_msrs(CPUState *env) } msr_data; int n; struct kvm_msr_entry *msrs = msr_data.entries; + uint32_t index; + uint64_t data; if (!kvm_msr_list) return -1; for (n = 0; n < kvm_msr_list->nmsrs; n++) { - kvm_msr_entry_set(&msrs[n], kvm_msr_list->indices[n], 0); + index = kvm_msr_list->indices[n]; + switch (index) { + case MSR_PAT: + data = 0x0007040600070406ULL; + default: + data = 0; + } + kvm_msr_entry_set(&msrs[n], index, data); } msr_data.info.nmsrs = n; -- 1.7.1