xref: /openbmc/linux/tools/perf/util/sample-raw.c (revision 291dcb98)
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  */
evlist__init_trace_event_sample_raw(struct evlist * evlist)14 void evlist__init_trace_event_sample_raw(struct evlist *evlist)
15 {
16 	const char *arch_pf = perf_env__arch(evlist->env);
17 	const char *cpuid = perf_env__cpuid(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(cpuid, "AuthenticAMD") &&
23 		 evlist__has_amd_ibs(evlist)) {
24 		evlist->trace_event_sample_raw = evlist__amd_sample_raw;
25 	}
26 }
27