diff options
author | Kevin Lim <ktlim@umich.edu> | 2006-08-24 17:29:34 -0400 |
---|---|---|
committer | Kevin Lim <ktlim@umich.edu> | 2006-08-24 17:29:34 -0400 |
commit | 74e8abd37ecd637a607f90e36aed1a3a16eea7da (patch) | |
tree | 34f7eae768f3d5bb0fd3a54db8f709f80fea8f22 /sim | |
parent | 5da3f70560cddce24969840dd97f82b03428ba67 (diff) | |
download | gem5-74e8abd37ecd637a607f90e36aed1a3a16eea7da.tar.xz |
Switch out fixups for the CPUs.
cpu/cpu_exec_context.cc:
Be sure to switch over the kernel stats so things don't get messed up. This may lead to weird stats files for sampling runs (detailed stats should be correct, regardless of which kernel stats this is defined on).
cpu/o3/cpu.cc:
Updates for switching out. Also include a bunch of debug info if needed.
cpu/o3/fetch_impl.hh:
Switch out properly.
cpu/o3/inst_queue.hh:
cpu/o3/inst_queue_impl.hh:
Comment out unused stats (they made the stats file huge).
cpu/o3/lsq_unit.hh:
cpu/o3/lsq_unit_impl.hh:
Add in new stat.
cpu/o3/rename.hh:
Fix up for switching out.
cpu/o3/rename_impl.hh:
Fix up for switching out. Be sure to mark any Misc regs as ready if their renamed inst got squashed from being switched out.
cpu/ozone/cpu_impl.hh:
cpu/simple/cpu.cc:
Switch out fixup.
sim/eventq.hh:
Make CPU switching more immediate.
Also comment out the assertion, as it doesn't apply if we're putting it on an inst-based queue.
--HG--
extra : convert_revision : f40ed40604738993f061e0c628810ff37a920562
Diffstat (limited to 'sim')
-rw-r--r-- | sim/eventq.hh | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sim/eventq.hh b/sim/eventq.hh index 5fc73bb53..b9a0abc12 100644 --- a/sim/eventq.hh +++ b/sim/eventq.hh @@ -43,6 +43,7 @@ #include "sim/host.hh" // for Tick #include "base/fast_alloc.hh" +#include "base/misc.hh" #include "base/trace.hh" #include "sim/serialize.hh" @@ -131,7 +132,7 @@ class Event : public Serializable, public FastAlloc /// same cycle (after unscheduling the old CPU's tick event). /// The switch needs to come before any tick events to make /// sure we don't tick both CPUs in the same cycle. - CPU_Switch_Pri = 31, + CPU_Switch_Pri = -31, /// Serailization needs to occur before tick events also, so /// that a serialize/unserialize is identical to an on-line @@ -344,7 +345,8 @@ inline void Event::schedule(Tick t) { assert(!scheduled()); - assert(t >= curTick); +// if (t < curTick) +// warn("t is less than curTick, ensure you don't want cycles"); setFlags(Scheduled); #if TRACING_ON |