summaryrefslogtreecommitdiff
path: root/src/mem/cache/tags/split_lifo.cc
diff options
context:
space:
mode:
authorRon Dreslinski <rdreslin@umich.edu>2006-06-30 10:25:25 -0400
committerRon Dreslinski <rdreslin@umich.edu>2006-06-30 10:25:25 -0400
commit335fa4bde33f60bf61dceb04eb61aeade5cee76c (patch)
treeb6c498b7a30685110d14fc065c0689532090a7c8 /src/mem/cache/tags/split_lifo.cc
parenteafb5c4936f7d3233c223d69b435c6be360bbfb2 (diff)
downloadgem5-335fa4bde33f60bf61dceb04eb61aeade5cee76c.tar.xz
All files compile in the mem directory except cache_builder
Missing some functionality (like split caches and copy support) src/SConscript: Typo src/mem/cache/prefetch/base_prefetcher.cc: src/mem/cache/prefetch/ghb_prefetcher.hh: src/mem/cache/prefetch/stride_prefetcher.hh: src/mem/cache/prefetch/tagged_prefetcher_impl.hh: src/mem/cache/tags/fa_lru.cc: src/mem/cache/tags/fa_lru.hh: src/mem/cache/tags/iic.cc: src/mem/cache/tags/iic.hh: src/mem/cache/tags/lru.cc: src/mem/cache/tags/lru.hh: src/mem/cache/tags/split.cc: src/mem/cache/tags/split.hh: src/mem/cache/tags/split_lifo.cc: src/mem/cache/tags/split_lifo.hh: src/mem/cache/tags/split_lru.cc: src/mem/cache/tags/split_lru.hh: src/mem/packet.hh: src/mem/request.hh: Fix so it compiles --HG-- extra : convert_revision : 0d87d84f6e9445bab655c0cb0f8541bbf6eab904
Diffstat (limited to 'src/mem/cache/tags/split_lifo.cc')
-rw-r--r--src/mem/cache/tags/split_lifo.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/mem/cache/tags/split_lifo.cc b/src/mem/cache/tags/split_lifo.cc
index c6bb91eff..f6493fdd2 100644
--- a/src/mem/cache/tags/split_lifo.cc
+++ b/src/mem/cache/tags/split_lifo.cc
@@ -257,8 +257,8 @@ SplitLIFO::findBlock(Addr addr, int asid, int &lat)
SplitBlk*
SplitLIFO::findBlock(Packet * &pkt, int &lat)
{
- Addr addr = pkt->paddr;
- int asid = pkt->req->asid;
+ Addr addr = pkt->getAddr();
+ int asid = pkt->req->getAsid();
Addr tag = extractTag(addr);
unsigned set = extractSet(addr);
@@ -292,10 +292,10 @@ SplitLIFO::findBlock(Addr addr, int asid) const
}
SplitBlk*
-SplitLIFO::findReplacement(Packet * &pkt, PacketList* &writebacks,
+SplitLIFO::findReplacement(Packet * &pkt, PacketList &writebacks,
BlkList &compress_blocks)
{
- unsigned set = extractSet(pkt->paddr);
+ unsigned set = extractSet(pkt->getAddr());
SplitBlk *firstIn = sets[set].firstIn;
SplitBlk *lastIn = sets[set].lastIn;
@@ -315,10 +315,9 @@ SplitLIFO::findReplacement(Packet * &pkt, PacketList* &writebacks,
}
DPRINTF(Split, "just assigned %#x addr into LIFO, replacing %#x status %#x\n",
- pkt->paddr, regenerateBlkAddr(blk->tag, set), blk->status);
+ pkt->getAddr(), regenerateBlkAddr(blk->tag, set), blk->status);
if (blk->isValid()) {
- int req->setThreadNum() = (blk->xc) ? blk->xc->getThreadNum() : 0;
- replacements[req->getThreadNum()]++;
+ replacements[0]++;
totalRefs += blk->refCount;
++sampledRefs;
blk->refCount = 0;
@@ -349,8 +348,10 @@ SplitLIFO::invalidateBlk(int asid, Addr addr)
}
void
-SplitLIFO::doCopy(Addr source, Addr dest, int asid, PacketList* &writebacks)
+SplitLIFO::doCopy(Addr source, Addr dest, int asid, PacketList &writebacks)
{
+//Copy Unsuported for now
+#if 0
assert(source == blkAlign(source));
assert(dest == blkAlign(dest));
SplitBlk *source_blk = findBlock(source, asid);
@@ -391,6 +392,7 @@ SplitLIFO::doCopy(Addr source, Addr dest, int asid, PacketList* &writebacks)
if (cache->doData()) {
memcpy(dest_blk->data, source_blk->data, blkSize);
}
+#endif
}
void