Since the commit af7a06bac7d3abb2da48ef3277d2a415772d2ae8: `casa [..](10), .., ..` triggers a data access exception when the MMU is disabled.
This fixes this wrong behavior. Signed-off-by: KONRAD Frederic <frederic.kon...@adacore.com> --- Notes: There is an other way to do that: emiting the instruction with a MMU_PHYS_IDX when the MMU is disabled. I can switch to that if it's a prefered method. target/sparc/mmu_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/sparc/mmu_helper.c b/target/sparc/mmu_helper.c index f8886ae..3cebf50 100644 --- a/target/sparc/mmu_helper.c +++ b/target/sparc/mmu_helper.c @@ -100,7 +100,7 @@ static int get_physical_address(CPUSPARCState *env, hwaddr *physical, is_user = mmu_idx == MMU_USER_IDX; - if (mmu_idx == MMU_PHYS_IDX) { + if ((mmu_idx == MMU_PHYS_IDX) || ((env->mmuregs[0] & MMU_E) == 0)) { *page_size = TARGET_PAGE_SIZE; /* Boot mode: instruction fetches are taken from PROM */ if (rw == 2 && (env->mmuregs[0] & env->def.mmu_bm)) { -- 1.8.3.1