# 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
# args. Seems like a bad design but that's the way it is.
Root._the_instance = SimObject.__new__(cls)
return Root._the_instance
-
+
@classmethod
def getInstance(cls):
return Root._the_instance
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")