gic_v3_cpu_interface.cc (14246:033f20c96440) gic_v3_cpu_interface.cc (14247:818e02fbc795)
1/*
2 * Copyright (c) 2019 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 177 unchanged lines hidden (view full) ---

186
187 // Interrupt Group 1 Enable register EL1
188 case MISCREG_ICC_IGRPEN1:
189 case MISCREG_ICC_IGRPEN1_EL1: {
190 if ((currEL() == EL1) && !inSecureState() && hcr_imo) {
191 return readMiscReg(MISCREG_ICV_IGRPEN1_EL1);
192 }
193
1/*
2 * Copyright (c) 2019 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 177 unchanged lines hidden (view full) ---

186
187 // Interrupt Group 1 Enable register EL1
188 case MISCREG_ICC_IGRPEN1:
189 case MISCREG_ICC_IGRPEN1_EL1: {
190 if ((currEL() == EL1) && !inSecureState() && hcr_imo) {
191 return readMiscReg(MISCREG_ICV_IGRPEN1_EL1);
192 }
193
194 value = readBankedMiscReg(MISCREG_ICC_IGRPEN1_EL1);
194 break;
195 }
196
197 case MISCREG_ICV_IGRPEN1_EL1: {
198 ICH_VMCR_EL2 ich_vmcr_el2 =
199 isa->readMiscRegNoEffect(MISCREG_ICH_VMCR_EL2);
200 value = ich_vmcr_el2.VENG1;
201 break;

--- 1151 unchanged lines hidden (view full) ---

1353 // Enable is RW alias of ICC_IGRPEN1_EL3.EnableGrp1NS
1354 icc_igrpen1_el3.EnableGrp1NS = icc_igrpen1_el1.Enable;
1355 }
1356
1357 isa->setMiscRegNoEffect(MISCREG_ICC_IGRPEN1_EL3,
1358 icc_igrpen1_el3);
1359 }
1360
195 break;
196 }
197
198 case MISCREG_ICV_IGRPEN1_EL1: {
199 ICH_VMCR_EL2 ich_vmcr_el2 =
200 isa->readMiscRegNoEffect(MISCREG_ICH_VMCR_EL2);
201 value = ich_vmcr_el2.VENG1;
202 break;

--- 1151 unchanged lines hidden (view full) ---

1354 // Enable is RW alias of ICC_IGRPEN1_EL3.EnableGrp1NS
1355 icc_igrpen1_el3.EnableGrp1NS = icc_igrpen1_el1.Enable;
1356 }
1357
1358 isa->setMiscRegNoEffect(MISCREG_ICC_IGRPEN1_EL3,
1359 icc_igrpen1_el3);
1360 }
1361
1361 break;
1362 setBankedMiscReg(MISCREG_ICC_IGRPEN1_EL1, val);
1363 return;
1362 }
1363
1364 // Virtual Interrupt Group 1 Enable register
1365 case MISCREG_ICV_IGRPEN1_EL1: {
1366 bool enable = val & 0x1;
1367 ICH_VMCR_EL2 ich_vmcr_el2 =
1368 isa->readMiscRegNoEffect(MISCREG_ICH_VMCR_EL2);
1369 ich_vmcr_el2.VENG1 = enable;

--- 1232 unchanged lines hidden ---
1364 }
1365
1366 // Virtual Interrupt Group 1 Enable register
1367 case MISCREG_ICV_IGRPEN1_EL1: {
1368 bool enable = val & 0x1;
1369 ICH_VMCR_EL2 ich_vmcr_el2 =
1370 isa->readMiscRegNoEffect(MISCREG_ICH_VMCR_EL2);
1371 ich_vmcr_el2.VENG1 = enable;

--- 1232 unchanged lines hidden ---