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