bridge.cc (11321:02e930db812d) | bridge.cc (11334:9bd2e84abdca) |
---|---|
1/* 2 * Copyright (c) 2011-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 --- 140 unchanged lines hidden (view full) --- 149} 150 151bool 152Bridge::BridgeSlavePort::recvTimingReq(PacketPtr pkt) 153{ 154 DPRINTF(Bridge, "recvTimingReq: %s addr 0x%x\n", 155 pkt->cmdString(), pkt->getAddr()); 156 | 1/* 2 * Copyright (c) 2011-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 --- 140 unchanged lines hidden (view full) --- 149} 150 151bool 152Bridge::BridgeSlavePort::recvTimingReq(PacketPtr pkt) 153{ 154 DPRINTF(Bridge, "recvTimingReq: %s addr 0x%x\n", 155 pkt->cmdString(), pkt->getAddr()); 156 |
157 // if a cache is responding, sink the packet without further 158 // action, also discard any packet that is not a read or a write 159 if (pkt->cacheResponding() || 160 !(pkt->isWrite() || pkt->isRead())) { 161 assert(!pkt->needsResponse()); 162 pendingDelete.reset(pkt); 163 return true; 164 } | 157 panic_if(pkt->cacheResponding(), "Should not see packets where cache " 158 "is responding"); |
165 166 // we should not get a new request after committing to retry the 167 // current one, but unfortunately the CPU violates this rule, so 168 // simply ignore it for now 169 if (retryReq) 170 return false; 171 172 DPRINTF(Bridge, "Response queue size: %d outresp: %d\n", --- 174 unchanged lines hidden (view full) --- 347Bridge::BridgeSlavePort::recvRespRetry() 348{ 349 trySendTiming(); 350} 351 352Tick 353Bridge::BridgeSlavePort::recvAtomic(PacketPtr pkt) 354{ | 159 160 // we should not get a new request after committing to retry the 161 // current one, but unfortunately the CPU violates this rule, so 162 // simply ignore it for now 163 if (retryReq) 164 return false; 165 166 DPRINTF(Bridge, "Response queue size: %d outresp: %d\n", --- 174 unchanged lines hidden (view full) --- 341Bridge::BridgeSlavePort::recvRespRetry() 342{ 343 trySendTiming(); 344} 345 346Tick 347Bridge::BridgeSlavePort::recvAtomic(PacketPtr pkt) 348{ |
349 panic_if(pkt->cacheResponding(), "Should not see packets where cache " 350 "is responding"); 351 |
|
355 return delay * bridge.clockPeriod() + masterPort.sendAtomic(pkt); 356} 357 358void 359Bridge::BridgeSlavePort::recvFunctional(PacketPtr pkt) 360{ 361 pkt->pushLabel(name()); 362 --- 47 unchanged lines hidden --- | 352 return delay * bridge.clockPeriod() + masterPort.sendAtomic(pkt); 353} 354 355void 356Bridge::BridgeSlavePort::recvFunctional(PacketPtr pkt) 357{ 358 pkt->pushLabel(name()); 359 --- 47 unchanged lines hidden --- |