[PATCH v3 1/3] arm64: perf: Add support caps in sysfs
Mark Rutland
mark.rutland at arm.com
Mon Jul 20 06:50:19 EDT 2020
On Mon, Jul 20, 2020 at 11:15:19AM +0100, Will Deacon wrote:
> On Thu, Jun 18, 2020 at 09:35:42PM +0800, Shaokun Zhang wrote:
> > +static umode_t
> > +armv8pmu_caps_attr_is_visible(struct kobject *kobj, struct attribute *attr,
> > + int unused)
> > +{
> > + int pmuver = armv8pmu_get_pmu_version();
> > +
> > + if (pmuver >= ID_AA64DFR0_PMUVER_8_4)
> > + return attr->mode;
>
> Is this sufficient? I'm a bit confused by the text in the Arm ARM that says:
>
> | If ARMv8.4-PMU is implemented:
> | * If STALL_SLOT is not implemented, it is IMPLEMENTATION DEFINED whether
> | the PMMIR System registers are implemented.
> | * If STALL_SLOT is implemented, then the PMMIR System registers are
> | implemented.
>
> whereas the register description for PMMIR_EL1 says:
>
> | This register is present only when ARMv8.4-PMU is implemented.
I think this is trying to say that when ARMv8.4-PMU is not implemented,
PMMIR definitely isn't implemented (i.e. the the presence of PMMIR_EL1
implies the presence of ARMv8.4-PMU).
> Mark -- please could you clarify whether or not we need to check STALL_SLOT
> as well as the PMUVer?
Given the explciit wording that it's IMP DEF, I suspect that we need to
check both.
I'll go chase this up.
Mark.
More information about the linux-arm-kernel
mailing list