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

trace_synth.h (876B)


      1// SPDX-License-Identifier: GPL-2.0
      2#ifndef __TRACE_SYNTH_H
      3#define __TRACE_SYNTH_H
      4
      5#include "trace_dynevent.h"
      6
      7#define SYNTH_SYSTEM		"synthetic"
      8#define SYNTH_FIELDS_MAX	64
      9
     10#define STR_VAR_LEN_MAX		MAX_FILTER_STR_VAL /* must be multiple of sizeof(u64) */
     11
     12struct synth_field {
     13	char *type;
     14	char *name;
     15	size_t size;
     16	unsigned int offset;
     17	unsigned int field_pos;
     18	bool is_signed;
     19	bool is_string;
     20	bool is_dynamic;
     21};
     22
     23struct synth_event {
     24	struct dyn_event			devent;
     25	int					ref;
     26	char					*name;
     27	struct synth_field			**fields;
     28	unsigned int				n_fields;
     29	struct synth_field			**dynamic_fields;
     30	unsigned int				n_dynamic_fields;
     31	unsigned int				n_u64;
     32	struct trace_event_class		class;
     33	struct trace_event_call			call;
     34	struct tracepoint			*tp;
     35	struct module				*mod;
     36};
     37
     38extern struct synth_event *find_synth_event(const char *name);
     39
     40#endif /* __TRACE_SYNTH_H */