summaryrefslogtreecommitdiff
path: root/src/dev
diff options
context:
space:
mode:
Diffstat (limited to 'src/dev')
-rw-r--r--src/dev/arm/timer_cpulocal.cc22
-rw-r--r--src/dev/arm/timer_cpulocal.hh3
2 files changed, 13 insertions, 12 deletions
diff --git a/src/dev/arm/timer_cpulocal.cc b/src/dev/arm/timer_cpulocal.cc
index 84bc12aa9..458df0674 100644
--- a/src/dev/arm/timer_cpulocal.cc
+++ b/src/dev/arm/timer_cpulocal.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2011 ARM Limited
+ * Copyright (c) 2010-2013 ARM Limited
* All rights reserved
*
* The license below extends only to copyright in the software and shall
@@ -58,7 +58,6 @@ CpuLocalTimer::CpuLocalTimer(Params *p)
localTimer[i].parent = this;
localTimer[i].intNumTimer = p->int_num_timer;
localTimer[i].intNumWatchdog = p->int_num_watchdog;
- localTimer[i].clock = clock;
localTimer[i].cpuNum = i;
}
pioSize = 0x38;
@@ -104,9 +103,11 @@ CpuLocalTimer::Timer::read(PacketPtr pkt, Addr daddr)
break;
case TimerCounterReg:
DPRINTF(Timer, "Event schedule for timer %d, clock=%d, prescale=%d\n",
- timerZeroEvent.when(), clock, timerControl.prescalar);
+ timerZeroEvent.when(), parent->clockPeriod(),
+ timerControl.prescalar);
time = timerZeroEvent.when() - curTick();
- time = time / clock / power(16, timerControl.prescalar);
+ time = time / parent->clockPeriod() /
+ power(16, timerControl.prescalar);
DPRINTF(Timer, "-- returning counter at %d\n", time);
pkt->set<uint32_t>(time);
break;
@@ -120,10 +121,13 @@ CpuLocalTimer::Timer::read(PacketPtr pkt, Addr daddr)
pkt->set<uint32_t>(watchdogLoadValue);
break;
case WatchdogCounterReg:
- DPRINTF(Timer, "Event schedule for watchdog %d, clock=%d, prescale=%d\n",
- watchdogZeroEvent.when(), clock, watchdogControl.prescalar);
+ DPRINTF(Timer,
+ "Event schedule for watchdog %d, clock=%d, prescale=%d\n",
+ watchdogZeroEvent.when(), parent->clockPeriod(),
+ watchdogControl.prescalar);
time = watchdogZeroEvent.when() - curTick();
- time = time / clock / power(16, watchdogControl.prescalar);
+ time = time / parent->clockPeriod() /
+ power(16, watchdogControl.prescalar);
DPRINTF(Timer, "-- returning counter at %d\n", time);
pkt->set<uint32_t>(time);
break;
@@ -249,7 +253,7 @@ CpuLocalTimer::Timer::restartTimerCounter(uint32_t val)
if (!timerControl.enable)
return;
- Tick time = clock * power(16, timerControl.prescalar);
+ Tick time = parent->clockPeriod() * power(16, timerControl.prescalar);
time *= val;
if (timerZeroEvent.scheduled()) {
@@ -267,7 +271,7 @@ CpuLocalTimer::Timer::restartWatchdogCounter(uint32_t val)
if (!watchdogControl.enable)
return;
- Tick time = clock * power(16, watchdogControl.prescalar);
+ Tick time = parent->clockPeriod() * power(16, watchdogControl.prescalar);
time *= val;
if (watchdogZeroEvent.scheduled()) {
diff --git a/src/dev/arm/timer_cpulocal.hh b/src/dev/arm/timer_cpulocal.hh
index 086dc1c63..f53f5bc25 100644
--- a/src/dev/arm/timer_cpulocal.hh
+++ b/src/dev/arm/timer_cpulocal.hh
@@ -103,9 +103,6 @@ class CpuLocalTimer : public BasicPioDevice
/** Cpu this timer is attached to */
uint32_t cpuNum;
- /** Number of ticks in a clock input */
- Tick clock;
-
/** Control register as specified above */
TimerCtrl timerControl;
WatchdogCtrl watchdogControl;