Lines Matching refs:uhead
290 parse_drhd(char *uhead, dmar_table_t *tbl) in parse_drhd() argument
298 ASSERT(uhead); in parse_drhd()
300 ASSERT(get_uint16(&uhead[0]) == DMAR_DRHD); in parse_drhd()
302 seg = get_uint16(&uhead[6]); in parse_drhd()
314 len = get_uint16(&uhead[2]); in parse_drhd()
316 (get_uint8(&uhead[4]) & DMAR_INCLUDE_ALL) ? B_TRUE : B_FALSE; in parse_drhd()
318 drhd->dr_regs = get_uint64(&uhead[8]); in parse_drhd()
323 shead = &uhead[16]; in parse_drhd()
324 while (shead < &uhead[len - 1]) { in parse_drhd()
348 parse_rmrr(char *uhead, dmar_table_t *tbl) in parse_rmrr() argument
356 ASSERT(uhead); in parse_rmrr()
358 ASSERT(get_uint16(&uhead[0]) == DMAR_RMRR); in parse_rmrr()
360 seg = get_uint16(&uhead[6]); in parse_rmrr()
373 len = get_uint16(&uhead[2]); in parse_rmrr()
374 rmrr->rm_seg = get_uint16(&uhead[6]); in parse_rmrr()
375 rmrr->rm_base = get_uint64(&uhead[8]); in parse_rmrr()
376 rmrr->rm_limit = get_uint64(&uhead[16]); in parse_rmrr()
391 shead = &uhead[24]; in parse_rmrr()
392 while (shead < &uhead[len - 1]) { in parse_rmrr()
416 char *uhead; in dmar_parse() local
472 uhead = &raw[48]; in dmar_parse()
473 while (uhead < &raw[tbl->tbl_rawlen - 1]) { in dmar_parse()
475 switch (get_uint16(uhead)) { in dmar_parse()
477 if (parse_drhd(uhead, tbl) != DDI_SUCCESS) { in dmar_parse()
482 if (parse_rmrr(uhead, tbl) != DDI_SUCCESS) { in dmar_parse()
500 uhead += get_uint16(&uhead[2]); in dmar_parse()