diff options
author | Nicholas Piggin <[email protected]> | 2018-08-27 13:03:02 +1000 |
---|---|---|
committer | Michael Ellerman <[email protected]> | 2018-10-04 23:16:53 +1000 |
commit | 053c5a753e951c5dd1729af2cf4d8107f2e6e09b (patch) | |
tree | c98616801eaf0f0bc0598ba0cc76677ef2b831ba | |
parent | bc276ecba132caccb1fda5863a652c15def2b8c6 (diff) |
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 <[email protected]>
Signed-off-by: Nicholas Piggin <[email protected]>
Signed-off-by: Michael Ellerman <[email protected]>
-rw-r--r-- | arch/powerpc/mm/tlb-radix.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/mm/tlb-radix.c b/arch/powerpc/mm/tlb-radix.c index fef3e1eb3a19..4e798f33c530 100644 --- a/arch/powerpc/mm/tlb-radix.c +++ b/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"); } |