[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