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