summaryrefslogtreecommitdiff
path: root/src/cpu/o3/cpu.cc
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-11-14 15:23:23 -0500
committerGabe Black <gblack@eecs.umich.edu>2006-11-14 15:23:23 -0500
commitac2c7967f69e3ffd29a1ed04a15838073dc060de (patch)
treed24dc27dcb11414775d2971b645ef4a6fbb922d9 /src/cpu/o3/cpu.cc
parentbc4d15ddd199420d2201fd0e8bde399e51ea0d3d (diff)
parent2f6a9454d13e44faba55b14d958f20a04bc36246 (diff)
downloadgem5-ac2c7967f69e3ffd29a1ed04a15838073dc060de.tar.xz
Merge zizzer.eecs.umich.edu:/bk/newmem/
into zeep.eecs.umich.edu:/home/gblack/m5/newmemmemops --HG-- extra : convert_revision : 966246877ac1f1e6c2675d413b0b405cccfecbeb
Diffstat (limited to 'src/cpu/o3/cpu.cc')
-rw-r--r--src/cpu/o3/cpu.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cpu/o3/cpu.cc b/src/cpu/o3/cpu.cc
index dfe42d882..580816372 100644
--- a/src/cpu/o3/cpu.cc
+++ b/src/cpu/o3/cpu.cc
@@ -819,6 +819,12 @@ unsigned int
FullO3CPU<Impl>::drain(Event *drain_event)
{
DPRINTF(O3CPU, "Switching out\n");
+
+ // If the CPU isn't doing anything, then return immediately.
+ if (_status == Idle || _status == SwitchedOut) {
+ return 0;
+ }
+
drainCount = 0;
fetch.drain();
decode.drain();