diff -r 4999737a9e21 -r 6b92a6ec3706 src/mem/cache/cache.hh --- a/src/mem/cache/cache.hh Thu May 23 08:52:14 2013 +0100 +++ b/src/mem/cache/cache.hh Thu May 23 08:53:37 2013 +0100 @@ -263,17 +263,17 @@ /** * Performs the access specified by the request. * @param pkt The request to perform. - * @return The number of cycles required for the access. + * @return The number of ticks required for the access. */ - Cycles recvAtomic(PacketPtr pkt); + Tick recvAtomic(PacketPtr pkt); /** * Snoop for the provided request in the cache and return the estimated - * time of completion. + * time taken. * @param pkt The memory request to snoop - * @return The number of cycles required for the snoop. + * @return The number of ticks required for the snoop. */ - Cycles recvAtomicSnoop(PacketPtr pkt); + Tick recvAtomicSnoop(PacketPtr pkt); /** * Performs the access specified by the request. diff -r 4999737a9e21 -r 6b92a6ec3706 src/mem/cache/cache_impl.hh --- a/src/mem/cache/cache_impl.hh Thu May 23 08:52:14 2013 +0100 +++ b/src/mem/cache/cache_impl.hh Thu May 23 08:53:37 2013 +0100 @@ -644,7 +644,7 @@ template -Cycles +Tick Cache::recvAtomic(PacketPtr pkt) { Cycles lat = hitLatency; @@ -678,7 +678,7 @@ pkt->cmdString(), pkt->getAddr()); } - return lat; + return lat * clockPeriod(); } // should assert here that there are no outstanding MSHRs or @@ -763,7 +763,7 @@ pkt->makeAtomicResponse(); } - return lat; + return lat * clockPeriod(); } @@ -1510,7 +1510,7 @@ } template -Cycles +Tick Cache::recvAtomicSnoop(PacketPtr pkt) { // Snoops shouldn't happen when bypassing caches @@ -1519,12 +1519,12 @@ if (pkt->req->isUncacheable() || pkt->cmd == MemCmd::Writeback) { // Can't get a hit on an uncacheable address // Revisit this for multi level coherence - return hitLatency; + return 0; } BlkType *blk = tags->findBlock(pkt->getAddr()); handleSnoop(pkt, blk, false, false, false); - return hitLatency; + return hitLatency * clockPeriod(); } @@ -1778,8 +1778,6 @@ Tick Cache::CpuSidePort::recvAtomic(PacketPtr pkt) { - // @todo: Note that this is currently using cycles instead of - // ticks and will be fixed in a future patch return cache->recvAtomic(pkt); } @@ -1826,8 +1824,6 @@ Tick Cache::MemSidePort::recvAtomicSnoop(PacketPtr pkt) { - // @todo: Note that this is using cycles and not ticks and will be - // fixed in a future patch return cache->recvAtomicSnoop(pkt); }