2c2
< * Copyright (c) 2012 ARM Limited
---
> * Copyright (c) 2012-2013 ARM Limited
51a52
> #include "sim/clock_domain.hh"
91c92
< tick += clock;
---
> tick += clockPeriod();
101c102
< Cycles elapsedCycles(divCeil(curTick() - tick, clock));
---
> Cycles elapsedCycles(divCeil(curTick() - tick, clockPeriod()));
103c104
< tick += elapsedCycles * clock;
---
> tick += elapsedCycles * clockPeriod();
106,107c107,110
< // Clock period in ticks
< Tick clock;
---
> /**
> * The clock domain this clocked object belongs to
> */
> ClockDomain &clockDomain;
112c115
< * Create a clocked object and set the clock based on the
---
> * Create a clocked object and set the clock domain based on the
116c119
< SimObject(p), tick(0), cycle(0), clock(p->clock)
---
> SimObject(p), tick(0), cycle(0), clockDomain(*p->clk_domain)
118,120d120
< if (clock == 0) {
< fatal("%s has a clock period of zero\n", name());
< }
135c135
< Cycles elapsedCycles(divCeil(curTick(), clock));
---
> Cycles elapsedCycles(divCeil(curTick(), clockPeriod()));
137c137
< tick = elapsedCycles * clock;
---
> tick = elapsedCycles * clockPeriod();
157c157
< return tick + clock * cycles;
---
> return tick + clockPeriod() * cycles;
184c184,187
< inline uint64_t frequency() const { return SimClock::Frequency / clock; }
---
> inline uint64_t frequency() const
> {
> return SimClock::Frequency / clockPeriod();
> }
186c189,192
< inline Tick clockPeriod() const { return clock; }
---
> inline Tick clockPeriod() const
> {
> return clockDomain.clockPeriod();
> }
189c195
< { return Cycles(t / clock); }
---
> { return Cycles(t / clockPeriod()); }