diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2012-08-21 05:49:09 -0400 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2012-08-21 05:49:09 -0400 |
commit | 016593f2e91564dc9d675ae42dfd37059f9b5589 (patch) | |
tree | 9eed2d90618a4eccbd6b3c743c4d7545bfb935dd /src/cpu | |
parent | 452217817f421a64bc022a5977e795229af45b30 (diff) | |
download | gem5-016593f2e91564dc9d675ae42dfd37059f9b5589.tar.xz |
Clock: Make Tick unsigned and remove UTick
This patch makes the Tick unsigned and removes the UTick typedef. The
ticks should never be negative, and there was only one major issue
with removing it, caused by the o3 CPU using a -1 as an initial value.
The patch has no impact on any regressions.
Diffstat (limited to 'src/cpu')
-rw-r--r-- | src/cpu/o3/cpu.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cpu/o3/cpu.cc b/src/cpu/o3/cpu.cc index 64c54e26a..71d04740c 100644 --- a/src/cpu/o3/cpu.cc +++ b/src/cpu/o3/cpu.cc @@ -388,7 +388,7 @@ FullO3CPU<Impl>::FullO3CPU(DerivO3CPUParams *params) lastRunningCycle = curTick(); - lastActivatedCycle = -1; + lastActivatedCycle = 0; #if 0 // Give renameMap & rename stage access to the freeList; for (ThreadID tid = 0; tid < numThreads; tid++) @@ -752,7 +752,9 @@ FullO3CPU<Impl>::activateContext(ThreadID tid, int delay) activateThread(tid); } - if (lastActivatedCycle < curTick()) { + // If we are time 0 or if the last activation time is in the past, + // schedule the next tick and wake up the fetch unit + if (lastActivatedCycle == 0 || lastActivatedCycle < curTick()) { scheduleTickEvent(delay); // Be sure to signal that there's some activity so the CPU doesn't |