Message ID | 20240117151238.93323-5-npiggin@gmail.com |
---|---|
State | New |
Headers | show |
Series | [1/6] target/ppc: Fix 440 tlbwe TLB invalidation gaps | expand |
On 1/17/24 16:12, Nicholas Piggin wrote: > 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. > > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Acked-by: Cédric Le Goater <clg@kaod.org> Thanks, C. > --- > target/ppc/mmu_helper.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target/ppc/mmu_helper.c b/target/ppc/mmu_helper.c > index 923779d052..ba965f1779 100644 > --- a/target/ppc/mmu_helper.c > +++ b/target/ppc/mmu_helper.c > @@ -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) {
diff --git a/target/ppc/mmu_helper.c b/target/ppc/mmu_helper.c index 923779d052..ba965f1779 100644 --- a/target/ppc/mmu_helper.c +++ b/target/ppc/mmu_helper.c @@ -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) {
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. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> --- target/ppc/mmu_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)