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 enum { 19 SDT_ARG_VALID = 0, 20 SDT_ARG_SKIP, 21 }; 22 23 int arch_sdt_arg_parse_op(char *old_op, char **new_op); 24 25 #ifdef HAVE_PERF_REGS_SUPPORT 26 #include <perf_regs.h> 27 28 int perf_reg_value(u64 *valp, struct regs_dump *regs, int id); 29 30 #else 31 #define PERF_REGS_MASK 0 32 #define PERF_REGS_MAX 0 33 34 static inline const char *perf_reg_name(int id __maybe_unused) 35 { 36 return NULL; 37 } 38 39 static inline int perf_reg_value(u64 *valp __maybe_unused, 40 struct regs_dump *regs __maybe_unused, 41 int id __maybe_unused) 42 { 43 return 0; 44 } 45 #endif /* HAVE_PERF_REGS_SUPPORT */ 46 #endif /* __PERF_REGS_H */ 47