1/* 2 * Copyright (c) 2013 ARM Limited 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 147 unchanged lines hidden (view full) --- 156 tagIterator iter = tagHash.find(addr); 157 if (iter != tagHash.end()) { 158 return (*iter).second; 159 } 160 return NULL; 161} 162 163void |
164FALRU::invalidate(CacheBlk *blk) |
165{ 166 assert(blk); 167 tagsInUse--; 168} 169 |
170CacheBlk* 171FALRU::accessBlock(Addr addr, bool is_secure, Cycles &lat, int context_src) 172{ 173 return accessBlock(addr, is_secure, lat, context_src, 0); 174} 175 176CacheBlk* |
177FALRU::accessBlock(Addr addr, bool is_secure, Cycles &lat, int context_src, 178 int *inCache) 179{ 180 accesses++; 181 int tmp_in_cache = 0; 182 Addr blkAddr = blkAlign(addr); 183 FALRUBlk* blk = hashLookup(blkAddr); 184 --- 22 unchanged lines hidden (view full) --- 207 } 208 209 lat = accessLatency; 210 //assert(check()); 211 return blk; 212} 213 214 |
215CacheBlk* |
216FALRU::findBlock(Addr addr, bool is_secure) const 217{ 218 Addr blkAddr = blkAlign(addr); 219 FALRUBlk* blk = hashLookup(blkAddr); 220 221 if (blk && blk->isValid()) { 222 assert(blk->tag == blkAddr); 223 } else { 224 blk = NULL; 225 } 226 return blk; 227} 228 |
229CacheBlk* |
230FALRU::findVictim(Addr addr) 231{ 232 FALRUBlk * blk = tail; 233 assert(blk->inCache == 0); 234 moveToHead(blk); 235 tagHash.erase(blk->tag); 236 tagHash[blkAlign(addr)] = blk; 237 if (blk->isValid()) { --- 6 unchanged lines hidden (view full) --- 244 warmupCycle = curTick(); 245 } 246 } 247 //assert(check()); 248 return blk; 249} 250 251void |
252FALRU::insertBlock(PacketPtr pkt, CacheBlk *blk) |
253{ 254} 255 256void 257FALRU::moveToHead(FALRUBlk *blk) 258{ 259 int updateMask = blk->inCache ^ cacheMask; 260 for (unsigned i = 0; i < numCaches; i++){ --- 64 unchanged lines hidden --- |