123456789101112131415161718192021222324252627282930 |
- /* 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;
- u64 mask;
- };
- 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__ */
|