From: blueswir1 Date: Sat, 7 Mar 2009 20:57:01 +0000 (+0000) Subject: Fix NX bit X-Git-Tag: v0.11.0-rc0~1193 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=29c8ca6f2ec188fddb83462680386aa160a7cd9f;p=users%2Fdwmw2%2Fqemu.git Fix NX bit 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 git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6755 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/target-ppc/helper.c b/target-ppc/helper.c index 60a63b8e73..f2dc011206 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