Lines Matching refs:way
109 __cache_evict_entry (struct __cache_tag_array *entry, int way)
111 addr tag = GET_TAG (entry, way);
113 if (CHECK_DIRTY (entry->dirty_bits[way]) && !CHECK_IS_LS (entry, way))
125 line = GET_CACHE_LINE (entry->tag_lo[way], way);
143 qword *line = GET_CACHE_LINE (entry->tag_lo[way], way);
166 bits = (qword) entry->dirty_bits[way];
202 SET_EMPTY (entry, way);
203 entry->dirty_bits[way] = (vector unsigned short) si_from_uint (0);
214 and evicts the way if found. */
222 __cache_fill (int way, addr tag)
236 line = GET_CACHE_LINE (tag, way);
253 __cache_miss (__ea void *ea, struct __cache_tag_array *entry, int way)
261 /* If way > 4, then there are no empty slots, so we must evict
263 if (way >= 4)
274 way = idx;
279 SET_TAG (entry, way, tag);
280 entry->reserved[way] = 0;
291 SET_IS_LS (entry, way);
292 entry->base[way] =
298 entry->base[way] = __cache_fill (way, tag);
315 qword way;
359 /* way = 0x40,0x50,0x60,0x70 for each way, which is also the
361 way = si_shli (si_clz (si_gbb (equal)), 2);
384 si_stqx (si_or (si_lqx (si_from_ptr (entry), way), bit_mask),
385 si_from_ptr (entry), way);