summaryrefslogtreecommitdiff
path: root/src/dev/arm
diff options
context:
space:
mode:
Diffstat (limited to 'src/dev/arm')
-rw-r--r--src/dev/arm/RealView.py2
-rw-r--r--src/dev/arm/generic_timer.cc3
2 files changed, 3 insertions, 2 deletions
diff --git a/src/dev/arm/RealView.py b/src/dev/arm/RealView.py
index 30e498ce1..8b9b4c20d 100644
--- a/src/dev/arm/RealView.py
+++ b/src/dev/arm/RealView.py
@@ -231,7 +231,7 @@ class CpuLocalTimer(BasicPioDevice):
class GenericTimer(SimObject):
type = 'GenericTimer'
cxx_header = "dev/arm/generic_timer.hh"
- system = Param.System(Parent.any, "system")
+ system = Param.ArmSystem(Parent.any, "system")
gic = Param.BaseGic(Parent.any, "GIC to use for interrupting")
# @todo: for now only two timers per CPU is supported, which is the
# normal behaviour when security extensions are disabled.
diff --git a/src/dev/arm/generic_timer.cc b/src/dev/arm/generic_timer.cc
index 173855b88..1b8d917e9 100644
--- a/src/dev/arm/generic_timer.cc
+++ b/src/dev/arm/generic_timer.cc
@@ -234,7 +234,8 @@ GenericTimer::GenericTimer(GenericTimerParams *p)
irqPhys(p->int_phys),
irqVirt(p->int_virt)
{
- dynamic_cast<ArmSystem &>(*p->system).setGenericTimer(this);
+ fatal_if(!p->system, "No system specified, can't instantiate timer.\n");
+ p->system->setGenericTimer(this);
}
void