27 lines
		
	
	
		
			742 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			742 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| 
 | |
| #include <string.h>
 | |
| #include <linux/string.h>
 | |
| #include "evlist.h"
 | |
| #include "env.h"
 | |
| #include "header.h"
 | |
| #include "sample-raw.h"
 | |
| 
 | |
| /*
 | |
|  * Check platform the perf data file was created on and perform platform
 | |
|  * specific interpretation.
 | |
|  */
 | |
| void evlist__init_trace_event_sample_raw(struct evlist *evlist)
 | |
| {
 | |
| 	const char *arch_pf = perf_env__arch(evlist->env);
 | |
| 	const char *cpuid = perf_env__cpuid(evlist->env);
 | |
| 
 | |
| 	if (arch_pf && !strcmp("s390", arch_pf))
 | |
| 		evlist->trace_event_sample_raw = evlist__s390_sample_raw;
 | |
| 	else if (arch_pf && !strcmp("x86", arch_pf) &&
 | |
| 		 cpuid && strstarts(cpuid, "AuthenticAMD") &&
 | |
| 		 evlist__has_amd_ibs(evlist)) {
 | |
| 		evlist->trace_event_sample_raw = evlist__amd_sample_raw;
 | |
| 	}
 | |
| }
 |