hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/tools/perf/util/perf_regs.h
....@@ -12,9 +12,8 @@
1212 uint64_t mask;
1313 };
1414 #define SMPL_REG(n, b) { .name = #n, .mask = 1ULL << (b) }
15
+#define SMPL_REG2(n, b) { .name = #n, .mask = 3ULL << (b) }
1516 #define SMPL_REG_END { .name = NULL }
16
-
17
-extern const struct sample_reg sample_reg_masks[];
1817
1918 enum {
2019 SDT_ARG_VALID = 0,
....@@ -22,16 +21,31 @@
2221 };
2322
2423 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);
2526
2627 #ifdef HAVE_PERF_REGS_SUPPORT
28
+extern const struct sample_reg sample_reg_masks[];
29
+
2730 #include <perf_regs.h>
2831
32
+#define DWARF_MINIMAL_REGS ((1ULL << PERF_REG_IP) | (1ULL << PERF_REG_SP))
33
+
2934 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
+}
3042
3143 #else
3244 #define PERF_REGS_MASK 0
3345 #define PERF_REGS_MAX 0
3446
47
+#define DWARF_MINIMAL_REGS PERF_REGS_MASK
48
+
3549 static inline const char *perf_reg_name(int id __maybe_unused)
3650 {
3751 return "unknown";