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.h (1705B)


      1// SPDX-License-Identifier: GPL-2.0
      2#include <tracefs.h>
      3#include <stddef.h>
      4
      5struct trace_events {
      6	struct trace_events *next;
      7	char *system;
      8	char *event;
      9	char *filter;
     10	char *trigger;
     11	char enabled;
     12	char filter_enabled;
     13	char trigger_enabled;
     14};
     15
     16struct trace_instance {
     17	struct tracefs_instance		*inst;
     18	struct tep_handle		*tep;
     19	struct trace_seq		*seq;
     20};
     21
     22int trace_instance_init(struct trace_instance *trace, char *tool_name);
     23int trace_instance_start(struct trace_instance *trace);
     24void trace_instance_destroy(struct trace_instance *trace);
     25
     26struct trace_seq *get_trace_seq(void);
     27int enable_tracer_by_name(struct tracefs_instance *inst, const char *tracer_name);
     28void disable_tracer(struct tracefs_instance *inst);
     29
     30int enable_osnoise(struct trace_instance *trace);
     31int enable_timerlat(struct trace_instance *trace);
     32
     33struct tracefs_instance *create_instance(char *instance_name);
     34void destroy_instance(struct tracefs_instance *inst);
     35
     36int save_trace_to_file(struct tracefs_instance *inst, const char *filename);
     37int collect_registered_events(struct tep_event *tep, struct tep_record *record,
     38			      int cpu, void *context);
     39
     40struct trace_events *trace_event_alloc(const char *event_string);
     41void trace_events_disable(struct trace_instance *instance,
     42			  struct trace_events *events);
     43void trace_events_destroy(struct trace_instance *instance,
     44			  struct trace_events *events);
     45int trace_events_enable(struct trace_instance *instance,
     46			  struct trace_events *events);
     47
     48int trace_event_add_filter(struct trace_events *event, char *filter);
     49int trace_event_add_trigger(struct trace_events *event, char *trigger);
     50int trace_is_off(struct trace_instance *tool, struct trace_instance *trace);