Gicv3CPUInterface::groupEnabled should check for global enable flags at
distributor level:
- Gicv3Distributor.EnableGrp0
- Gicv3Distributor.EnableGrp1S
- Gicv3Distributor.EnableGrp1NS
Change-Id: I1c855b0e4c2bc8f1cd0a8f086b9450f516177b08
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20617
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
case Gicv3::G0S: {
ICC_IGRPEN0_EL1 icc_igrpen0_el1 =
isa->readMiscRegNoEffect(MISCREG_ICC_IGRPEN0_EL1);
- return icc_igrpen0_el1.Enable;
+ return icc_igrpen0_el1.Enable && distributor->EnableGrp0;
}
case Gicv3::G1S: {
ICC_IGRPEN1_EL1 icc_igrpen1_el1_s =
isa->readMiscRegNoEffect(MISCREG_ICC_IGRPEN1_EL1_S);
- return icc_igrpen1_el1_s.Enable;
+ return icc_igrpen1_el1_s.Enable && distributor->EnableGrp1S;
}
case Gicv3::G1NS: {
ICC_IGRPEN1_EL1 icc_igrpen1_el1_ns =
isa->readMiscRegNoEffect(MISCREG_ICC_IGRPEN1_EL1_NS);
- return icc_igrpen1_el1_ns.Enable;
+ return icc_igrpen1_el1_ns.Enable && distributor->EnableGrp1NS;
}
default: