diff options
author | Igor Nabirushkin <inabirushkin@nvidia.com> | 2014-12-02 15:23:26 +0400 |
---|---|---|
committer | Winnie Hsu <whsu@nvidia.com> | 2015-01-29 22:04:31 -0800 |
commit | 091550d652f58ecbb8772e18ef1471ddeb96cc8b (patch) | |
tree | 938e7b3de324da3f61e1942f20fddff286b25b70 /include | |
parent | e37209ae78a8b668a5779911a6a2b7a7ac753743 (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.h | 11 |
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; |