Lines Matching refs:tev
1500 int parse_probe_trace_command(const char *cmd, struct probe_trace_event *tev) in parse_probe_trace_command() argument
1502 struct probe_trace_point *tp = &tev->point; in parse_probe_trace_command()
1537 tev->group = strdup(fmt2_str); in parse_probe_trace_command()
1538 tev->event = strdup(fmt3_str); in parse_probe_trace_command()
1539 if (tev->group == NULL || tev->event == NULL) { in parse_probe_trace_command()
1543 pr_debug("Group:%s Event:%s probe:%c\n", tev->group, tev->event, pr); in parse_probe_trace_command()
1593 tev->nargs = argc - 2; in parse_probe_trace_command()
1594 tev->args = zalloc(sizeof(struct probe_trace_arg) * tev->nargs); in parse_probe_trace_command()
1595 if (tev->args == NULL) { in parse_probe_trace_command()
1599 for (i = 0; i < tev->nargs; i++) { in parse_probe_trace_command()
1605 tev->args[i].name = strdup(argv[i + 2]); in parse_probe_trace_command()
1607 tev->args[i].value = strdup(p); in parse_probe_trace_command()
1608 if (tev->args[i].name == NULL || tev->args[i].value == NULL) { in parse_probe_trace_command()
1821 char *synthesize_probe_trace_command(struct probe_trace_event *tev) in synthesize_probe_trace_command() argument
1823 struct probe_trace_point *tp = &tev->point; in synthesize_probe_trace_command()
1832 tev->group, tev->event); in synthesize_probe_trace_command()
1837 if (tev->uprobes && !tp->module) in synthesize_probe_trace_command()
1845 if (tev->uprobes && !tp->address) { in synthesize_probe_trace_command()
1851 if (tev->uprobes) in synthesize_probe_trace_command()
1868 for (i = 0; i < tev->nargs; i++) { in synthesize_probe_trace_command()
1869 ret = synthesize_probe_trace_arg(&tev->args[i], buf + len, in synthesize_probe_trace_command()
1958 static int convert_to_perf_probe_event(struct probe_trace_event *tev, in convert_to_perf_probe_event() argument
1965 pev->event = strdup(tev->event); in convert_to_perf_probe_event()
1966 pev->group = strdup(tev->group); in convert_to_perf_probe_event()
1971 ret = convert_to_perf_probe_point(&tev->point, &pev->point, is_kprobe); in convert_to_perf_probe_event()
1976 pev->nargs = tev->nargs; in convert_to_perf_probe_event()
1980 for (i = 0; i < tev->nargs && ret >= 0; i++) { in convert_to_perf_probe_event()
1981 if (tev->args[i].name) in convert_to_perf_probe_event()
1982 pev->args[i].name = strdup(tev->args[i].name); in convert_to_perf_probe_event()
1984 ret = synthesize_probe_trace_arg(&tev->args[i], in convert_to_perf_probe_event()
2024 void clear_probe_trace_event(struct probe_trace_event *tev) in clear_probe_trace_event() argument
2029 free(tev->event); in clear_probe_trace_event()
2030 free(tev->group); in clear_probe_trace_event()
2031 free(tev->point.symbol); in clear_probe_trace_event()
2032 free(tev->point.realname); in clear_probe_trace_event()
2033 free(tev->point.module); in clear_probe_trace_event()
2034 for (i = 0; i < tev->nargs; i++) { in clear_probe_trace_event()
2035 free(tev->args[i].name); in clear_probe_trace_event()
2036 free(tev->args[i].value); in clear_probe_trace_event()
2037 free(tev->args[i].type); in clear_probe_trace_event()
2038 ref = tev->args[i].ref; in clear_probe_trace_event()
2045 free(tev->args); in clear_probe_trace_event()
2046 memset(tev, 0, sizeof(*tev)); in clear_probe_trace_event()
2217 static bool filter_probe_trace_event(struct probe_trace_event *tev, in filter_probe_trace_event() argument
2223 if (strfilter__compare(filter, tev->event)) in filter_probe_trace_event()
2227 if (e_snprintf(tmp, 128, "%s:%s", tev->group, tev->event) < 0) in filter_probe_trace_event()
2236 struct probe_trace_event tev; in __show_perf_probe_events() local
2241 memset(&tev, 0, sizeof(tev)); in __show_perf_probe_events()
2249 ret = parse_probe_trace_command(ent->s, &tev); in __show_perf_probe_events()
2251 if (!filter_probe_trace_event(&tev, filter)) in __show_perf_probe_events()
2253 ret = convert_to_perf_probe_event(&tev, &pev, in __show_perf_probe_events()
2258 &pev, tev.point.module, in __show_perf_probe_events()
2263 clear_probe_trace_event(&tev); in __show_perf_probe_events()
2356 static void warn_uprobe_event_compat(struct probe_trace_event *tev) in warn_uprobe_event_compat() argument
2359 char *buf = synthesize_probe_trace_command(tev); in warn_uprobe_event_compat()
2362 if (!tev->uprobes || tev->nargs == 0 || !buf) in warn_uprobe_event_compat()
2365 for (i = 0; i < tev->nargs; i++) in warn_uprobe_event_compat()
2366 if (strglobmatch(tev->args[i].value, "[$@+-]*")) { in warn_uprobe_event_compat()
2369 tev->args[i].value); in warn_uprobe_event_compat()
2377 static int probe_trace_event__set_name(struct probe_trace_event *tev, in probe_trace_event__set_name() argument
2394 event = tev->point.realname; in probe_trace_event__set_name()
2408 tev->event = strdup(event); in probe_trace_event__set_name()
2409 tev->group = strdup(group); in probe_trace_event__set_name()
2410 if (tev->event == NULL || tev->group == NULL) in probe_trace_event__set_name()
2423 struct probe_trace_event *tev = NULL; in __add_probe_trace_events() local
2440 tev = &tevs[i]; in __add_probe_trace_events()
2442 if (!tev->point.symbol) in __add_probe_trace_events()
2446 ret = probe_trace_event__set_name(tev, pev, namelist, in __add_probe_trace_events()
2451 ret = probe_file__add_event(fd, tev); in __add_probe_trace_events()
2464 warn_uprobe_event_compat(tev); in __add_probe_trace_events()
2497 struct probe_trace_event *tev __maybe_unused, in arch__fix_tev_from_maps()
2511 struct probe_trace_event *tev; in find_probe_trace_events_from_map() local
2557 *tevs = zalloc(sizeof(*tev) * num_matched_functions); in find_probe_trace_events_from_map()
2568 tev = (*tevs) + ret; in find_probe_trace_events_from_map()
2569 tp = &tev->point; in find_probe_trace_events_from_map()
2601 tev->point.module = strdup_or_goto(pev->target, in find_probe_trace_events_from_map()
2603 tev->uprobes = pev->uprobes; in find_probe_trace_events_from_map()
2604 tev->nargs = pev->nargs; in find_probe_trace_events_from_map()
2605 if (tev->nargs) { in find_probe_trace_events_from_map()
2606 tev->args = zalloc(sizeof(struct probe_trace_arg) * in find_probe_trace_events_from_map()
2607 tev->nargs); in find_probe_trace_events_from_map()
2608 if (tev->args == NULL) in find_probe_trace_events_from_map()
2611 for (i = 0; i < tev->nargs; i++) { in find_probe_trace_events_from_map()
2613 tev->args[i].name = in find_probe_trace_events_from_map()
2617 tev->args[i].value = strdup_or_goto(pev->args[i].var, in find_probe_trace_events_from_map()
2620 tev->args[i].type = in find_probe_trace_events_from_map()
2624 arch__fix_tev_from_maps(pev, tev, map); in find_probe_trace_events_from_map()
2648 struct probe_trace_event *tev; in try_to_find_absolute_address() local
2663 *tevs = zalloc(sizeof(*tev)); in try_to_find_absolute_address()
2667 tev = *tevs; in try_to_find_absolute_address()
2668 tp = &tev->point; in try_to_find_absolute_address()
2677 tev->uprobes = pev->uprobes; in try_to_find_absolute_address()
2689 if ((!tev->uprobes) && in try_to_find_absolute_address()
2690 (kprobe_warn_out_range(tev->point.symbol, in try_to_find_absolute_address()
2691 tev->point.address))) { in try_to_find_absolute_address()
2705 if (tev->group) { in try_to_find_absolute_address()
2706 tev->group = strdup(pev->group); in try_to_find_absolute_address()
2707 if (!tev->group) in try_to_find_absolute_address()
2712 tev->event = strdup(pev->event); in try_to_find_absolute_address()
2713 if (!tev->event) in try_to_find_absolute_address()
2717 tev->nargs = pev->nargs; in try_to_find_absolute_address()
2718 tev->args = zalloc(sizeof(struct probe_trace_arg) * tev->nargs); in try_to_find_absolute_address()
2719 if (!tev->args) { in try_to_find_absolute_address()
2723 for (i = 0; i < tev->nargs; i++) in try_to_find_absolute_address()
2724 copy_to_probe_trace_arg(&tev->args[i], &pev->args[i]); in try_to_find_absolute_address()