mshr.cc (12793:dda6af979353) | mshr.cc (12823:ba630bc7a36d) |
---|---|
1/* 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 --- 193 unchanged lines hidden (view full) --- 202void 203MSHR::TargetList::clearDownstreamPending() 204{ 205 clearDownstreamPending(begin(), end()); 206} 207 208 209bool | 1/* 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 --- 193 unchanged lines hidden (view full) --- 202void 203MSHR::TargetList::clearDownstreamPending() 204{ 205 clearDownstreamPending(begin(), end()); 206} 207 208 209bool |
210MSHR::TargetList::checkFunctional(PacketPtr pkt) | 210MSHR::TargetList::trySatisfyFunctional(PacketPtr pkt) |
211{ 212 for (auto& t : *this) { | 211{ 212 for (auto& t : *this) { |
213 if (pkt->checkFunctional(t.pkt)) { | 213 if (pkt->trySatisfyFunctional(t.pkt)) { |
214 return true; 215 } 216 } 217 218 return false; 219} 220 221 --- 391 unchanged lines hidden (view full) --- 613 }; 614 615 promoteIf(pred); 616 } 617} 618 619 620bool | 214 return true; 215 } 216 } 217 218 return false; 219} 220 221 --- 391 unchanged lines hidden (view full) --- 613 }; 614 615 promoteIf(pred); 616 } 617} 618 619 620bool |
621MSHR::checkFunctional(PacketPtr pkt) | 621MSHR::trySatisfyFunctional(PacketPtr pkt) |
622{ 623 // For printing, we treat the MSHR as a whole as single entity. 624 // For other requests, we iterate over the individual targets 625 // since that's where the actual data lies. 626 if (pkt->isPrint()) { | 622{ 623 // For printing, we treat the MSHR as a whole as single entity. 624 // For other requests, we iterate over the individual targets 625 // since that's where the actual data lies. 626 if (pkt->isPrint()) { |
627 pkt->checkFunctional(this, blkAddr, isSecure, blkSize, nullptr); | 627 pkt->trySatisfyFunctional(this, blkAddr, isSecure, blkSize, nullptr); |
628 return false; 629 } else { | 628 return false; 629 } else { |
630 return (targets.checkFunctional(pkt) || 631 deferredTargets.checkFunctional(pkt)); | 630 return (targets.trySatisfyFunctional(pkt) || 631 deferredTargets.trySatisfyFunctional(pkt)); |
632 } 633} 634 635bool 636MSHR::sendPacket(BaseCache &cache) 637{ 638 return cache.sendMSHRQueuePacket(this); 639} --- 34 unchanged lines hidden --- | 632 } 633} 634 635bool 636MSHR::sendPacket(BaseCache &cache) 637{ 638 return cache.sendMSHRQueuePacket(this); 639} --- 34 unchanged lines hidden --- |