diff options
author | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2009-10-10 17:34:27 +0200 |
---|---|---|
committer | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2009-10-10 17:34:27 +0200 |
commit | 218951ef4dc8e973cd27f934fab34c6e78ed2941 (patch) | |
tree | e9434dde22bf8f613b68cf3443891a94f7a87014 /target-cris/mmu.c | |
parent | cef290b8782b8363e80cc368a554125c5f24ec04 (diff) |
CRIS: Segmented addressing only for kernel mode.
Segmented translation through the CRIS MMU is only done for
accesses in kernel mode. In user-mode, all accesses are treated
as paged regardless of the mode config in RW_MM_CFG.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'target-cris/mmu.c')
-rw-r--r-- | target-cris/mmu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target-cris/mmu.c b/target-cris/mmu.c index bc5b7105d1..b6892bbbf2 100644 --- a/target-cris/mmu.c +++ b/target-cris/mmu.c @@ -345,7 +345,7 @@ int cris_mmu_translate(struct cris_mmu_result *res, } seg = vaddr >> 28; - if (cris_mmu_segmented_addr(seg, env->sregs[SFR_RW_MM_CFG])) + if (!is_user && cris_mmu_segmented_addr(seg, env->sregs[SFR_RW_MM_CFG])) { uint32_t base; |