xref: /openbmc/linux/tools/perf/util/sample-raw.c (revision 291dcb98)
193115d32SThomas Richter /* SPDX-License-Identifier: GPL-2.0 */
293115d32SThomas Richter 
393115d32SThomas Richter #include <string.h>
4*291dcb98SKim Phillips #include <linux/string.h>
593115d32SThomas Richter #include "evlist.h"
693115d32SThomas Richter #include "env.h"
7*291dcb98SKim Phillips #include "header.h"
893115d32SThomas Richter #include "sample-raw.h"
993115d32SThomas Richter 
1093115d32SThomas Richter /*
1193115d32SThomas Richter  * Check platform the perf data file was created on and perform platform
1293115d32SThomas Richter  * specific interpretation.
1393115d32SThomas Richter  */
evlist__init_trace_event_sample_raw(struct evlist * evlist)1444d2a557SArnaldo Carvalho de Melo void evlist__init_trace_event_sample_raw(struct evlist *evlist)
1593115d32SThomas Richter {
1693115d32SThomas Richter 	const char *arch_pf = perf_env__arch(evlist->env);
17*291dcb98SKim Phillips 	const char *cpuid = perf_env__cpuid(evlist->env);
1893115d32SThomas Richter 
1993115d32SThomas Richter 	if (arch_pf && !strcmp("s390", arch_pf))
2044d2a557SArnaldo Carvalho de Melo 		evlist->trace_event_sample_raw = evlist__s390_sample_raw;
21*291dcb98SKim Phillips 	else if (arch_pf && !strcmp("x86", arch_pf) &&
22*291dcb98SKim Phillips 		 cpuid && strstarts(cpuid, "AuthenticAMD") &&
23*291dcb98SKim Phillips 		 evlist__has_amd_ibs(evlist)) {
24*291dcb98SKim Phillips 		evlist->trace_event_sample_raw = evlist__amd_sample_raw;
25*291dcb98SKim Phillips 	}
2693115d32SThomas Richter }
27