| 
									
										
										
										
											2014-04-28 14:32:33 +02:00
										 |  |  | #ifndef ARCH_PERF_REGS_H
 | 
					
						
							|  |  |  | #define ARCH_PERF_REGS_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <stdlib.h>
 | 
					
						
							| 
									
										
										
										
											2014-05-16 10:41:09 +02:00
										 |  |  | #include <linux/types.h>
 | 
					
						
							| 
									
										
										
										
											2014-04-28 14:32:33 +02:00
										 |  |  | #include <asm/perf_regs.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define PERF_REGS_MASK	((1ULL << PERF_REG_ARM64_MAX) - 1)
 | 
					
						
							| 
									
										
										
										
											2014-07-25 18:02:46 -04:00
										 |  |  | #define PERF_REGS_MAX	PERF_REG_ARM64_MAX
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-28 14:32:33 +02:00
										 |  |  | #define PERF_REG_IP	PERF_REG_ARM64_PC
 | 
					
						
							|  |  |  | #define PERF_REG_SP	PERF_REG_ARM64_SP
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static inline const char *perf_reg_name(int id) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	switch (id) { | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X0: | 
					
						
							|  |  |  | 		return "x0"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X1: | 
					
						
							|  |  |  | 		return "x1"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X2: | 
					
						
							|  |  |  | 		return "x2"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X3: | 
					
						
							|  |  |  | 		return "x3"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X4: | 
					
						
							|  |  |  | 		return "x4"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X5: | 
					
						
							|  |  |  | 		return "x5"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X6: | 
					
						
							|  |  |  | 		return "x6"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X7: | 
					
						
							|  |  |  | 		return "x7"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X8: | 
					
						
							|  |  |  | 		return "x8"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X9: | 
					
						
							|  |  |  | 		return "x9"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X10: | 
					
						
							|  |  |  | 		return "x10"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X11: | 
					
						
							|  |  |  | 		return "x11"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X12: | 
					
						
							|  |  |  | 		return "x12"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X13: | 
					
						
							|  |  |  | 		return "x13"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X14: | 
					
						
							|  |  |  | 		return "x14"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X15: | 
					
						
							|  |  |  | 		return "x15"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X16: | 
					
						
							|  |  |  | 		return "x16"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X17: | 
					
						
							|  |  |  | 		return "x17"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X18: | 
					
						
							|  |  |  | 		return "x18"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X19: | 
					
						
							|  |  |  | 		return "x19"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X20: | 
					
						
							|  |  |  | 		return "x20"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X21: | 
					
						
							|  |  |  | 		return "x21"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X22: | 
					
						
							|  |  |  | 		return "x22"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X23: | 
					
						
							|  |  |  | 		return "x23"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X24: | 
					
						
							|  |  |  | 		return "x24"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X25: | 
					
						
							|  |  |  | 		return "x25"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X26: | 
					
						
							|  |  |  | 		return "x26"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X27: | 
					
						
							|  |  |  | 		return "x27"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X28: | 
					
						
							|  |  |  | 		return "x28"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_X29: | 
					
						
							|  |  |  | 		return "x29"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_SP: | 
					
						
							|  |  |  | 		return "sp"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_LR: | 
					
						
							|  |  |  | 		return "lr"; | 
					
						
							|  |  |  | 	case PERF_REG_ARM64_PC: | 
					
						
							|  |  |  | 		return "pc"; | 
					
						
							|  |  |  | 	default: | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return NULL; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* ARCH_PERF_REGS_H */
 |