From 58aebb946acff82c62383f350cab593e55cc13dc Mon Sep 17 00:00:00 2001 From: "Edgar E. Iglesias" Date: Sat, 18 Sep 2010 12:34:59 +0200 Subject: cris: Fix TLB exec bit protection Signed-off-by: Edgar E. Iglesias --- target-cris/helper.c | 2 +- target-cris/mmu.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'target-cris') diff --git a/target-cris/helper.c b/target-cris/helper.c index 83b25c14da..2a4403b847 100644 --- a/target-cris/helper.c +++ b/target-cris/helper.c @@ -101,7 +101,7 @@ int cpu_cris_handle_mmu_fault (CPUState *env, target_ulong address, int rw, phy = res.phy & ~0x80000000; prot = res.prot; tlb_set_page(env, address & TARGET_PAGE_MASK, phy, - prot | PAGE_EXEC, mmu_idx, TARGET_PAGE_SIZE); + prot, mmu_idx, TARGET_PAGE_SIZE); r = 0; } if (r > 0) diff --git a/target-cris/mmu.c b/target-cris/mmu.c index 3f290ba9e0..1243745598 100644 --- a/target-cris/mmu.c +++ b/target-cris/mmu.c @@ -251,7 +251,7 @@ static int cris_mmu_translate_page(struct cris_mmu_result *res, res->prot |= PAGE_READ; if (tlb_w) res->prot |= PAGE_WRITE; - if (tlb_x) + if (mmu == 0 && (cfg_x || tlb_x)) res->prot |= PAGE_EXEC; } else -- cgit v1.2.3