207c207,215
< case MISCREG_ICC_IGRPEN1_EL3:
---
> case MISCREG_ICC_IGRPEN1_EL3: {
> ICC_IGRPEN1_EL3 igrp_el3 = 0;
> igrp_el3.EnableGrp1S = ((ICC_IGRPEN1_EL1)isa->readMiscRegNoEffect(
> MISCREG_ICC_IGRPEN1_EL1_S)).Enable;
>
> igrp_el3.EnableGrp1NS = ((ICC_IGRPEN1_EL1)isa->readMiscRegNoEffect(
> MISCREG_ICC_IGRPEN1_EL1_NS)).Enable;
>
> value = igrp_el3;
208a217
> }
1347,1363d1355
< if (haveEL(EL3)) {
< ICC_IGRPEN1_EL1 icc_igrpen1_el1 = val;
< ICC_IGRPEN1_EL3 icc_igrpen1_el3 =
< isa->readMiscRegNoEffect(MISCREG_ICC_IGRPEN1_EL3);
<
< if (inSecureState()) {
< // Enable is RW alias of ICC_IGRPEN1_EL3.EnableGrp1S
< icc_igrpen1_el3.EnableGrp1S = icc_igrpen1_el1.Enable;
< } else {
< // Enable is RW alias of ICC_IGRPEN1_EL3.EnableGrp1NS
< icc_igrpen1_el3.EnableGrp1NS = icc_igrpen1_el1.Enable;
< }
<
< isa->setMiscRegNoEffect(MISCREG_ICC_IGRPEN1_EL3,
< icc_igrpen1_el3);
< }
<
1384,1385d1375
< ICC_IGRPEN1_EL1 icc_igrpen1_el1 =
< isa->readMiscRegNoEffect(MISCREG_ICC_IGRPEN1_EL1);
1387,1396c1377,1381
< if (inSecureState()) {
< // ICC_IGRPEN1_EL1.Enable is RW alias of EnableGrp1S
< icc_igrpen1_el1.Enable = icc_igrpen1_el3.EnableGrp1S;
< } else {
< // ICC_IGRPEN1_EL1.Enable is RW alias of EnableGrp1NS
< icc_igrpen1_el1.Enable = icc_igrpen1_el3.EnableGrp1NS;
< }
<
< isa->setMiscRegNoEffect(MISCREG_ICC_IGRPEN1_EL1, icc_igrpen1_el1);
< break;
---
> isa->setMiscRegNoEffect(
> MISCREG_ICC_IGRPEN1_EL1_S, icc_igrpen1_el3.EnableGrp1S);
> isa->setMiscRegNoEffect(
> MISCREG_ICC_IGRPEN1_EL1_NS, icc_igrpen1_el3.EnableGrp1NS);
> return;