MEM: Remove the otherPort from the cache ports
authorAndreas Hansson <andreas.hansson@arm.com>
Tue, 31 Jan 2012 16:51:19 +0000 (11:51 -0500)
committerAndreas Hansson <andreas.hansson@arm.com>
Tue, 31 Jan 2012 16:51:19 +0000 (11:51 -0500)
This patch is a very straight-forward simplification, removing the
unecessary otherPort pointer from the cache port. The pointer was only
used to forward range changes, and the address range is fixed for the
cache. Removing the pointer simplifies the transition to master/slave
ports.

src/mem/cache/base.cc
src/mem/cache/base.hh
src/mem/cache/cache_impl.hh

index 278329152a9f7053d27fbe2bce4fb1f816b410e0..34132a634b3bf3047afa3ab283e2f4f8c2beeea4 100644 (file)
@@ -44,8 +44,7 @@ using namespace std;
 BaseCache::CachePort::CachePort(const std::string &_name, BaseCache *_cache,
                                 const std::string &_label)
     : SimpleTimingPort(_name, _cache), cache(_cache),
-      label(_label), otherPort(NULL),
-      blocked(false), mustSendRetry(false)
+      label(_label), blocked(false), mustSendRetry(false)
 {
 }
 
@@ -69,12 +68,6 @@ BaseCache::BaseCache(const Params *p)
 {
 }
 
-void
-BaseCache::CachePort::recvRangeChange() const
-{
-    otherPort->sendRangeChange();
-}
-
 
 bool
 BaseCache::CachePort::checkFunctional(PacketPtr pkt)
index e6a5c284ff015ed02e31a8fc8f2836f3e9c958d2..df72e197fb8678d7569bddfa0f6b5743c306b973 100644 (file)
@@ -105,8 +105,6 @@ class BaseCache : public MemObject
         CachePort(const std::string &_name, BaseCache *_cache,
                   const std::string &_label);
 
-        virtual void recvRangeChange() const;
-
         virtual unsigned deviceBlockSize() const;
 
         bool recvRetryCommon();
@@ -117,16 +115,12 @@ class BaseCache : public MemObject
         const std::string label;
 
       public:
-        void setOtherPort(CachePort *_otherPort) { otherPort = _otherPort; }
-
         void setBlocked();
 
         void clearBlocked();
 
         bool checkFunctional(PacketPtr pkt);
 
-        CachePort *otherPort;
-
         bool blocked;
 
         bool mustSendRetry;
index 13484eb79f26610b53cde7abca77a347f267f164..2ef53e040876cee1a85340997e2db053f915d24e 100644 (file)
@@ -77,8 +77,6 @@ Cache<TagStore>::Cache(const Params *p, TagStore *tags, BasePrefetcher *pf)
                                   "CpuSidePort");
     memSidePort = new MemSidePort(p->name + "-mem_side_port", this,
                                   "MemSidePort");
-    cpuSidePort->setOtherPort(memSidePort);
-    memSidePort->setOtherPort(cpuSidePort);
 
     tags->setCache(this);
     if (prefetcher)