arm64: perf: add format entry to describe event -> config mapping

It's all very well providing an events directory to userspace that
details our events in terms of "event=0xNN", but if we don't define how
to encode the "event" field in the perf attr.config, then it's a waste
of time.

This patch adds a single format entry to describe that the event field
occupies the bottom 10 bits of our config field on ARMv8 (PMUv3).

Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
Will Deacon 2015-12-22 14:42:57 +00:00
parent abff083ce2
commit 57d7412395

View file

@ -297,7 +297,7 @@ static struct attribute *armv8_pmuv3_event_attrs[] = {
&armv8_event_attr_l21_tlb_refill.attr.attr,
&armv8_event_attr_l2d_tlb.attr.attr,
&armv8_event_attr_l21_tlb.attr.attr,
NULL
NULL,
};
static struct attribute_group armv8_pmuv3_events_attr_group = {
@ -305,11 +305,25 @@ static struct attribute_group armv8_pmuv3_events_attr_group = {
.attrs = armv8_pmuv3_event_attrs,
};
PMU_FORMAT_ATTR(event, "config:0-9");
static struct attribute *armv8_pmuv3_format_attrs[] = {
&format_attr_event.attr,
NULL,
};
static struct attribute_group armv8_pmuv3_format_attr_group = {
.name = "format",
.attrs = armv8_pmuv3_format_attrs,
};
static const struct attribute_group *armv8_pmuv3_attr_groups[] = {
&armv8_pmuv3_events_attr_group,
NULL
&armv8_pmuv3_format_attr_group,
NULL,
};
/*
* Perf Events' indices
*/