Lines Matching refs:str
767 static int errpos(char *str) in errpos() argument
769 if (!str || !last_cmd) in errpos()
772 return err_pos(last_cmd, str); in errpos()
775 static void last_cmd_set(struct trace_event_file *file, char *str) in last_cmd_set() argument
780 if (!str) in last_cmd_set()
785 last_cmd = kasprintf(GFP_KERNEL, HIST_PREFIX "%s", str); in last_cmd_set()
1408 static int parse_map_size(char *str) in parse_map_size() argument
1413 ret = kstrtoul(str, 0, &size); in parse_map_size()
1448 static int parse_action(char *str, struct hist_trigger_attrs *attrs) in parse_action() argument
1455 if ((str_has_prefix(str, "onmatch(")) || in parse_action()
1456 (str_has_prefix(str, "onmax(")) || in parse_action()
1457 (str_has_prefix(str, "onchange("))) { in parse_action()
1458 attrs->action_str[attrs->n_actions] = kstrdup(str, GFP_KERNEL); in parse_action()
1470 char *str, struct hist_trigger_attrs *attrs) in parse_assignment() argument
1474 if ((len = str_has_prefix(str, "key=")) || in parse_assignment()
1475 (len = str_has_prefix(str, "keys="))) { in parse_assignment()
1476 attrs->keys_str = kstrdup(str + len, GFP_KERNEL); in parse_assignment()
1481 } else if ((len = str_has_prefix(str, "val=")) || in parse_assignment()
1482 (len = str_has_prefix(str, "vals=")) || in parse_assignment()
1483 (len = str_has_prefix(str, "values="))) { in parse_assignment()
1484 attrs->vals_str = kstrdup(str + len, GFP_KERNEL); in parse_assignment()
1489 } else if ((len = str_has_prefix(str, "sort="))) { in parse_assignment()
1490 attrs->sort_key_str = kstrdup(str + len, GFP_KERNEL); in parse_assignment()
1495 } else if (str_has_prefix(str, "name=")) { in parse_assignment()
1496 attrs->name = kstrdup(str, GFP_KERNEL); in parse_assignment()
1501 } else if ((len = str_has_prefix(str, "clock="))) { in parse_assignment()
1502 str += len; in parse_assignment()
1504 str = strstrip(str); in parse_assignment()
1505 attrs->clock = kstrdup(str, GFP_KERNEL); in parse_assignment()
1510 } else if ((len = str_has_prefix(str, "size="))) { in parse_assignment()
1511 int map_bits = parse_map_size(str + len); in parse_assignment()
1522 hist_err(tr, HIST_ERR_TOO_MANY_VARS, errpos(str)); in parse_assignment()
1527 assignment = kstrdup(str, GFP_KERNEL); in parse_assignment()
1550 char *str = strsep(&trigger_str, ":"); in parse_hist_trigger_attrs() local
1553 rhs = strchr(str, '='); in parse_hist_trigger_attrs()
1557 hist_err(tr, HIST_ERR_EMPTY_ASSIGNMENT, errpos(str)); in parse_hist_trigger_attrs()
1560 ret = parse_assignment(tr, str, attrs); in parse_hist_trigger_attrs()
1563 } else if (strcmp(str, "nohitcount") == 0 || in parse_hist_trigger_attrs()
1564 strcmp(str, "NOHC") == 0) in parse_hist_trigger_attrs()
1566 else if (strcmp(str, "pause") == 0) in parse_hist_trigger_attrs()
1568 else if ((strcmp(str, "cont") == 0) || in parse_hist_trigger_attrs()
1569 (strcmp(str, "continue") == 0)) in parse_hist_trigger_attrs()
1571 else if (strcmp(str, "clear") == 0) in parse_hist_trigger_attrs()
1574 ret = parse_action(str, attrs); in parse_hist_trigger_attrs()
1740 char str[HIST_CONST_DIGITS_MAX]; in expr_field_str() local
1742 snprintf(str, HIST_CONST_DIGITS_MAX, "%llu", field->constant); in expr_field_str()
1743 strcat(expr, str); in expr_field_str()
1820 static int contains_operator(char *str, char **sep) in contains_operator() argument
1840 minus_op = strrchr(str, '-'); in contains_operator()
1846 if (minus_op == str) { in contains_operator()
1854 plus_op = strrchr(str, '+'); in contains_operator()
1869 div_op = strrchr(str, '/'); in contains_operator()
1873 mult_op = strrchr(str, '*'); in contains_operator()
2315 char *field_name, *modifier, *str; in parse_field() local
2318 modifier = str = kstrdup(field_str, GFP_KERNEL); in parse_field()
2413 kfree(str); in parse_field()
2443 char *str, char *var_name, in parse_const() argument
2450 if (kstrtoull(str, 0, &constant)) { in parse_const()
2451 hist_err(tr, HIST_ERR_EXPECT_NUMBER, errpos(str)); in parse_const()
2466 struct trace_event_file *file, char *str, in parse_atom() argument
2469 char *s, *ref_system = NULL, *ref_event = NULL, *ref_var = str; in parse_atom()
2475 if (isdigit(str[0])) { in parse_atom()
2476 hist_field = parse_const(hist_data, str, var_name, flags); in parse_atom()
2484 s = strchr(str, '.'); in parse_atom()
2488 ref_system = strsep(&str, "."); in parse_atom()
2489 if (!str) { in parse_atom()
2493 ref_event = strsep(&str, "."); in parse_atom()
2494 if (!str) { in parse_atom()
2498 ref_var = str; in parse_atom()
2517 str = s; in parse_atom()
2519 field = parse_field(hist_data, file, str, flags, &buckets); in parse_atom()
2539 char *str, unsigned long flags,
2544 char *str, unsigned long flags, in parse_unary() argument
2558 hist_err(file->tr, HIST_ERR_TOO_MANY_SUBEXPR, errpos(str)); in parse_unary()
2563 str++; /* skip leading '-' */ in parse_unary()
2565 s = strchr(str, '('); in parse_unary()
2567 str++; in parse_unary()
2573 s = strrchr(str, ')'); in parse_unary()
2578 errpos(str)); in parse_unary()
2597 operand1 = parse_expr(hist_data, file, str, operand_flags, NULL, n_subexprs); in parse_unary()
2604 hist_err(file->tr, HIST_ERR_INVALID_STR_OPERAND, errpos(str)); in parse_unary()
2676 char *str, unsigned long flags, in parse_expr() argument
2688 hist_err(file->tr, HIST_ERR_TOO_MANY_SUBEXPR, errpos(str)); in parse_expr()
2692 field_op = contains_operator(str, &sep); in parse_expr()
2695 return parse_atom(hist_data, file, str, &flags, var_name); in parse_expr()
2698 return parse_unary(hist_data, file, str, flags, var_name, n_subexprs); in parse_expr()
2708 operand1_str = str; in parse_expr()
2709 str = sep+1; in parse_expr()
2712 if (*operand1_str == '\0' || *str == '\0') in parse_expr()
2730 operand2 = parse_expr(hist_data, file, str, operand_flags, NULL, n_subexprs); in parse_expr()
2736 hist_err(file->tr, HIST_ERR_INVALID_STR_OPERAND, errpos(str)); in parse_expr()
2795 hist_err(file->tr, HIST_ERR_DIVISION_BY_ZERO, errpos(str)); in parse_expr()
3163 char *str = elt_data->field_var_str[j++]; in __update_field_vars() local
3169 strscpy(str, val_str, size); in __update_field_vars()
3171 char *stack_start = str + sizeof(unsigned long); in __update_field_vars()
3179 *((unsigned long *)str) = e; in __update_field_vars()
3181 var_val = (u64)(uintptr_t)str; in __update_field_vars()
3705 static int action_parse(struct trace_array *tr, char *str, struct action_data *data, in action_parse() argument
3711 strsep(&str, "."); in action_parse()
3712 if (!str) { in action_parse()
3718 action_name = strsep(&str, "("); in action_parse()
3719 if (!action_name || !str) { in action_parse()
3726 char *params = strsep(&str, ")"); in action_parse()
3752 char *params = strsep(&str, ")"); in action_parse()
3754 if (!str) { in action_parse()
3774 char *params = strsep(&str, ")"); in action_parse()
3811 char *str, enum handler_id handler) in track_data_parse() argument
3821 var_str = strsep(&str, ")"); in track_data_parse()
3822 if (!var_str || !str) { in track_data_parse()
3833 ret = action_parse(hist_data->event_file->tr, str, data, handler); in track_data_parse()
4178 static struct action_data *onmatch_parse(struct trace_array *tr, char *str) in onmatch_parse() argument
4188 match_event = strsep(&str, ")"); in onmatch_parse()
4189 if (!match_event || !str) { in onmatch_parse()
4217 ret = action_parse(tr, str, data, HANDLER_ONMATCH); in onmatch_parse()
4624 char *s, *str, *var_name, *field_str; in parse_var_defs() local
4629 str = hist_data->attrs->assignment_str[i]; in parse_var_defs()
4631 field_str = strsep(&str, ","); in parse_var_defs()
4701 static int is_descending(struct trace_array *tr, const char *str) in is_descending() argument
4703 if (!str) in is_descending()
4706 if (strcmp(str, "descending") == 0) in is_descending()
4709 if (strcmp(str, "ascending") == 0) in is_descending()
4712 hist_err(tr, HIST_ERR_INVALID_SORT_MODIFIER, errpos((char *)str)); in is_descending()
4827 char *str; in parse_actions() local
4834 str = hist_data->attrs->action_str[i]; in parse_actions()
4836 if ((len = str_has_prefix(str, "onmatch("))) in parse_actions()
4838 else if ((len = str_has_prefix(str, "onmax("))) in parse_actions()
4840 else if ((len = str_has_prefix(str, "onchange("))) in parse_actions()
4843 action_str = str + len; in parse_actions()
5190 char *str, *val_str; in hist_trigger_elt_update() local
5198 str = elt_data->field_var_str[idx]; in hist_trigger_elt_update()
5203 strscpy(str, val_str, size); in hist_trigger_elt_update()
5205 char *stack_start = str + sizeof(unsigned long); in hist_trigger_elt_update()
5213 *((unsigned long *)str) = e; in hist_trigger_elt_update()
5215 hist_val = (u64)(uintptr_t)str; in hist_trigger_elt_update()