From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: Problem with KVM guest switching to x86 long mode Date: Sun, 11 Apr 2010 12:59:13 +0300 Message-ID: <4BC19D71.2060703@redhat.com> References: <4BBE2213.6020802@redhat.com> <4BBE277B.1090908@cs.helsinki.fi> <4BBE2EF3.6010304@redhat.com> <4BC16CA3.8060804@cs.helsinki.fi> <4BC1936F.5060009@redhat.com> <4BC19AF6.6030407@cs.helsinki.fi> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: KVM General To: Pekka Enberg Return-path: Received: from mx1.redhat.com ([209.132.183.28]:57631 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751672Ab0DKJ70 (ORCPT ); Sun, 11 Apr 2010 05:59:26 -0400 In-Reply-To: <4BC19AF6.6030407@cs.helsinki.fi> Sender: kvm-owner@vger.kernel.org List-ID: On 04/11/2010 12:48 PM, Pekka Enberg wrote: >> So the guest is in long mode, happily trying to access pci config space. >> >> MAXPHYADDR comes from cpuid 80000008.eax[0:7]. Typical values are >> 36-40 (number of physical address bits supported by the processor). >> What value does your guest see? > > > Ah, nice catch! The host cpuid doesn't seem to support 80000008 at so > I didn't set it up in the guest either. I now added dummy emulation > for it and the triple fault is fixed. It should work without 80000008 set up - failure should happen only if it is setup incorrectly: int cpuid_maxphyaddr(struct kvm_vcpu *vcpu) { struct kvm_cpuid_entry2 *best; best = kvm_find_cpuid_entry(vcpu, 0x80000008, 0); if (best) return best->eax & 0xff; return 36; } -- error compiling committee.c: too many arguments to function