Merge Gabe's changes from head.
[gem5.git] / src / mem / cache / tags / split.cc
index bc74f0e0f6d7776a1f58595256d45ef1c5c393e9..ae284766d39781b76ec71d44b0fa9fcc6a216fe6 100644 (file)
@@ -266,58 +266,6 @@ Split::probe(Addr addr) const
     return success;
 }
 
-SplitBlk*
-Split::findBlock(PacketPtr &pkt, int &lat)
-{
-
-    Addr aligned = blkAlign(pkt->getAddr());
-
-    if (memHash.count(aligned)) {
-        memHash[aligned]++;
-    } else if (pkt->nic_pkt()) {
-        memHash[aligned] = 1;
-    }
-
-    SplitBlk *blk = lru->findBlock(pkt->getAddr(), lat);
-    if (blk) {
-        if (pkt->nic_pkt()) {
-            NR_CP_hits++;
-        } else {
-            CR_CP_hits++;
-        }
-    } else {
-        if (lifo && lifo_net) {
-            blk = lifo_net->findBlock(pkt->getAddr(), lat);
-
-        } else if (lru_net) {
-            blk = lru_net->findBlock(pkt->getAddr(), lat);
-        }
-        if (blk) {
-            if (pkt->nic_pkt()) {
-                NR_NP_hits++;
-            } else {
-                CR_NP_hits++;
-            }
-        }
-    }
-
-    if (blk) {
-        Tick latency = curTick - blk->ts;
-        if (blk->isNIC) {
-            if (!blk->isUsed && !pkt->nic_pkt()) {
-                    useByCPUCycleDist.sample(latency);
-                    nicUseByCPUCycleTotal += latency;
-                    nicBlksUsedByCPU++;
-            }
-        }
-        blk->isUsed = true;
-
-        if (pkt->nic_pkt()) {
-            DPRINTF(Split, "found block in partition %d\n", blk->part);
-        }
-    }
-    return blk;
-}
 
 SplitBlk*
 Split::findBlock(Addr addr, int &lat)
@@ -350,27 +298,25 @@ Split::findBlock(Addr addr) const
 }
 
 SplitBlk*
-Split::findReplacement(PacketPtr &pkt, PacketList &writebacks,
-                     BlkList &compress_blocks)
+Split::findReplacement(Addr addr, PacketList &writebacks)
 {
-    SplitBlk *blk;
+    SplitBlk *blk = NULL;
 
+    assert(0);
+#if 0
     if (pkt->nic_pkt()) {
         DPRINTF(Split, "finding a replacement for nic_req\n");
         nic_repl++;
         if (lifo && lifo_net)
-            blk = lifo_net->findReplacement(pkt, writebacks,
-                                             compress_blocks);
+            blk = lifo_net->findReplacement(addr, writebacks);
         else if (lru_net)
-            blk = lru_net->findReplacement(pkt, writebacks,
-                                            compress_blocks);
+            blk = lru_net->findReplacement(addr, writebacks);
         // in this case, this is an LRU only cache, it's non partitioned
         else
-            blk = lru->findReplacement(pkt, writebacks, compress_blocks);
+            blk = lru->findReplacement(addr, writebacks);
     } else {
         DPRINTF(Split, "finding replacement for cpu_req\n");
-        blk = lru->findReplacement(pkt, writebacks,
-                                    compress_blocks);
+        blk = lru->findReplacement(addr, writebacks);
         cpu_repl++;
     }
 
@@ -398,19 +344,22 @@ Split::findReplacement(PacketPtr &pkt, PacketList &writebacks,
     // blk attributes for the new blk coming IN
     blk->ts = curTick;
     blk->isNIC = (pkt->nic_pkt()) ? true : false;
+#endif
 
     return blk;
 }
 
 void
-Split::invalidateBlk(Addr addr)
+Split::invalidateBlk(Split::BlkType *blk)
 {
-    SplitBlk *blk = lru->findBlock(addr);
     if (!blk) {
+        fatal("FIXME!\n");
+#if 0
         if (lifo && lifo_net)
             blk = lifo_net->findBlock(addr);
         else if (lru_net)
             blk = lru_net->findBlock(addr);
+#endif
 
         if (!blk)
             return;
@@ -450,8 +399,13 @@ Split::regenerateBlkAddr(Addr tag, int set) const
 }
 
 Addr
-Split::extractTag(Addr addr, SplitBlk *blk) const
+Split::extractTag(Addr addr) const
 {
+    // need to fix this if we want to use it... old interface of
+    // passing in blk was too weird
+    assert(0);
+    return 0;
+/*
     if (blk->part == 2) {
         if (lifo_net)
             return lifo_net->extractTag(addr);
@@ -461,5 +415,6 @@ Split::extractTag(Addr addr, SplitBlk *blk) const
             panic("this shouldn't happen");
     } else
         return lru->extractTag(addr);
+*/
 }