pagetable_walker.cc (9524:d6ffa982a68b) | pagetable_walker.cc (9542:683991c46ac8) |
---|---|
1/* 2 * Copyright (c) 2012 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 --- 109 unchanged lines hidden (view full) --- 118{ 119 return walker->recvTimingResp(pkt); 120} 121 122bool 123Walker::recvTimingResp(PacketPtr pkt) 124{ 125 WalkerSenderState * senderState = | 1/* 2 * Copyright (c) 2012 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 --- 109 unchanged lines hidden (view full) --- 118{ 119 return walker->recvTimingResp(pkt); 120} 121 122bool 123Walker::recvTimingResp(PacketPtr pkt) 124{ 125 WalkerSenderState * senderState = |
126 dynamic_cast<WalkerSenderState *>(pkt->senderState); 127 pkt->senderState = senderState->saved; | 126 dynamic_cast<WalkerSenderState *>(pkt->popSenderState()); |
128 WalkerState * senderWalk = senderState->senderWalk; 129 bool walkComplete = senderWalk->recvPacket(pkt); 130 delete senderState; 131 if (walkComplete) { 132 std::list<WalkerState *>::iterator iter; 133 for (iter = currStates.begin(); iter != currStates.end(); iter++) { 134 WalkerState * walkerState = *(iter); 135 if (walkerState == senderWalk) { --- 28 unchanged lines hidden (view full) --- 164 if (walkerState->isRetrying()) { 165 walkerState->retry(); 166 } 167 } 168} 169 170bool Walker::sendTiming(WalkerState* sendingState, PacketPtr pkt) 171{ | 127 WalkerState * senderWalk = senderState->senderWalk; 128 bool walkComplete = senderWalk->recvPacket(pkt); 129 delete senderState; 130 if (walkComplete) { 131 std::list<WalkerState *>::iterator iter; 132 for (iter = currStates.begin(); iter != currStates.end(); iter++) { 133 WalkerState * walkerState = *(iter); 134 if (walkerState == senderWalk) { --- 28 unchanged lines hidden (view full) --- 163 if (walkerState->isRetrying()) { 164 walkerState->retry(); 165 } 166 } 167} 168 169bool Walker::sendTiming(WalkerState* sendingState, PacketPtr pkt) 170{ |
172 pkt->senderState = new WalkerSenderState(sendingState, pkt->senderState); | 171 pkt->pushSenderState(new WalkerSenderState(sendingState)); |
173 return port.sendTimingReq(pkt); 174} 175 176BaseMasterPort & 177Walker::getMasterPort(const std::string &if_name, PortID idx) 178{ 179 if (if_name == "port") 180 return port; --- 513 unchanged lines hidden --- | 172 return port.sendTimingReq(pkt); 173} 174 175BaseMasterPort & 176Walker::getMasterPort(const std::string &if_name, PortID idx) 177{ 178 if (if_name == "port") 179 return port; --- 513 unchanged lines hidden --- |