summaryrefslogtreecommitdiffstats
path: root/include/linux/tegra_profiler.h
diff options
context:
space:
mode:
authorIgor Nabirushkin <inabirushkin@nvidia.com>2014-12-02 06:23:26 -0500
committerIgor Nabirushkin <inabirushkin@nvidia.com>2017-07-13 10:18:41 -0400
commit31b4d67c1e7086143478d880fa2d5263ae940ea8 (patch)
tree4bbfe8e87e2fc338ab52aae9de0d3b4b31042f06 /include/linux/tegra_profiler.h
parent8e489b2b13b88ed8e03fb5a7743278f49e00b73a (diff)
tegra-profiler: record offset of the stack pointer
Tegra Profiler: when collecting backtraces, record remaining data stack size. Bug 1584533 Change-Id: I608ab73f8e1b7da84221a17a782080fdf5598111 Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/658431 (cherry picked from commit 227b2248af0fd2193741ee34d5cc0b141bd57dd2)
Diffstat (limited to 'include/linux/tegra_profiler.h')
-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 e1dc1bd05..4aa43fffb 100644
--- a/include/linux/tegra_profiler.h
+++ b/include/linux/tegra_profiler.h
@@ -19,8 +19,8 @@
19 19
20#include <linux/ioctl.h> 20#include <linux/ioctl.h>
21 21
22#define QUADD_SAMPLES_VERSION 30 22#define QUADD_SAMPLES_VERSION 31
23#define QUADD_IO_VERSION 15 23#define QUADD_IO_VERSION 16
24 24
25#define QUADD_IO_VERSION_DYNAMIC_RB 5 25#define QUADD_IO_VERSION_DYNAMIC_RB 5
26#define QUADD_IO_VERSION_RB_MAX_FILL_COUNT 6 26#define QUADD_IO_VERSION_RB_MAX_FILL_COUNT 6
@@ -33,6 +33,7 @@
33#define QUADD_IO_VERSION_ARCH_TIMER_OPT 13 33#define QUADD_IO_VERSION_ARCH_TIMER_OPT 13
34#define QUADD_IO_VERSION_DATA_MMAP 14 34#define QUADD_IO_VERSION_DATA_MMAP 14
35#define QUADD_IO_VERSION_BT_LOWER_BOUND 15 35#define QUADD_IO_VERSION_BT_LOWER_BOUND 15
36#define QUADD_IO_VERSION_STACK_OFFSET 16
36 37
37#define QUADD_SAMPLE_VERSION_THUMB_MODE_FLAG 17 38#define QUADD_SAMPLE_VERSION_THUMB_MODE_FLAG 17
38#define QUADD_SAMPLE_VERSION_GROUP_SAMPLES 18 39#define QUADD_SAMPLE_VERSION_GROUP_SAMPLES 18
@@ -46,6 +47,7 @@
46#define QUADD_SAMPLE_VERSION_SCHED_SAMPLES 28 47#define QUADD_SAMPLE_VERSION_SCHED_SAMPLES 28
47#define QUADD_SAMPLE_VERSION_HDR_UNW_METHOD 29 48#define QUADD_SAMPLE_VERSION_HDR_UNW_METHOD 29
48#define QUADD_SAMPLE_VERSION_HDR_ARCH_TIMER 30 49#define QUADD_SAMPLE_VERSION_HDR_ARCH_TIMER 30
50#define QUADD_SAMPLE_VERSION_STACK_OFFSET 31
49 51
50#define QUADD_MMAP_HEADER_VERSION 1 52#define QUADD_MMAP_HEADER_VERSION 1
51 53
@@ -192,6 +194,9 @@ enum {
192#define QUADD_SED_UNW_METHOD_SHIFT 1 194#define QUADD_SED_UNW_METHOD_SHIFT 1
193#define QUADD_SED_UNW_METHOD_MASK (0x07 << QUADD_SED_UNW_METHOD_SHIFT) 195#define QUADD_SED_UNW_METHOD_MASK (0x07 << QUADD_SED_UNW_METHOD_SHIFT)
194 196
197#define QUADD_SED_STACK_OFFSET_SHIFT 4
198#define QUADD_SED_STACK_OFFSET_MASK (0xffff << QUADD_SED_STACK_OFFSET_SHIFT)
199
195enum { 200enum {
196 QUADD_UNW_TYPE_FP = 0, 201 QUADD_UNW_TYPE_FP = 0,
197 QUADD_UNW_TYPE_UT, 202 QUADD_UNW_TYPE_UT,
@@ -302,6 +307,7 @@ struct quadd_debug_data {
302#define QUADD_HDR_UNW_METHOD_MASK (0x07 << QUADD_HDR_UNW_METHOD_SHIFT) 307#define QUADD_HDR_UNW_METHOD_MASK (0x07 << QUADD_HDR_UNW_METHOD_SHIFT)
303 308
304#define QUADD_HDR_USE_ARCH_TIMER (1 << 3) 309#define QUADD_HDR_USE_ARCH_TIMER (1 << 3)
310#define QUADD_HDR_STACK_OFFSET (1 << 4)
305 311
306struct quadd_header_data { 312struct quadd_header_data {
307 u16 magic; 313 u16 magic;
@@ -354,6 +360,7 @@ enum {
354#define QUADD_PARAM_EXTRA_BT_UNWIND_TABLES (1 << 2) 360#define QUADD_PARAM_EXTRA_BT_UNWIND_TABLES (1 << 2)
355#define QUADD_PARAM_EXTRA_BT_MIXED (1 << 3) 361#define QUADD_PARAM_EXTRA_BT_MIXED (1 << 3)
356#define QUADD_PARAM_EXTRA_USE_ARCH_TIMER (1 << 4) 362#define QUADD_PARAM_EXTRA_USE_ARCH_TIMER (1 << 4)
363#define QUADD_PARAM_EXTRA_STACK_OFFSET (1 << 5)
357 364
358struct quadd_parameters { 365struct quadd_parameters {
359 u32 freq; 366 u32 freq;