diff -r 309e6662ccde -r d16422ba266e src/mem/bridge.cc --- a/src/mem/bridge.cc Mon Dec 19 13:56:02 2011 +0000 +++ b/src/mem/bridge.cc Mon Dec 19 13:57:03 2011 +0000 @@ -79,7 +79,7 @@ else return NULL; - if (port->getPeer() != NULL && !port->getPeer()->isDefaultPort()) + if (port->getPeer() != NULL) panic("bridge side %s already connected to %s.", if_name, port->getPeer()->name()); return port; diff -r 309e6662ccde -r d16422ba266e src/mem/port.hh --- a/src/mem/port.hh Mon Dec 19 13:56:02 2011 +0000 +++ b/src/mem/port.hh Mon Dec 19 13:57:03 2011 +0000 @@ -127,9 +127,7 @@ * demise. */ void removeConn(); - virtual bool isDefaultPort() const { return false; } - - bool isConnected() { return peer && !peer->isDefaultPort(); } + bool isConnected() { return peer != NULL; } protected: diff -r 309e6662ccde -r d16422ba266e src/mem/port.cc --- a/src/mem/port.cc Mon Dec 19 13:56:02 2011 +0000 +++ b/src/mem/port.cc Mon Dec 19 13:57:03 2011 +0000 @@ -40,60 +40,8 @@ #include "mem/mem_object.hh" #include "mem/port.hh" -class DefaultPeerPort : public Port -{ - protected: - void blowUp() const - { - fatal("%s: Unconnected port!", peer->name()); - } - - public: - DefaultPeerPort() - : Port("default_port", NULL) - { } - - bool recvTiming(PacketPtr) - { - blowUp(); - return false; - } - - Tick recvAtomic(PacketPtr) - { - blowUp(); - return 0; - } - - void recvFunctional(PacketPtr) - { - blowUp(); - } - - void recvStatusChange(Status) - { - blowUp(); - } - - unsigned - deviceBlockSize() const - { - blowUp(); - return 0; - } - - void getDeviceAddressRanges(AddrRangeList &, bool &) - { - blowUp(); - } - - bool isDefaultPort() const { return true; } -}; - -DefaultPeerPort defaultPeerPort; - Port::Port(const std::string &_name, MemObject *_owner) - : portName(_name), peer(&defaultPeerPort), owner(_owner) + : portName(_name), peer(NULL), owner(_owner) { } @@ -118,7 +66,7 @@ void Port::removeConn() { - if (peer->getOwner()) + if (peer != NULL) peer->getOwner()->deletePortRefs(peer); peer = NULL; }