summaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
authorKevin Lim <ktlim@umich.edu>2006-10-26 14:37:19 -0400
committerKevin Lim <ktlim@umich.edu>2006-10-26 14:37:19 -0400
commite912080d12666482a942eae354e783c3d666c6c9 (patch)
tree434cd7969db4b0a43ae2cfc4fd31579c21c79f17 /src/cpu
parent6824cdf6602ec51c16fe322504377848911c6f00 (diff)
parenteda7148af25e8e106e8983fb37952263dcae5275 (diff)
downloadgem5-e912080d12666482a942eae354e783c3d666c6c9.tar.xz
Merge ktlim@zizzer:/bk/newmem
into zamp.eecs.umich.edu:/z/ktlim2/clean/o3-merge/newmem --HG-- extra : convert_revision : 30a912cf5d3f205a6301d291dd1799da21663056
Diffstat (limited to 'src/cpu')
-rw-r--r--src/cpu/simple/atomic.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/cpu/simple/atomic.cc b/src/cpu/simple/atomic.cc
index 25c478ae9..edba55b0d 100644
--- a/src/cpu/simple/atomic.cc
+++ b/src/cpu/simple/atomic.cc
@@ -183,11 +183,14 @@ AtomicSimpleCPU::unserialize(Checkpoint *cp, const string &section)
void
AtomicSimpleCPU::resume()
{
- changeState(SimObject::Running);
- if (thread->status() == ThreadContext::Active) {
+ if (_status != SwitchedOut && _status != Idle) {
assert(system->getMemoryMode() == System::Atomic);
- if (!tickEvent.scheduled())
- tickEvent.schedule(curTick);
+
+ changeState(SimObject::Running);
+ if (thread->status() == ThreadContext::Active) {
+ if (!tickEvent.scheduled())
+ tickEvent.schedule(curTick);
+ }
}
}