cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

probe.h (710B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __ARCH_X86_EVENTS_PROBE_H__
      3#define __ARCH_X86_EVENTS_PROBE_H__
      4#include <linux/sysfs.h>
      5
      6struct perf_msr {
      7	u64			msr;
      8	struct attribute_group	*grp;
      9	bool			(*test)(int idx, void *data);
     10	bool			no_check;
     11	u64			mask;
     12};
     13
     14unsigned long
     15perf_msr_probe(struct perf_msr *msr, int cnt, bool no_zero, void *data);
     16
     17#define __PMU_EVENT_GROUP(_name)			\
     18static struct attribute *attrs_##_name[] = {		\
     19	&attr_##_name.attr.attr,			\
     20	NULL,						\
     21}
     22
     23#define PMU_EVENT_GROUP(_grp, _name)			\
     24__PMU_EVENT_GROUP(_name);				\
     25static struct attribute_group group_##_name = {		\
     26	.name  = #_grp,					\
     27	.attrs = attrs_##_name,				\
     28}
     29
     30#endif /* __ARCH_X86_EVENTS_PROBE_H__ */