Lines Matching refs:kw
31 kmemlog_walk_t *kw; in kmemlog_walk_init() local
39 kw = mdb_zalloc(sizeof (kmemlog_walk_t), UM_SLEEP); in kmemlog_walk_init()
40 kw->kmlw_entries = mdb_zalloc(sym.st_size, UM_SLEEP); in kmemlog_walk_init()
41 kw->kmlw_addr = sym.st_value; in kmemlog_walk_init()
43 if (mdb_vread(kw->kmlw_entries, sym.st_size, sym.st_value) == -1) { in kmemlog_walk_init()
45 mdb_free(kw->kmlw_entries, sym.st_size); in kmemlog_walk_init()
46 mdb_free(kw, sizeof (kmemlog_walk_t)); in kmemlog_walk_init()
50 kw->kmlw_nentries = sym.st_size / sizeof (mm_logentry_t); in kmemlog_walk_init()
52 mdb_readvar(&kw->kmlw_entry, "mm_kmemlogent"); in kmemlog_walk_init()
53 kw->kmlw_oldest = kw->kmlw_entry; in kmemlog_walk_init()
54 wsp->walk_data = kw; in kmemlog_walk_init()
62 kmemlog_walk_t *kw = wsp->walk_data; in kmemlog_walk_step() local
66 ent = &kw->kmlw_entries[kw->kmlw_entry]; in kmemlog_walk_step()
68 if (++kw->kmlw_entry == kw->kmlw_nentries) in kmemlog_walk_step()
69 kw->kmlw_entry = 0; in kmemlog_walk_step()
72 rval = wsp->walk_callback(kw->kmlw_addr + ((uintptr_t)ent - in kmemlog_walk_step()
73 (uintptr_t)kw->kmlw_entries), ent, wsp->walk_cbdata); in kmemlog_walk_step()
76 if (rval == WALK_NEXT && kw->kmlw_entry == kw->kmlw_oldest) in kmemlog_walk_step()
85 kmemlog_walk_t *kw = wsp->walk_data; in kmemlog_walk_fini() local
87 mdb_free(kw->kmlw_entries, kw->kmlw_nentries * sizeof (mm_logentry_t)); in kmemlog_walk_fini()
88 mdb_free(kw, sizeof (kmemlog_walk_t)); in kmemlog_walk_fini()