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 {
pgpAXTmjizcym.pgp
Description: PGP signature