diff options
Diffstat (limited to 'tools/perf/util/sample-raw.c')
-rw-r--r-- | tools/perf/util/sample-raw.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/perf/util/sample-raw.c b/tools/perf/util/sample-raw.c new file mode 100644 index 000000000..f3f6bd9d2 --- /dev/null +++ b/tools/perf/util/sample-raw.c @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#include <string.h> +#include <linux/string.h> +#include "evlist.h" +#include "env.h" +#include "header.h" +#include "sample-raw.h" + +/* + * Check platform the perf data file was created on and perform platform + * specific interpretation. + */ +void evlist__init_trace_event_sample_raw(struct evlist *evlist) +{ + const char *arch_pf = perf_env__arch(evlist->env); + const char *cpuid = perf_env__cpuid(evlist->env); + + if (arch_pf && !strcmp("s390", arch_pf)) + evlist->trace_event_sample_raw = evlist__s390_sample_raw; + else if (arch_pf && !strcmp("x86", arch_pf) && + cpuid && strstarts(cpuid, "AuthenticAMD") && + evlist__has_amd_ibs(evlist)) { + evlist->trace_event_sample_raw = evlist__amd_sample_raw; + } +} |