dev-arm: State update when setting MISCREG_ICC_IGRPENx register

This is because by enabling ainterrupt group at the cpu interface, we
need to check if a previously pending interrupt needs to be forwarded to
the PE.
We are doing the same when globally enabling irqs in the distributor
(GICD_CTLR).

Change-Id: I80aeb87b2a58a108de899006d5a2f12eadbe6c2e
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/+/20629
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Giacomo Travaglini
2019-09-02 11:26:15 +01:00
parent 2a818db77a
commit e7c75d2c11

View File

@@ -1321,7 +1321,9 @@ Gicv3CPUInterface::setMiscReg(int misc_reg, RegVal val)
return setMiscReg(MISCREG_ICV_IGRPEN0_EL1, val);
}
break;
isa->setMiscRegNoEffect(MISCREG_ICC_IGRPEN0_EL1, val);
updateDistributor();
return;
}
// Virtual Interrupt Group 0 Enable register
@@ -1360,6 +1362,7 @@ Gicv3CPUInterface::setMiscReg(int misc_reg, RegVal val)
}
setBankedMiscReg(MISCREG_ICC_IGRPEN1_EL1, val);
updateDistributor();
return;
}