diff options
author | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2010-10-07 21:20:52 +0200 |
---|---|---|
committer | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2010-10-07 21:20:52 +0200 |
commit | 3e18c6bf7740e4a75503b803ec7d5dc29a531e4f (patch) | |
tree | a5ccecdcdd08d56e3622edf8dc6839689e8018fa /target-cris | |
parent | 4447d609688e75a40a10b559e3b6ae83843e3095 (diff) | |
download | qemu-3e18c6bf7740e4a75503b803ec7d5dc29a531e4f.zip qemu-3e18c6bf7740e4a75503b803ec7d5dc29a531e4f.tar.gz qemu-3e18c6bf7740e4a75503b803ec7d5dc29a531e4f.tar.bz2 |
cris: Consider the TLB valid bit on writes to the TLB
When updating the guest TLB we only need to flush previous
mappings from the entry written if the entry was valid.
Also fixes a compiler warning reported by Blue Swirl.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'target-cris')
-rw-r--r-- | target-cris/op_helper.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/target-cris/op_helper.c b/target-cris/op_helper.c index a60da94..be9eb06 100644 --- a/target-cris/op_helper.c +++ b/target-cris/op_helper.c @@ -164,7 +164,9 @@ void helper_movl_sreg_reg (uint32_t sreg, uint32_t reg) D_LOG("tlb flush vaddr=%x v=%d pc=%x\n", vaddr, tlb_v, env->pc); - tlb_flush_page(env, vaddr); + if (tlb_v) { + tlb_flush_page(env, vaddr); + } } } #endif |