Merge Gabe's changes from head.
[gem5.git] / src / mem / cache / tags / split_lifo.hh
index dfcaa0b679fb670c8ab400413de7de11e2677615..13ccf7ef407dc34aa7084665e164070d221b661c 100644 (file)
@@ -36,6 +36,7 @@
 #ifndef __SPLIT_LIFO_HH__
 #define __SPLIT_LIFO_HH__
 
+#include <cstring>
 #include <list>
 
 #include "mem/cache/cache_blk.hh" // base class
@@ -73,7 +74,7 @@ class LIFOSet {
      * @param tag the Tag you are looking for
      * @return Pointer to the block, if found, NULL otherwise
      */
-    SplitBlk* findBlk(int asid, Addr tag) const;
+    SplitBlk* findBlk(Addr tag) const;
 
     void moveToLastIn(SplitBlk *blk);
     void moveToFirstIn(SplitBlk *blk);
@@ -181,14 +182,13 @@ public:
      * @param addr The address to find.
      * @return True if the address is in the cache.
      */
-    bool probe(int asid, Addr addr) const;
+    bool probe( Addr addr) const;
 
     /**
-     * Invalidate the block containing the given address.
-     * @param asid The address space ID.
-     * @param addr The address to invalidate.
+     * Invalidate the given block.
+     * @param blk The block to invalidate.
      */
-    void invalidateBlk(int asid, Addr addr);
+    void invalidateBlk(BlkType *blk);
 
     /**
      * Finds the given address in the cache and update replacement data.
@@ -198,16 +198,7 @@ public:
      * @param lat The access latency.
      * @return Pointer to the cache block if found.
      */
-    SplitBlk* findBlock(Addr addr, int asid, int &lat);
-
-    /**
-     * Finds the given address in the cache and update replacement data.
-     * Returns the access latency as a side effect.
-     * @param req The req whose block to find
-     * @param lat The access latency.
-     * @return Pointer to the cache block if found.
-     */
-    SplitBlk* findBlock(Packet * &pkt, int &lat);
+    SplitBlk* findBlock(Addr addr, int &lat);
 
     /**
      * Finds the given address in the cache, do not update replacement data.
@@ -215,17 +206,15 @@ public:
      * @param asid The address space ID.
      * @return Pointer to the cache block if found.
      */
-    SplitBlk* findBlock(Addr addr, int asid) const;
+    SplitBlk* findBlock(Addr addr) const;
 
     /**
      * Find a replacement block for the address provided.
-     * @param req The request to a find a replacement candidate for.
+     * @param pkt The request to a find a replacement candidate for.
      * @param writebacks List for any writebacks to be performed.
-     * @param compress_blocks List of blocks to compress, for adaptive comp.
      * @return The block to place the replacement in.
      */
-    SplitBlk* findReplacement(Packet * &pkt, PacketList &writebacks,
-                            BlkList &compress_blocks);
+    SplitBlk* findReplacement(Addr addr, PacketList &writebacks);
 
     /**
      * Generate the tag from the given address.
@@ -237,17 +226,6 @@ public:
         return (addr >> tagShift);
     }
 
-     /**
-     * Generate the tag from the given address.
-     * @param addr The address to get the tag from.
-     * @param blk Ignored
-     * @return The tag of the address.
-     */
-    Addr extractTag(Addr addr, SplitBlk *blk) const
-    {
-        return (addr >> tagShift);
-    }
-
    /**
      * Calculate the set index from the address.
      * @param addr The address to get the set from.
@@ -306,7 +284,7 @@ public:
      */
     void readData(SplitBlk *blk, uint8_t *data)
     {
-        memcpy(data, blk->data, blk->size);
+        std::memcpy(data, blk->data, blk->size);
     }
 
     /**
@@ -325,22 +303,6 @@ public:
         blk->size = size;
     }
 
-    /**
-     * Perform a block aligned copy from the source address to the destination.
-     * @param source The block-aligned source address.
-     * @param dest The block-aligned destination address.
-     * @param asid The address space DI.
-     * @param writebacks List for any generated writeback requests.
-     */
-    void doCopy(Addr source, Addr dest, int asid, PacketList &writebacks);
-
-    /**
-     * No impl.
-     */
-    void fixCopy(Packet * &pkt, PacketList &writebacks)
-    {
-    }
-
     /**
      * Called at end of simulation to complete average block reference stats.
      */