1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|---|
2 | |
3 | #include <string.h> |
4 | #include <linux/string.h> |
5 | #include "evlist.h" |
6 | #include "env.h" |
7 | #include "header.h" |
8 | #include "sample-raw.h" |
9 | |
10 | /* |
11 | * Check platform the perf data file was created on and perform platform |
12 | * specific interpretation. |
13 | */ |
14 | void evlist__init_trace_event_sample_raw(struct evlist *evlist) |
15 | { |
16 | const char *arch_pf = perf_env__arch(env: evlist->env); |
17 | const char *cpuid = perf_env__cpuid(env: evlist->env); |
18 | |
19 | if (arch_pf && !strcmp("s390", arch_pf)) |
20 | evlist->trace_event_sample_raw = evlist__s390_sample_raw; |
21 | else if (arch_pf && !strcmp("x86", arch_pf) && |
22 | cpuid && strstarts(str: cpuid, prefix: "AuthenticAMD") && |
23 | evlist__has_amd_ibs(evlist)) { |
24 | evlist->trace_event_sample_raw = evlist__amd_sample_raw; |
25 | } |
26 | } |
27 |