mshr.cc (11375:f98df9231cdd) | mshr.cc (11484:08b33c52a16d) |
---|---|
1/* 2 * Copyright (c) 2012-2013, 2015-2016 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 --- 81 unchanged lines hidden (view full) --- 90 } 91 } 92 93 if (markPending) { 94 // Iterate over the SenderState stack and see if we find 95 // an MSHR entry. If we do, set the downstreamPending 96 // flag. Otherwise, do nothing. 97 MSHR *mshr = pkt->findNextSenderState<MSHR>(); | 1/* 2 * Copyright (c) 2012-2013, 2015-2016 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 --- 81 unchanged lines hidden (view full) --- 90 } 91 } 92 93 if (markPending) { 94 // Iterate over the SenderState stack and see if we find 95 // an MSHR entry. If we do, set the downstreamPending 96 // flag. Otherwise, do nothing. 97 MSHR *mshr = pkt->findNextSenderState<MSHR>(); |
98 if (mshr != NULL) { | 98 if (mshr != nullptr) { |
99 assert(!mshr->downstreamPending); 100 mshr->downstreamPending = true; 101 } else { 102 // No need to clear downstreamPending later 103 markPending = false; 104 } 105 } 106 --- 54 unchanged lines hidden (view full) --- 161 if (t.markedPending) { 162 // Iterate over the SenderState stack and see if we find 163 // an MSHR entry. If we find one, clear the 164 // downstreamPending flag by calling 165 // clearDownstreamPending(). This recursively clears the 166 // downstreamPending flag in all caches this packet has 167 // passed through. 168 MSHR *mshr = t.pkt->findNextSenderState<MSHR>(); | 99 assert(!mshr->downstreamPending); 100 mshr->downstreamPending = true; 101 } else { 102 // No need to clear downstreamPending later 103 markPending = false; 104 } 105 } 106 --- 54 unchanged lines hidden (view full) --- 161 if (t.markedPending) { 162 // Iterate over the SenderState stack and see if we find 163 // an MSHR entry. If we find one, clear the 164 // downstreamPending flag by calling 165 // clearDownstreamPending(). This recursively clears the 166 // downstreamPending flag in all caches this packet has 167 // passed through. 168 MSHR *mshr = t.pkt->findNextSenderState<MSHR>(); |
169 if (mshr != NULL) { | 169 if (mshr != nullptr) { |
170 mshr->clearDownstreamPending(); 171 } 172 } 173 } 174} 175 176 177bool --- 308 unchanged lines hidden (view full) --- 486 487bool 488MSHR::checkFunctional(PacketPtr pkt) 489{ 490 // For printing, we treat the MSHR as a whole as single entity. 491 // For other requests, we iterate over the individual targets 492 // since that's where the actual data lies. 493 if (pkt->isPrint()) { | 170 mshr->clearDownstreamPending(); 171 } 172 } 173 } 174} 175 176 177bool --- 308 unchanged lines hidden (view full) --- 486 487bool 488MSHR::checkFunctional(PacketPtr pkt) 489{ 490 // For printing, we treat the MSHR as a whole as single entity. 491 // For other requests, we iterate over the individual targets 492 // since that's where the actual data lies. 493 if (pkt->isPrint()) { |
494 pkt->checkFunctional(this, blkAddr, isSecure, blkSize, NULL); | 494 pkt->checkFunctional(this, blkAddr, isSecure, blkSize, nullptr); |
495 return false; 496 } else { 497 return (targets.checkFunctional(pkt) || 498 deferredTargets.checkFunctional(pkt)); 499 } 500} 501 502bool --- 35 unchanged lines hidden --- | 495 return false; 496 } else { 497 return (targets.checkFunctional(pkt) || 498 deferredTargets.checkFunctional(pkt)); 499 } 500} 501 502bool --- 35 unchanged lines hidden --- |