From: Andreas Sandberg Date: Tue, 25 Sep 2012 16:49:40 +0000 (-0500) Subject: sim: Remove SimObject::setMemoryMode X-Git-Tag: stable_2013_06_16~389 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5f32eceeda92f45d253a0835c6643e786a91ba49;p=gem5.git 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. --- 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 @@ -163,12 +163,6 @@ SimObject::resume() state = Running; } -void -SimObject::setMemoryMode(Enums::MemoryMode new_mode) -{ - panic("setMemoryMode() should only be called on systems"); -} - void SimObject::switchOut() { 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 @@ -255,13 +255,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.