changeset d7358736ac70 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=d7358736ac70
description:
        MEM: Remove the notion of the default port

        This patch removes the default port and instead relies on the peer
        being set to NULL initially. The binding check (i.e. is a port
        connected or not) will eventually be moved to the init function of the
        modules.

diffstat:

 src/mem/bridge.cc |   2 +-
 src/mem/port.cc   |  56 +-----------------------------------------------------
 src/mem/port.hh   |   4 +--
 3 files changed, 4 insertions(+), 58 deletions(-)

diffs (100 lines):

diff -r 7ccbdea0fa12 -r d7358736ac70 src/mem/bridge.cc
--- a/src/mem/bridge.cc Tue Jan 17 12:55:09 2012 -0600
+++ b/src/mem/bridge.cc Tue Jan 17 12:55:09 2012 -0600
@@ -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 7ccbdea0fa12 -r d7358736ac70 src/mem/port.cc
--- a/src/mem/port.cc   Tue Jan 17 12:55:09 2012 -0600
+++ b/src/mem/port.cc   Tue Jan 17 12:55:09 2012 -0600
@@ -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;
 }
diff -r 7ccbdea0fa12 -r d7358736ac70 src/mem/port.hh
--- a/src/mem/port.hh   Tue Jan 17 12:55:09 2012 -0600
+++ b/src/mem/port.hh   Tue Jan 17 12:55:09 2012 -0600
@@ -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:
 
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to