perf events parse: Rename parse_events_parse arguments

Calling them just "data" is too vague, call it 'perf_state', to make it
clearer, for instance, when looking at patch hunks.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-rnhk5yb05wem77rjpclrh7so@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent d17d0878
...@@ -124,16 +124,16 @@ static int do_test(struct bpf_object *obj, int (*func)(void), ...@@ -124,16 +124,16 @@ static int do_test(struct bpf_object *obj, int (*func)(void),
struct perf_evlist *evlist; struct perf_evlist *evlist;
int i, ret = TEST_FAIL, err = 0, count = 0; int i, ret = TEST_FAIL, err = 0, count = 0;
struct parse_events_state parse_evlist; struct parse_events_state parse_state;
struct parse_events_error parse_error; struct parse_events_error parse_error;
bzero(&parse_error, sizeof(parse_error)); bzero(&parse_error, sizeof(parse_error));
bzero(&parse_evlist, sizeof(parse_evlist)); bzero(&parse_state, sizeof(parse_state));
parse_evlist.error = &parse_error; parse_state.error = &parse_error;
INIT_LIST_HEAD(&parse_evlist.list); INIT_LIST_HEAD(&parse_state.list);
err = parse_events_load_bpf_obj(&parse_evlist, &parse_evlist.list, obj, NULL); err = parse_events_load_bpf_obj(&parse_state, &parse_state.list, obj, NULL);
if (err || list_empty(&parse_evlist.list)) { if (err || list_empty(&parse_state.list)) {
pr_debug("Failed to add events selected by BPF\n"); pr_debug("Failed to add events selected by BPF\n");
return TEST_FAIL; return TEST_FAIL;
} }
...@@ -155,8 +155,8 @@ static int do_test(struct bpf_object *obj, int (*func)(void), ...@@ -155,8 +155,8 @@ static int do_test(struct bpf_object *obj, int (*func)(void),
goto out_delete_evlist; goto out_delete_evlist;
} }
perf_evlist__splice_list_tail(evlist, &parse_evlist.list); perf_evlist__splice_list_tail(evlist, &parse_state.list);
evlist->nr_groups = parse_evlist.nr_groups; evlist->nr_groups = parse_state.nr_groups;
perf_evlist__config(evlist, &opts, NULL); perf_evlist__config(evlist, &opts, NULL);
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
#ifdef PARSER_DEBUG #ifdef PARSER_DEBUG
extern int parse_events_debug; extern int parse_events_debug;
#endif #endif
int parse_events_parse(void *data, void *scanner); int parse_events_parse(void *parse_state, void *scanner);
static int get_config_terms(struct list_head *head_config, static int get_config_terms(struct list_head *head_config,
struct list_head *head_terms __maybe_unused); struct list_head *head_terms __maybe_unused);
...@@ -589,7 +589,7 @@ static int add_tracepoint_multi_sys(struct list_head *list, int *idx, ...@@ -589,7 +589,7 @@ static int add_tracepoint_multi_sys(struct list_head *list, int *idx,
} }
struct __add_bpf_event_param { struct __add_bpf_event_param {
struct parse_events_state *data; struct parse_events_state *parse_state;
struct list_head *list; struct list_head *list;
struct list_head *head_config; struct list_head *head_config;
}; };
...@@ -599,7 +599,7 @@ static int add_bpf_event(const char *group, const char *event, int fd, ...@@ -599,7 +599,7 @@ static int add_bpf_event(const char *group, const char *event, int fd,
{ {
LIST_HEAD(new_evsels); LIST_HEAD(new_evsels);
struct __add_bpf_event_param *param = _param; struct __add_bpf_event_param *param = _param;
struct parse_events_state *parse_state = param->data; struct parse_events_state *parse_state = param->parse_state;
struct list_head *list = param->list; struct list_head *list = param->list;
struct perf_evsel *pos; struct perf_evsel *pos;
int err; int err;
...@@ -632,14 +632,14 @@ static int add_bpf_event(const char *group, const char *event, int fd, ...@@ -632,14 +632,14 @@ static int add_bpf_event(const char *group, const char *event, int fd,
return 0; return 0;
} }
int parse_events_load_bpf_obj(struct parse_events_state *data, int parse_events_load_bpf_obj(struct parse_events_state *parse_state,
struct list_head *list, struct list_head *list,
struct bpf_object *obj, struct bpf_object *obj,
struct list_head *head_config) struct list_head *head_config)
{ {
int err; int err;
char errbuf[BUFSIZ]; char errbuf[BUFSIZ];
struct __add_bpf_event_param param = {data, list, head_config}; struct __add_bpf_event_param param = {parse_state, list, head_config};
static bool registered_unprobe_atexit = false; static bool registered_unprobe_atexit = false;
if (IS_ERR(obj) || !obj) { if (IS_ERR(obj) || !obj) {
...@@ -680,13 +680,13 @@ int parse_events_load_bpf_obj(struct parse_events_state *data, ...@@ -680,13 +680,13 @@ int parse_events_load_bpf_obj(struct parse_events_state *data,
return 0; return 0;
errout: errout:
data->error->help = strdup("(add -v to see detail)"); parse_state->error->help = strdup("(add -v to see detail)");
data->error->str = strdup(errbuf); parse_state->error->str = strdup(errbuf);
return err; return err;
} }
static int static int
parse_events_config_bpf(struct parse_events_state *data, parse_events_config_bpf(struct parse_events_state *parse_state,
struct bpf_object *obj, struct bpf_object *obj,
struct list_head *head_config) struct list_head *head_config)
{ {
...@@ -705,28 +705,28 @@ parse_events_config_bpf(struct parse_events_state *data, ...@@ -705,28 +705,28 @@ parse_events_config_bpf(struct parse_events_state *data,
"Invalid config term for BPF object"); "Invalid config term for BPF object");
errbuf[BUFSIZ - 1] = '\0'; errbuf[BUFSIZ - 1] = '\0';
data->error->idx = term->err_term; parse_state->error->idx = term->err_term;
data->error->str = strdup(errbuf); parse_state->error->str = strdup(errbuf);
return -EINVAL; return -EINVAL;
} }
err = bpf__config_obj(obj, term, data->evlist, &error_pos); err = bpf__config_obj(obj, term, parse_state->evlist, &error_pos);
if (err) { if (err) {
bpf__strerror_config_obj(obj, term, data->evlist, bpf__strerror_config_obj(obj, term, parse_state->evlist,
&error_pos, err, errbuf, &error_pos, err, errbuf,
sizeof(errbuf)); sizeof(errbuf));
data->error->help = strdup( parse_state->error->help = strdup(
"Hint:\tValid config terms:\n" "Hint:\tValid config terms:\n"
" \tmap:[<arraymap>].value<indices>=[value]\n" " \tmap:[<arraymap>].value<indices>=[value]\n"
" \tmap:[<eventmap>].event<indices>=[event]\n" " \tmap:[<eventmap>].event<indices>=[event]\n"
"\n" "\n"
" \twhere <indices> is something like [0,3...5] or [all]\n" " \twhere <indices> is something like [0,3...5] or [all]\n"
" \t(add -v to see detail)"); " \t(add -v to see detail)");
data->error->str = strdup(errbuf); parse_state->error->str = strdup(errbuf);
if (err == -BPF_LOADER_ERRNO__OBJCONF_MAP_VALUE) if (err == -BPF_LOADER_ERRNO__OBJCONF_MAP_VALUE)
data->error->idx = term->err_val; parse_state->error->idx = term->err_val;
else else
data->error->idx = term->err_term + error_pos; parse_state->error->idx = term->err_term + error_pos;
return err; return err;
} }
} }
...@@ -762,7 +762,7 @@ split_bpf_config_terms(struct list_head *evt_head_config, ...@@ -762,7 +762,7 @@ split_bpf_config_terms(struct list_head *evt_head_config,
list_move_tail(&term->list, obj_head_config); list_move_tail(&term->list, obj_head_config);
} }
int parse_events_load_bpf(struct parse_events_state *data, int parse_events_load_bpf(struct parse_events_state *parse_state,
struct list_head *list, struct list_head *list,
char *bpf_file_name, char *bpf_file_name,
bool source, bool source,
...@@ -790,15 +790,15 @@ int parse_events_load_bpf(struct parse_events_state *data, ...@@ -790,15 +790,15 @@ int parse_events_load_bpf(struct parse_events_state *data,
-err, errbuf, -err, errbuf,
sizeof(errbuf)); sizeof(errbuf));
data->error->help = strdup("(add -v to see detail)"); parse_state->error->help = strdup("(add -v to see detail)");
data->error->str = strdup(errbuf); parse_state->error->str = strdup(errbuf);
return err; return err;
} }
err = parse_events_load_bpf_obj(data, list, obj, head_config); err = parse_events_load_bpf_obj(parse_state, list, obj, head_config);
if (err) if (err)
return err; return err;
err = parse_events_config_bpf(data, obj, &obj_head_config); err = parse_events_config_bpf(parse_state, obj, &obj_head_config);
/* /*
* Caller doesn't know anything about obj_head_config, * Caller doesn't know anything about obj_head_config,
...@@ -1184,7 +1184,7 @@ int parse_events_add_tracepoint(struct list_head *list, int *idx, ...@@ -1184,7 +1184,7 @@ int parse_events_add_tracepoint(struct list_head *list, int *idx,
err, head_config); err, head_config);
} }
int parse_events_add_numeric(struct parse_events_state *data, int parse_events_add_numeric(struct parse_events_state *parse_state,
struct list_head *list, struct list_head *list,
u32 type, u64 config, u32 type, u64 config,
struct list_head *head_config) struct list_head *head_config)
...@@ -1197,7 +1197,7 @@ int parse_events_add_numeric(struct parse_events_state *data, ...@@ -1197,7 +1197,7 @@ int parse_events_add_numeric(struct parse_events_state *data,
attr.config = config; attr.config = config;
if (head_config) { if (head_config) {
if (config_attr(&attr, head_config, data->error, if (config_attr(&attr, head_config, parse_state->error,
config_term_common)) config_term_common))
return -EINVAL; return -EINVAL;
...@@ -1205,11 +1205,11 @@ int parse_events_add_numeric(struct parse_events_state *data, ...@@ -1205,11 +1205,11 @@ int parse_events_add_numeric(struct parse_events_state *data,
return -ENOMEM; return -ENOMEM;
} }
return add_event(list, &data->idx, &attr, return add_event(list, &parse_state->idx, &attr,
get_config_name(head_config), &config_terms); get_config_name(head_config), &config_terms);
} }
int parse_events_add_pmu(struct parse_events_state *data, int parse_events_add_pmu(struct parse_events_state *parse_state,
struct list_head *list, char *name, struct list_head *list, char *name,
struct list_head *head_config) struct list_head *head_config)
{ {
...@@ -1232,7 +1232,7 @@ int parse_events_add_pmu(struct parse_events_state *data, ...@@ -1232,7 +1232,7 @@ int parse_events_add_pmu(struct parse_events_state *data,
if (!head_config) { if (!head_config) {
attr.type = pmu->type; attr.type = pmu->type;
evsel = __add_event(list, &data->idx, &attr, NULL, pmu->cpus, NULL); evsel = __add_event(list, &parse_state->idx, &attr, NULL, pmu->cpus, NULL);
return evsel ? 0 : -ENOMEM; return evsel ? 0 : -ENOMEM;
} }
...@@ -1243,16 +1243,16 @@ int parse_events_add_pmu(struct parse_events_state *data, ...@@ -1243,16 +1243,16 @@ int parse_events_add_pmu(struct parse_events_state *data,
* Configure hardcoded terms first, no need to check * Configure hardcoded terms first, no need to check
* return value when called with fail == 0 ;) * return value when called with fail == 0 ;)
*/ */
if (config_attr(&attr, head_config, data->error, config_term_pmu)) if (config_attr(&attr, head_config, parse_state->error, config_term_pmu))
return -EINVAL; return -EINVAL;
if (get_config_terms(head_config, &config_terms)) if (get_config_terms(head_config, &config_terms))
return -ENOMEM; return -ENOMEM;
if (perf_pmu__config(pmu, &attr, head_config, data->error)) if (perf_pmu__config(pmu, &attr, head_config, parse_state->error))
return -EINVAL; return -EINVAL;
evsel = __add_event(list, &data->idx, &attr, evsel = __add_event(list, &parse_state->idx, &attr,
get_config_name(head_config), pmu->cpus, get_config_name(head_config), pmu->cpus,
&config_terms); &config_terms);
if (evsel) { if (evsel) {
...@@ -1267,7 +1267,7 @@ int parse_events_add_pmu(struct parse_events_state *data, ...@@ -1267,7 +1267,7 @@ int parse_events_add_pmu(struct parse_events_state *data,
return evsel ? 0 : -ENOMEM; return evsel ? 0 : -ENOMEM;
} }
int parse_events_multi_pmu_add(struct parse_events_state *data, int parse_events_multi_pmu_add(struct parse_events_state *parse_state,
char *str, struct list_head **listp) char *str, struct list_head **listp)
{ {
struct list_head *head; struct list_head *head;
...@@ -1296,7 +1296,7 @@ int parse_events_multi_pmu_add(struct parse_events_state *data, ...@@ -1296,7 +1296,7 @@ int parse_events_multi_pmu_add(struct parse_events_state *data,
return -1; return -1;
list_add_tail(&term->list, head); list_add_tail(&term->list, head);
if (!parse_events_add_pmu(data, list, if (!parse_events_add_pmu(parse_state, list,
pmu->name, head)) { pmu->name, head)) {
pr_debug("%s -> %s/%s/\n", str, pr_debug("%s -> %s/%s/\n", str,
pmu->name, alias->str); pmu->name, alias->str);
...@@ -1628,7 +1628,7 @@ perf_pmu__parse_check(const char *name) ...@@ -1628,7 +1628,7 @@ perf_pmu__parse_check(const char *name)
return r ? r->type : PMU_EVENT_SYMBOL_ERR; return r ? r->type : PMU_EVENT_SYMBOL_ERR;
} }
static int parse_events__scanner(const char *str, void *data, int start_token) static int parse_events__scanner(const char *str, void *parse_state, int start_token)
{ {
YY_BUFFER_STATE buffer; YY_BUFFER_STATE buffer;
void *scanner; void *scanner;
...@@ -1643,7 +1643,7 @@ static int parse_events__scanner(const char *str, void *data, int start_token) ...@@ -1643,7 +1643,7 @@ static int parse_events__scanner(const char *str, void *data, int start_token)
#ifdef PARSER_DEBUG #ifdef PARSER_DEBUG
parse_events_debug = 1; parse_events_debug = 1;
#endif #endif
ret = parse_events_parse(data, scanner); ret = parse_events_parse(parse_state, scanner);
parse_events__flush_buffer(buffer, scanner); parse_events__flush_buffer(buffer, scanner);
parse_events__delete_buffer(buffer, scanner); parse_events__delete_buffer(buffer, scanner);
...@@ -1656,45 +1656,45 @@ static int parse_events__scanner(const char *str, void *data, int start_token) ...@@ -1656,45 +1656,45 @@ static int parse_events__scanner(const char *str, void *data, int start_token)
*/ */
int parse_events_terms(struct list_head *terms, const char *str) int parse_events_terms(struct list_head *terms, const char *str)
{ {
struct parse_events_state data = { struct parse_events_state parse_state = {
.terms = NULL, .terms = NULL,
}; };
int ret; int ret;
ret = parse_events__scanner(str, &data, PE_START_TERMS); ret = parse_events__scanner(str, &parse_state, PE_START_TERMS);
if (!ret) { if (!ret) {
list_splice(data.terms, terms); list_splice(parse_state.terms, terms);
zfree(&data.terms); zfree(&parse_state.terms);
return 0; return 0;
} }
parse_events_terms__delete(data.terms); parse_events_terms__delete(parse_state.terms);
return ret; return ret;
} }
int parse_events(struct perf_evlist *evlist, const char *str, int parse_events(struct perf_evlist *evlist, const char *str,
struct parse_events_error *err) struct parse_events_error *err)
{ {
struct parse_events_state data = { struct parse_events_state parse_state = {
.list = LIST_HEAD_INIT(data.list), .list = LIST_HEAD_INIT(parse_state.list),
.idx = evlist->nr_entries, .idx = evlist->nr_entries,
.error = err, .error = err,
.evlist = evlist, .evlist = evlist,
}; };
int ret; int ret;
ret = parse_events__scanner(str, &data, PE_START_EVENTS); ret = parse_events__scanner(str, &parse_state, PE_START_EVENTS);
perf_pmu__parse_cleanup(); perf_pmu__parse_cleanup();
if (!ret) { if (!ret) {
struct perf_evsel *last; struct perf_evsel *last;
if (list_empty(&data.list)) { if (list_empty(&parse_state.list)) {
WARN_ONCE(true, "WARNING: event parser found nothing"); WARN_ONCE(true, "WARNING: event parser found nothing");
return -1; return -1;
} }
perf_evlist__splice_list_tail(evlist, &data.list); perf_evlist__splice_list_tail(evlist, &parse_state.list);
evlist->nr_groups += data.nr_groups; evlist->nr_groups += parse_state.nr_groups;
last = perf_evlist__last(evlist); last = perf_evlist__last(evlist);
last->cmdline_group_boundary = true; last->cmdline_group_boundary = true;
...@@ -2520,10 +2520,10 @@ void parse_events__clear_array(struct parse_events_array *a) ...@@ -2520,10 +2520,10 @@ void parse_events__clear_array(struct parse_events_array *a)
zfree(&a->ranges); zfree(&a->ranges);
} }
void parse_events_evlist_error(struct parse_events_state *data, void parse_events_evlist_error(struct parse_events_state *parse_state,
int idx, const char *str) int idx, const char *str)
{ {
struct parse_events_error *err = data->error; struct parse_events_error *err = parse_state->error;
if (!err) if (!err)
return; return;
......
...@@ -140,18 +140,18 @@ int parse_events_add_tracepoint(struct list_head *list, int *idx, ...@@ -140,18 +140,18 @@ int parse_events_add_tracepoint(struct list_head *list, int *idx,
const char *sys, const char *event, const char *sys, const char *event,
struct parse_events_error *error, struct parse_events_error *error,
struct list_head *head_config); struct list_head *head_config);
int parse_events_load_bpf(struct parse_events_state *data, int parse_events_load_bpf(struct parse_events_state *parse_state,
struct list_head *list, struct list_head *list,
char *bpf_file_name, char *bpf_file_name,
bool source, bool source,
struct list_head *head_config); struct list_head *head_config);
/* Provide this function for perf test */ /* Provide this function for perf test */
struct bpf_object; struct bpf_object;
int parse_events_load_bpf_obj(struct parse_events_state *data, int parse_events_load_bpf_obj(struct parse_events_state *parse_state,
struct list_head *list, struct list_head *list,
struct bpf_object *obj, struct bpf_object *obj,
struct list_head *head_config); struct list_head *head_config);
int parse_events_add_numeric(struct parse_events_state *data, int parse_events_add_numeric(struct parse_events_state *parse_state,
struct list_head *list, struct list_head *list,
u32 type, u64 config, u32 type, u64 config,
struct list_head *head_config); struct list_head *head_config);
...@@ -161,11 +161,11 @@ int parse_events_add_cache(struct list_head *list, int *idx, ...@@ -161,11 +161,11 @@ int parse_events_add_cache(struct list_head *list, int *idx,
struct list_head *head_config); struct list_head *head_config);
int parse_events_add_breakpoint(struct list_head *list, int *idx, int parse_events_add_breakpoint(struct list_head *list, int *idx,
void *ptr, char *type, u64 len); void *ptr, char *type, u64 len);
int parse_events_add_pmu(struct parse_events_state *data, int parse_events_add_pmu(struct parse_events_state *parse_state,
struct list_head *list, char *name, struct list_head *list, char *name,
struct list_head *head_config); struct list_head *head_config);
int parse_events_multi_pmu_add(struct parse_events_state *data, int parse_events_multi_pmu_add(struct parse_events_state *parse_state,
char *str, char *str,
struct list_head **listp); struct list_head **listp);
...@@ -177,7 +177,7 @@ perf_pmu__parse_check(const char *name); ...@@ -177,7 +177,7 @@ perf_pmu__parse_check(const char *name);
void parse_events__set_leader(char *name, struct list_head *list); void parse_events__set_leader(char *name, struct list_head *list);
void parse_events_update_lists(struct list_head *list_event, void parse_events_update_lists(struct list_head *list_event,
struct list_head *list_all); struct list_head *list_all);
void parse_events_evlist_error(struct parse_events_state *data, void parse_events_evlist_error(struct parse_events_state *parse_state,
int idx, const char *str); int idx, const char *str);
void print_events(const char *event_glob, bool name_only, bool quiet, void print_events(const char *event_glob, bool name_only, bool quiet,
......
%pure-parser %pure-parser
%parse-param {void *_data} %parse-param {void *_parse_state}
%parse-param {void *scanner} %parse-param {void *scanner}
%lex-param {void* scanner} %lex-param {void* scanner}
%locations %locations
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
#include "parse-events.h" #include "parse-events.h"
#include "parse-events-bison.h" #include "parse-events-bison.h"
void parse_events_error(YYLTYPE *loc, void *data, void *scanner, char const *msg); void parse_events_error(YYLTYPE *loc, void *parse_state, void *scanner, char const *msg);
#define ABORT_ON(val) \ #define ABORT_ON(val) \
do { \ do { \
...@@ -33,11 +33,11 @@ do { \ ...@@ -33,11 +33,11 @@ do { \
} while (0) } while (0)
static void inc_group_count(struct list_head *list, static void inc_group_count(struct list_head *list,
struct parse_events_state *data) struct parse_events_state *parse_state)
{ {
/* Count groups only have more than 1 members */ /* Count groups only have more than 1 members */
if (!list_is_last(list->next, list)) if (!list_is_last(list->next, list))
data->nr_groups++; parse_state->nr_groups++;
} }
%} %}
...@@ -115,9 +115,9 @@ PE_START_TERMS start_terms ...@@ -115,9 +115,9 @@ PE_START_TERMS start_terms
start_events: groups start_events: groups
{ {
struct parse_events_state *data = _data; struct parse_events_state *parse_state = _parse_state;
parse_events_update_lists($1, &data->list); parse_events_update_lists($1, &parse_state->list);
} }
groups: groups:
...@@ -159,7 +159,7 @@ PE_NAME '{' events '}' ...@@ -159,7 +159,7 @@ PE_NAME '{' events '}'
{ {
struct list_head *list = $3; struct list_head *list = $3;
inc_group_count(list, _data); inc_group_count(list, _parse_state);
parse_events__set_leader($1, list); parse_events__set_leader($1, list);
$$ = list; $$ = list;
} }
...@@ -168,7 +168,7 @@ PE_NAME '{' events '}' ...@@ -168,7 +168,7 @@ PE_NAME '{' events '}'
{ {
struct list_head *list = $2; struct list_head *list = $2;
inc_group_count(list, _data); inc_group_count(list, _parse_state);
parse_events__set_leader(NULL, list); parse_events__set_leader(NULL, list);
$$ = list; $$ = list;
} }
...@@ -231,7 +231,7 @@ PE_NAME opt_event_config ...@@ -231,7 +231,7 @@ PE_NAME opt_event_config
YYABORT; YYABORT;
ALLOC_LIST(list); ALLOC_LIST(list);
if (parse_events_add_pmu(_data, list, $1, $2)) { if (parse_events_add_pmu(_parse_state, list, $1, $2)) {
struct perf_pmu *pmu = NULL; struct perf_pmu *pmu = NULL;
int ok = 0; int ok = 0;
...@@ -244,7 +244,7 @@ PE_NAME opt_event_config ...@@ -244,7 +244,7 @@ PE_NAME opt_event_config
if (!strncmp($1, name, strlen($1))) { if (!strncmp($1, name, strlen($1))) {
if (parse_events_copy_term_list(orig_terms, &terms)) if (parse_events_copy_term_list(orig_terms, &terms))
YYABORT; YYABORT;
if (!parse_events_add_pmu(_data, list, pmu->name, terms)) if (!parse_events_add_pmu(_parse_state, list, pmu->name, terms))
ok++; ok++;
parse_events_terms__delete(terms); parse_events_terms__delete(terms);
} }
...@@ -261,7 +261,7 @@ PE_KERNEL_PMU_EVENT sep_dc ...@@ -261,7 +261,7 @@ PE_KERNEL_PMU_EVENT sep_dc
{ {
struct list_head *list; struct list_head *list;
if (parse_events_multi_pmu_add(_data, $1, &list) < 0) if (parse_events_multi_pmu_add(_parse_state, $1, &list) < 0)
YYABORT; YYABORT;
$$ = list; $$ = list;
} }
...@@ -272,7 +272,7 @@ PE_PMU_EVENT_PRE '-' PE_PMU_EVENT_SUF sep_dc ...@@ -272,7 +272,7 @@ PE_PMU_EVENT_PRE '-' PE_PMU_EVENT_SUF sep_dc
char pmu_name[128]; char pmu_name[128];
snprintf(&pmu_name, 128, "%s-%s", $1, $3); snprintf(&pmu_name, 128, "%s-%s", $1, $3);
if (parse_events_multi_pmu_add(_data, pmu_name, &list) < 0) if (parse_events_multi_pmu_add(_parse_state, pmu_name, &list) < 0)
YYABORT; YYABORT;
$$ = list; $$ = list;
} }
...@@ -290,7 +290,7 @@ value_sym '/' event_config '/' ...@@ -290,7 +290,7 @@ value_sym '/' event_config '/'
int config = $1 & 255; int config = $1 & 255;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_add_numeric(_data, list, type, config, $3)); ABORT_ON(parse_events_add_numeric(_parse_state, list, type, config, $3));
parse_events_terms__delete($3); parse_events_terms__delete($3);
$$ = list; $$ = list;
} }
...@@ -302,43 +302,43 @@ value_sym sep_slash_dc ...@@ -302,43 +302,43 @@ value_sym sep_slash_dc
int config = $1 & 255; int config = $1 & 255;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_add_numeric(_data, list, type, config, NULL)); ABORT_ON(parse_events_add_numeric(_parse_state, list, type, config, NULL));
$$ = list; $$ = list;
} }
event_legacy_cache: event_legacy_cache:
PE_NAME_CACHE_TYPE '-' PE_NAME_CACHE_OP_RESULT '-' PE_NAME_CACHE_OP_RESULT opt_event_config PE_NAME_CACHE_TYPE '-' PE_NAME_CACHE_OP_RESULT '-' PE_NAME_CACHE_OP_RESULT opt_event_config
{ {
struct parse_events_state *data = _data; struct parse_events_state *parse_state = _parse_state;
struct parse_events_error *error = data->error; struct parse_events_error *error = parse_state->error;
struct list_head *list; struct list_head *list;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_add_cache(list, &data->idx, $1, $3, $5, error, $6)); ABORT_ON(parse_events_add_cache(list, &parse_state->idx, $1, $3, $5, error, $6));
parse_events_terms__delete($6); parse_events_terms__delete($6);
$$ = list; $$ = list;
} }
| |
PE_NAME_CACHE_TYPE '-' PE_NAME_CACHE_OP_RESULT opt_event_config PE_NAME_CACHE_TYPE '-' PE_NAME_CACHE_OP_RESULT opt_event_config
{ {
struct parse_events_state *data = _data; struct parse_events_state *parse_state = _parse_state;
struct parse_events_error *error = data->error; struct parse_events_error *error = parse_state->error;
struct list_head *list; struct list_head *list;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_add_cache(list, &data->idx, $1, $3, NULL, error, $4)); ABORT_ON(parse_events_add_cache(list, &parse_state->idx, $1, $3, NULL, error, $4));
parse_events_terms__delete($4); parse_events_terms__delete($4);
$$ = list; $$ = list;
} }
| |
PE_NAME_CACHE_TYPE opt_event_config PE_NAME_CACHE_TYPE opt_event_config
{ {
struct parse_events_state *data = _data; struct parse_events_state *parse_state = _parse_state;
struct parse_events_error *error = data->error; struct parse_events_error *error = parse_state->error;
struct list_head *list; struct list_head *list;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_add_cache(list, &data->idx, $1, NULL, NULL, error, $2)); ABORT_ON(parse_events_add_cache(list, &parse_state->idx, $1, NULL, NULL, error, $2));
parse_events_terms__delete($2); parse_events_terms__delete($2);
$$ = list; $$ = list;
} }
...@@ -346,44 +346,44 @@ PE_NAME_CACHE_TYPE opt_event_config ...@@ -346,44 +346,44 @@ PE_NAME_CACHE_TYPE opt_event_config
event_legacy_mem: event_legacy_mem:
PE_PREFIX_MEM PE_VALUE '/' PE_VALUE ':' PE_MODIFIER_BP sep_dc PE_PREFIX_MEM PE_VALUE '/' PE_VALUE ':' PE_MODIFIER_BP sep_dc
{ {
struct parse_events_state *data = _data; struct parse_events_state *parse_state = _parse_state;
struct list_head *list; struct list_head *list;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_add_breakpoint(list, &data->idx, ABORT_ON(parse_events_add_breakpoint(list, &parse_state->idx,
(void *) $2, $6, $4)); (void *) $2, $6, $4));
$$ = list; $$ = list;
} }
| |
PE_PREFIX_MEM PE_VALUE '/' PE_VALUE sep_dc PE_PREFIX_MEM PE_VALUE '/' PE_VALUE sep_dc
{ {
struct parse_events_state *data = _data; struct parse_events_state *parse_state = _parse_state;
struct list_head *list; struct list_head *list;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_add_breakpoint(list, &data->idx, ABORT_ON(parse_events_add_breakpoint(list, &parse_state->idx,
(void *) $2, NULL, $4)); (void *) $2, NULL, $4));
$$ = list; $$ = list;
} }
| |
PE_PREFIX_MEM PE_VALUE ':' PE_MODIFIER_BP sep_dc PE_PREFIX_MEM PE_VALUE ':' PE_MODIFIER_BP sep_dc
{ {
struct parse_events_state *data = _data; struct parse_events_state *parse_state = _parse_state;
struct list_head *list; struct list_head *list;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_add_breakpoint(list, &data->idx, ABORT_ON(parse_events_add_breakpoint(list, &parse_state->idx,
(void *) $2, $4, 0)); (void *) $2, $4, 0));
$$ = list; $$ = list;
} }
| |
PE_PREFIX_MEM PE_VALUE sep_dc PE_PREFIX_MEM PE_VALUE sep_dc
{ {
struct parse_events_state *data = _data; struct parse_events_state *parse_state = _parse_state;
struct list_head *list; struct list_head *list;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_add_breakpoint(list, &data->idx, ABORT_ON(parse_events_add_breakpoint(list, &parse_state->idx,
(void *) $2, NULL, 0)); (void *) $2, NULL, 0));
$$ = list; $$ = list;
} }
...@@ -391,15 +391,15 @@ PE_PREFIX_MEM PE_VALUE sep_dc ...@@ -391,15 +391,15 @@ PE_PREFIX_MEM PE_VALUE sep_dc
event_legacy_tracepoint: event_legacy_tracepoint:
tracepoint_name opt_event_config tracepoint_name opt_event_config
{ {
struct parse_events_state *data = _data; struct parse_events_state *parse_state = _parse_state;
struct parse_events_error *error = data->error; struct parse_events_error *error = parse_state->error;
struct list_head *list; struct list_head *list;
ALLOC_LIST(list); ALLOC_LIST(list);
if (error) if (error)
error->idx = @1.first_column; error->idx = @1.first_column;
if (parse_events_add_tracepoint(list, &data->idx, $1.sys, $1.event, if (parse_events_add_tracepoint(list, &parse_state->idx, $1.sys, $1.event,
error, $2)) error, $2))
return -1; return -1;
...@@ -432,7 +432,7 @@ PE_VALUE ':' PE_VALUE opt_event_config ...@@ -432,7 +432,7 @@ PE_VALUE ':' PE_VALUE opt_event_config
struct list_head *list; struct list_head *list;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_add_numeric(_data, list, (u32)$1, $3, $4)); ABORT_ON(parse_events_add_numeric(_parse_state, list, (u32)$1, $3, $4));
parse_events_terms__delete($4); parse_events_terms__delete($4);
$$ = list; $$ = list;
} }
...@@ -443,7 +443,7 @@ PE_RAW opt_event_config ...@@ -443,7 +443,7 @@ PE_RAW opt_event_config
struct list_head *list; struct list_head *list;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_add_numeric(_data, list, PERF_TYPE_RAW, $1, $2)); ABORT_ON(parse_events_add_numeric(_parse_state, list, PERF_TYPE_RAW, $1, $2));
parse_events_terms__delete($2); parse_events_terms__delete($2);
$$ = list; $$ = list;
} }
...@@ -451,12 +451,12 @@ PE_RAW opt_event_config ...@@ -451,12 +451,12 @@ PE_RAW opt_event_config
event_bpf_file: event_bpf_file:
PE_BPF_OBJECT opt_event_config PE_BPF_OBJECT opt_event_config
{ {
struct parse_events_state *data = _data; struct parse_events_state *parse_state = _parse_state;
struct parse_events_error *error = data->error; struct parse_events_error *error = parse_state->error;
struct list_head *list; struct list_head *list;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_load_bpf(data, list, $1, false, $2)); ABORT_ON(parse_events_load_bpf(parse_state, list, $1, false, $2));
parse_events_terms__delete($2); parse_events_terms__delete($2);
$$ = list; $$ = list;
} }
...@@ -466,7 +466,7 @@ PE_BPF_SOURCE opt_event_config ...@@ -466,7 +466,7 @@ PE_BPF_SOURCE opt_event_config
struct list_head *list; struct list_head *list;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_load_bpf(_data, list, $1, true, $2)); ABORT_ON(parse_events_load_bpf(_parse_state, list, $1, true, $2));
parse_events_terms__delete($2); parse_events_terms__delete($2);
$$ = list; $$ = list;
} }
...@@ -488,8 +488,8 @@ opt_event_config: ...@@ -488,8 +488,8 @@ opt_event_config:
start_terms: event_config start_terms: event_config
{ {
struct parse_events_state *data = _data; struct parse_events_state *parse_state = _parse_state;
data->terms = $1; parse_state->terms = $1;
} }
event_config: event_config:
...@@ -679,9 +679,9 @@ sep_slash_dc: '/' | ':' | ...@@ -679,9 +679,9 @@ sep_slash_dc: '/' | ':' |
%% %%
void parse_events_error(YYLTYPE *loc, void *data, void parse_events_error(YYLTYPE *loc, void *parse_state,
void *scanner __maybe_unused, void *scanner __maybe_unused,
char const *msg __maybe_unused) char const *msg __maybe_unused)
{ {
parse_events_evlist_error(data, loc->last_column, "parser error"); parse_events_evlist_error(parse_state, loc->last_column, "parser error");
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment