aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/annotate.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <[email protected]>2016-11-18 19:54:10 +0000
committerArnaldo Carvalho de Melo <[email protected]>2016-11-25 13:38:56 +0000
commitacc9bfb5fae5c48ca875911d87d8d8a9d886bb66 (patch)
tree56cfb2d9ecabe8ab458089e412cde5b893dd90d0 /tools/perf/util/annotate.c
parentperf annotate: Allow arches to have a init routine and a priv area (diff)
downloadkernel-acc9bfb5fae5c48ca875911d87d8d8a9d886bb66.tar.gz
kernel-acc9bfb5fae5c48ca875911d87d8d8a9d886bb66.zip
perf annotate: Improve support for ARM
By using arch->init() to set up some regular expressions to associate ins_ops to ARM instructions, ditching that old table that has instructions not present on ARM. Take advantage of having an arch->init() to hide more arm specific stuff from the common code, like the objdump details. The regular expressions comes from a patch written by Kim Phillips. Reviewed-by: Ravi Bangoria <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Alexander Shishkin <[email protected]> Cc: Chris Riyder <[email protected]> Cc: David Ahern <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Kim Phillips <[email protected]> Cc: Markus Trippelsdorf <[email protected]> Cc: Masami Hiramatsu <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Naveen N. Rao <[email protected]> Cc: Pawel Moll <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Russell King <[email protected]> Cc: Taeung Song <[email protected]> Cc: Wang Nan <[email protected]> Link: http://lkml.kernel.org/n/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Diffstat (limited to 'tools/perf/util/annotate.c')
-rw-r--r--tools/perf/util/annotate.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 1e96549650d7..bad44db7dd67 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -84,7 +84,7 @@ grow_from_non_allocated_table:
goto out_update_instructions;
}
-static __maybe_unused int arch__associate_ins_ops(struct arch* arch, const char *name, struct ins_ops *ops)
+static int arch__associate_ins_ops(struct arch* arch, const char *name, struct ins_ops *ops)
{
struct ins *ins;
@@ -110,12 +110,7 @@ static __maybe_unused int arch__associate_ins_ops(struct arch* arch, const char
static struct arch architectures[] = {
{
.name = "arm",
- .instructions = arm__instructions,
- .nr_instructions = ARRAY_SIZE(arm__instructions),
- .objdump = {
- .comment_char = ';',
- .skip_functions_char = '+',
- },
+ .init = arm__annotate_init,
},
{
.name = "x86",