Lines Matching refs:hwp
308 hashwalk_data_t *hwp;
316 hwp = mdb_alloc(sizeof (hashwalk_data_t), UM_SLEEP);
317 hwp->hw_hash = mdb_zalloc(len, UM_SLEEP);
318 (void) mdb_vread(hwp->hw_hash, len, addr);
319 hwp->hw_hashlen = hashlen;
320 hwp->hw_hashidx = 0;
321 hwp->hw_name = name;
322 hwp->hw_data = mdb_zalloc(size, UM_SLEEP);
323 hwp->hw_size = size;
324 hwp->hw_next = next;
326 wsp->walk_addr = hwp->hw_hash[0];
327 wsp->walk_data = hwp;
335 hashwalk_data_t *hwp = wsp->walk_data;
339 if (++hwp->hw_hashidx < hwp->hw_hashlen)
340 wsp->walk_addr = hwp->hw_hash[hwp->hw_hashidx];
345 if (mdb_vread(hwp->hw_data, hwp->hw_size, wsp->walk_addr) == -1) {
347 hwp->hw_name, wsp->walk_addr);
351 rv = wsp->walk_callback(wsp->walk_addr, hwp->hw_data, wsp->walk_cbdata);
352 wsp->walk_addr = *(uintptr_t *)((uintptr_t)hwp->hw_data + hwp->hw_next);
359 hashwalk_data_t *hwp = wsp->walk_data;
361 mdb_free(hwp->hw_hash, sizeof (uintptr_t) * hwp->hw_hashlen);
362 mdb_free(hwp->hw_data, hwp->hw_size);
363 mdb_free(hwp, sizeof (hashwalk_data_t));
383 hashwalk_data_t *hwp = wsp->walk_data;
388 if (++hwp->hw_hashidx < hwp->hw_hashlen)
389 wsp->walk_addr = hwp->hw_hash[hwp->hw_hashidx];