@@ -53,7 +53,7 @@ SimpleMemory::SimpleMemory(const SimpleMemoryParams* p) :
5353 tATTOp(p->lat_att_operate), tBufferOp(p->lat_buffer_operate),
5454 tNVMRead(p->lat_nvm_read), tNVMWrite(p->lat_nvm_write),
5555 isTimingATT(p->is_timing_att), latency_var(p->latency_var),
56- bandwidth(p->bandwidth), isBusy(false ),
56+ bandwidth(p->bandwidth), isBusy(false ), isWaiting( false ),
5757 retryReq(false ), retryResp(false ),
5858 releaseEvent(this ), unfreezeEvent(this ),
5959 dequeueEvent(this ), drainManager(NULL )
@@ -95,7 +95,7 @@ SimpleMemory::regStats()
9595Tick
9696SimpleMemory::recvAtomic (PacketPtr pkt)
9797{
98- access (pkt);
98+ assert ( access (pkt)); // TODO
9999 return pkt->memInhibitAsserted () ? 0 : getLatency ();
100100}
101101
@@ -168,13 +168,12 @@ SimpleMemory::recvTimingReq(PacketPtr pkt)
168168 // queue if there is one
169169 bool needsResponse = pkt->needsResponse ();
170170 assert (sumLatency == 0 && sumSize == 0 );
171- recvAtomic (pkt);
172- // turn packet around to go back to requester if response expected
173- Tick lat = isTimingATT ? sumLatency : getLatency ();
174- if (retryReq) {
171+ if (!access (pkt)) {
175172 sumLatency = sumSize = 0 ;
176173 return false ;
177174 }
175+ // turn packet around to go back to requester if response expected
176+ Tick lat = isTimingATT ? sumLatency : getLatency ();
178177 if (needsResponse) {
179178 // recvAtomic() should already have turned packet into
180179 // atomic response
@@ -220,14 +219,14 @@ SimpleMemory::OnCheckpointing(int num_new_at, int num_new_pt)
220219 totalChkptTime += chkpt_duration;
221220 }
222221 } else {
223- unfreeze ();
222+ addrController. FinishCheckpointing ();
224223 }
225224}
226225
227226void
228227SimpleMemory::OnWaiting ()
229228{
230- retryReq = true ;
229+ isWaiting = true ;
231230}
232231
233232void
245244SimpleMemory::unfreeze ()
246245{
247246 addrController.FinishCheckpointing ();
248- if (retryReq ) {
249- retryReq = false ;
247+ if (isWaiting ) {
248+ isWaiting = false ;
250249 port.sendRetry ();
251250 }
252251}
0 commit comments