From d5ac1cb51f2e08531794e1dcbb17e47f51041c4f Mon Sep 17 00:00:00 2001 From: Ron Dreslinski Date: Tue, 15 Aug 2006 16:21:46 -0400 Subject: Pulled out changes to fix EIO programs with caches. Also fixes any translatingPort read/write Blob function problems with caches. -Basically removed the ASID from places it is no longer needed due to PageTable src/mem/cache/cache.hh: src/mem/cache/cache_impl.hh: src/mem/cache/miss/blocking_buffer.cc: src/mem/cache/miss/blocking_buffer.hh: src/mem/cache/miss/miss_queue.cc: src/mem/cache/miss/miss_queue.hh: src/mem/cache/miss/mshr.cc: src/mem/cache/miss/mshr.hh: src/mem/cache/miss/mshr_queue.cc: src/mem/cache/miss/mshr_queue.hh: src/mem/cache/prefetch/base_prefetcher.cc: src/mem/cache/prefetch/base_prefetcher.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: Remove asid where it wasn't neccesary anymore due to Page Table --HG-- extra : convert_revision : ab8bbf4cc47b9eaefa9cdfa790881a21d0e7bf28 --- src/mem/cache/tags/split.cc | 48 ++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'src/mem/cache/tags/split.cc') diff --git a/src/mem/cache/tags/split.cc b/src/mem/cache/tags/split.cc index bf23fb8cb..690eea22e 100644 --- a/src/mem/cache/tags/split.cc +++ b/src/mem/cache/tags/split.cc @@ -253,14 +253,14 @@ Split::regStats(const string &name) // probe cache for presence of given block. bool -Split::probe(int asid, Addr addr) const +Split::probe(Addr addr) const { - bool success = lru->probe(asid, addr); + bool success = lru->probe(addr); if (!success) { if (lifo && lifo_net) - success = lifo_net->probe(asid, addr); + success = lifo_net->probe(addr); else if (lru_net) - success = lru_net->probe(asid, addr); + success = lru_net->probe(addr); } return success; @@ -278,7 +278,7 @@ Split::findBlock(Packet * &pkt, int &lat) memHash[aligned] = 1; } - SplitBlk *blk = lru->findBlock(pkt->getAddr(), pkt->req->getAsid(), lat); + SplitBlk *blk = lru->findBlock(pkt->getAddr(), lat); if (blk) { if (pkt->nic_pkt()) { NR_CP_hits++; @@ -287,10 +287,10 @@ Split::findBlock(Packet * &pkt, int &lat) } } else { if (lifo && lifo_net) { - blk = lifo_net->findBlock(pkt->getAddr(), pkt->req->getAsid(), lat); + blk = lifo_net->findBlock(pkt->getAddr(), lat); } else if (lru_net) { - blk = lru_net->findBlock(pkt->getAddr(), pkt->req->getAsid(), lat); + blk = lru_net->findBlock(pkt->getAddr(), lat); } if (blk) { if (pkt->nic_pkt()) { @@ -320,14 +320,14 @@ Split::findBlock(Packet * &pkt, int &lat) } SplitBlk* -Split::findBlock(Addr addr, int asid, int &lat) +Split::findBlock(Addr addr, int &lat) { - SplitBlk *blk = lru->findBlock(addr, asid, lat); + SplitBlk *blk = lru->findBlock(addr, lat); if (!blk) { if (lifo && lifo_net) { - blk = lifo_net->findBlock(addr, asid, lat); + blk = lifo_net->findBlock(addr, lat); } else if (lru_net) { - blk = lru_net->findBlock(addr, asid, lat); + blk = lru_net->findBlock(addr, lat); } } @@ -335,14 +335,14 @@ Split::findBlock(Addr addr, int asid, int &lat) } SplitBlk* -Split::findBlock(Addr addr, int asid) const +Split::findBlock(Addr addr) const { - SplitBlk *blk = lru->findBlock(addr, asid); + SplitBlk *blk = lru->findBlock(addr); if (!blk) { if (lifo && lifo_net) { - blk = lifo_net->findBlock(addr, asid); + blk = lifo_net->findBlock(addr); } else if (lru_net) { - blk = lru_net->findBlock(addr, asid); + blk = lru_net->findBlock(addr); } } @@ -403,14 +403,14 @@ Split::findReplacement(Packet * &pkt, PacketList &writebacks, } void -Split::invalidateBlk(int asid, Addr addr) +Split::invalidateBlk(Addr addr) { - SplitBlk *blk = lru->findBlock(addr, asid); + SplitBlk *blk = lru->findBlock(addr); if (!blk) { if (lifo && lifo_net) - blk = lifo_net->findBlock(addr, asid); + blk = lifo_net->findBlock(addr); else if (lru_net) - blk = lru_net->findBlock(addr, asid); + blk = lru_net->findBlock(addr); if (!blk) return; @@ -422,15 +422,15 @@ Split::invalidateBlk(int asid, Addr addr) } void -Split::doCopy(Addr source, Addr dest, int asid, PacketList &writebacks) +Split::doCopy(Addr source, Addr dest, PacketList &writebacks) { - if (lru->probe(asid, source)) - lru->doCopy(source, dest, asid, writebacks); + if (lru->probe( source)) + lru->doCopy(source, dest, writebacks); else { if (lifo && lifo_net) - lifo_net->doCopy(source, dest, asid, writebacks); + lifo_net->doCopy(source, dest, writebacks); else if (lru_net) - lru_net->doCopy(source, dest, asid, writebacks); + lru_net->doCopy(source, dest, writebacks); } } -- cgit v1.2.3