]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
target/ppc: 440 optimise tlbwe TLB flushing
authorNicholas Piggin <npiggin@gmail.com>
Mon, 13 Nov 2023 12:23:06 +0000 (22:23 +1000)
committerNicholas Piggin <npiggin@gmail.com>
Fri, 23 Feb 2024 13:24:43 +0000 (23:24 +1000)
Have 440 tlbwe flush only the range corresponding to the addresses
covered by the software TLB entry being modified rather than the
entire TLB. This matches what 4xx does.

Tested-by: BALATON Zoltan <balaton@eik.bme.hu>
Acked-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
target/ppc/mmu_helper.c

index 923779d052a71b40219249df9f2ea9deed6fc2d9..ba965f17799bc3b81fea27ec2990200c3c01d928 100644 (file)
@@ -864,7 +864,7 @@ void helper_440_tlbwe(CPUPPCState *env, uint32_t word, target_ulong entry,
 
     /* Invalidate previous TLB (if it's valid) */
     if (tlb->prot & PAGE_VALID) {
-        tlb_flush(env_cpu(env));
+        ppcemb_tlb_flush(env_cpu(env), tlb);
     }
 
     switch (word) {