diff options
author | Nathan Binkert <binkertn@umich.edu> | 2007-06-09 23:01:47 -0700 |
---|---|---|
committer | Nathan Binkert <binkertn@umich.edu> | 2007-06-09 23:01:47 -0700 |
commit | fc4ab050b4940138a4288c416f3bfa9dc442c7b6 (patch) | |
tree | 473eb9746e4345cfe11c9591a113f821a7253b8a | |
parent | 11f1c8dd3eb769b39939eafedc7155ad36701a7e (diff) | |
download | gem5-fc4ab050b4940138a4288c416f3bfa9dc442c7b6.tar.xz |
Add a startup function that will fast forward to the right clock edge
using a divide in order to not loop forever after resuming from a checkpoint
--HG--
extra : convert_revision : 4bbc70b1be4e5c4ed99d4f88418ab620d5ce475a
-rw-r--r-- | src/mem/bus.cc | 7 | ||||
-rw-r--r-- | src/mem/bus.hh | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/mem/bus.cc b/src/mem/bus.cc index 1f96115b8..13e545064 100644 --- a/src/mem/bus.cc +++ b/src/mem/bus.cc @@ -605,6 +605,13 @@ Bus::drain(Event * de) } } +void +Bus::startup() +{ + if (tickNextIdle < curTick) + tickNextIdle = (curTick / clock) * clock + clock; +} + BEGIN_DECLARE_SIM_OBJECT_PARAMS(Bus) Param<int> bus_id; diff --git a/src/mem/bus.hh b/src/mem/bus.hh index 5dd98c07e..ee647e20a 100644 --- a/src/mem/bus.hh +++ b/src/mem/bus.hh @@ -267,6 +267,7 @@ class Bus : public MemObject virtual void deletePortRefs(Port *p); virtual void init(); + virtual void startup(); unsigned int drain(Event *de); |