break;
// GICv3 regs
case MISCREG_ICC_SGI0R_EL1:
- if (tc->getIsaPtr()->haveGICv3CpuIfc())
- trap_to_hyp = hcr.fmo && el == EL1;
+ {
+ auto *isa = static_cast<ArmISA::ISA *>(tc->getIsaPtr());
+ if (isa->haveGICv3CpuIfc())
+ trap_to_hyp = hcr.fmo && el == EL1;
+ }
break;
case MISCREG_ICC_SGI1R_EL1:
case MISCREG_ICC_ASGI1R_EL1:
- if (tc->getIsaPtr()->haveGICv3CpuIfc())
- trap_to_hyp = hcr.imo && el == EL1;
+ {
+ auto *isa = static_cast<ArmISA::ISA *>(tc->getIsaPtr());
+ if (isa->haveGICv3CpuIfc())
+ trap_to_hyp = hcr.imo && el == EL1;
+ }
break;
default:
break;
unsigned
ArmStaticInst::getCurSveVecLenInBits(ThreadContext *tc)
{
- return tc->getIsaPtr()->getCurSveVecLenInBits(tc);
+ auto *isa = static_cast<ArmISA::ISA *>(tc->getIsaPtr());
+ return isa->getCurSveVecLenInBits(tc);
}
}
int
snsBankedIndex64(MiscRegIndex reg, ThreadContext *tc)
{
+ auto *isa = static_cast<ArmISA::ISA *>(tc->getIsaPtr());
SCR scr = tc->readMiscReg(MISCREG_SCR);
- return tc->getIsaPtr()->snsBankedIndex64(reg, scr.ns);
+ return isa->snsBankedIndex64(reg, scr.ns);
}
/**
break;
// GICv3 regs
case MISCREG_ICC_SGI0R:
- if (tc->getIsaPtr()->haveGICv3CpuIfc())
- trapToHype = hcr.fmo;
+ {
+ auto *isa = static_cast<ArmISA::ISA *>(tc->getIsaPtr());
+ if (isa->haveGICv3CpuIfc())
+ trapToHype = hcr.fmo;
+ }
break;
case MISCREG_ICC_SGI1R:
case MISCREG_ICC_ASGI1R:
- if (tc->getIsaPtr()->haveGICv3CpuIfc())
- trapToHype = hcr.imo;
+ {
+ auto *isa = static_cast<ArmISA::ISA *>(tc->getIsaPtr());
+ if (isa->haveGICv3CpuIfc())
+ trapToHype = hcr.imo;
+ }
break;
// No default action needed
default: