]> Git Repo - qemu.git/commitdiff
booke206: fix MAS update on tlb miss
authorKONRAD Frederic <[email protected]>
Tue, 1 Aug 2017 08:44:57 +0000 (10:44 +0200)
committerDavid Gibson <[email protected]>
Wed, 9 Aug 2017 01:46:44 +0000 (11:46 +1000)
When a tlb instruction miss happen, rw is set to 0 at the bottom
of cpu_ppc_handle_mmu_fault which cause the MAS update function to miss
the SAS and TS bit in MAS6, MAS1 in booke206_update_mas_tlb_miss.

Just calling booke206_update_mas_tlb_miss with rw = 2 solve the issue.

Signed-off-by: KONRAD Frederic <[email protected]>
Signed-off-by: David Gibson <[email protected]>
target/ppc/mmu_helper.c

index b7b9088842937bbe539a6bf65fd88b1c81933a72..f06b9382b472ba7578f21bb0f0fd99813cb22737 100644 (file)
@@ -1551,7 +1551,7 @@ static int cpu_ppc_handle_mmu_fault(CPUPPCState *env, target_ulong address,
                     env->spr[SPR_40x_ESR] = 0x00000000;
                     break;
                 case POWERPC_MMU_BOOKE206:
-                    booke206_update_mas_tlb_miss(env, address, rw);
+                    booke206_update_mas_tlb_miss(env, address, 2);
                     /* fall through */
                 case POWERPC_MMU_BOOKE:
                     cs->exception_index = POWERPC_EXCP_ITLB;
This page took 0.030929 seconds and 4 git commands to generate.