- imap = inode->map;
- keysize = __interrupt_keysize(&node->base);
-
- __prepare_key(&imap->key_mask, imap->raw_mask.encoded, keysize);
-
- dt_decode(&iter, &node->base, &imap->raw, 1);
-
- advance = 0;
- do
- {
- advance = keysize;
- ent = valloc(sizeof(*ent));
-
- __prepare_key(&ent->key, iter.prop_loc, advance);
- __mask_key(&ent->key, &imap->key_mask);
-
- parent_hnd = dtprop_to_phnd(dtprop_extract(&iter, advance));
- ent->parent = &dt_resolve_phandle(parent_hnd)->base;
-
- advance++;
- parent_keysize = __interrupt_keysize(ent->parent);
-
- ent->parent_props.encoded = dtprop_extract(&iter, advance);
- ent->parent_props.size = parent_keysize;
-
- advance += parent_keysize;
-
- llist_append(&imap->mapent, &ent->ents);
-
- } while (dtprop_next_n(&iter, advance));
-
- imap->resolved = true;