From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: [Xen-users] 2.6.23 oops Date: Thu, 11 Oct 2007 23:21:34 -0700 Message-ID: <470F126E.7050108@goop.org> References: <20071011144817.n5x1drwcgug44sg0@whitelist.dk> <20071011210001.cpd3whfy5ogwkwwc@whitelist.dk> <470E8FE8.6050908@goop.org> <200710120514.09486.mark.williamson@cl.cam.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <200710120514.09486.mark.williamson@cl.cam.ac.uk> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Mark Williamson Cc: xen-devel@lists.xensource.com, =?UTF-8?B?TW9ydGVuIELDuGdlc2tvdg==?= List-Id: xen-devel@lists.xenproject.org Mark Williamson wrote: > Actually, I think the kernel is hanging in an infinite loop whilst trying to > measure loops per jiffies... For some reason the UP kernel isn't getting > timer interrupts from Xen at this point, whereas the SMP kernel is. I've not > figured out why this could be happening, yet, but that's where I am at the > moment. I can't reproduce that specific symptom, but this may help. diff -r 25f5c8bdd699 arch/i386/xen/enlighten.c --- a/arch/i386/xen/enlighten.c Thu Oct 11 18:46:33 2007 -0700 +++ b/arch/i386/xen/enlighten.c Thu Oct 11 23:20:29 2007 -0700 @@ -115,7 +115,7 @@ static void __init xen_vcpu_setup(int cp info.mfn = virt_to_mfn(vcpup); info.offset = offset_in_page(vcpup); - printk(KERN_DEBUG "trying to map vcpu_info %d at %p, mfn %x, offset %d\n", + printk(KERN_DEBUG "trying to map vcpu_info %d at %p, mfn %llx, offset %d\n", cpu, vcpup, info.mfn, info.offset); /* Check to see if the hypervisor will put the vcpu_info diff -r 25f5c8bdd699 include/xen/interface/vcpu.h --- a/include/xen/interface/vcpu.h Thu Oct 11 18:46:33 2007 -0700 +++ b/include/xen/interface/vcpu.h Thu Oct 11 23:20:29 2007 -0700 @@ -160,8 +160,9 @@ struct vcpu_set_singleshot_timer { */ #define VCPUOP_register_vcpu_info 10 /* arg == struct vcpu_info */ struct vcpu_register_vcpu_info { - uint32_t mfn; /* mfn of page to place vcpu_info */ - uint32_t offset; /* offset within page */ + uint64_t mfn; /* mfn of page to place vcpu_info */ + uint32_t offset; /* offset within page */ + uint32_t rsvd; /* unused */ }; #endif /* __XEN_PUBLIC_VCPU_H__ */ J