.. | .. |
---|
12 | 12 | uint64_t mask; |
---|
13 | 13 | }; |
---|
14 | 14 | #define SMPL_REG(n, b) { .name = #n, .mask = 1ULL << (b) } |
---|
| 15 | +#define SMPL_REG2(n, b) { .name = #n, .mask = 3ULL << (b) } |
---|
15 | 16 | #define SMPL_REG_END { .name = NULL } |
---|
16 | | - |
---|
17 | | -extern const struct sample_reg sample_reg_masks[]; |
---|
18 | 17 | |
---|
19 | 18 | enum { |
---|
20 | 19 | SDT_ARG_VALID = 0, |
---|
.. | .. |
---|
22 | 21 | }; |
---|
23 | 22 | |
---|
24 | 23 | int arch_sdt_arg_parse_op(char *old_op, char **new_op); |
---|
| 24 | +uint64_t arch__intr_reg_mask(void); |
---|
| 25 | +uint64_t arch__user_reg_mask(void); |
---|
25 | 26 | |
---|
26 | 27 | #ifdef HAVE_PERF_REGS_SUPPORT |
---|
| 28 | +extern const struct sample_reg sample_reg_masks[]; |
---|
| 29 | + |
---|
27 | 30 | #include <perf_regs.h> |
---|
28 | 31 | |
---|
| 32 | +#define DWARF_MINIMAL_REGS ((1ULL << PERF_REG_IP) | (1ULL << PERF_REG_SP)) |
---|
| 33 | + |
---|
29 | 34 | int perf_reg_value(u64 *valp, struct regs_dump *regs, int id); |
---|
| 35 | + |
---|
| 36 | +static inline const char *perf_reg_name(int id) |
---|
| 37 | +{ |
---|
| 38 | + const char *reg_name = __perf_reg_name(id); |
---|
| 39 | + |
---|
| 40 | + return reg_name ?: "unknown"; |
---|
| 41 | +} |
---|
30 | 42 | |
---|
31 | 43 | #else |
---|
32 | 44 | #define PERF_REGS_MASK 0 |
---|
33 | 45 | #define PERF_REGS_MAX 0 |
---|
34 | 46 | |
---|
| 47 | +#define DWARF_MINIMAL_REGS PERF_REGS_MASK |
---|
| 48 | + |
---|
35 | 49 | static inline const char *perf_reg_name(int id __maybe_unused) |
---|
36 | 50 | { |
---|
37 | 51 | return "unknown"; |
---|