]> git.karo-electronics.de Git - karo-tx-linux.git/blob - tools/perf/util/perf_regs.h
Merge tag 'iommu-updates-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git...
[karo-tx-linux.git] / tools / perf / util / perf_regs.h
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 */