summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2012-01-28 07:24:34 -0800
committerGabe Black <gblack@eecs.umich.edu>2012-01-28 07:24:34 -0800
commitec20ee2f7cdaff22e63a5ae492f925d0d4839849 (patch)
treea4f7ee8e32356f97fa35df32e645711160296642 /src
parenteab5c602865bcd399f069f332edd42c4ea4edffe (diff)
downloadgem5-ec20ee2f7cdaff22e63a5ae492f925d0d4839849.tar.xz
SE/FS: Make SE vs. FS mode a runtime parameter.
Diffstat (limited to 'src')
-rw-r--r--src/sim/Root.py3
-rw-r--r--src/sim/full_system.hh4
-rw-r--r--src/sim/root.cc5
3 files changed, 9 insertions, 3 deletions
diff --git a/src/sim/Root.py b/src/sim/Root.py
index e15de1554..daa0a903f 100644
--- a/src/sim/Root.py
+++ b/src/sim/Root.py
@@ -28,6 +28,7 @@
# Authors: Nathan Binkert
from m5.SimObject import SimObject
+from m5.defines import buildEnv
from m5.params import *
from m5.util import fatal
@@ -58,6 +59,8 @@ class Root(SimObject):
type = 'Root'
+ 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")
diff --git a/src/sim/full_system.hh b/src/sim/full_system.hh
index 911648f3a..e67fc11a9 100644
--- a/src/sim/full_system.hh
+++ b/src/sim/full_system.hh
@@ -31,8 +31,6 @@
#ifndef __SIM_FULL_SYSTEM_HH__
#define __SIM_FULL_SYSTEM_HH__
-#include "config/full_system.hh"
-
-static const bool FullSystem = FULL_SYSTEM;
+extern bool FullSystem;
#endif // __SIM_FULL_SYSTEM_HH__
diff --git a/src/sim/root.cc b/src/sim/root.cc
index dd7c12077..c47ada30e 100644
--- a/src/sim/root.cc
+++ b/src/sim/root.cc
@@ -33,6 +33,7 @@
#include "base/misc.hh"
#include "debug/TimeSync.hh"
+#include "sim/full_system.hh"
#include "sim/root.hh"
Root *Root::_root = NULL;
@@ -123,6 +124,8 @@ Root::loadState(Checkpoint *cp)
timeSyncEnable(params()->time_sync_enable);
}
+bool FullSystem;
+
Root *
RootParams::create()
{
@@ -132,5 +135,7 @@ RootParams::create()
created = true;
+ FullSystem = full_system;
+
return new Root(this);
}