Lines Matching refs:field

246     * the length of the field to the start position to get the
316 struct intel_field *field;
318 field = rzalloc(ctx->group, struct intel_field);
319 field->parent = ctx->group;
325 field->name = ralloc_strdup(field, atts[i + 1]);
326 if (strcmp(field->name, "DWord Length") == 0) {
327 field->parent->dword_length_field = field;
330 field->start = strtoul(atts[i + 1], &p, 0);
332 field->end = strtoul(atts[i + 1], &p, 0);
334 field->type = string_to_type(ctx, atts[i + 1]);
336 field->start >= 16 && field->end <= 31) {
337 field->has_default = true;
338 field->default_value = strtoul(atts[i + 1], &p, 0);
342 return field;
348 struct intel_field *field;
350 field = rzalloc(ctx->group, struct intel_field);
351 field->parent = ctx->group;
353 field->array = array;
354 field->start = field->array->array_offset;
356 return field;
379 struct intel_field *field = array ?
383 while (list && field->start > list->start) {
388 field->next = list;
390 ctx->group->fields = field;
392 prev->next = field;
394 return field;
438 } else if (strcmp(element_name, "field") == 0) {
490 } else if (strcmp(name, "field") == 0) {
491 struct intel_field *field = ctx->last_field;
493 field->inline_enum.values = ctx->values;
494 field->inline_enum.nvalues = ctx->n_values;
780 struct intel_field *field = group->fields;
781 while (field) {
782 if (strcmp(field->name, name) == 0) {
785 field);
786 return field;
788 field = field->next;
801 struct intel_field *field = group->dword_length_field;
802 if (field) {
803 return field_value(p[0], field->start, field->end) + group->bias;
878 return iter->field != NULL && iter->field->next != NULL;
900 /* descend into a non-array field */
906 iter->group = iter->field->array;
913 iter->field = iter->group->fields;
914 iter->fields[iter->level] = iter->field;
923 iter->field = iter->fields[iter->level];
928 iter_start_field(struct intel_field_iterator *iter, struct intel_field *field)
930 iter->field = field;
931 iter->fields[iter->level] = field;
933 while (iter->field->array)
938 iter->start_bit = array_member_offset + iter->field->start;
939 iter->end_bit = array_member_offset + iter->field->end;
984 iter_start_field(iter, iter->field->next);
997 * field.
1029 if (iter->field->type.kind == INTEL_TYPE_ADDRESS ||
1030 iter->field->type.kind == INTEL_TYPE_OFFSET)
1044 if (iter->field->name)
1045 snprintf(iter->name, sizeof(iter->name), "%s", iter->field->name);
1057 switch (iter->field->type.kind) {
1061 enum_name = intel_get_enum_name(&iter->field->inline_enum, v.qw);
1067 enum_name = intel_get_enum_name(&iter->field->inline_enum, v.qw);
1086 iter->field->type.intel_struct->name);
1089 iter->field->type.intel_struct->name);
1093 (float) v.qw / (1 << iter->field->type.f));
1097 int bits = iter->field->type.i + iter->field->type.f + 1;
1100 (float) v_sign_extend / (1 << iter->field->type.f));
1107 enum_name = intel_get_enum_name(iter->field->type.intel_enum, v.qw);
1167 if (!iter->field) {
1201 intel_field_is_header(struct intel_field *field)
1206 if (field->start >= 32 ||
1207 field->end >= 32)
1210 bits = (1ULL << (field->end - field->start + 1)) - 1;
1211 bits <<= field->start;
1213 return (field->parent->opcode_mask & bits) != 0;
1231 if (!intel_field_is_header(iter.field)) {