From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45541) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XLQ7t-0005md-OH for qemu-devel@nongnu.org; Sun, 24 Aug 2014 01:14:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XLQ7n-0004Qd-LK for qemu-devel@nongnu.org; Sun, 24 Aug 2014 01:14:01 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:52682) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XLQ7n-0004QQ-FU for qemu-devel@nongnu.org; Sun, 24 Aug 2014 01:13:55 -0400 Received: from c220-237-25-222.eburwd9.vic.optusnet.com.au ([220.237.25.222] helo=[192.168.0.230]) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1XLQ7m-0005oo-5w for qemu-devel@nongnu.org; Sun, 24 Aug 2014 05:13:54 +0000 Message-ID: <53F9748C.4080406@ubuntu.com> Date: Sun, 24 Aug 2014 15:13:48 +1000 From: William Grant MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="d4oq5rPlkkBwjeAKM2DwHN1XpCtXsd7eF" Subject: [Qemu-devel] [PATCH] target-i386: Don't forbid NX bit on PAE PDEs and PTEs List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --d4oq5rPlkkBwjeAKM2DwHN1XpCtXsd7eF Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Commit e8f6d00c30ed88910d0d985f4b2bf41654172ceb ("target-i386: raise page fault for reserved physical address bits") added a check that the NX bit is not set on PAE PDPEs, but it also added it to rsvd_mask for the rest of the function. This caused any PDEs or PTEs with NX set to be erroneously rejected, making PAE guests with NX support unusable. Signed-off-by: William Grant --- target-i386/helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target-i386/helper.c b/target-i386/helper.c index 47b982b..30cb0d0 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -615,8 +615,8 @@ int x86_cpu_handle_mmu_fault(CPUState *cs, vaddr addr= , if (!(pdpe & PG_PRESENT_MASK)) { goto do_fault; } - rsvd_mask |=3D PG_HI_USER_MASK | PG_NX_MASK; - if (pdpe & rsvd_mask) { + rsvd_mask |=3D PG_HI_USER_MASK; + if (pdpe & (rsvd_mask | PG_NX_MASK)) { goto do_fault_rsvd; } ptep =3D PG_NX_MASK | PG_USER_MASK | PG_RW_MASK; --=20 2.1.0 --d4oq5rPlkkBwjeAKM2DwHN1XpCtXsd7eF Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCgAGBQJT+XSMAAoJEGn3kBcaIQmEgHcQAKZvioOrvMnkJ5L6ZHjNG9fN /HssLdn2caUD7yC+N1jw8zo7k6wLDxm+z1vz/utTzPLkkQGHK9LHQ2DmKA0YEm08 xQesPvERpXKYhmIhh7DFFMctrccGb+yPJxzgn4+V1viufs9fF0XGTbJlEHyFX97g df+cTiUbGgqJ5g7UEU3BUMY1txgIdX5Ul4zBXvDemixOy1NdGJyloinqsGFmVzJV 9SD3MTBM+EIt50xXoaqZxxpylrlHRdei6S793NrqGxuuVSzI5fg0KilHnfJC9oJ0 q54fmC/1Mj2g4i5SKl3CILH7NsGcyQuyPIIqfsRYOodmg6e4QYyFzJbGPYFDUwy4 oD51SbsYzC5Fv28tEJ9B1qDgGydv4aL9Y4sa2BcivFjw8MwzzD7TOZI+naZLwoGk jcmmPzMhAfgzarJY5ob3tYu7TnVnu5NST25cC7YbpOR4l+kSpLPvmGTeYBd3wFuL B9voUzaQNCa7ws3PHCjMSdj+s9cqhw/+zY79r5w87RcuYMQMt22zMq5gjLQTG8tg 0UK3xAoqFZXxFAbu7Ly3k2pXnXEROAfno4r8YSlClWi9thRsms5Q+O7a9iD+5w9P lG9PxvNUdnIA9XtPl4Mbp7iV1Ze80J+W/sCUmRXD87MGMIpME9ZT0+4fly4+rbl2 yYcy7jX5CYLkz/ASOuGa =JGpq -----END PGP SIGNATURE----- --d4oq5rPlkkBwjeAKM2DwHN1XpCtXsd7eF--