Revision 183aa454 target-microblaze/mmu.c
b/target-microblaze/mmu.c | ||
---|---|---|
60 | 60 |
{ |
61 | 61 |
struct microblaze_mmu *mmu = &env->mmu; |
62 | 62 |
unsigned int i; |
63 |
unsigned int tlb_size; |
|
64 |
uint32_t tlb_tag, mask, t; |
|
63 |
uint32_t t; |
|
65 | 64 |
|
66 | 65 |
if (newpid & ~0xff) |
67 | 66 |
qemu_log("Illegal rpid=%x\n", newpid); |
... | ... | |
70 | 69 |
/* Lookup and decode. */ |
71 | 70 |
t = mmu->rams[RAM_TAG][i]; |
72 | 71 |
if (t & TLB_VALID) { |
73 |
tlb_size = tlb_decode_size((t & TLB_PAGESZ_MASK) >> 7); |
|
74 |
mask = ~(tlb_size - 1); |
|
75 |
|
|
76 |
tlb_tag = t & TLB_EPN_MASK; |
|
77 | 72 |
if (mmu->tids[i] && ((mmu->regs[MMU_R_PID] & 0xff) == mmu->tids[i])) |
78 | 73 |
mmu_flush_idx(env, i); |
79 | 74 |
} |
Also available in: Unified diff