mshr.cc (12351:17eaa27bef22) | mshr.cc (12501:42537a80ef17) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2012-2013, 2015-2017 ARM Limited | 2 * Copyright (c) 2012-2013, 2015-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 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 436 unchanged lines hidden (view full) --- 447 targets.add(cp_pkt, curTick(), _order, Target::FromSnoop, 448 downstreamPending && targets.needsWritable, false); 449 450 if (pkt->needsWritable() || pkt->isInvalidate()) { 451 // This transaction will take away our pending copy 452 postInvalidate = true; 453 } 454 | 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 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 436 unchanged lines hidden (view full) --- 447 targets.add(cp_pkt, curTick(), _order, Target::FromSnoop, 448 downstreamPending && targets.needsWritable, false); 449 450 if (pkt->needsWritable() || pkt->isInvalidate()) { 451 // This transaction will take away our pending copy 452 postInvalidate = true; 453 } 454 |
455 if (pkt->isClean()) { | 455 if (isPendingModified() && pkt->isClean()) { |
456 pkt->setSatisfied(); 457 } 458 } 459 460 if (!pkt->needsWritable() && !pkt->req->isUncacheable()) { 461 // This transaction will get a read-shared copy, downgrading 462 // our copy if we had a writable one 463 postDowngrade = true; --- 160 unchanged lines hidden --- | 456 pkt->setSatisfied(); 457 } 458 } 459 460 if (!pkt->needsWritable() && !pkt->req->isUncacheable()) { 461 // This transaction will get a read-shared copy, downgrading 462 // our copy if we had a writable one 463 postDowngrade = true; --- 160 unchanged lines hidden --- |