diff options
Diffstat (limited to 'tools/perf/builtin-script.c')
| -rw-r--r-- | tools/perf/builtin-script.c | 24 | 
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c index 6099c722a679..566e1450898a 100644 --- a/tools/perf/builtin-script.c +++ b/tools/perf/builtin-script.c @@ -3122,6 +3122,26 @@ static int parse_xed(const struct option *opt __maybe_unused,  	return 0;  } +static int parse_call_trace(const struct option *opt __maybe_unused, +			    const char *str __maybe_unused, +			    int unset __maybe_unused) +{ +	parse_output_fields(NULL, "-ip,-addr,-event,-period,+callindent", 0); +	itrace_parse_synth_opts(opt, "cewp", 0); +	nanosecs = true; +	return 0; +} + +static int parse_callret_trace(const struct option *opt __maybe_unused, +			    const char *str __maybe_unused, +			    int unset __maybe_unused) +{ +	parse_output_fields(NULL, "-ip,-addr,-event,-period,+callindent,+flags", 0); +	itrace_parse_synth_opts(opt, "crewp", 0); +	nanosecs = true; +	return 0; +} +  int cmd_script(int argc, const char **argv)  {  	bool show_full_info = false; @@ -3213,6 +3233,10 @@ int cmd_script(int argc, const char **argv)  			"Decode instructions from itrace", parse_insn_trace),  	OPT_CALLBACK_OPTARG(0, "xed", NULL, NULL, NULL,  			"Run xed disassembler on output", parse_xed), +	OPT_CALLBACK_OPTARG(0, "call-trace", &itrace_synth_opts, NULL, NULL, +			"Decode calls from from itrace", parse_call_trace), +	OPT_CALLBACK_OPTARG(0, "call-ret-trace", &itrace_synth_opts, NULL, NULL, +			"Decode calls and returns from itrace", parse_callret_trace),  	OPT_STRING(0, "stop-bt", &symbol_conf.bt_stop_list_str, "symbol[,symbol...]",  		   "Stop display of callgraph at these symbols"),  	OPT_STRING('C', "cpu", &cpu_list, "cpu", "list of cpus to profile"),  | 
