Re: [PATCH v3 4/5] ARM: perf: Allow the use of the PMUv3 driver on 32bit ARM

From: Marc Zyngier
Date: Mon May 21 2018 - 04:57:30 EST


On 21/05/18 10:34, Vladimir Murzin wrote:
> On 18/05/18 15:39, Marc Zyngier wrote:
>> +static inline int read_pmuver(void)
>> +{
>> + /* PMUVers is not a signed field */
>> + u32 dfr0 = read_cpuid_ext(CPUID_EXT_DFR0);
>> + return (dfr0 >> 24) & 0xf;
>> +}
>
> Should we rule out versions prior v3 here or in __armv8pmu_probe_pmu()?

I'm in two minds about it: The ARM ARM is quite clear about the fact
that this is not legal ("In any ARMv8 implementation the values 0001 and
0010 are not permitted."), and DT clearly lied to us in that case.

If we want to consistently handle that case, it should probably be done
in __armv8pmu_probe_pmu, bailing out if the version is our of scope for
the driver.

Thanks,

M.
--
Jazz is not dead. It just smells funny...