[PATCH v2] powerpc/mm/radix: Invalidate ERAT on tlbiel for POWER9 DD1
Balbir Singh
bsingharora at gmail.com
Wed Nov 16 22:02:13 AEDT 2016
On 16/11/16 21:51, Michael Ellerman wrote:
> Michael Neuling <mikey at 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)
Balbir Singh.
More information about the Linuxppc-dev
mailing list