162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci#include <string.h> 462306a36Sopenharmony_ci#include <linux/string.h> 562306a36Sopenharmony_ci#include "evlist.h" 662306a36Sopenharmony_ci#include "env.h" 762306a36Sopenharmony_ci#include "header.h" 862306a36Sopenharmony_ci#include "sample-raw.h" 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/* 1162306a36Sopenharmony_ci * Check platform the perf data file was created on and perform platform 1262306a36Sopenharmony_ci * specific interpretation. 1362306a36Sopenharmony_ci */ 1462306a36Sopenharmony_civoid evlist__init_trace_event_sample_raw(struct evlist *evlist) 1562306a36Sopenharmony_ci{ 1662306a36Sopenharmony_ci const char *arch_pf = perf_env__arch(evlist->env); 1762306a36Sopenharmony_ci const char *cpuid = perf_env__cpuid(evlist->env); 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci if (arch_pf && !strcmp("s390", arch_pf)) 2062306a36Sopenharmony_ci evlist->trace_event_sample_raw = evlist__s390_sample_raw; 2162306a36Sopenharmony_ci else if (arch_pf && !strcmp("x86", arch_pf) && 2262306a36Sopenharmony_ci cpuid && strstarts(cpuid, "AuthenticAMD") && 2362306a36Sopenharmony_ci evlist__has_amd_ibs(evlist)) { 2462306a36Sopenharmony_ci evlist->trace_event_sample_raw = evlist__amd_sample_raw; 2562306a36Sopenharmony_ci } 2662306a36Sopenharmony_ci} 27