From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: Bug: cpu0 unhandled rdmsr: 0x1900 and inject_general_protection Date: Thu, 08 Nov 2007 15:02:40 +0200 Message-ID: <473308F0.4050504@qumranet.com> References: <1194523650.20087.16.camel@hephaestion> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040704030809000607060401" Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org To: TJ Return-path: In-Reply-To: <1194523650.20087.16.camel@hephaestion> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org This is a multi-part message in MIME format. --------------040704030809000607060401 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit TJ wrote: > Trying to run the latest OLPC XO guest image with kvm-intel on 2.6.22 > x86_64 (Ubuntu Gutsy) on a T7200 there are critical problems which don't > occur if kvm-intel is not loaded/used. > > The same issue affects kvm-48, kvm-50 and kvm-51. > > I don't see these problems with Gutsy or Windows guests. The issues are: > > 1. Start-up of the image into GRUB is _slow_. The cursor can be seen > scanning as the GRUB menu is drawn. It is *much* faster when kvm-intel > isn't loaded/used. > > 2. After choosing a boot option the guest freezes and the host kern.log > reports: > > kernel: [88380.014893] kvm: 12666: cpu0 unhandled rdmsr: 0x1900 > kernel: [88380.014900] inject_general_protection: rip 0xc07211ab > > 3. Guest locks up at this point with host CPU being driven 100% and requires killing. > > > I'm guessing they may be related to the OLPC kernel expecting an AMD Geode CPU? > > ./include/asm-i386/msr.h > #define MSR_GEODE_BUSCONT_CONF0 0x1900 > > Very likely. Try the attached patch. The guest may hang later with another bad msr; you can simply add more registers as necessary. I think we can add an API to do this from userspace, to avoid the need to patch the kernel for hundreds of no-op msrs. -- error compiling committee.c: too many arguments to function --------------040704030809000607060401 Content-Type: text/x-patch; name="geode.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="geode.patch" diff --git a/kernel/x86.c b/kernel/x86.c index e905d46..71307cb 100644 --- a/kernel/x86.c +++ b/kernel/x86.c @@ -460,6 +460,7 @@ int kvm_get_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 *pdata) case MSR_IA32_UCODE_REV: case MSR_IA32_PERF_STATUS: case MSR_IA32_EBL_CR_POWERON: + case MSR_GEODE_BUSCONT_CONF0: /* MTRR registers */ case 0xfe: case 0x200 ... 0x2ff: --------------040704030809000607060401 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ --------------040704030809000607060401 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kvm-devel mailing list kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org https://lists.sourceforge.net/lists/listinfo/kvm-devel --------------040704030809000607060401--