Lines Matching refs:tev

1858 int parse_probe_trace_command(const char *cmd, struct probe_trace_event *tev)  in parse_probe_trace_command()  argument
1860 struct probe_trace_point *tp = &tev->point; in parse_probe_trace_command()
1894 tev->group = strdup(fmt2_str); in parse_probe_trace_command()
1895 tev->event = strdup(fmt3_str); in parse_probe_trace_command()
1896 if (tev->group == NULL || tev->event == NULL) { in parse_probe_trace_command()
1900 pr_debug("Group:%s Event:%s probe:%c\n", tev->group, tev->event, pr); in parse_probe_trace_command()
1912 tev->uprobes = (tp->module[0] == '/'); in parse_probe_trace_command()
1955 if (tev->uprobes) { in parse_probe_trace_command()
1961 tev->nargs = argc - 2; in parse_probe_trace_command()
1962 tev->args = zalloc(sizeof(struct probe_trace_arg) * tev->nargs); in parse_probe_trace_command()
1963 if (tev->args == NULL) { in parse_probe_trace_command()
1967 for (i = 0; i < tev->nargs; i++) { in parse_probe_trace_command()
1973 tev->args[i].name = strdup(argv[i + 2]); in parse_probe_trace_command()
1975 tev->args[i].value = strdup(p); in parse_probe_trace_command()
1976 if (tev->args[i].name == NULL || tev->args[i].value == NULL) { in parse_probe_trace_command()
2162 synthesize_probe_trace_args(struct probe_trace_event *tev, struct strbuf *buf) in synthesize_probe_trace_args() argument
2166 for (i = 0; i < tev->nargs && ret >= 0; i++) in synthesize_probe_trace_args()
2167 ret = synthesize_probe_trace_arg(&tev->args[i], buf); in synthesize_probe_trace_args()
2213 char *synthesize_probe_trace_command(struct probe_trace_event *tev) in synthesize_probe_trace_command() argument
2215 struct probe_trace_point *tp = &tev->point; in synthesize_probe_trace_command()
2224 tev->group, tev->event) < 0) in synthesize_probe_trace_command()
2227 if (tev->uprobes) in synthesize_probe_trace_command()
2233 err = synthesize_probe_trace_args(tev, &buf); in synthesize_probe_trace_command()
2316 static int convert_to_perf_probe_event(struct probe_trace_event *tev, in convert_to_perf_probe_event() argument
2323 pev->event = strdup(tev->event); in convert_to_perf_probe_event()
2324 pev->group = strdup(tev->group); in convert_to_perf_probe_event()
2329 ret = convert_to_perf_probe_point(&tev->point, &pev->point, is_kprobe); in convert_to_perf_probe_event()
2334 pev->nargs = tev->nargs; in convert_to_perf_probe_event()
2338 for (i = 0; i < tev->nargs && ret >= 0; i++) { in convert_to_perf_probe_event()
2339 if (tev->args[i].name) in convert_to_perf_probe_event()
2340 pev->args[i].name = strdup(tev->args[i].name); in convert_to_perf_probe_event()
2344 ret = synthesize_probe_trace_arg(&tev->args[i], &buf); in convert_to_perf_probe_event()
2456 void clear_probe_trace_event(struct probe_trace_event *tev) in clear_probe_trace_event() argument
2461 zfree(&tev->event); in clear_probe_trace_event()
2462 zfree(&tev->group); in clear_probe_trace_event()
2463 zfree(&tev->point.symbol); in clear_probe_trace_event()
2464 zfree(&tev->point.realname); in clear_probe_trace_event()
2465 zfree(&tev->point.module); in clear_probe_trace_event()
2466 for (i = 0; i < tev->nargs; i++) { in clear_probe_trace_event()
2467 zfree(&tev->args[i].name); in clear_probe_trace_event()
2468 zfree(&tev->args[i].value); in clear_probe_trace_event()
2469 zfree(&tev->args[i].type); in clear_probe_trace_event()
2470 ref = tev->args[i].ref; in clear_probe_trace_event()
2477 zfree(&tev->args); in clear_probe_trace_event()
2478 tev->nargs = 0; in clear_probe_trace_event()
2651 static bool filter_probe_trace_event(struct probe_trace_event *tev, in filter_probe_trace_event() argument
2657 if (strfilter__compare(filter, tev->event)) in filter_probe_trace_event()
2661 if (e_snprintf(tmp, 128, "%s:%s", tev->group, tev->event) < 0) in filter_probe_trace_event()
2670 struct probe_trace_event tev; in __show_perf_probe_events() local
2675 memset(&tev, 0, sizeof(tev)); in __show_perf_probe_events()
2683 ret = parse_probe_trace_command(ent->s, &tev); in __show_perf_probe_events()
2685 if (!filter_probe_trace_event(&tev, filter)) in __show_perf_probe_events()
2687 ret = convert_to_perf_probe_event(&tev, &pev, in __show_perf_probe_events()
2692 &pev, tev.point.module, in __show_perf_probe_events()
2697 clear_probe_trace_event(&tev); in __show_perf_probe_events()
2805 static void warn_uprobe_event_compat(struct probe_trace_event *tev) in warn_uprobe_event_compat() argument
2808 char *buf = synthesize_probe_trace_command(tev); in warn_uprobe_event_compat()
2809 struct probe_trace_point *tp = &tev->point; in warn_uprobe_event_compat()
2814 tev->group, tev->event); in warn_uprobe_event_compat()
2818 if (!tev->uprobes || tev->nargs == 0 || !buf) in warn_uprobe_event_compat()
2821 for (i = 0; i < tev->nargs; i++) { in warn_uprobe_event_compat()
2822 if (strchr(tev->args[i].value, '@')) { in warn_uprobe_event_compat()
2824 tev->args[i].value); in warn_uprobe_event_compat()
2827 if (strglobmatch(tev->args[i].value, "[$+-]*")) { in warn_uprobe_event_compat()
2829 tev->args[i].value); in warn_uprobe_event_compat()
2838 static int probe_trace_event__set_name(struct probe_trace_event *tev, in probe_trace_event__set_name() argument
2850 else if (tev->event) in probe_trace_event__set_name()
2851 event = tev->event; in probe_trace_event__set_name()
2859 event = tev->point.realname; in probe_trace_event__set_name()
2863 else if (tev->group) in probe_trace_event__set_name()
2864 group = tev->group; in probe_trace_event__set_name()
2870 tev->point.retprobe, allow_suffix); in probe_trace_event__set_name()
2876 tev->event = strdup(event); in probe_trace_event__set_name()
2877 tev->group = strdup(group); in probe_trace_event__set_name()
2878 if (tev->event == NULL || tev->group == NULL) in probe_trace_event__set_name()
2915 struct probe_trace_event *tev = NULL; in __add_probe_trace_events() local
2927 tev = &tevs[i]; in __add_probe_trace_events()
2928 up = tev->uprobes ? 1 : 0; in __add_probe_trace_events()
2936 if (!tev->point.symbol && !pev->uprobes) in __add_probe_trace_events()
2940 ret = probe_trace_event__set_name(tev, pev, namelist[up], in __add_probe_trace_events()
2946 ret = probe_file__add_event(fd[up], tev); in __add_probe_trace_events()
2960 warn_uprobe_event_compat(tev); in __add_probe_trace_events()
3025 struct probe_trace_event *tev __maybe_unused, in arch__fix_tev_from_maps()
3051 struct probe_trace_event *tev; in find_probe_trace_events_from_map() local
3110 *tevs = zalloc(sizeof(*tev) * num_matched_functions); in find_probe_trace_events_from_map()
3134 tev = (*tevs) + ret; in find_probe_trace_events_from_map()
3135 tp = &tev->point; in find_probe_trace_events_from_map()
3168 tev->point.module = strdup_or_goto(pev->target, in find_probe_trace_events_from_map()
3172 tev->point.module = in find_probe_trace_events_from_map()
3175 if (!tev->point.module) in find_probe_trace_events_from_map()
3179 tev->uprobes = pev->uprobes; in find_probe_trace_events_from_map()
3180 tev->nargs = pev->nargs; in find_probe_trace_events_from_map()
3181 if (tev->nargs) { in find_probe_trace_events_from_map()
3182 tev->args = zalloc(sizeof(struct probe_trace_arg) * in find_probe_trace_events_from_map()
3183 tev->nargs); in find_probe_trace_events_from_map()
3184 if (tev->args == NULL) in find_probe_trace_events_from_map()
3187 for (i = 0; i < tev->nargs; i++) { in find_probe_trace_events_from_map()
3189 tev->args[i].name = in find_probe_trace_events_from_map()
3193 tev->args[i].value = strdup_or_goto(pev->args[i].var, in find_probe_trace_events_from_map()
3196 tev->args[i].type = in find_probe_trace_events_from_map()
3200 arch__fix_tev_from_maps(pev, tev, map, sym); in find_probe_trace_events_from_map()
3224 struct probe_trace_event *tev; in try_to_find_absolute_address() local
3239 *tevs = zalloc(sizeof(*tev)); in try_to_find_absolute_address()
3243 tev = *tevs; in try_to_find_absolute_address()
3244 tp = &tev->point; in try_to_find_absolute_address()
3253 tev->uprobes = pev->uprobes; in try_to_find_absolute_address()
3265 if ((!tev->uprobes) && in try_to_find_absolute_address()
3266 (kprobe_warn_out_range(tev->point.symbol, in try_to_find_absolute_address()
3267 tev->point.address))) { in try_to_find_absolute_address()
3281 if (tev->group) { in try_to_find_absolute_address()
3282 tev->group = strdup(pev->group); in try_to_find_absolute_address()
3283 if (!tev->group) in try_to_find_absolute_address()
3288 tev->event = strdup(pev->event); in try_to_find_absolute_address()
3289 if (!tev->event) in try_to_find_absolute_address()
3293 tev->nargs = pev->nargs; in try_to_find_absolute_address()
3294 tev->args = zalloc(sizeof(struct probe_trace_arg) * tev->nargs); in try_to_find_absolute_address()
3295 if (!tev->args) in try_to_find_absolute_address()
3298 for (i = 0; i < tev->nargs; i++) in try_to_find_absolute_address()
3299 copy_to_probe_trace_arg(&tev->args[i], &pev->args[i]); in try_to_find_absolute_address()
3450 struct probe_trace_event *tev; in find_probe_trace_events_from_cache() local
3480 *tevs = zalloc(ret * sizeof(*tev)); in find_probe_trace_events_from_cache()
3488 tev = &(*tevs)[i++]; in find_probe_trace_events_from_cache()
3489 ret = parse_probe_trace_command(node->s, tev); in find_probe_trace_events_from_cache()
3493 tev->uprobes = pev->uprobes; in find_probe_trace_events_from_cache()
3558 static int show_probe_trace_event(struct probe_trace_event *tev) in show_probe_trace_event() argument
3560 char *buf = synthesize_probe_trace_command(tev); in show_probe_trace_event()
3577 struct probe_trace_event *tev; in show_probe_trace_events() local
3587 tev = &pev->tevs[i]; in show_probe_trace_events()
3589 if (!tev->point.symbol && !pev->uprobes) in show_probe_trace_events()
3593 ret = probe_trace_event__set_name(tev, pev, in show_probe_trace_events()
3596 ret = show_probe_trace_event(tev); in show_probe_trace_events()
3604 static int show_bootconfig_event(struct probe_trace_event *tev) in show_bootconfig_event() argument
3606 struct probe_trace_point *tp = &tev->point; in show_bootconfig_event()
3616 err = synthesize_probe_trace_args(tev, &buf); in show_bootconfig_event()
3632 struct probe_trace_event *tev; in show_bootconfig_events() local
3650 tev = &pev->tevs[i]; in show_bootconfig_events()
3652 if (!tev->point.symbol && !pev->uprobes) in show_bootconfig_events()
3656 ret = probe_trace_event__set_name(tev, pev, in show_bootconfig_events()
3661 if (!cur_name || strcmp(cur_name, tev->event)) { in show_bootconfig_events()
3663 cur_name ? "\n" : "", tev->event); in show_bootconfig_events()
3664 cur_name = tev->event; in show_bootconfig_events()
3667 ret = show_bootconfig_event(tev); in show_bootconfig_events()