Jelajahi Sumber

powerpc/64s/radix: Explicitly flush ERAT with local LPID invalidation

Local radix TLB flush operations that operate on congruence classes
have explicit ERAT flushes for POWER9. The process scoped LPID flush
did not have a flush, so add it.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Nicholas Piggin 7 tahun lalu
induk
melakukan
053c5a753e
1 mengubah file dengan 1 tambahan dan 0 penghapusan
  1. 1 0
      arch/powerpc/mm/tlb-radix.c

+ 1 - 0
arch/powerpc/mm/tlb-radix.c

@@ -366,6 +366,7 @@ static inline void _tlbiel_lpid_guest(unsigned long lpid, unsigned long ric)
 		__tlbiel_lpid_guest(lpid, set, RIC_FLUSH_TLB);
 
 	asm volatile("ptesync": : :"memory");
+	asm volatile(PPC_INVALIDATE_ERAT : : :"memory");
 }