Date: Wed, 09 Sep 2009 23:13:28 +0100 From: Vincent Hoffman <vince@unsane.co.uk> To: Kostik Belousov <kostikbel@gmail.com> Cc: freebsd-stable@freebsd.org, John Baldwin <jhb@freebsd.org> Subject: Re: general protection fault on boot. Message-ID: <4AA82888.2080707@unsane.co.uk> In-Reply-To: <20090909190228.GC47688@deviant.kiev.zoral.com.ua> References: <4AA7D8B3.1010203@unsane.co.uk> <200909091339.00193.jhb@freebsd.org> <20090909190228.GC47688@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
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 { > > Ok will try this tomorrow. Vince
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4AA82888.2080707>