BaseInterrupts don't have a checkRaw method.
This was breaking gem5 compilation on a Arm machine
Change-Id: I8717b1bcf64ed14e8a0f63a9dcaca6041dbea4d3
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25431
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
#include <cerrno>
#include <memory>
+#include "arch/arm/interrupts.hh"
#include "arch/registers.hh"
#include "cpu/kvm/base.hh"
#include "debug/Kvm.hh"
Tick
ArmKvmCPU::kvmRun(Tick ticks)
{
- bool simFIQ(interrupts[0]->checkRaw(INT_FIQ));
- bool simIRQ(interrupts[0]->checkRaw(INT_IRQ));
+ auto interrupt = static_cast<ArmISA::Interrupts *>(interrupts[0]);
+ const bool simFIQ(interrupt->checkRaw(INT_FIQ));
+ const bool simIRQ(interrupt->checkRaw(INT_IRQ));
if (fiqAsserted != simFIQ) {
fiqAsserted = simFIQ;
#include <linux/kvm.h>
+#include "arch/arm/interrupts.hh"
#include "debug/KvmInt.hh"
#include "params/BaseArmKvmCPU.hh"
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<ArmISA::Interrupts *>(interrupts[0]);
+ const bool simFIQ(interrupt->checkRaw(INT_FIQ));
+ const bool simIRQ(interrupt->checkRaw(INT_IRQ));
if (!vm.hasKernelIRQChip()) {
if (fiqAsserted != simFIQ) {