summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorBenjamin Nash <benash@umich.edu>2005-06-23 16:27:17 -0400
committerBenjamin Nash <benash@umich.edu>2005-06-23 16:27:17 -0400
commit0460a78829c000f033d703bb814ca39a835014a0 (patch)
treeb3a9f74af1d4a33559f21c5b5ed11a3052911b6c /python
parente8bcecd0a04638e9d9e6306cbe515c40e9ba0817 (diff)
parentcad549d7aaefece708495842f2be5e6532a27bb7 (diff)
downloadgem5-0460a78829c000f033d703bb814ca39a835014a0.tar.xz
Merge m5read@m5.eecs.umich.edu:/bk/m5
into zed.eecs.umich.edu:/z/benash/bk/m5 --HG-- extra : convert_revision : a0a8fea7224913ef106dc733182abd938feab64d
Diffstat (limited to 'python')
-rw-r--r--python/m5/config.py19
-rw-r--r--python/m5/objects/Root.py3
2 files changed, 18 insertions, 4 deletions
diff --git a/python/m5/config.py b/python/m5/config.py
index 091df3662..754b18525 100644
--- a/python/m5/config.py
+++ b/python/m5/config.py
@@ -421,14 +421,14 @@ class SimObject(object):
print '[' + self.path() + ']' # .ini section header
if hasattr(self, 'type') and not isinstance(self, ParamContext):
- print 'type =', self.type
+ print 'type=%s' % self.type
child_names = self._children.keys()
child_names.sort()
np_child_names = [c for c in child_names \
if not isinstance(self._children[c], ParamContext)]
if len(np_child_names):
- print 'children =', ' '.join(np_child_names)
+ print 'children=%s' % ' '.join(np_child_names)
param_names = self._params.keys()
param_names.sort()
@@ -444,7 +444,7 @@ class SimObject(object):
(param, self.path())
raise
setattr(self, param, value)
- print param, '=', self._values[param].ini_str()
+ print '%s=%s' % (param, self._values[param].ini_str())
print # blank line between objects
@@ -921,6 +921,9 @@ class UdpPort(CheckedInt): size = 16; unsigned = True
class Percent(CheckedInt): min = 0; max = 100
+class Float(ParamValue, float):
+ pass
+
class MemorySize(CheckedInt):
size = 64
unsigned = True
@@ -1024,6 +1027,14 @@ class NullSimObject(object):
def ini_str(self):
return 'Null'
+ def unproxy(self,base):
+ return self
+
+ def set_path(self, parent, name):
+ pass
+ def __str__(self):
+ return 'Null'
+
# The only instance you'll ever need...
Null = NULL = NullSimObject()
@@ -1262,7 +1273,7 @@ def instantiate(root):
# short to avoid polluting other namespaces.
__all__ = ['SimObject', 'ParamContext', 'Param', 'VectorParam',
'Parent', 'Self',
- 'Enum', 'Bool', 'String',
+ 'Enum', 'Bool', 'String', 'Float',
'Int', 'Unsigned', 'Int8', 'UInt8', 'Int16', 'UInt16',
'Int32', 'UInt32', 'Int64', 'UInt64',
'Counter', 'Addr', 'Tick', 'Percent',
diff --git a/python/m5/objects/Root.py b/python/m5/objects/Root.py
index 79e3721fc..a5aaadd8c 100644
--- a/python/m5/objects/Root.py
+++ b/python/m5/objects/Root.py
@@ -7,6 +7,9 @@ from Trace import Trace
class Root(SimObject):
type = 'Root'
clock = Param.RootClock('200MHz', "tick frequency")
+ max_time = Param.Latency('0ns', "maximum simulation time (0 = infinite)")
+ progress_interval = Param.Latency('0ns',
+ "print a progress message at a regular interval (0 = never)")
output_file = Param.String('cout', "file to dump simulator output to")
checkpoint = Param.String('', "checkpoint file to load")
# hier = Param.HierParams(HierParams(do_data = False, do_events = True),