Lines Matching full:term
772 struct parse_events_term *term, *cloned; in pmu_alias_terms() local
776 list_for_each_entry(term, &alias->terms.terms, list) { in pmu_alias_terms()
777 int ret = parse_events_term__clone(&cloned, term); in pmu_alias_terms()
1341 * by passing a config term on the command line.
1352 struct evsel_config_term *term = evsel__get_config_term(evsel, CFG_CHG); in evsel__set_config_if_unset() local
1354 if (term) in evsel__set_config_if_unset()
1355 user_bits = term->val.cfg_chg; in evsel__set_config_if_unset()
1440 * Term is a string term, and might be a param-term. Try to look up it's value
1442 * - We have a term like "base-or-format-term=param-term",
1443 * - We need to find the value supplied for "param-term" (with param-term named
1444 * in a config string) later on in the term list.
1446 static int pmu_resolve_param_term(struct parse_events_term *term, in pmu_resolve_param_term() argument
1454 t->config && !strcmp(t->config, term->config)) { in pmu_resolve_param_term()
1462 printf("Required parameter '%s' not specified\n", term->config); in pmu_resolve_param_term()
1491 * user input data - term parameter.
1495 struct parse_events_term *term, in pmu_config_term() argument
1508 if (term->used) in pmu_config_term()
1516 if (parse_events__is_hardcoded_term(term)) { in pmu_config_term()
1525 switch (term->type_term) { in pmu_config_term()
1527 assert(term->type_val == PARSE_EVENTS__TERM_TYPE_NUM); in pmu_config_term()
1528 pmu_format_value(bits, term->val.num, &attr->config, zero); in pmu_config_term()
1531 assert(term->type_val == PARSE_EVENTS__TERM_TYPE_NUM); in pmu_config_term()
1532 pmu_format_value(bits, term->val.num, &attr->config1, zero); in pmu_config_term()
1535 assert(term->type_val == PARSE_EVENTS__TERM_TYPE_NUM); in pmu_config_term()
1536 pmu_format_value(bits, term->val.num, &attr->config2, zero); in pmu_config_term()
1539 assert(term->type_val == PARSE_EVENTS__TERM_TYPE_NUM); in pmu_config_term()
1540 pmu_format_value(bits, term->val.num, &attr->config3, zero); in pmu_config_term()
1553 format = pmu_find_format(&pmu->format, term->config); in pmu_config_term()
1560 "unknown term '%s' for pmu '%s'", in pmu_config_term()
1561 term->config, pmu->name) < 0) in pmu_config_term()
1565 parse_events_error__handle(err, term->err_term, in pmu_config_term()
1594 * Either directly use a numeric term, or try to translate string terms in pmu_config_term()
1597 if (term->type_val == PARSE_EVENTS__TERM_TYPE_NUM) { in pmu_config_term()
1598 if (term->no_value && in pmu_config_term()
1601 parse_events_error__handle(err, term->err_val, in pmu_config_term()
1602 strdup("no value assigned for term"), in pmu_config_term()
1608 val = term->val.num; in pmu_config_term()
1609 } else if (term->type_val == PARSE_EVENTS__TERM_TYPE_STR) { in pmu_config_term()
1610 if (strcmp(term->val.str, "?")) { in pmu_config_term()
1613 term->config, term->val.str); in pmu_config_term()
1616 parse_events_error__handle(err, term->err_val, in pmu_config_term()
1623 if (pmu_resolve_param_term(term, head_terms, &val)) in pmu_config_term()
1638 parse_events_error__handle(err, term->err_val, err_str, /*help=*/NULL); in pmu_config_term()
1657 struct parse_events_term *term; in perf_pmu__config_terms() local
1664 list_for_each_entry(term, &terms->terms, list) { in perf_pmu__config_terms()
1665 if (pmu_config_term(pmu, attr, term, terms, zero, apply_hardcoded, err)) in perf_pmu__config_terms()
1692 struct parse_events_term *term) in pmu_find_alias() argument
1697 if (parse_events__is_hardcoded_term(term)) in pmu_find_alias()
1700 if (term->type_val == PARSE_EVENTS__TERM_TYPE_NUM) { in pmu_find_alias()
1701 if (!term->no_value) in pmu_find_alias()
1703 if (pmu_find_format(&pmu->format, term->config)) in pmu_find_alias()
1705 name = term->config; in pmu_find_alias()
1707 } else if (term->type_val == PARSE_EVENTS__TERM_TYPE_STR) { in pmu_find_alias()
1708 if (strcasecmp(term->config, "event")) in pmu_find_alias()
1710 name = term->val.str; in pmu_find_alias()
1738 * Only one term in event definition can in check_info_data()
1781 struct parse_events_term *term, *h; in perf_pmu__check_alias() local
1812 list_for_each_entry_safe(term, h, &head_terms->terms, list) { in perf_pmu__check_alias()
1813 alias = pmu_find_alias(pmu, term); in perf_pmu__check_alias()
1816 ret = pmu_alias_terms(alias, term->err_term, &term->list); in perf_pmu__check_alias()
1818 parse_events_error__handle(err, term->err_term, in perf_pmu__check_alias()
1825 ret = check_info_data(pmu, alias, info, err, term->err_term); in perf_pmu__check_alias()
1832 if (term->alternate_hw_config) in perf_pmu__check_alias()
1833 *alternate_hw_config = term->val.num; in perf_pmu__check_alias()
1839 list_del_init(&term->list); in perf_pmu__check_alias()
1840 parse_events_term__delete(term); in perf_pmu__check_alias()
2039 struct parse_events_term *term; in format_alias() local
2044 list_for_each_entry(term, &alias->terms.terms, list) { in format_alias()
2045 if (term->type_val == PARSE_EVENTS__TERM_TYPE_STR) in format_alias()
2047 ",%s=%s", term->config, in format_alias()
2048 term->val.str); in format_alias()