swh:1:snp:c3bf2749e3476071fa748f67b0ffa2fdc5fe49d9
Raw File
Tip revision: fd6988496e79a6a4bdb514a4655d2920209eb85d authored by Linus Torvalds on 29 December 2019, 23:29:16 UTC
Linux 5.5-rc4
Tip revision: fd69884
probe.h
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __ARCH_X86_EVENTS_PROBE_H__
#define __ARCH_X86_EVENTS_PROBE_H__
#include <linux/sysfs.h>

struct perf_msr {
	u64			  msr;
	struct attribute_group	 *grp;
	bool			(*test)(int idx, void *data);
	bool			  no_check;
};

unsigned long
perf_msr_probe(struct perf_msr *msr, int cnt, bool no_zero, void *data);

#define __PMU_EVENT_GROUP(_name)			\
static struct attribute *attrs_##_name[] = {		\
	&attr_##_name.attr.attr,			\
	NULL,						\
}

#define PMU_EVENT_GROUP(_grp, _name)			\
__PMU_EVENT_GROUP(_name);				\
static struct attribute_group group_##_name = {		\
	.name  = #_grp,					\
	.attrs = attrs_##_name,				\
}

#endif /* __ARCH_X86_EVENTS_PROBE_H__ */
back to top