diff options
Diffstat (limited to 'arch/x86/kernel/cpu/perf_event_p6.c')
| -rw-r--r-- | arch/x86/kernel/cpu/perf_event_p6.c | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/perf_event_p6.c b/arch/x86/kernel/cpu/perf_event_p6.c index c7181befecd..32bcfc7dd23 100644 --- a/arch/x86/kernel/cpu/perf_event_p6.c +++ b/arch/x86/kernel/cpu/perf_event_p6.c @@ -87,6 +87,23 @@ static void p6_pmu_enable_event(struct perf_event *event)  	(void)checking_wrmsrl(hwc->config_base, val);  } +PMU_FORMAT_ATTR(event,	"config:0-7"	); +PMU_FORMAT_ATTR(umask,	"config:8-15"	); +PMU_FORMAT_ATTR(edge,	"config:18"	); +PMU_FORMAT_ATTR(pc,	"config:19"	); +PMU_FORMAT_ATTR(inv,	"config:23"	); +PMU_FORMAT_ATTR(cmask,	"config:24-31"	); + +static struct attribute *intel_p6_formats_attr[] = { +	&format_attr_event.attr, +	&format_attr_umask.attr, +	&format_attr_edge.attr, +	&format_attr_pc.attr, +	&format_attr_inv.attr, +	&format_attr_cmask.attr, +	NULL, +}; +  static __initconst const struct x86_pmu p6_pmu = {  	.name			= "p6",  	.handle_irq		= x86_pmu_handle_irq, @@ -115,6 +132,8 @@ static __initconst const struct x86_pmu p6_pmu = {  	.cntval_mask		= (1ULL << 32) - 1,  	.get_event_constraints	= x86_get_event_constraints,  	.event_constraints	= p6_event_constraints, + +	.format_attrs		= intel_p6_formats_attr,  };  __init int p6_pmu_init(void)  |