mshr.cc (11083:61b329833f74) | mshr.cc (11177:524c44cf8278) |
---|---|
1/* 2 * Copyright (c) 2012-2013, 2015 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 --- 416 unchanged lines hidden (view full) --- 425 order = targets.front().order; 426 readyTime = std::max(curTick(), targets.front().readyTime); 427 428 return true; 429} 430 431 432void | 1/* 2 * Copyright (c) 2012-2013, 2015 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 --- 416 unchanged lines hidden (view full) --- 425 order = targets.front().order; 426 readyTime = std::max(curTick(), targets.front().readyTime); 427 428 return true; 429} 430 431 432void |
433MSHR::handleFill(PacketPtr pkt, CacheBlk *blk) | 433MSHR::promoteExclusive() |
434{ | 434{ |
435 if (!pkt->sharedAsserted() 436 && !(hasPostInvalidate() || hasPostDowngrade()) 437 && deferredTargets.needsExclusive) { | 435 if (deferredTargets.needsExclusive && 436 !(hasPostInvalidate() || hasPostDowngrade())) { |
438 // We got an exclusive response, but we have deferred targets 439 // which are waiting to request an exclusive copy (not because 440 // of a pending invalidate). This can happen if the original 441 // request was for a read-only (non-exclusive) block, but we 442 // got an exclusive copy anyway because of the E part of the 443 // MOESI/MESI protocol. Since we got the exclusive copy 444 // there's no need to defer the targets, so move them up to 445 // the regular target list. --- 59 unchanged lines hidden --- | 437 // We got an exclusive response, but we have deferred targets 438 // which are waiting to request an exclusive copy (not because 439 // of a pending invalidate). This can happen if the original 440 // request was for a read-only (non-exclusive) block, but we 441 // got an exclusive copy anyway because of the E part of the 442 // MOESI/MESI protocol. Since we got the exclusive copy 443 // there's no need to defer the targets, so move them up to 444 // the regular target list. --- 59 unchanged lines hidden --- |