diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2012-05-23 09:01:56 -0400 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2012-05-23 09:01:56 -0400 |
commit | 31b4ac5cec638ee5a60e15fada85f5890300ec6a (patch) | |
tree | 4ddbc86cecd2b667e8b671367646c8fbaea59852 /src/python/m5 | |
parent | 0bff8eb210fedd89baed36ecab3608bb259ff520 (diff) | |
download | gem5-31b4ac5cec638ee5a60e15fada85f5890300ec6a.tar.xz |
Config: Exit with fatal if a port is already connected
This patch turns the existing warning into a fatal, as there should
never be any cases where a (non-vector) port is assigned to and then
later connected to something else. If this behaviour is allowed, as it
used to be, there are cases where the wrong number of C++ ports are
created when instantiating objects with VectorPorts (obviously that
could be fixed, but the better approach is to simply not allow it).
Diffstat (limited to 'src/python/m5')
-rw-r--r-- | src/python/m5/params.py | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/python/m5/params.py b/src/python/m5/params.py index f5af3a14b..b7fa60782 100644 --- a/src/python/m5/params.py +++ b/src/python/m5/params.py @@ -1379,9 +1379,8 @@ class PortRef(object): # reference to plain VectorPort is implicit append other = other._get_next() if self.peer and not proxy.isproxy(self.peer): - print "warning: overwriting port", self, \ - "value", self.peer, "with", other - self.peer.peer = None + fatal("Port %s is already connected to %s, cannot connect %s\n", + self, self.peer, other); self.peer = other if proxy.isproxy(other): other.set_param_desc(PortParamDesc()) |