Messages in this thread | | | Subject | Re: [PATCH v3 4/5] ARM: perf: Allow the use of the PMUv3 driver on 32bit ARM | From | Marc Zyngier <> | Date | Mon, 21 May 2018 10:52:18 +0100 |
| |
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...
| |