From owner-freebsd-stable@FreeBSD.ORG Thu Sep 10 10:34:26 2009 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2191B1065670; Thu, 10 Sep 2009 10:34:26 +0000 (UTC) (envelope-from vince@unsane.co.uk) Received: from unsane.co.uk (unsane-pt.tunnel.tserv5.lon1.ipv6.he.net [IPv6:2001:470:1f08:110::2]) by mx1.freebsd.org (Postfix) with ESMTP id 8DF9D8FC17; Thu, 10 Sep 2009 10:34:25 +0000 (UTC) Received: from vhoffman.lon.namesco.net (115.73-246-213.ippool.namesco.net [213.246.73.115]) (authenticated bits=0) by unsane.co.uk (8.14.3/8.14.3) with ESMTP id n8AAbYJK041868 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 10 Sep 2009 11:37:35 +0100 (BST) (envelope-from vince@unsane.co.uk) Message-ID: <4AA8D62F.1020901@unsane.co.uk> Date: Thu, 10 Sep 2009 11:34:23 +0100 From: Vincent Hoffman User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 To: Kostik Belousov References: <4AA7D8B3.1010203@unsane.co.uk> <200909091339.00193.jhb@freebsd.org> <20090909190228.GC47688@deviant.kiev.zoral.com.ua> In-Reply-To: <20090909190228.GC47688@deviant.kiev.zoral.com.ua> X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-stable@freebsd.org, John Baldwin Subject: Re: general protection fault on boot. X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Sep 2009 10:34:26 -0000 Kostik Belousov wrote: > On Wed, Sep 09, 2009 at 01:38:59PM -0400, John Baldwin wrote: > >> On Wednesday 09 September 2009 12:32:51 pm Vincent Hoffman wrote: >> >>> Hi all, >>> I've been running the 8.0-BETAs in a xen virtual machine >>> (hvm/fully virtualised) for testing and something between r196730 and >>> r196746 causes a general protection fault on boot. I'll try and narrow >>> it down if i get a chance but I'm a a bit busy at the moment. >>> >>> backtrace is available at >>> http://unsane.co.uk/~jhary/freebsd/GPF-09-09-09.gif >>> Xen dom0 is a centos5.3 box using the xen-3.3.1 rpms from >>> http://www.gitco.de/linux/i386/centos/5/rpms/ if thats of any use. >>> >>> Let me know if I need to provide any more info. >>> >> Hmm, can you try reverting 196737? Or actually, can you print out the value >> of %ebx ('p $ebx' in ddb will work I think)? I wonder if this patch would >> fix it: >> >> Index: pmap.c >> =================================================================== >> --- pmap.c (revision 196974) >> +++ pmap.c (working copy) >> @@ -999,7 +999,7 @@ >> * coherence domain. >> */ >> mfence(); >> - for (; sva < eva; sva += cpu_clflush_line_size) >> + for (; sva <= eva; sva += cpu_clflush_line_size) >> clflush(sva); >> mfence(); >> } else { >> > > Oh, no, another pointy hat to me :(. > > Please, try this patch instead. > > diff --git a/sys/i386/xen/pmap.c b/sys/i386/xen/pmap.c > index 4b81aae..122318c 100644 > --- a/sys/i386/xen/pmap.c > +++ b/sys/i386/xen/pmap.c > @@ -1004,8 +1004,8 @@ pmap_invalidate_cache_range(vm_offset_t sva, vm_offset_t eva) > * coherence domain. > */ > mfence(); > - for (; eva < sva; eva += cpu_clflush_line_size) > - clflush(eva); > + for (; sva < eva; sva += cpu_clflush_line_size) > + clflush(sva); > mfence(); > } else { > > Hi, I tried this this morning with no joy i'm afraid. not much change but new backtrace (with p $ebx) at http://www.unsane.co.uk/~jhary/freebsd/10-09-09.gif Just to check I'm not in need of more coffee as i'm still learning svn (and my coding skills such as they are lie in shell and perl) krill# svn info Path: . URL: svn://svn.freebsd.org/base/stable/8 Repository Root: svn://svn.freebsd.org/base Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f Revision: 196740 Node Kind: directory Schedule: normal Last Changed Author: rnoland Last Changed Rev: 196737 Last Changed Date: 2009-09-01 17:41:28 +0100 (Tue, 01 Sep 2009) krill# sed -n '1010,1017p' sys/i386/xen/pmap.c * coherence domain. */ mfence(); for (; sva < eva; sva += cpu_clflush_line_size) clflush(sva); mfence(); } else { krill# Happy to give vnc access to the console of the machine if that would help. Vince