summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sandberg <Andreas.Sandberg@arm.com>2012-09-25 11:49:40 -0500
committerAndreas Sandberg <Andreas.Sandberg@arm.com>2012-09-25 11:49:40 -0500
commit5f32eceeda92f45d253a0835c6643e786a91ba49 (patch)
treee407bf938291dc1d8ea2cf4feb81c4adb01553d4
parentd060a28a2938aff5446e2b800176208c72b698da (diff)
downloadgem5-5f32eceeda92f45d253a0835c6643e786a91ba49.tar.xz
sim: Remove SimObject::setMemoryMode
Remove SimObject::setMemoryMode from the main SimObject class since it is only valid for the System class. In addition to removing the method from the C++ sources, this patch also removes getMemoryMode and changeTiming from SimObject.py and updates the simulation code to call the (get|set)MemoryMode method on the System object instead.
-rw-r--r--src/python/m5/SimObject.py13
-rw-r--r--src/python/m5/simulate.py6
-rw-r--r--src/sim/sim_object.cc6
-rw-r--r--src/sim/sim_object.hh7
4 files changed, 2 insertions, 30 deletions
diff --git a/src/python/m5/SimObject.py b/src/python/m5/SimObject.py
index ae6b2035e..c8227c067 100644
--- a/src/python/m5/SimObject.py
+++ b/src/python/m5/SimObject.py
@@ -1050,19 +1050,6 @@ class SimObject(object):
for portRef in self._port_refs.itervalues():
portRef.ccConnect()
- def getMemoryMode(self):
- if not isinstance(self, m5.objects.System):
- return None
-
- return self._ccObject.getMemoryMode()
-
- def changeTiming(self, mode):
- if isinstance(self, m5.objects.System):
- # i don't know if there's a better way to do this - calling
- # setMemoryMode directly from self._ccObject results in calling
- # SimObject::setMemoryMode, not the System::setMemoryMode
- self._ccObject.setMemoryMode(mode)
-
def takeOverFrom(self, old_cpu):
self._ccObject.takeOverFrom(old_cpu._ccObject)
diff --git a/src/python/m5/simulate.py b/src/python/m5/simulate.py
index 0f2a546c1..17150cd4f 100644
--- a/src/python/m5/simulate.py
+++ b/src/python/m5/simulate.py
@@ -194,8 +194,7 @@ def changeToAtomic(system):
if system.getMemoryMode() != objects.params.atomic:
doDrain(system)
print "Changing memory mode to atomic"
- for obj in system.descendants():
- obj.changeTiming(objects.params.atomic)
+ system.setMemoryMode(objects.params.atomic)
def changeToTiming(system):
if not isinstance(system, (objects.Root, objects.System)):
@@ -204,8 +203,7 @@ def changeToTiming(system):
if system.getMemoryMode() != objects.params.timing:
print "Changing memory mode to timing"
- for obj in system.descendants():
- obj.changeTiming(objects.params.timing)
+ system.setMemoryMode(objects.params.timing)
def switchCpus(cpuList):
print "switching cpus"
diff --git a/src/sim/sim_object.cc b/src/sim/sim_object.cc
index 571989b02..866ce0ce2 100644
--- a/src/sim/sim_object.cc
+++ b/src/sim/sim_object.cc
@@ -164,12 +164,6 @@ SimObject::resume()
}
void
-SimObject::setMemoryMode(Enums::MemoryMode new_mode)
-{
- panic("setMemoryMode() should only be called on systems");
-}
-
-void
SimObject::switchOut()
{
panic("Unimplemented!");
diff --git a/src/sim/sim_object.hh b/src/sim/sim_object.hh
index 1640be404..4fa2b7f05 100644
--- a/src/sim/sim_object.hh
+++ b/src/sim/sim_object.hh
@@ -256,13 +256,6 @@ class SimObject : public EventManager, public Serializable
virtual void resume();
/**
- * Change the memory mode the simulator operates in.
- *
- * @note Should only be implemented in the System object.
- */
- virtual void setMemoryMode(Enums::MemoryMode new_mode);
-
- /**
* Prepare a CPU model to be switched out, invoked on active CPUs
* that are about to be replaced.
*