OSDN Git Service
(root)
/
qmiga
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6b2fce9
)
microblaze: Make writes to MMU_ZPR flush the TLB.
author
Edgar E. Iglesias
<edgar.iglesias@gmail.com>
Tue, 26 May 2009 23:19:58 +0000
(
01:19
+0200)
committer
Edgar E. Iglesias
<edgar.iglesias@gmail.com>
Tue, 26 May 2009 23:19:58 +0000
(
01:19
+0200)
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
target-microblaze/mmu.c
patch
|
blob
|
history
diff --git
a/target-microblaze/mmu.c
b/target-microblaze/mmu.c
index
72d3183
..
d14373c
100644
(file)
--- a/
target-microblaze/mmu.c
+++ b/
target-microblaze/mmu.c
@@
-220,6
+220,13
@@
void mmu_write(CPUState *env, uint32_t rn, uint32_t v)
D(qemu_log("%s ram[%d][%d]=%x\n", __func__, rn & 1, i, v));
break;
case MMU_R_ZPR:
+ /* Changes to the zone protection reg flush the QEMU TLB.
+ Fortunately, these are very uncommon. */
+ if (v != env->mmu.regs[rn]) {
+ tlb_flush(env, 1);
+ }
+ env->mmu.regs[rn] = v;
+ break;
case MMU_R_PID:
if (v != env->mmu.regs[rn]) {
mmu_change_pid(env, v);