summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target-cris/helper.c2
-rw-r--r--target-cris/mmu.c2
2 files changed, 2 insertions, 2 deletions
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