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 ---