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 Melovoid 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