cache.cc (12633:675cd1260b40) cache.cc (12691:8e1371fde4be)
1/*
2 * Copyright (c) 2010-2018 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

--- 383 unchanged lines hidden (view full) ---

392 blk = allocateBlock(pkt->getAddr(), pkt->isSecure(), writebacks);
393 if (blk == nullptr) {
394 // no replaceable block available: give up, fwd to next level.
395 incMissCount(pkt);
396 return false;
397 }
398 tags->insertBlock(pkt, blk);
399
1/*
2 * Copyright (c) 2010-2018 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

--- 383 unchanged lines hidden (view full) ---

392 blk = allocateBlock(pkt->getAddr(), pkt->isSecure(), writebacks);
393 if (blk == nullptr) {
394 // no replaceable block available: give up, fwd to next level.
395 incMissCount(pkt);
396 return false;
397 }
398 tags->insertBlock(pkt, blk);
399
400 blk->status = (BlkValid | BlkReadable);
401 if (pkt->isSecure()) {
402 blk->status |= BlkSecure;
403 }
400 blk->status |= (BlkValid | BlkReadable);
404 }
405 // only mark the block dirty if we got a writeback command,
406 // and leave it as is for a clean writeback
407 if (pkt->cmd == MemCmd::WritebackDirty) {
408 assert(!blk->isDirty());
409 blk->status |= BlkDirty;
410 }
411 // if the packet does not have sharers, it is passing

--- 43 unchanged lines hidden (view full) ---

455 if (!blk) {
456 // no replaceable block available: give up, fwd to
457 // next level.
458 incMissCount(pkt);
459 return false;
460 }
461 tags->insertBlock(pkt, blk);
462
401 }
402 // only mark the block dirty if we got a writeback command,
403 // and leave it as is for a clean writeback
404 if (pkt->cmd == MemCmd::WritebackDirty) {
405 assert(!blk->isDirty());
406 blk->status |= BlkDirty;
407 }
408 // if the packet does not have sharers, it is passing

--- 43 unchanged lines hidden (view full) ---

452 if (!blk) {
453 // no replaceable block available: give up, fwd to
454 // next level.
455 incMissCount(pkt);
456 return false;
457 }
458 tags->insertBlock(pkt, blk);
459
463 blk->status = (BlkValid | BlkReadable);
464 if (pkt->isSecure()) {
465 blk->status |= BlkSecure;
466 }
460 blk->status |= (BlkValid | BlkReadable);
467 }
468 }
469
470 // at this point either this is a writeback or a write-through
471 // write clean operation and the block is already in this
472 // cache, we need to update the data and the block flags
473 assert(blk);
474 assert(!blk->isDirty());

--- 2411 unchanged lines hidden ---
461 }
462 }
463
464 // at this point either this is a writeback or a write-through
465 // write clean operation and the block is already in this
466 // cache, we need to update the data and the block flags
467 assert(blk);
468 assert(!blk->isDirty());

--- 2411 unchanged lines hidden ---