1 #ifndef __PERF_REGS_H 2 #define __PERF_REGS_H 3 4 #include <linux/types.h> 5 #include <linux/compiler.h> 6 7 struct regs_dump; 8 9 struct sample_reg { 10 const char *name; 11 uint64_t mask; 12 }; 13 #define SMPL_REG(n, b) { .name = #n, .mask = 1ULL << (b) } 14 #define SMPL_REG_END { .name = NULL } 15 16 extern const struct sample_reg sample_reg_masks[]; 17 18 #ifdef HAVE_PERF_REGS_SUPPORT 19 #include <perf_regs.h> 20 21 int perf_reg_value(u64 *valp, struct regs_dump *regs, int id); 22 23 #else 24 #define PERF_REGS_MASK 0 25 #define PERF_REGS_MAX 0 26 27 static inline const char *perf_reg_name(int id __maybe_unused) 28 { 29 return NULL; 30 } 31 32 static inline int perf_reg_value(u64 *valp __maybe_unused, 33 struct regs_dump *regs __maybe_unused, 34 int id __maybe_unused) 35 { 36 return 0; 37 } 38 #endif /* HAVE_PERF_REGS_SUPPORT */ 39 #endif /* __PERF_REGS_H */ 40