Lines Matching refs:tt
145 // of this TTEntry in the containing Sector's tt array.
163 precisely when this sector's translation table (tt) reaches
169 TTEntry* tt;
174 /* The count of tt entries with state InUse. */
177 /* Expandable arrays of tt indices for each of the ECLASS_N
179 the containing sector's tt array, which in turn should point
431 tte = &sec->tt[tteno];
476 /* For each tt reference in each eclass .. ensure the reference
477 is to a valid tt entry, and that the entry's address ranges
486 tte = &sec->tt[tteno];
523 tte = &sec->tt[i];
761 /* Sector has never been used before. Need to allocate tt and
763 vg_assert(sec->tt == NULL);
789 sec->tt = (TTEntry*)(AddrH)sr_Res(sres);
792 sec->tt[i].status = Empty;
793 sec->tt[i].n_tte2ec = 0;
811 vg_assert(sec->tt != NULL);
817 if (sec->tt[i].status == InUse) {
818 vg_assert(sec->tt[i].n_tte2ec >= 1);
819 vg_assert(sec->tt[i].n_tte2ec <= 3);
820 n_dump_osize += vge_osize(&sec->tt[i].vge);
824 sec->tt[i].entry,
825 sec->tt[i].vge );
828 vg_assert(sec->tt[i].n_tte2ec == 0);
830 sec->tt[i].status = Empty;
831 sec->tt[i].n_tte2ec = 0;
970 used before, in which case it will get its tt/tc allocated
1017 /* Find an empty tt slot, and use it. There must be such a slot
1018 since tt is never allowed to get completely full. */
1022 if (sectors[y].tt[i].status == Empty
1023 || sectors[y].tt[i].status == Deleted)
1030 sectors[y].tt[i].status = InUse;
1031 sectors[y].tt[i].tcptr = tcptr;
1032 sectors[y].tt[i].count = 0;
1033 sectors[y].tt[i].weight = 1;
1034 sectors[y].tt[i].vge = *vge;
1035 sectors[y].tt[i].entry = entry;
1038 setFastCacheEntry( entry, tcptr, §ors[y].tt[i].count );
1074 if (sectors[sno].tt[k].status == InUse
1075 && sectors[sno].tt[k].entry == guest_addr) {
1079 guest_addr, sectors[sno].tt[k].tcptr,
1080 §ors[sno].tt[k].count );
1082 *result = (AddrH)sectors[sno].tt[k].tcptr;
1093 if (sectors[sno].tt[k].status == Empty)
1148 /* Delete a tt entry, and update all the eclass data accordingly. */
1156 tte = &sec->tt[tteno];
1216 tte = &sec->tt[tteno];
1241 if (sec->tt[i].status == InUse
1242 && overlaps( guest_start, range, &sec->tt[i].vge )) {
1354 tte = &sec->tt[i];
1370 main tt/tc structures. When unredir_tc or unredir_tt becomes full,
1568 sectors[i].tt = NULL;
1589 /* and the unredir tt/tc */
1633 " tt/tc: %'llu tt lookups requiring %'llu probes\n",
1636 " tt/tc: %'llu fast-cache updates, %'llu flushes\n",
1692 if (sectors[sno].tt[i].status != InUse)
1694 score_total += score(§ors[sno].tt[i]);
1695 /* Find the rank for sectors[sno].tt[i]. */
1704 if ( score(§ors[sno].tt[i]) > tops[r].score ) {
1717 tops[r].addr = sectors[sno].tt[i].entry;
1718 tops[r].score = score( §ors[sno].tt[i] );