diff options
Diffstat (limited to 'tools/perf/util/parse-events.c')
| -rw-r--r-- | tools/perf/util/parse-events.c | 15 | 
1 files changed, 11 insertions, 4 deletions
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index 4e778eae1510..3c876b8ba4de 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c @@ -22,6 +22,7 @@  #include "cpumap.h"  #include "probe-file.h"  #include "asm/bug.h" +#include "util/parse-branch-options.h"  #define MAX_NAME_LEN 100 @@ -973,10 +974,13 @@ do {									   \  		CHECK_TYPE_VAL(NUM);  		break;  	case PARSE_EVENTS__TERM_TYPE_BRANCH_SAMPLE_TYPE: -		/* -		 * TODO uncomment when the field is available -		 * attr->branch_sample_type = term->val.num; -		 */ +		CHECK_TYPE_VAL(STR); +		if (strcmp(term->val.str, "no") && +		    parse_branch_str(term->val.str, &attr->branch_sample_type)) { +			err->str = strdup("invalid branch sample type"); +			err->idx = term->err_val; +			return -EINVAL; +		}  		break;  	case PARSE_EVENTS__TERM_TYPE_TIME:  		CHECK_TYPE_VAL(NUM); @@ -1119,6 +1123,9 @@ do {								\  		case PARSE_EVENTS__TERM_TYPE_CALLGRAPH:  			ADD_CONFIG_TERM(CALLGRAPH, callgraph, term->val.str);  			break; +		case PARSE_EVENTS__TERM_TYPE_BRANCH_SAMPLE_TYPE: +			ADD_CONFIG_TERM(BRANCH, branch, term->val.str); +			break;  		case PARSE_EVENTS__TERM_TYPE_STACKSIZE:  			ADD_CONFIG_TERM(STACK_USER, stack_user, term->val.num);  			break;  |