diff --git a/src/arch/arm/kvm/arm_cpu.cc b/src/arch/arm/kvm/arm_cpu.cc index 80576a25a5..24f7be8b2c 100644 --- a/src/arch/arm/kvm/arm_cpu.cc +++ b/src/arch/arm/kvm/arm_cpu.cc @@ -45,6 +45,7 @@ #include #include +#include "arch/arm/interrupts.hh" #include "arch/registers.hh" #include "cpu/kvm/base.hh" #include "debug/Kvm.hh" @@ -270,8 +271,9 @@ ArmKvmCPU::startup() Tick ArmKvmCPU::kvmRun(Tick ticks) { - bool simFIQ(interrupts[0]->checkRaw(INT_FIQ)); - bool simIRQ(interrupts[0]->checkRaw(INT_IRQ)); + auto interrupt = static_cast(interrupts[0]); + const bool simFIQ(interrupt->checkRaw(INT_FIQ)); + const bool simIRQ(interrupt->checkRaw(INT_IRQ)); if (fiqAsserted != simFIQ) { fiqAsserted = simFIQ; diff --git a/src/arch/arm/kvm/base_cpu.cc b/src/arch/arm/kvm/base_cpu.cc index 765965092d..c99e853a3a 100644 --- a/src/arch/arm/kvm/base_cpu.cc +++ b/src/arch/arm/kvm/base_cpu.cc @@ -41,6 +41,7 @@ #include +#include "arch/arm/interrupts.hh" #include "debug/KvmInt.hh" #include "params/BaseArmKvmCPU.hh" @@ -88,8 +89,9 @@ BaseArmKvmCPU::startup() Tick BaseArmKvmCPU::kvmRun(Tick ticks) { - const bool simFIQ(interrupts[0]->checkRaw(INT_FIQ)); - const bool simIRQ(interrupts[0]->checkRaw(INT_IRQ)); + auto interrupt = static_cast(interrupts[0]); + const bool simFIQ(interrupt->checkRaw(INT_FIQ)); + const bool simIRQ(interrupt->checkRaw(INT_IRQ)); if (!vm.hasKernelIRQChip()) { if (fiqAsserted != simFIQ) {