Lines Matching defs:start
142 } else if (strcmp(atts[i], "start") == 0) {
242 get_start_end_pos(int *start, int *end)
244 /* start value has to be mod with 32 as we need the relative
245 * start position in the first DWord. For the end position, add
246 * the length of the field to the start position to get the
249 if (*end - *start > 32) {
250 int len = *end - *start;
251 *start = *start % 32;
252 *end = *start + len;
254 *start = *start % 32;
262 mask(int start, int end)
266 v = ~0ULL >> (63 - end + start);
268 return v << start;
272 field_value(uint64_t value, int start, int end)
274 get_start_end_pos(&start, &end);
275 return (value & mask(start, end)) >> (start);
329 } else if (strcmp(atts[i], "start") == 0) {
330 field->start = strtoul(atts[i + 1], &p, 0);
336 field->start >= 16 && field->end <= 31) {
354 field->start = field->array->array_offset;
383 while (list && field->start > list->start) {
470 if (list->start >= 16 && list->has_default) {
472 mask(list->start % 32, list->end % 32);
473 group->opcode |= list->default_value << list->start;
803 return field_value(p[0], field->start, field->end) + group->bias;
938 iter->start_bit = array_member_offset + iter->field->start;
1026 /* Address & offset types have to be aligned to dwords, their start bit is
1206 if (field->start >= 32 ||
1210 bits = (1ULL << (field->end - field->start + 1)) - 1;
1211 bits <<= field->start;