From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: PVH update.... Date: Thu, 10 Jan 2013 07:34:27 +0000 Message-ID: References: <20130109182059.159ddd03@mantra.us.oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20130109182059.159ddd03@mantra.us.oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Mukesh Rathor Cc: "Xen-devel@lists.xensource.com" , Ian Campbell , "stefano.stabellini@eu.citrix.com" List-Id: xen-devel@lists.xenproject.org On 10/01/2013 02:20, "Mukesh Rathor" wrote: > On Tue, 8 Jan 2013 18:50:30 -0800 > Mukesh Rathor wrote: > > Strange. So the latest is, things are OK with debug=n. With debug=y, > I get DOUBLE FAULT at: > > ffff82c4802d4710: construct_dom0+d subq $0x2488, %rsp > > where rsp == ffff82c4802efe20 is there, but (rsp - 0x2488), ie, > 0xffff82c4802ed998 is not there. But, the subtract instruction > should not cause an exception like that IMO. ss is 0, but that > should be OK. Hmm... I am at a loss on this one! This one's not rocket science, Mukesh. The hypervisor stack is 8kB, and construct_dom0() is trying to allocate a stack frame bigger than 8kB. Debug builds enforce the 8kB limit with guard pages. You will actually be crashing on the first stack writing instruction after the subq, but double fault is imprecise (in fact reported cs:eip is undefined for a double fault). You're allocating a ridiculously big local variable on construct_dom0's stack. So just don't do that. -- Keir > thanks, > mukesh > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel