Lines Matching refs:tev

1830 int parse_probe_trace_command(const char *cmd, struct probe_trace_event *tev)  in parse_probe_trace_command()  argument
1832 struct probe_trace_point *tp = &tev->point; in parse_probe_trace_command()
1866 tev->group = strdup(fmt2_str); in parse_probe_trace_command()
1867 tev->event = strdup(fmt3_str); in parse_probe_trace_command()
1868 if (tev->group == NULL || tev->event == NULL) { in parse_probe_trace_command()
1872 pr_debug("Group:%s Event:%s probe:%c\n", tev->group, tev->event, pr); in parse_probe_trace_command()
1884 tev->uprobes = (tp->module[0] == '/'); in parse_probe_trace_command()
1927 if (tev->uprobes) { in parse_probe_trace_command()
1933 tev->nargs = argc - 2; in parse_probe_trace_command()
1934 tev->args = zalloc(sizeof(struct probe_trace_arg) * tev->nargs); in parse_probe_trace_command()
1935 if (tev->args == NULL) { in parse_probe_trace_command()
1939 for (i = 0; i < tev->nargs; i++) { in parse_probe_trace_command()
1945 tev->args[i].name = strdup(argv[i + 2]); in parse_probe_trace_command()
1947 tev->args[i].value = strdup(p); in parse_probe_trace_command()
1948 if (tev->args[i].name == NULL || tev->args[i].value == NULL) { in parse_probe_trace_command()
2130 synthesize_probe_trace_args(struct probe_trace_event *tev, struct strbuf *buf) in synthesize_probe_trace_args() argument
2134 for (i = 0; i < tev->nargs && ret >= 0; i++) in synthesize_probe_trace_args()
2135 ret = synthesize_probe_trace_arg(&tev->args[i], buf); in synthesize_probe_trace_args()
2181 char *synthesize_probe_trace_command(struct probe_trace_event *tev) in synthesize_probe_trace_command() argument
2183 struct probe_trace_point *tp = &tev->point; in synthesize_probe_trace_command()
2192 tev->group, tev->event) < 0) in synthesize_probe_trace_command()
2195 if (tev->uprobes) in synthesize_probe_trace_command()
2201 err = synthesize_probe_trace_args(tev, &buf); in synthesize_probe_trace_command()
2286 static int convert_to_perf_probe_event(struct probe_trace_event *tev, in convert_to_perf_probe_event() argument
2293 pev->event = strdup(tev->event); in convert_to_perf_probe_event()
2294 pev->group = strdup(tev->group); in convert_to_perf_probe_event()
2299 ret = convert_to_perf_probe_point(&tev->point, &pev->point, is_kprobe); in convert_to_perf_probe_event()
2304 pev->nargs = tev->nargs; in convert_to_perf_probe_event()
2308 for (i = 0; i < tev->nargs && ret >= 0; i++) { in convert_to_perf_probe_event()
2309 if (tev->args[i].name) in convert_to_perf_probe_event()
2310 pev->args[i].name = strdup(tev->args[i].name); in convert_to_perf_probe_event()
2314 ret = synthesize_probe_trace_arg(&tev->args[i], &buf); in convert_to_perf_probe_event()
2426 void clear_probe_trace_event(struct probe_trace_event *tev) in clear_probe_trace_event() argument
2431 zfree(&tev->event); in clear_probe_trace_event()
2432 zfree(&tev->group); in clear_probe_trace_event()
2433 zfree(&tev->point.symbol); in clear_probe_trace_event()
2434 zfree(&tev->point.realname); in clear_probe_trace_event()
2435 zfree(&tev->point.module); in clear_probe_trace_event()
2436 for (i = 0; i < tev->nargs; i++) { in clear_probe_trace_event()
2437 zfree(&tev->args[i].name); in clear_probe_trace_event()
2438 zfree(&tev->args[i].value); in clear_probe_trace_event()
2439 zfree(&tev->args[i].type); in clear_probe_trace_event()
2440 ref = tev->args[i].ref; in clear_probe_trace_event()
2447 zfree(&tev->args); in clear_probe_trace_event()
2448 tev->nargs = 0; in clear_probe_trace_event()
2621 static bool filter_probe_trace_event(struct probe_trace_event *tev, in filter_probe_trace_event() argument
2627 if (strfilter__compare(filter, tev->event)) in filter_probe_trace_event()
2631 if (e_snprintf(tmp, 128, "%s:%s", tev->group, tev->event) < 0) in filter_probe_trace_event()
2640 struct probe_trace_event tev; in __show_perf_probe_events() local
2645 memset(&tev, 0, sizeof(tev)); in __show_perf_probe_events()
2653 ret = parse_probe_trace_command(ent->s, &tev); in __show_perf_probe_events()
2655 if (!filter_probe_trace_event(&tev, filter)) in __show_perf_probe_events()
2657 ret = convert_to_perf_probe_event(&tev, &pev, in __show_perf_probe_events()
2662 &pev, tev.point.module, in __show_perf_probe_events()
2667 clear_probe_trace_event(&tev); in __show_perf_probe_events()
2775 static void warn_uprobe_event_compat(struct probe_trace_event *tev) in warn_uprobe_event_compat() argument
2778 char *buf = synthesize_probe_trace_command(tev); in warn_uprobe_event_compat()
2779 struct probe_trace_point *tp = &tev->point; in warn_uprobe_event_compat()
2784 tev->group, tev->event); in warn_uprobe_event_compat()
2788 if (!tev->uprobes || tev->nargs == 0 || !buf) in warn_uprobe_event_compat()
2791 for (i = 0; i < tev->nargs; i++) in warn_uprobe_event_compat()
2792 if (strglobmatch(tev->args[i].value, "[$@+-]*")) { in warn_uprobe_event_compat()
2795 tev->args[i].value); in warn_uprobe_event_compat()
2803 static int probe_trace_event__set_name(struct probe_trace_event *tev, in probe_trace_event__set_name() argument
2815 else if (tev->event) in probe_trace_event__set_name()
2816 event = tev->event; in probe_trace_event__set_name()
2824 event = tev->point.realname; in probe_trace_event__set_name()
2828 else if (tev->group) in probe_trace_event__set_name()
2829 group = tev->group; in probe_trace_event__set_name()
2835 tev->point.retprobe, allow_suffix); in probe_trace_event__set_name()
2841 tev->event = strdup(event); in probe_trace_event__set_name()
2842 tev->group = strdup(group); in probe_trace_event__set_name()
2843 if (tev->event == NULL || tev->group == NULL) in probe_trace_event__set_name()
2880 struct probe_trace_event *tev = NULL; in __add_probe_trace_events() local
2892 tev = &tevs[i]; in __add_probe_trace_events()
2893 up = tev->uprobes ? 1 : 0; in __add_probe_trace_events()
2901 if (!tev->point.symbol && !pev->uprobes) in __add_probe_trace_events()
2905 ret = probe_trace_event__set_name(tev, pev, namelist[up], in __add_probe_trace_events()
2911 ret = probe_file__add_event(fd[up], tev); in __add_probe_trace_events()
2925 warn_uprobe_event_compat(tev); in __add_probe_trace_events()
2990 struct probe_trace_event *tev __maybe_unused, in arch__fix_tev_from_maps()
3016 struct probe_trace_event *tev; in find_probe_trace_events_from_map() local
3075 *tevs = zalloc(sizeof(*tev) * num_matched_functions); in find_probe_trace_events_from_map()
3096 tev = (*tevs) + ret; in find_probe_trace_events_from_map()
3097 tp = &tev->point; in find_probe_trace_events_from_map()
3130 tev->point.module = strdup_or_goto(pev->target, in find_probe_trace_events_from_map()
3134 tev->point.module = in find_probe_trace_events_from_map()
3137 if (!tev->point.module) in find_probe_trace_events_from_map()
3141 tev->uprobes = pev->uprobes; in find_probe_trace_events_from_map()
3142 tev->nargs = pev->nargs; in find_probe_trace_events_from_map()
3143 if (tev->nargs) { in find_probe_trace_events_from_map()
3144 tev->args = zalloc(sizeof(struct probe_trace_arg) * in find_probe_trace_events_from_map()
3145 tev->nargs); in find_probe_trace_events_from_map()
3146 if (tev->args == NULL) in find_probe_trace_events_from_map()
3149 for (i = 0; i < tev->nargs; i++) { in find_probe_trace_events_from_map()
3151 tev->args[i].name = in find_probe_trace_events_from_map()
3155 tev->args[i].value = strdup_or_goto(pev->args[i].var, in find_probe_trace_events_from_map()
3158 tev->args[i].type = in find_probe_trace_events_from_map()
3162 arch__fix_tev_from_maps(pev, tev, map, sym); in find_probe_trace_events_from_map()
3186 struct probe_trace_event *tev; in try_to_find_absolute_address() local
3201 *tevs = zalloc(sizeof(*tev)); in try_to_find_absolute_address()
3205 tev = *tevs; in try_to_find_absolute_address()
3206 tp = &tev->point; in try_to_find_absolute_address()
3215 tev->uprobes = pev->uprobes; in try_to_find_absolute_address()
3227 if ((!tev->uprobes) && in try_to_find_absolute_address()
3228 (kprobe_warn_out_range(tev->point.symbol, in try_to_find_absolute_address()
3229 tev->point.address))) { in try_to_find_absolute_address()
3243 if (tev->group) { in try_to_find_absolute_address()
3244 tev->group = strdup(pev->group); in try_to_find_absolute_address()
3245 if (!tev->group) in try_to_find_absolute_address()
3250 tev->event = strdup(pev->event); in try_to_find_absolute_address()
3251 if (!tev->event) in try_to_find_absolute_address()
3255 tev->nargs = pev->nargs; in try_to_find_absolute_address()
3256 tev->args = zalloc(sizeof(struct probe_trace_arg) * tev->nargs); in try_to_find_absolute_address()
3257 if (!tev->args) in try_to_find_absolute_address()
3260 for (i = 0; i < tev->nargs; i++) in try_to_find_absolute_address()
3261 copy_to_probe_trace_arg(&tev->args[i], &pev->args[i]); in try_to_find_absolute_address()
3412 struct probe_trace_event *tev; in find_probe_trace_events_from_cache() local
3442 *tevs = zalloc(ret * sizeof(*tev)); in find_probe_trace_events_from_cache()
3450 tev = &(*tevs)[i++]; in find_probe_trace_events_from_cache()
3451 ret = parse_probe_trace_command(node->s, tev); in find_probe_trace_events_from_cache()
3455 tev->uprobes = pev->uprobes; in find_probe_trace_events_from_cache()
3520 static int show_probe_trace_event(struct probe_trace_event *tev) in show_probe_trace_event() argument
3522 char *buf = synthesize_probe_trace_command(tev); in show_probe_trace_event()
3539 struct probe_trace_event *tev; in show_probe_trace_events() local
3549 tev = &pev->tevs[i]; in show_probe_trace_events()
3551 if (!tev->point.symbol && !pev->uprobes) in show_probe_trace_events()
3555 ret = probe_trace_event__set_name(tev, pev, in show_probe_trace_events()
3558 ret = show_probe_trace_event(tev); in show_probe_trace_events()
3566 static int show_bootconfig_event(struct probe_trace_event *tev) in show_bootconfig_event() argument
3568 struct probe_trace_point *tp = &tev->point; in show_bootconfig_event()
3578 err = synthesize_probe_trace_args(tev, &buf); in show_bootconfig_event()
3594 struct probe_trace_event *tev; in show_bootconfig_events() local
3612 tev = &pev->tevs[i]; in show_bootconfig_events()
3614 if (!tev->point.symbol && !pev->uprobes) in show_bootconfig_events()
3618 ret = probe_trace_event__set_name(tev, pev, in show_bootconfig_events()
3623 if (!cur_name || strcmp(cur_name, tev->event)) { in show_bootconfig_events()
3625 cur_name ? "\n" : "", tev->event); in show_bootconfig_events()
3626 cur_name = tev->event; in show_bootconfig_events()
3629 ret = show_bootconfig_event(tev); in show_bootconfig_events()