| .. | .. |
|---|
| 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"; |
|---|