44 lines
		
	
	
	
		
			571 B
			
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			44 lines
		
	
	
	
		
			571 B
			
		
	
	
	
		
			Text
		
	
	
	
	
	
|   | %option prefix="perf_pmu_" | ||
|  | 
 | ||
|  | %{ | ||
|  | #include <stdlib.h> | ||
|  | #include <linux/bitops.h> | ||
|  | #include "pmu.h" | ||
|  | #include "pmu-bison.h" | ||
|  | 
 | ||
|  | static int value(int base) | ||
|  | { | ||
|  | 	long num; | ||
|  | 
 | ||
|  | 	errno = 0; | ||
|  | 	num = strtoul(perf_pmu_text, NULL, base); | ||
|  | 	if (errno) | ||
|  | 		return PP_ERROR; | ||
|  | 
 | ||
|  | 	perf_pmu_lval.num = num; | ||
|  | 	return PP_VALUE; | ||
|  | } | ||
|  | 
 | ||
|  | %} | ||
|  | 
 | ||
|  | num_dec         [0-9]+ | ||
|  | 
 | ||
|  | %% | ||
|  | 
 | ||
|  | {num_dec}	{ return value(10); } | ||
|  | config		{ return PP_CONFIG; } | ||
|  | config1		{ return PP_CONFIG1; } | ||
|  | config2		{ return PP_CONFIG2; } | ||
|  | -		{ return '-'; } | ||
|  | :		{ return ':'; } | ||
|  | ,		{ return ','; } | ||
|  | .		{ ; } | ||
|  | \n		{ ; } | ||
|  | 
 | ||
|  | %% | ||
|  | 
 | ||
|  | int perf_pmu_wrap(void) | ||
|  | { | ||
|  | 	return 1; | ||
|  | } |