1#ifndef __PERF_REGS_H 2#define __PERF_REGS_H 3 4#include <linux/types.h> 5#include <linux/compiler.h> 6 7struct regs_dump; 8 9struct 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 16extern const struct sample_reg sample_reg_masks[]; 17 18#ifdef HAVE_PERF_REGS_SUPPORT 19#include <perf_regs.h> 20 21int 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 27static inline const char *perf_reg_name(int id __maybe_unused) 28{ 29 return NULL; 30} 31 32static 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