diff options
author | Kevin Lim <ktlim@umich.edu> | 2006-11-06 13:27:45 -0500 |
---|---|---|
committer | Kevin Lim <ktlim@umich.edu> | 2006-11-06 13:27:45 -0500 |
commit | 652281a61c6be7210b575e50566e7efdc82ab6ba (patch) | |
tree | ee9532bc451a62a5cc68cb41646794f5165fe14a /src/cpu/base.hh | |
parent | 257e09d62622676b84b5166854850024a5f72bcc (diff) | |
download | gem5-652281a61c6be7210b575e50566e7efdc82ab6ba.tar.xz |
Clean up clock phase drift code a bit.
src/cpu/base.cc:
Move clock phase drift code to the base CPU so that any CPU model can use it.
src/cpu/base.hh:
Added two functions to help get the next cycle the CPU should be scheduled.
src/cpu/simple/atomic.cc:
src/cpu/simple/timing.cc:
Use the function now in BaseCPU.
--HG--
extra : convert_revision : 444494b66ffc85fc473c23f57683c5f9458ad80c
Diffstat (limited to 'src/cpu/base.hh')
-rw-r--r-- | src/cpu/base.hh | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/cpu/base.hh b/src/cpu/base.hh index 75e0d86af..df665ed23 100644 --- a/src/cpu/base.hh +++ b/src/cpu/base.hh @@ -73,6 +73,20 @@ class BaseCPU : public MemObject inline Tick cycles(int numCycles) const { return clock * numCycles; } inline Tick curCycle() const { return curTick / clock; } + /** The next cycle the CPU should be scheduled, given a cache + * access or quiesce event returning on this cycle. This function + * may return curTick if the CPU should run on the current cycle. + */ + Tick nextCycle(); + + /** The next cycle the CPU should be scheduled, given a cache + * access or quiesce event returning on the given Tick. This + * function may return curTick if the CPU should run on the + * current cycle. + * @param begin_tick The tick that the event is completing on. + */ + Tick nextCycle(Tick begin_tick); + #if FULL_SYSTEM protected: uint64_t interrupts[TheISA::NumInterruptLevels]; |