diff options
author | Lionel Landwerlin <lionel.g.landwerlin@intel.com> | 2017-09-26 00:54:49 +0100 |
---|---|---|
committer | Lionel Landwerlin <lionel.g.landwerlin@intel.com> | 2017-11-01 13:49:12 +0000 |
commit | 38f338c19a7803a218a9b3249c4d6b2600edd75a (patch) | |
tree | 8cb52dcba7159fcf21c5294feb498de060ad9312 | |
parent | 279531672e39cb5a4ffd00bdbb8805d88a366334 (diff) |
intel: decoder: extract instruction/structs length
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Scott D Phillips <scott.d.phillips@intel.com>
-rw-r--r-- | src/intel/common/gen_decoder.c | 7 | ||||
-rw-r--r-- | src/intel/common/gen_decoder.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/intel/common/gen_decoder.c b/src/intel/common/gen_decoder.c index 97e54cd44a..24c9fa79ad 100644 --- a/src/intel/common/gen_decoder.c +++ b/src/intel/common/gen_decoder.c @@ -162,6 +162,13 @@ create_group(struct parser_context *ctx, group->spec = ctx->spec; group->variable = false; + for (int i = 0; atts[i]; i += 2) { + char *p; + if (strcmp(atts[i], "length") == 0) { + group->dw_length = strtoul(atts[i + 1], &p, 0); + } + } + if (parent) { group->parent = parent; get_group_offset_count(atts, diff --git a/src/intel/common/gen_decoder.h b/src/intel/common/gen_decoder.h index 12d0c063ee..5d5ce7825f 100644 --- a/src/intel/common/gen_decoder.h +++ b/src/intel/common/gen_decoder.h @@ -87,6 +87,7 @@ struct gen_group { struct gen_field *fields; /* linked list of fields */ + uint32_t dw_length; uint32_t group_offset, group_count; uint32_t group_size; bool variable; |