Cache: Fix the LRU policy for classic memory hierarchy
[gem5.git] / src / mem / cache / tags / iic.cc
index 743c6894f4708a821af2e03c7ec29321f4514b68..260b891945d37bc75676cc17371176e73e2e3436 100644 (file)
 
 #include "base/intmath.hh"
 #include "base/trace.hh"
-#include "mem/cache/base.hh"
+#include "debug/Cache.hh"
+#include "debug/IIC.hh"
+#include "debug/IICMore.hh"
 #include "mem/cache/tags/iic.hh"
+#include "mem/cache/base.hh"
 #include "sim/core.hh"
 
 using namespace std;
@@ -184,7 +187,7 @@ IIC::regStats(const string &name)
         .flags(pdf)
         ;
 
-    repl->regStats(name);
+    repl->regStatsWithSuffix(name);
 
     if (PROFILE_IIC)
         setAccess
@@ -366,9 +369,8 @@ IIC::freeReplacementBlock(PacketList & writebacks)
                                   tag_ptr->size);
 */
             Request *writebackReq = new Request(regenerateBlkAddr(tag_ptr->tag, 0),
-                                           blkSize, 0);
-            PacketPtr writeback = new Packet(writebackReq, MemCmd::Writeback,
-                                             -1);
+                                           blkSize, 0, Request::wbMasterId);
+            PacketPtr writeback = new Packet(writebackReq, MemCmd::Writeback);
             writeback->allocate();
             memcpy(writeback->getPtr<uint8_t>(), tag_ptr->data, blkSize);
 
@@ -390,10 +392,8 @@ IIC::freeReplacementBlock(PacketList & writebacks)
 unsigned long
 IIC::getFreeDataBlock(PacketList & writebacks)
 {
-    struct IICTag *tag_ptr;
     unsigned long data_ptr;
 
-    tag_ptr = NULL;
     /* find data block */
     while (blkFreelist.empty()) {
         freeReplacementBlock(writebacks);