Print ports in config.ini as well.
authorSteve Reinhardt <stever@eecs.umich.edu>
Tue, 5 Sep 2006 19:22:47 +0000 (12:22 -0700)
committerSteve Reinhardt <stever@eecs.umich.edu>
Tue, 5 Sep 2006 19:22:47 +0000 (12:22 -0700)
--HG--
extra : convert_revision : 703d3a57250613315735709de8f40a9956cee6e2

src/python/m5/SimObject.py
src/python/m5/params.py

index b8b931d81ef66e74ff8970e32e29b54c9b9e9829..c30a0c62315d6f9f3e8f0f0df0fb15f5c9d0d6af 100644 (file)
@@ -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
index db11b9cff29162c2d2be4f03e36e076b7d260224..3323766bd8d120580e5c6aa7f243fe35de5fcca3 100644 (file)
@@ -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):