fix bug in timing cpu. getTime() is the time the requset was created, not the time it was repsonded to. In timing mode the

time it was responded to is curTick. Doesn't change the results, but it does make implementation of nextCycle() more difficult

--HG--
extra : convert_revision : 67ed6261a5451d17d96d5df45992590acc353afc
This commit is contained in:
Ali Saidi 2007-06-18 18:11:07 -04:00
parent 7994fa9431
commit 2d08ab0cc2

View file

@ -560,8 +560,7 @@ TimingSimpleCPU::IcachePort::recvTiming(PacketPtr pkt)
{
if (pkt->isResponse()) {
// delay processing of returned data until next CPU clock edge
Tick mem_time = pkt->req->getTime();
Tick next_tick = cpu->nextCycle(mem_time);
Tick next_tick = cpu->nextCycle(curTick);
if (next_tick == curTick)
cpu->completeIfetch(pkt);
@ -655,8 +654,7 @@ TimingSimpleCPU::DcachePort::recvTiming(PacketPtr pkt)
{
if (pkt->isResponse()) {
// delay processing of returned data until next CPU clock edge
Tick mem_time = pkt->req->getTime();
Tick next_tick = cpu->nextCycle(mem_time);
Tick next_tick = cpu->nextCycle(curTick);
if (next_tick == curTick)
cpu->completeDataAccess(pkt);