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 | } | ||
