From 142380a373e28cd61b79d348361ec1ed4ed330e5 Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Tue, 17 Jan 2012 12:55:09 -0600 Subject: 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. --- src/mem/bus.cc | 15 --------------- src/mem/bus.hh | 1 - src/mem/cache/cache.hh | 1 - src/mem/cache/cache_impl.hh | 11 ----------- src/mem/mem_object.cc | 6 ------ src/mem/mem_object.hh | 4 ---- src/mem/port.cc | 8 -------- src/mem/port.hh | 4 ---- 8 files changed, 50 deletions(-) (limited to 'src') 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(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 @@ -114,17 +114,6 @@ Cache::getPort(const std::string &if_name, int idx) } } -template -void -Cache::deletePortRefs(Port *p) -{ - if (cpuSidePort == p || memSidePort == p) - panic("Can only delete functional ports\n"); - - delete p; -} - - template void Cache::cmpAndSwap(BlkType *blk, PacketPtr pkt) 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 @@ -63,14 +63,6 @@ Port::setOwner(MemObject *_owner) owner = _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) { 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: -- cgit v1.2.3