cris: Fix TLB exec bit protection

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
This commit is contained in:
Edgar E. Iglesias 2010-09-18 12:34:59 +02:00
parent 0b65b9e105
commit 58aebb946a
2 changed files with 2 additions and 2 deletions

View File

@ -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)

View File

@ -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