summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2006-09-05 12:22:47 -0700
committerSteve Reinhardt <stever@eecs.umich.edu>2006-09-05 12:22:47 -0700
commit89f0bc9e4c6e1c0bc58f5f5a88cdac5889758b1f (patch)
tree06ccb881bd43a914743db69228cdba079c0fa088
parentc39aea440c884f0abb29ecc2293fd6df608bc00c (diff)
downloadgem5-89f0bc9e4c6e1c0bc58f5f5a88cdac5889758b1f.tar.xz
Print ports in config.ini as well.
--HG-- extra : convert_revision : 703d3a57250613315735709de8f40a9956cee6e2
-rw-r--r--src/python/m5/SimObject.py15
-rw-r--r--src/python/m5/params.py6
2 files changed, 21 insertions, 0 deletions
diff --git a/src/python/m5/SimObject.py b/src/python/m5/SimObject.py
index b8b931d81..c30a0c623 100644
--- a/src/python/m5/SimObject.py
+++ b/src/python/m5/SimObject.py
@@ -604,6 +604,20 @@ class SimObject(object):
setattr(self, param, value)
print '%s=%s' % (param, self._values[param].ini_str())
+ port_names = self._ports.keys()
+ port_names.sort()
+ for port_name in port_names:
+ port = self._port_map.get(port_name, None)
+ if port == None:
+ default = getattr(self._ports[port_name], 'default', None)
+ if default == None:
+ # port is unbound... that's OK, go to next port
+ continue
+ else:
+ print port_name, default
+ port = m5.makeList(port) # make list even if it's a scalar port
+ print '%s=%s' % (port_name, ' '.join([str(p) for p in port]))
+
print # blank line between objects
for child in child_names:
@@ -722,3 +736,4 @@ __all__ = ['SimObject', 'ParamContext']
# see comment on imports at end of __init__.py.
import proxy
import cc_main
+import m5
diff --git a/src/python/m5/params.py b/src/python/m5/params.py
index db11b9cff..3323766bd 100644
--- a/src/python/m5/params.py
+++ b/src/python/m5/params.py
@@ -761,6 +761,12 @@ class PortRef(object):
self.peer = None # not associated with another port yet
self.ccConnected = False # C++ port connection done?
+ def __str__(self):
+ ext = ''
+ if self.isVec:
+ ext = '[%d]' % self.index
+ return '%s.%s%s' % (self.simobj.path(), self.name, ext)
+
# Set peer port reference. Called via __setattr__ as a result of
# a port assignment, e.g., "obj1.port1 = obj2.port2".
def setPeer(self, other):