diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2012-01-17 12:55:09 -0600 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2012-01-17 12:55:09 -0600 |
commit | 142380a373e28cd61b79d348361ec1ed4ed330e5 (patch) | |
tree | b28c17972ba7f61536a7dab126861c0fee657fda | |
parent | 6315e5bbb5efd6972cf1c7cd8007563646d88d33 (diff) | |
download | gem5-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.cc | 15 | ||||
-rw-r--r-- | src/mem/bus.hh | 1 | ||||
-rw-r--r-- | src/mem/cache/cache.hh | 1 | ||||
-rw-r--r-- | src/mem/cache/cache_impl.hh | 11 | ||||
-rw-r--r-- | src/mem/mem_object.cc | 6 | ||||
-rw-r--r-- | src/mem/mem_object.hh | 4 | ||||
-rw-r--r-- | src/mem/port.cc | 8 | ||||
-rw-r--r-- | src/mem/port.hh | 4 |
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: |