]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/blobdiff - include/linux/tegra_profiler.h
misc: tegra-profiler: add unwind information
[sojka/nv-tegra/linux-3.10.git] / include / linux / tegra_profiler.h
index fe65583f9f3f58270c4468f46d28320b545f5ce7..bfab1ee72e80c5389473f297e550740c6c366fbd 100644 (file)
@@ -19,7 +19,7 @@
 
 #include <linux/ioctl.h>
 
-#define QUADD_SAMPLES_VERSION  25
+#define QUADD_SAMPLES_VERSION  26
 #define QUADD_IO_VERSION       12
 
 #define QUADD_IO_VERSION_DYNAMIC_RB            5
@@ -38,6 +38,7 @@
 #define QUADD_SAMPLE_VERSION_SUPPORT_IP64      23
 #define QUADD_SAMPLE_VERSION_SPECIAL_MMAP      24
 #define QUADD_SAMPLE_VERSION_UNWIND_MIXED      25
+#define QUADD_SAMPLE_VERSION_UNW_ENTRY_TYPE    26
 
 #define QUADD_MAX_COUNTERS     32
 #define QUADD_MAX_PROCESS      64
@@ -175,6 +176,14 @@ enum {
 #define QUADD_SED_UNW_METHOD_SHIFT     1
 #define QUADD_SED_UNW_METHOD_MASK      (0x07 << QUADD_SED_UNW_METHOD_SHIFT)
 
+enum {
+       QUADD_UNW_TYPE_FP = 0,
+       QUADD_UNW_TYPE_UT,
+       QUADD_UNW_TYPE_LR_FP,
+       QUADD_UNW_TYPE_LR_UT,
+       QUADD_UNW_TYPE_KCTX,
+};
+
 struct quadd_sample_data {
        u64 ip;
        u32 pid;
@@ -358,6 +367,7 @@ enum {
 #define QUADD_COMM_CAP_EXTRA_SUPPORT_AARCH64   (1 << 4)
 #define QUADD_COMM_CAP_EXTRA_SPECIAL_ARCH_MMAP (1 << 5)
 #define QUADD_COMM_CAP_EXTRA_UNWIND_MIXED      (1 << 6)
+#define QUADD_COMM_CAP_EXTRA_UNW_ENTRY_TYPE    (1 << 7)
 
 struct quadd_comm_cap {
        u32     pmu:1,