Lines Matching refs:entry
162 // look up an entry in the TLB
188 TlbEntry *entry = &table[index];
189 assert(entry->valid);
190 if (vpn == entry->tag && (entry->asma || entry->asn == asn)) {
191 retval = updateCache(entry);
246 // insert a new TLB entry
248 TLB::insert(Addr addr, TlbEntry &entry)
257 panic("TLB entry not found in lookupTable");
262 panic("TLB entry not found in lookupTable");
272 DPRINTF(TLB, "insert @%d: %#x -> %#x\n", nlu, vaddr.vpn(), entry.ppn);
274 table[nlu] = entry;
300 TlbEntry *entry = &table[index];
301 assert(entry->valid);
304 // increment it to get the next entry now
308 if (!entry->asma) {
310 entry->tag, entry->ppn);
311 entry->valid = false;
329 TlbEntry *entry = &table[index];
330 assert(entry->valid);
332 if (vaddr.vpn() == entry->tag && (entry->asma || entry->asn == asn)) {
334 entry->ppn);
336 // invalidate this entry
337 entry->valid = false;
418 TlbEntry *entry = lookup(VAddr(req->getVaddr()).vpn(),
421 if (!entry) {
426 req->setPaddr((entry->ppn << PageShift) +
431 if (!(entry->xre &
520 TlbEntry *entry = lookup(VAddr(req->getVaddr()).vpn(), asn);
522 if (!entry) {
536 req->setPaddr((entry->ppn << PageShift) +
540 if (!(entry->xwe & MODE2MASK(mode))) {
545 (entry->fonw ? MM_STAT_FONW_MASK : 0);
550 if (entry->fonw) {
558 if (!(entry->xre & MODE2MASK(mode))) {
561 (entry->fonr ? MM_STAT_FONR_MASK : 0);
566 if (entry->fonr) {
593 TlbEntry *entry = &table[nlu];
598 return *entry;