[PATCH] ARM: V7M: Set cacheid iff DminLine or IminLine is nonzero
Vladimir Murzin
vladimir.murzin at arm.com
Thu May 4 01:13:39 PDT 2017
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
More information about the linux-arm-kernel
mailing list