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

tool.h (1969B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __PERF_TOOL_H
      3#define __PERF_TOOL_H
      4
      5#include <stdbool.h>
      6
      7#include <linux/types.h>
      8
      9struct perf_session;
     10union perf_event;
     11struct evlist;
     12struct evsel;
     13struct perf_sample;
     14struct perf_tool;
     15struct machine;
     16struct ordered_events;
     17
     18typedef int (*event_sample)(struct perf_tool *tool, union perf_event *event,
     19			    struct perf_sample *sample,
     20			    struct evsel *evsel, struct machine *machine);
     21
     22typedef int (*event_op)(struct perf_tool *tool, union perf_event *event,
     23			struct perf_sample *sample, struct machine *machine);
     24
     25typedef int (*event_attr_op)(struct perf_tool *tool,
     26			     union perf_event *event,
     27			     struct evlist **pevlist);
     28
     29typedef int (*event_op2)(struct perf_session *session, union perf_event *event);
     30typedef s64 (*event_op3)(struct perf_session *session, union perf_event *event);
     31typedef int (*event_op4)(struct perf_session *session, union perf_event *event, u64 data,
     32			 const char *str);
     33
     34typedef int (*event_oe)(struct perf_tool *tool, union perf_event *event,
     35			struct ordered_events *oe);
     36
     37enum show_feature_header {
     38	SHOW_FEAT_NO_HEADER = 0,
     39	SHOW_FEAT_HEADER,
     40	SHOW_FEAT_HEADER_FULL_INFO,
     41};
     42
     43struct perf_tool {
     44	event_sample	sample,
     45			read;
     46	event_op	mmap,
     47			mmap2,
     48			comm,
     49			namespaces,
     50			cgroup,
     51			fork,
     52			exit,
     53			lost,
     54			lost_samples,
     55			aux,
     56			itrace_start,
     57			aux_output_hw_id,
     58			context_switch,
     59			throttle,
     60			unthrottle,
     61			ksymbol,
     62			bpf,
     63			text_poke;
     64
     65	event_attr_op	attr;
     66	event_attr_op	event_update;
     67	event_op2	tracing_data;
     68	event_oe	finished_round;
     69	event_op2	build_id,
     70			id_index,
     71			auxtrace_info,
     72			auxtrace_error,
     73			time_conv,
     74			thread_map,
     75			cpu_map,
     76			stat_config,
     77			stat,
     78			stat_round,
     79			feature;
     80	event_op4	compressed;
     81	event_op3	auxtrace;
     82	bool		ordered_events;
     83	bool		ordering_requires_timestamps;
     84	bool		namespace_events;
     85	bool		cgroup_events;
     86	bool		no_warn;
     87	enum show_feature_header show_feat_hdr;
     88};
     89
     90#endif /* __PERF_TOOL_H */