Lines Matching refs:td
129 static uint64_t table_entry_addr(GICv3ITSState *s, TableDesc *td, in table_entry_addr() argument
152 if (!td->indirect) { in table_entry_addr()
154 return td->base_addr + idx * td->entry_sz; in table_entry_addr()
158 l2idx = idx / (td->page_sz / L1TABLE_ENTRY_SIZE); in table_entry_addr()
161 td->base_addr + (l2idx * L1TABLE_ENTRY_SIZE), in table_entry_addr()
170 num_l2_entries = td->page_sz / td->entry_sz; in table_entry_addr()
171 return (l2 & ((1ULL << 51) - 1)) + (idx % num_l2_entries) * td->entry_sz; in table_entry_addr()
1424 TableDesc *td; in extract_table_params() local
1459 td = &s->dt; in extract_table_params()
1463 td = &s->ct; in extract_table_params()
1472 td = &s->vpet; in extract_table_params()
1489 memset(td, 0, sizeof(*td)); in extract_table_params()
1508 td->page_sz = page_sz; in extract_table_params()
1509 td->indirect = FIELD_EX64(value, GITS_BASER, INDIRECT); in extract_table_params()
1510 td->entry_sz = FIELD_EX64(value, GITS_BASER, ENTRYSIZE) + 1; in extract_table_params()
1511 td->base_addr = baser_base_addr(value, page_sz); in extract_table_params()
1512 if (!td->indirect) { in extract_table_params()
1513 td->num_entries = (num_pages * page_sz) / td->entry_sz; in extract_table_params()
1515 td->num_entries = (((num_pages * page_sz) / in extract_table_params()
1517 (page_sz / td->entry_sz)); in extract_table_params()
1519 td->num_entries = MIN(td->num_entries, 1ULL << idbits); in extract_table_params()