summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorIgor Nabirushkin <inabirushkin@nvidia.com>2014-12-02 15:23:26 +0400
committerWinnie Hsu <whsu@nvidia.com>2015-01-29 22:04:31 -0800
commit091550d652f58ecbb8772e18ef1471ddeb96cc8b (patch)
tree938e7b3de324da3f61e1942f20fddff286b25b70 /include
parente37209ae78a8b668a5779911a6a2b7a7ac753743 (diff)
tegra-profiler: record offset of the stack pointer
Tegra Profiler: when collecting backtraces, record remaining data stack size. Bug 1584533 Bug 1598009 Change-Id: I608ab73f8e1b7da84221a17a782080fdf5598111 Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/658431 (cherry picked from commit 803c1a41e9b7ebcbf297bd7ce5caeed1d1f800ce) Reviewed-on: http://git-master/r/672039 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/tegra_profiler.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/linux/tegra_profiler.h b/include/linux/tegra_profiler.h
index ad62d9a8e918..4225e7e9274e 100644
--- a/include/linux/tegra_profiler.h
+++ b/include/linux/tegra_profiler.h
@@ -19,8 +19,8 @@
#include <linux/ioctl.h>
-#define QUADD_SAMPLES_VERSION 30
-#define QUADD_IO_VERSION 15
+#define QUADD_SAMPLES_VERSION 31
+#define QUADD_IO_VERSION 16
#define QUADD_IO_VERSION_DYNAMIC_RB 5
#define QUADD_IO_VERSION_RB_MAX_FILL_COUNT 6
@@ -33,6 +33,7 @@
#define QUADD_IO_VERSION_ARCH_TIMER_OPT 13
#define QUADD_IO_VERSION_DATA_MMAP 14
#define QUADD_IO_VERSION_BT_LOWER_BOUND 15
+#define QUADD_IO_VERSION_STACK_OFFSET 16
#define QUADD_SAMPLE_VERSION_THUMB_MODE_FLAG 17
#define QUADD_SAMPLE_VERSION_GROUP_SAMPLES 18
@@ -46,6 +47,7 @@
#define QUADD_SAMPLE_VERSION_SCHED_SAMPLES 28
#define QUADD_SAMPLE_VERSION_HDR_UNW_METHOD 29
#define QUADD_SAMPLE_VERSION_HDR_ARCH_TIMER 30
+#define QUADD_SAMPLE_VERSION_STACK_OFFSET 31
#define QUADD_MMAP_HEADER_VERSION 1
@@ -192,6 +194,9 @@ enum {
#define QUADD_SED_UNW_METHOD_SHIFT 1
#define QUADD_SED_UNW_METHOD_MASK (0x07 << QUADD_SED_UNW_METHOD_SHIFT)
+#define QUADD_SED_STACK_OFFSET_SHIFT 4
+#define QUADD_SED_STACK_OFFSET_MASK (0xffff << QUADD_SED_STACK_OFFSET_SHIFT)
+
enum {
QUADD_UNW_TYPE_FP = 0,
QUADD_UNW_TYPE_UT,
@@ -302,6 +307,7 @@ struct quadd_debug_data {
#define QUADD_HDR_UNW_METHOD_MASK (0x07 << QUADD_HDR_UNW_METHOD_SHIFT)
#define QUADD_HDR_USE_ARCH_TIMER (1 << 3)
+#define QUADD_HDR_STACK_OFFSET (1 << 4)
struct quadd_header_data {
u16 magic;
@@ -354,6 +360,7 @@ enum {
#define QUADD_PARAM_EXTRA_BT_UNWIND_TABLES (1 << 2)
#define QUADD_PARAM_EXTRA_BT_MIXED (1 << 3)
#define QUADD_PARAM_EXTRA_USE_ARCH_TIMER (1 << 4)
+#define QUADD_PARAM_EXTRA_STACK_OFFSET (1 << 5)
struct quadd_parameters {
u32 freq;