summaryrefslogtreecommitdiff
path: root/src/mem/port.cc
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2012-01-17 12:55:09 -0600
committerAndreas Hansson <andreas.hansson@arm.com>2012-01-17 12:55:09 -0600
commit6315e5bbb5efd6972cf1c7cd8007563646d88d33 (patch)
tree9ad4a54f924207c88c8699ff31e8f9c924838bab /src/mem/port.cc
parentde34e49d15b95cc8be51dbed2e98c469e7486959 (diff)
downloadgem5-6315e5bbb5efd6972cf1c7cd8007563646d88d33.tar.xz
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 (limited to 'src/mem/port.cc')
-rw-r--r--src/mem/port.cc56
1 files changed, 2 insertions, 54 deletions
diff --git a/src/mem/port.cc b/src/mem/port.cc
index 946f087eb..eae18c6ea 100644
--- a/src/mem/port.cc
+++ b/src/mem/port.cc
@@ -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 @@ Port::setOwner(MemObject *_owner)
void
Port::removeConn()
{
- if (peer->getOwner())
+ if (peer != NULL)
peer->getOwner()->deletePortRefs(peer);
peer = NULL;
}