From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lg1tQ-0003b6-7O for qemu-devel@nongnu.org; Sat, 07 Mar 2009 14:09:04 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lg1tL-0003X9-J2 for qemu-devel@nongnu.org; Sat, 07 Mar 2009 14:08:59 -0500 Received: from [199.232.76.173] (port=57961 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lg1tK-0003Wo-Bt for qemu-devel@nongnu.org; Sat, 07 Mar 2009 14:08:58 -0500 Received: from cantor.suse.de ([195.135.220.2]:37594 helo=mx1.suse.de) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Lg1tJ-0002ny-N8 for qemu-devel@nongnu.org; Sat, 07 Mar 2009 14:08:57 -0500 From: Alexander Graf Date: Sat, 7 Mar 2009 20:08:50 +0100 Message-Id: <1236452932-31622-10-git-send-email-agraf@suse.de> In-Reply-To: <1236452932-31622-9-git-send-email-agraf@suse.de> References: <1236452932-31622-1-git-send-email-agraf@suse.de> <1236452932-31622-2-git-send-email-agraf@suse.de> <1236452932-31622-3-git-send-email-agraf@suse.de> <1236452932-31622-4-git-send-email-agraf@suse.de> <1236452932-31622-5-git-send-email-agraf@suse.de> <1236452932-31622-6-git-send-email-agraf@suse.de> <1236452932-31622-7-git-send-email-agraf@suse.de> <1236452932-31622-8-git-send-email-agraf@suse.de> <1236452932-31622-9-git-send-email-agraf@suse.de> Subject: [Qemu-devel] [PATCH 09/11] PPC64: Fix NX bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: blauwirbel@gmail.com, Alexander Graf ctx->nx only got ORed, but never reset. So when one page in the lifetime of the VM was ever NX, all later pages were too. Signed-off-by: Alexander Graf --- target-ppc/helper.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/target-ppc/helper.c b/target-ppc/helper.c index 60a63b8..f2dc011 100644 --- a/target-ppc/helper.c +++ b/target-ppc/helper.c @@ -226,7 +226,7 @@ static always_inline int _pte_check (mmu_ctx_t *ctx, int is_64b, ptem = pte0 & PTE64_PTEM_MASK; mmask = PTE64_CHECK_MASK; pp = (pte1 & 0x00000003) | ((pte1 >> 61) & 0x00000004); - ctx->nx |= (pte1 >> 2) & 1; /* No execute bit */ + ctx->nx = (pte1 >> 2) & 1; /* No execute bit */ ctx->nx |= (pte1 >> 3) & 1; /* Guarded bit */ } else #endif -- 1.6.0.2