From 2c3c1048746a4622d8c89a29670120dc8fab93c4 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:49:45 +0200 Subject: Adding upstream version 6.1.76. Signed-off-by: Daniel Baumann --- tools/perf/util/evsel_config.h | 61 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 tools/perf/util/evsel_config.h (limited to 'tools/perf/util/evsel_config.h') diff --git a/tools/perf/util/evsel_config.h b/tools/perf/util/evsel_config.h new file mode 100644 index 000000000..aee6f808b --- /dev/null +++ b/tools/perf/util/evsel_config.h @@ -0,0 +1,61 @@ +// SPDX-License-Identifier: GPL-2.0 +#ifndef __PERF_EVSEL_CONFIG_H +#define __PERF_EVSEL_CONFIG_H 1 + +#include +#include + +/* + * The 'struct evsel_config_term' is used to pass event + * specific configuration data to evsel__config routine. + * It is allocated within event parsing and attached to + * evsel::config_terms list head. +*/ +enum evsel_term_type { + EVSEL__CONFIG_TERM_PERIOD, + EVSEL__CONFIG_TERM_FREQ, + EVSEL__CONFIG_TERM_TIME, + EVSEL__CONFIG_TERM_CALLGRAPH, + EVSEL__CONFIG_TERM_STACK_USER, + EVSEL__CONFIG_TERM_INHERIT, + EVSEL__CONFIG_TERM_MAX_STACK, + EVSEL__CONFIG_TERM_MAX_EVENTS, + EVSEL__CONFIG_TERM_OVERWRITE, + EVSEL__CONFIG_TERM_DRV_CFG, + EVSEL__CONFIG_TERM_BRANCH, + EVSEL__CONFIG_TERM_PERCORE, + EVSEL__CONFIG_TERM_AUX_OUTPUT, + EVSEL__CONFIG_TERM_AUX_SAMPLE_SIZE, + EVSEL__CONFIG_TERM_CFG_CHG, +}; + +struct evsel_config_term { + struct list_head list; + enum evsel_term_type type; + bool free_str; + union { + u64 period; + u64 freq; + bool time; + u64 stack_user; + int max_stack; + bool inherit; + bool overwrite; + unsigned long max_events; + bool percore; + bool aux_output; + u32 aux_sample_size; + u64 cfg_chg; + char *str; + } val; + bool weak; +}; + +struct evsel; + +struct evsel_config_term *__evsel__get_config_term(struct evsel *evsel, enum evsel_term_type type); + +#define evsel__get_config_term(evsel, type) \ + __evsel__get_config_term(evsel, EVSEL__CONFIG_TERM_ ## type) + +#endif // __PERF_EVSEL_CONFIG_H -- cgit v1.2.3