Commit b3180cdc0195c14d8f01971010b920ef98b35bc3
1 parent
41625033
MMU fix (Blue Swirl)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1390 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
3 additions
and
3 deletions
target-sparc/helper.c
| ... | ... | @@ -142,7 +142,7 @@ int get_physical_address (CPUState *env, target_phys_addr_t *physical, int *prot |
| 142 | 142 | |
| 143 | 143 | /* SPARC reference MMU table walk: Context table->L1->L2->PTE */ |
| 144 | 144 | /* Context base + context number */ |
| 145 | - pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 4); | |
| 145 | + pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 2); | |
| 146 | 146 | pde = ldl_phys(pde_ptr); |
| 147 | 147 | |
| 148 | 148 | /* Ctx pde */ |
| ... | ... | @@ -356,7 +356,7 @@ target_ulong mmu_probe(target_ulong address, int mmulev) |
| 356 | 356 | uint32_t pde; |
| 357 | 357 | |
| 358 | 358 | /* Context base + context number */ |
| 359 | - pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 4); | |
| 359 | + pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 2); | |
| 360 | 360 | pde = ldl_phys(pde_ptr); |
| 361 | 361 | |
| 362 | 362 | switch (pde & PTE_ENTRYTYPE_MASK) { |
| ... | ... | @@ -421,7 +421,7 @@ void dump_mmu(void) |
| 421 | 421 | uint32_t pde; |
| 422 | 422 | |
| 423 | 423 | printf("MMU dump:\n"); |
| 424 | - pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 4); | |
| 424 | + pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 2); | |
| 425 | 425 | pde = ldl_phys(pde_ptr); |
| 426 | 426 | printf("Root ptr: " TARGET_FMT_lx ", ctx: %d\n", env->mmuregs[1] << 4, env->mmuregs[2]); |
| 427 | 427 | for (n = 0, va = 0; n < 256; n++, va += 16 * 1024 * 1024) { | ... | ... |