aboutsummaryrefslogtreecommitdiff
path: root/target-ppc
diff options
context:
space:
mode:
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2009-03-07 20:57:01 +0000
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2009-03-07 20:57:01 +0000
commit29c8ca6f2ec188fddb83462680386aa160a7cd9f (patch)
tree627c5e63a51927dab165f1b538529eb68a90de5b /target-ppc
parent2ada0ed785a923e35175c084f09a656b10d1a4fa (diff)
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 <alex@csgraf.de> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6755 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc')
-rw-r--r--target-ppc/helper.c2
1 files changed, 1 insertions, 1 deletions
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