Lines Matching refs:aw
84 struct aw_info *aw;
96 wsp->walk_data = aw = mdb_zalloc(sizeof (struct aw_info), UM_SLEEP);
101 tree = &aw->aw_tree;
116 aw->aw_buff = mdb_zalloc(tree->avl_size, UM_SLEEP);
117 aw->aw_end = (end == NULL ? NULL : end + tree->avl_offset);
118 aw->aw_elem_name = element_name;
119 aw->aw_elem_check = element_check;
120 aw->aw_elem_check_arg = arg;
132 addr = avl_leftmostchild(addr, aw->aw_buff, tree->avl_offset,
133 tree->avl_size, aw->aw_elem_name);
144 if (aw->aw_buff != NULL)
145 mdb_free(aw->aw_buff, sizeof (tree->avl_size));
146 mdb_free(aw, sizeof (struct aw_info));
180 struct aw_info *aw;
195 aw = (struct aw_info *)wsp->walk_data;
197 if (aw->aw_end != NULL && wsp->walk_addr == aw->aw_end)
200 size = aw->aw_tree.avl_size;
201 offset = aw->aw_tree.avl_offset;
202 node = (avl_node_t *)((uintptr_t)aw->aw_buff + offset);
207 if (mdb_vread(aw->aw_buff, size, addr) == -1) {
208 mdb_warn("failed to read %s at %#lx", aw->aw_elem_name, addr);
212 if (aw->aw_elem_check != NULL) {
213 int rc = aw->aw_elem_check(aw->aw_buff, addr,
214 aw->aw_elem_check_arg);
224 status = wsp->walk_callback(addr, aw->aw_buff, wsp->walk_cbdata);
239 addr = avl_leftmostchild(addr, aw->aw_buff, offset, size,
240 aw->aw_elem_name);
257 if (mdb_vread(aw->aw_buff, size, addr) == -1) {
259 aw->aw_elem_name, addr);
275 struct aw_info *aw;
277 aw = (struct aw_info *)wsp->walk_data;
279 if (aw == NULL)
282 if (aw->aw_buff != NULL)
283 mdb_free(aw->aw_buff, aw->aw_tree.avl_size);
285 mdb_free(aw, sizeof (struct aw_info));