nhm_dimm
newrank = kmem_zalloc(sizeof (nvlist_t *) * nhm_dimm->nranks, KM_SLEEP);
for (i = 0; i < nhm_dimm->nranks; i++) {
nhm_dimm->nranks);
for (i = 0; i < nhm_dimm->nranks; i++)
kmem_free(newrank, sizeof (nvlist_t *) * nhm_dimm->nranks);
inhm_dimm(nhm_dimm_t *nhm_dimm, uint32_t node, uint8_t channel, uint32_t dimm)
if (nhm_dimm->dimm_size >= 1024*1024*1024) {
(int)(nhm_dimm->dimm_size / (1024*1024*1024)));
(int)(nhm_dimm->dimm_size / (1024*1024)));
(void) nvlist_add_uint64(newdimm, "size", nhm_dimm->dimm_size);
(void) nvlist_add_uint32(newdimm, "nbanks", (uint32_t)nhm_dimm->nbanks);
(uint32_t)nhm_dimm->ncolumn);
(void) nvlist_add_uint32(newdimm, "nrow", (uint32_t)nhm_dimm->nrow);
(void) nvlist_add_uint32(newdimm, "width", (uint32_t)nhm_dimm->width);
(void) nvlist_add_uint32(newdimm, "ranks", (uint32_t)nhm_dimm->nranks);
inhm_rank(newdimm, nhm_dimm, node, channel, dimm,
nhm_dimm->dimm_size / nhm_dimm->nranks);
if (nhm_dimm->manufacturer[0]) {
t = sizeof (nhm_dimm->manufacturer);
(void) strncpy(sbuf, nhm_dimm->manufacturer, t);
if (nhm_dimm->serial_number[0]) {
t = sizeof (nhm_dimm->serial_number);
(void) strncpy(sbuf, nhm_dimm->serial_number, t);
if (nhm_dimm->part_number[0]) {
t = sizeof (nhm_dimm->part_number);
(void) strncpy(sbuf, nhm_dimm->part_number, t);
if (nhm_dimm->revision[0]) {
t = sizeof (nhm_dimm->revision);
(void) strncpy(sbuf, nhm_dimm->revision, t);
t = sizeof (nhm_dimm->label);
(void) strncpy(sbuf, nhm_dimm->label, t);
inhm_rank(nvlist_t *newdimm, nhm_dimm_t *nhm_dimm, uint32_t node,