142 |
|
|
143 |
/* SPARC reference MMU table walk: Context table->L1->L2->PTE */ |
/* SPARC reference MMU table walk: Context table->L1->L2->PTE */ |
144 |
/* Context base + context number */ |
/* Context base + context number */ |
145 |
pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 4); |
pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 2); |
146 |
pde = ldl_phys(pde_ptr); |
pde = ldl_phys(pde_ptr); |
147 |
|
|
148 |
/* Ctx pde */ |
/* Ctx pde */ |
356 |
uint32_t pde; |
uint32_t pde; |
357 |
|
|
358 |
/* Context base + context number */ |
/* Context base + context number */ |
359 |
pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 4); |
pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 2); |
360 |
pde = ldl_phys(pde_ptr); |
pde = ldl_phys(pde_ptr); |
361 |
|
|
362 |
switch (pde & PTE_ENTRYTYPE_MASK) { |
switch (pde & PTE_ENTRYTYPE_MASK) { |
421 |
uint32_t pde; |
uint32_t pde; |
422 |
|
|
423 |
printf("MMU dump:\n"); |
printf("MMU dump:\n"); |
424 |
pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 4); |
pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 2); |
425 |
pde = ldl_phys(pde_ptr); |
pde = ldl_phys(pde_ptr); |
426 |
printf("Root ptr: " TARGET_FMT_lx ", ctx: %d\n", env->mmuregs[1] << 4, env->mmuregs[2]); |
printf("Root ptr: " TARGET_FMT_lx ", ctx: %d\n", env->mmuregs[1] << 4, env->mmuregs[2]); |
427 |
for (n = 0, va = 0; n < 256; n++, va += 16 * 1024 * 1024) { |
for (n = 0, va = 0; n < 256; n++, va += 16 * 1024 * 1024) { |