summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2013-01-07 13:05:39 -0500
committerAndreas Hansson <andreas.hansson@arm.com>2013-01-07 13:05:39 -0500
commit921490a0609a1f47fe7add6da551aa70b1707649 (patch)
tree7fb1fb2fd4753f98df819c9d3b482347288f2076
parent490dc30d9620891c54ddcd57c56adf092a71d79b (diff)
downloadgem5-921490a0609a1f47fe7add6da551aa70b1707649.tar.xz
sim: Fatal if a clocked object is set to have a clock of 0
This patch adds a check to the clocked object constructor to ensure it is not configured to have a clock period of 0.
-rw-r--r--src/mem/cache/base.cc4
-rw-r--r--src/sim/clocked_object.hh7
2 files changed, 6 insertions, 5 deletions
diff --git a/src/mem/cache/base.cc b/src/mem/cache/base.cc
index 262573663..d126906d0 100644
--- a/src/mem/cache/base.cc
+++ b/src/mem/cache/base.cc
@@ -81,10 +81,6 @@ BaseCache::BaseCache(const Params *p)
addrRanges(p->addr_ranges.begin(), p->addr_ranges.end()),
system(p->system)
{
- // ensure the clock is not running at an unreasonable clock speed
- if (clock == 1)
- panic("Cache %s has a cycle time of 1 tick. Specify a clock.\n",
- name());
}
void
diff --git a/src/sim/clocked_object.hh b/src/sim/clocked_object.hh
index d9630139a..b0aaa1721 100644
--- a/src/sim/clocked_object.hh
+++ b/src/sim/clocked_object.hh
@@ -46,6 +46,7 @@
#define __SIM_CLOCKED_OBJECT_HH__
#include "base/intmath.hh"
+#include "base/misc.hh"
#include "params/ClockedObject.hh"
#include "sim/core.hh"
#include "sim/sim_object.hh"
@@ -113,7 +114,11 @@ class ClockedObject : public SimObject
*/
ClockedObject(const ClockedObjectParams* p) :
SimObject(p), tick(0), cycle(0), clock(p->clock)
- { }
+ {
+ if (clock == 0) {
+ fatal("%s has a clock period of zero\n", name());
+ }
+ }
/**
* Virtual destructor due to inheritance.