Lines Matching refs:uhead
287 parse_drhd(char *uhead, dmar_table_t *tbl) in parse_drhd() argument
295 ASSERT(uhead); in parse_drhd()
297 ASSERT(get_uint16(&uhead[0]) == DMAR_DRHD); in parse_drhd()
299 seg = get_uint16(&uhead[6]); in parse_drhd()
311 len = get_uint16(&uhead[2]); in parse_drhd()
313 (get_uint8(&uhead[4]) & DMAR_INCLUDE_ALL) ? B_TRUE : B_FALSE; in parse_drhd()
315 drhd->dr_regs = get_uint64(&uhead[8]); in parse_drhd()
320 shead = &uhead[16]; in parse_drhd()
321 while (shead < &uhead[len - 1]) { in parse_drhd()
345 parse_rmrr(char *uhead, dmar_table_t *tbl) in parse_rmrr() argument
353 ASSERT(uhead); in parse_rmrr()
355 ASSERT(get_uint16(&uhead[0]) == DMAR_RMRR); in parse_rmrr()
357 seg = get_uint16(&uhead[6]); in parse_rmrr()
370 len = get_uint16(&uhead[2]); in parse_rmrr()
371 rmrr->rm_seg = get_uint16(&uhead[6]); in parse_rmrr()
372 rmrr->rm_base = get_uint64(&uhead[8]); in parse_rmrr()
373 rmrr->rm_limit = get_uint64(&uhead[16]); in parse_rmrr()
388 shead = &uhead[24]; in parse_rmrr()
389 while (shead < &uhead[len - 1]) { in parse_rmrr()
413 char *uhead; in dmar_parse() local
469 uhead = &raw[48]; in dmar_parse()
470 while (uhead < &raw[tbl->tbl_rawlen - 1]) { in dmar_parse()
472 switch (get_uint16(uhead)) { in dmar_parse()
474 if (parse_drhd(uhead, tbl) != DDI_SUCCESS) { in dmar_parse()
479 if (parse_rmrr(uhead, tbl) != DDI_SUCCESS) { in dmar_parse()
497 uhead += get_uint16(&uhead[2]); in dmar_parse()