[PATCH] ARM: V7M: Set cacheid iff DminLine or IminLine is nonzero

Vladimir Murzin vladimir.murzin at arm.com
Fri May 26 02:52:15 PDT 2017


Gentle ping...

On 04/05/17 09:13, Vladimir Murzin wrote:
> On 03/05/17 20:14, Russell King - ARM Linux wrote:
>> On Tue, May 02, 2017 at 09:31:24AM +0100, Vladimir Murzin wrote:
>>> On 26/04/17 11:04, Vladimir Murzin wrote:
>>>> Cache support is optional feature in M-class cores, thus DminLine or
>>>> IminLine of Cache Type Register is zero if caches are not implemented,
>>>> but we check the whole CTR which has other features encoded there.
>>>> Let's be more precise and check for DminLine and IminLine of CTR
>>>> before we set cacheid.
>>>>
>>>> Signed-off-by: Vladimir Murzin <vladimir.murzin at arm.com>
>>>> ---
>>>>  arch/arm/kernel/setup.c | 2 +-
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
>>>> index f4e5450..231a1d83 100644
>>>> --- a/arch/arm/kernel/setup.c
>>>> +++ b/arch/arm/kernel/setup.c
>>>> @@ -315,7 +315,7 @@ static void __init cacheid_init(void)
>>>>  	if (arch >= CPU_ARCH_ARMv6) {
>>>>  		unsigned int cachetype = read_cpuid_cachetype();
>>>>  
>>>> -		if ((arch == CPU_ARCH_ARMv7M) && !cachetype) {
>>>> +		if ((arch == CPU_ARCH_ARMv7M) && !(cachetype & 0xf000f)) {
>>>>  			cacheid = 0;
>>>>  		} else if ((cachetype & (7 << 29)) == 4 << 29) {
>>>>  			/* ARMv7 register format */
>>>>
>>>
>>> Ok for patch tracker?
>>
>> Not yet, I've been away and I've no time right now to evaluate this
>> change.  I'm hopefully going to catch up with some email in the coming
>> days.
>>
> 
> Noted.
> 
> Cheers
> Vladimir
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 




More information about the linux-arm-kernel mailing list