From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: "-cpu host" AMD Host Date: Tue, 27 Oct 2009 11:58:01 +0200 Message-ID: <4AE6C429.9060408@redhat.com> References: <002301ca5676$367494a0$a35dbde0$@net> <4AE6BFBB.6080907@redhat.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060507090803070503030407" Cc: kvm@vger.kernel.org To: Martin Gallant Return-path: Received: from mx1.redhat.com ([209.132.183.28]:35191 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752525AbZJ0J6A (ORCPT ); Tue, 27 Oct 2009 05:58:00 -0400 In-Reply-To: <4AE6BFBB.6080907@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: This is a multi-part message in MIME format. --------------060507090803070503030407 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit On 10/27/2009 11:39 AM, Avi Kivity wrote: > On 10/26/2009 09:55 PM, Martin Gallant wrote: >> Is “–cpu host” supported on AMD hosts? >> > > Yes. > >> Whenever I try to use this option on a Windows Vista/7 client, I get >> blue >> screen. >> Removing the option, the client works fine. >> >> Host kernel 2.6.31.4. Userspace is qemu-kvm-0.11.0. (Previous versions >> fail too) >> >> /proc/cpuinfo snippet: >> vendor_id : AuthenticAMD >> cpu family : 15 >> model : 107 >> model name : AMD Athlon(tm) 64 X2 Dual Core Processor 5200+ > > Please post the flags : field as well. > You might try the attached patch. -- error compiling committee.c: too many arguments to function --------------060507090803070503030407 Content-Type: text/x-patch; name="0001-KVM-ignore-reads-from-AMDs-C1E-enabled-MSR.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename*0="0001-KVM-ignore-reads-from-AMDs-C1E-enabled-MSR.patch" >>From d8e9cf4f4f688873456b297d78be70c5c328489c Mon Sep 17 00:00:00 2001 From: Andre Przywara Date: Wed, 24 Jun 2009 12:44:34 +0200 Subject: [PATCH -stable] KVM: ignore reads from AMDs C1E enabled MSR If the Linux kernel detects an C1E capable AMD processor (K8 RevF and higher), it will access a certain MSR on every attempt to go to halt. Explicitly handle this read and return 0 to let KVM run a Linux guest with the native AMD host CPU propagated to the guest. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity (cherry picked from commit 1fdbd48c242db996107f72ae4140ffe8163e26a8) --- 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 8aafb62..aa4c46f 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -949,6 +949,7 @@ int kvm_get_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 *pdata) case MSR_P6_EVNTSEL0: case MSR_P6_EVNTSEL1: case MSR_K7_EVNTSEL0: + case MSR_K8_INT_PENDING_MSG: data = 0; break; case MSR_MTRRcap: -- 1.6.5.2 --------------060507090803070503030407--