diff options
Diffstat (limited to 'tools/perf/util/trace-event-parse.c')
-rw-r--r-- | tools/perf/util/trace-event-parse.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c index c5c32be040bf..9b3c20f42f98 100644 --- a/tools/perf/util/trace-event-parse.c +++ b/tools/perf/util/trace-event-parse.c | |||
@@ -1925,6 +1925,15 @@ void *raw_field_ptr(struct event *event, const char *name, void *data) | |||
1925 | if (!field) | 1925 | if (!field) |
1926 | return NULL; | 1926 | return NULL; |
1927 | 1927 | ||
1928 | if (field->flags & FIELD_IS_STRING) { | ||
1929 | int offset; | ||
1930 | |||
1931 | offset = *(int *)(data + field->offset); | ||
1932 | offset &= 0xffff; | ||
1933 | |||
1934 | return data + offset; | ||
1935 | } | ||
1936 | |||
1928 | return data + field->offset; | 1937 | return data + field->offset; |
1929 | } | 1938 | } |
1930 | 1939 | ||
@@ -3277,3 +3286,18 @@ void parse_set_info(int nr_cpus, int long_sz) | |||
3277 | cpus = nr_cpus; | 3286 | cpus = nr_cpus; |
3278 | long_size = long_sz; | 3287 | long_size = long_sz; |
3279 | } | 3288 | } |
3289 | |||
3290 | int common_pc(struct scripting_context *context) | ||
3291 | { | ||
3292 | return parse_common_pc(context->event_data); | ||
3293 | } | ||
3294 | |||
3295 | int common_flags(struct scripting_context *context) | ||
3296 | { | ||
3297 | return parse_common_flags(context->event_data); | ||
3298 | } | ||
3299 | |||
3300 | int common_lock_depth(struct scripting_context *context) | ||
3301 | { | ||
3302 | return parse_common_lock_depth(context->event_data); | ||
3303 | } | ||