external_slave.cc (10694:1a6785e37d81) | external_slave.cc (10713:eddb533708cb) |
---|---|
1/* 2 * Copyright (c) 2012-2014 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 --- 66 unchanged lines hidden (view full) --- 75 ExternalSlave::Port(name_, owner_), 76 responseEvent(*this), responsePacket(NULL), mustRetry(false) 77 { } 78 79 Tick recvAtomic(PacketPtr packet); 80 void recvFunctional(PacketPtr packet); 81 bool recvTimingReq(PacketPtr packet); 82 bool recvTimingSnoopResp(PacketPtr packet); | 1/* 2 * Copyright (c) 2012-2014 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 --- 66 unchanged lines hidden (view full) --- 75 ExternalSlave::Port(name_, owner_), 76 responseEvent(*this), responsePacket(NULL), mustRetry(false) 77 { } 78 79 Tick recvAtomic(PacketPtr packet); 80 void recvFunctional(PacketPtr packet); 81 bool recvTimingReq(PacketPtr packet); 82 bool recvTimingSnoopResp(PacketPtr packet); |
83 void recvRetry(); | 83 void recvRespRetry(); |
84 void recvFunctionalSnoop(PacketPtr packet); 85}; 86 87class StubSlavePortHandler : public 88 ExternalSlave::Handler 89{ 90 public: 91 ExternalSlave::Port *getExternalPort( --- 34 unchanged lines hidden (view full) --- 126 owner.responsePacket->makeResponse(); 127 owner.responsePacket->headerDelay = 0; 128 owner.responsePacket->payloadDelay = 0; 129 130 if (owner.sendTimingResp(owner.responsePacket)) { 131 owner.responsePacket = NULL; 132 133 if (owner.mustRetry) | 84 void recvFunctionalSnoop(PacketPtr packet); 85}; 86 87class StubSlavePortHandler : public 88 ExternalSlave::Handler 89{ 90 public: 91 ExternalSlave::Port *getExternalPort( --- 34 unchanged lines hidden (view full) --- 126 owner.responsePacket->makeResponse(); 127 owner.responsePacket->headerDelay = 0; 128 owner.responsePacket->payloadDelay = 0; 129 130 if (owner.sendTimingResp(owner.responsePacket)) { 131 owner.responsePacket = NULL; 132 133 if (owner.mustRetry) |
134 owner.sendRetry(); | 134 owner.sendRetryReq(); |
135 owner.mustRetry = false; 136 } 137} 138 139bool 140StubSlavePort::recvTimingReq(PacketPtr packet) 141{ 142 if (responsePacket) { --- 13 unchanged lines hidden (view full) --- 156bool 157StubSlavePort::recvTimingSnoopResp(PacketPtr packet) 158{ 159 fatal("StubSlavePort: function: %s\n", __func__); 160 return false; 161} 162 163void | 135 owner.mustRetry = false; 136 } 137} 138 139bool 140StubSlavePort::recvTimingReq(PacketPtr packet) 141{ 142 if (responsePacket) { --- 13 unchanged lines hidden (view full) --- 156bool 157StubSlavePort::recvTimingSnoopResp(PacketPtr packet) 158{ 159 fatal("StubSlavePort: function: %s\n", __func__); 160 return false; 161} 162 163void |
164StubSlavePort::recvRetry() | 164StubSlavePort::recvRespRetry() |
165{ 166 assert(responsePacket); 167 /* Stub handles only one response at a time so responseEvent should never 168 * be scheduled at this point. Retrys shouldn't need to schedule, we 169 * can safely send the response here */ 170 responseEvent.process(); 171} 172 --- 80 unchanged lines hidden --- | 165{ 166 assert(responsePacket); 167 /* Stub handles only one response at a time so responseEvent should never 168 * be scheduled at this point. Retrys shouldn't need to schedule, we 169 * can safely send the response here */ 170 responseEvent.process(); 171} 172 --- 80 unchanged lines hidden --- |