1/* 2 * Copyright (c) 2012-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 --- 233 unchanged lines hidden (view full) --- 242 * @param pkt Packet holding the address to update 243 * @param blk The block to update. 244 */ 245 void insertBlock(PacketPtr pkt, BlkType *blk) 246 { 247 Addr addr = pkt->getAddr(); 248 MasterID master_id = pkt->req->masterId(); 249 uint32_t task_id = pkt->req->taskId(); |
250 |
251 if (!blk->isTouched) { 252 tagsInUse++; 253 blk->isTouched = true; 254 if (!warmedUp && tagsInUse.value() >= warmupBound) { 255 warmedUp = true; 256 warmupCycle = curTick(); 257 } 258 } --- 11 unchanged lines hidden (view full) --- 270 // deal with evicted block 271 assert(blk->srcMasterId < cache->system->maxMasters()); 272 occupancies[blk->srcMasterId]--; 273 274 blk->invalidate(); 275 } 276 277 blk->isTouched = true; |
278 |
279 // Set tag for new block. Caller is responsible for setting status. 280 blk->tag = extractTag(addr); |
281 282 // deal with what we are bringing in 283 assert(master_id < cache->system->maxMasters()); 284 occupancies[master_id]++; 285 blk->srcMasterId = master_id; 286 blk->task_id = task_id; 287 blk->tickInserted = curTick(); 288 --- 107 unchanged lines hidden --- |