summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2012-01-17 12:55:09 -0600
committerAndreas Hansson <andreas.hansson@arm.com>2012-01-17 12:55:09 -0600
commit142380a373e28cd61b79d348361ec1ed4ed330e5 (patch)
treeb28c17972ba7f61536a7dab126861c0fee657fda
parent6315e5bbb5efd6972cf1c7cd8007563646d88d33 (diff)
downloadgem5-142380a373e28cd61b79d348361ec1ed4ed330e5.tar.xz
MEM: Remove Port removeConn and MemObject deletePortRefs
Cleaning up and simplifying the ports and going towards a more strict elaboration-time creation and binding of the ports.
-rw-r--r--src/mem/bus.cc15
-rw-r--r--src/mem/bus.hh1
-rw-r--r--src/mem/cache/cache.hh1
-rw-r--r--src/mem/cache/cache_impl.hh11
-rw-r--r--src/mem/mem_object.cc6
-rw-r--r--src/mem/mem_object.hh4
-rw-r--r--src/mem/port.cc8
-rw-r--r--src/mem/port.hh4
8 files changed, 0 insertions, 50 deletions
diff --git a/src/mem/bus.cc b/src/mem/bus.cc
index db71b86b7..ce834515b 100644
--- a/src/mem/bus.cc
+++ b/src/mem/bus.cc
@@ -94,21 +94,6 @@ Bus::getPort(const std::string &if_name, int idx)
return bp;
}
-void
-Bus::deletePortRefs(Port *p)
-{
-
- BusPort *bp = dynamic_cast<BusPort*>(p);
- if (bp == NULL)
- panic("Couldn't convert Port* to BusPort*\n");
- // If this is our one functional port
- if (funcPort == bp)
- return;
- interfaces.erase(bp->getId());
- clearBusCache();
- delete bp;
-}
-
/** Get the ranges of anyone other buses that we are connected to. */
void
Bus::init()
diff --git a/src/mem/bus.hh b/src/mem/bus.hh
index 17d22ec83..df80063f8 100644
--- a/src/mem/bus.hh
+++ b/src/mem/bus.hh
@@ -367,7 +367,6 @@ class Bus : public MemObject
/** A function used to return the port associated with this bus object. */
virtual Port *getPort(const std::string &if_name, int idx = -1);
- virtual void deletePortRefs(Port *p);
virtual void init();
virtual void startup();
diff --git a/src/mem/cache/cache.hh b/src/mem/cache/cache.hh
index 8d30ed443..7b1c877f9 100644
--- a/src/mem/cache/cache.hh
+++ b/src/mem/cache/cache.hh
@@ -216,7 +216,6 @@ class Cache : public BaseCache
Cache(const Params *p, TagStore *tags, BasePrefetcher *prefetcher);
virtual Port *getPort(const std::string &if_name, int idx = -1);
- virtual void deletePortRefs(Port *p);
void regStats();
diff --git a/src/mem/cache/cache_impl.hh b/src/mem/cache/cache_impl.hh
index 581435010..1e5b59e17 100644
--- a/src/mem/cache/cache_impl.hh
+++ b/src/mem/cache/cache_impl.hh
@@ -116,17 +116,6 @@ Cache<TagStore>::getPort(const std::string &if_name, int idx)
template<class TagStore>
void
-Cache<TagStore>::deletePortRefs(Port *p)
-{
- if (cpuSidePort == p || memSidePort == p)
- panic("Can only delete functional ports\n");
-
- delete p;
-}
-
-
-template<class TagStore>
-void
Cache<TagStore>::cmpAndSwap(BlkType *blk, PacketPtr pkt)
{
uint64_t overwrite_val;
diff --git a/src/mem/mem_object.cc b/src/mem/mem_object.cc
index 20a1b4cd8..111d3718c 100644
--- a/src/mem/mem_object.cc
+++ b/src/mem/mem_object.cc
@@ -34,9 +34,3 @@ MemObject::MemObject(const Params *params)
: SimObject(params)
{
}
-
-void
-MemObject::deletePortRefs(Port *p)
-{
- panic("This object does not support port deletion\n");
-}
diff --git a/src/mem/mem_object.hh b/src/mem/mem_object.hh
index b8bf4b939..5865fc935 100644
--- a/src/mem/mem_object.hh
+++ b/src/mem/mem_object.hh
@@ -56,10 +56,6 @@ class MemObject : public SimObject
public:
/** Additional function to return the Port of a memory object. */
virtual Port *getPort(const std::string &if_name, int idx = -1) = 0;
-
- /** Tell object that this port is about to disappear, so it should remove it
- * from any structures that it's keeping it in. */
- virtual void deletePortRefs(Port *p) ;
};
#endif //__MEM_MEM_OBJECT_HH__
diff --git a/src/mem/port.cc b/src/mem/port.cc
index eae18c6ea..fb1715db6 100644
--- a/src/mem/port.cc
+++ b/src/mem/port.cc
@@ -64,14 +64,6 @@ Port::setOwner(MemObject *_owner)
}
void
-Port::removeConn()
-{
- if (peer != NULL)
- peer->getOwner()->deletePortRefs(peer);
- peer = NULL;
-}
-
-void
Port::blobHelper(Addr addr, uint8_t *p, int size, MemCmd cmd)
{
Request req;
diff --git a/src/mem/port.hh b/src/mem/port.hh
index 4adf8f4cd..0399a2a0e 100644
--- a/src/mem/port.hh
+++ b/src/mem/port.hh
@@ -123,10 +123,6 @@ class Port
/** Function to return the owner of this port. */
MemObject *getOwner() { return owner; }
- /** Inform the peer port to delete itself and notify it's owner about it's
- * demise. */
- void removeConn();
-
bool isConnected() { return peer != NULL; }
protected: