Balbir Singh <bsinghar...@gmail.com> writes: > On 16/11/16 21:51, Michael Ellerman wrote: >> Michael Neuling <mi...@neuling.org> writes: >>> diff --git a/arch/powerpc/mm/tlb-radix.c b/arch/powerpc/mm/tlb-radix.c >>> index bda8c43be7..4a19cdd8a0 100644 >>> --- a/arch/powerpc/mm/tlb-radix.c >>> +++ b/arch/powerpc/mm/tlb-radix.c >>> @@ -50,6 +50,9 @@ static inline void _tlbiel_pid(unsigned long pid, >>> unsigned long ric) >>> for (set = 0; set < POWER9_TLB_SETS_RADIX ; set++) { >>> __tlbiel_pid(pid, set, ric); >>> } >>> + if (cpu_has_feature(CPU_FTR_POWER9_DD1)) >>> + asm volatile(PPC_SLBIA(0x7) >>> + : : :"memory"); >> >> Ah of course I'll use slbia to invalidate the ERAT. >> >> How about we do: >> >> #define PPC_INVALIDATE_ERAT PPC_SLBIA(0x7) >> > > While you are at it, could you also add a TODO > to use a HCALL when LPCR_GTSE is not set > (when running in guest mode)
In what config we use that ? With radix we always run with GTSE = 1 and with hash we don't use tlbiel in guest. -aneesh