Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Sep 2009 22:02:28 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-stable@freebsd.org, Vincent Hoffman <vince@unsane.co.uk>
Subject:   Re: general protection fault on boot.
Message-ID:  <20090909190228.GC47688@deviant.kiev.zoral.com.ua>
In-Reply-To: <200909091339.00193.jhb@freebsd.org>
References:  <4AA7D8B3.1010203@unsane.co.uk> <200909091339.00193.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--w2Ze1fp8mKggy7lw
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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.
> > =20
> > backtrace is available at
> > http://unsane.co.uk/~jhary/freebsd/GPF-09-09-09.gif=20
> > 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.
> >=20
> > Let me know if I need to provide any more info.
>=20
> Hmm, can you try reverting 196737?  Or actually, can you print out the va=
lue=20
> of %ebx ('p $ebx' in ddb will work I think)?  I wonder if this patch woul=
d=20
> fix it:
>=20
> Index: pmap.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- pmap.c	(revision 196974)
> +++ pmap.c	(working copy)
> @@ -999,7 +999,7 @@
>  		 * coherence domain.
>  		 */
>  		mfence();
> -		for (; sva < eva; sva +=3D cpu_clflush_line_size)
> +		for (; sva <=3D eva; sva +=3D 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_offse=
t_t eva)
 		 * coherence domain.
 		 */
 		mfence();
-		for (; eva < sva; eva +=3D cpu_clflush_line_size)
-			clflush(eva);
+		for (; sva < eva; sva +=3D cpu_clflush_line_size)
+			clflush(sva);
 		mfence();
 	} else {
=20

--w2Ze1fp8mKggy7lw
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAkqn+8IACgkQC3+MBN1Mb4iLZACfc8+868+lMdSftGZ1wH2sIcSr
0VoAnjqHi69YrBcjQlrmPgOcx9vJfBPg
=wZdP
-----END PGP SIGNATURE-----

--w2Ze1fp8mKggy7lw--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090909190228.GC47688>