sim: bump checkpoint version for multiple event queues
[gem5.git] / src / sim / Root.py
index 4edcffa2c0f4b9632935a9bbbf1dda7427c17aca..c6f7cfba6610779b65389d6c6e6322c706be61da 100644 (file)
@@ -1,5 +1,6 @@
 # Copyright (c) 2005-2007 The Regents of The University of Michigan
-# Copyright (c) 2010 Advanced Micro Devices, Inc.
+# Copyright (c) 2010-2013 Advanced Micro Devices, Inc.
+# Copyright (c) 2013 Mark D. Hill and David A. Wood
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -28,6 +29,7 @@
 # Authors: Nathan Binkert
 
 from m5.SimObject import SimObject
+from m5.defines import buildEnv
 from m5.params import *
 from m5.util import fatal
 
@@ -57,4 +59,20 @@ class Root(SimObject):
         return 'root'
 
     type = 'Root'
-    dummy = Param.Int(0, "We don't support objects without params")
+    cxx_header = "sim/root.hh"
+
+    # By default, root sim object and hence all other sim objects schedule
+    # event on the eventq with index 0.
+    eventq_index = 0
+
+    # Simulation Quantum for multiple main event queue simulation.
+    # Needs to be set explicitly for a multi-eventq simulation.
+    sim_quantum = Param.Tick(0, "simulation quantum")
+
+    full_system = Param.Bool("if this is a full system simulation")
+
+    # Time syncing prevents the simulation from running faster than real time.
+    time_sync_enable = Param.Bool(False, "whether time syncing is enabled")
+    time_sync_period = Param.Clock("100ms", "how often to sync with real time")
+    time_sync_spin_threshold = \
+            Param.Clock("100us", "when less than this much time is left, spin")