Skip to content

Commit 8162291

Browse files
quic-egmccarlescufi
authored andcommitted
arch/arm64: update gicv3 sre enablement
Fix writing of ICC_SRE_EL3 to or-in bits to align with original intent to read-modify-write this register. Also disable FIQ and IRQ bypass so interrupt delivery occurs through GIC. Platforms may choose to override this behavior in z_arm64_el3_plat_init implementations. Remove ICC_SRE_EL3 config from viper and qemu since this is now handled in the arm64 arch core. Signed-off-by: Eugene Cohen <[email protected]>
1 parent f71b3ee commit 8162291

File tree

4 files changed

+4
-28
lines changed

4 files changed

+4
-28
lines changed

arch/arm64/core/reset.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,10 @@ void z_arm64_el3_init(void)
8989

9090
#if defined(CONFIG_GIC_V3)
9191
reg = read_sysreg(ICC_SRE_EL3);
92-
reg = (ICC_SRE_ELx_SRE_BIT | /* System register interface is used */
93-
ICC_SRE_EL3_EN_BIT); /* Enables lower Exception level access to ICC_SRE_EL1 */
92+
reg |= (ICC_SRE_ELx_DFB_BIT | /* Disable FIQ bypass */
93+
ICC_SRE_ELx_DIB_BIT | /* Disable IRQ bypass */
94+
ICC_SRE_ELx_SRE_BIT | /* System register interface is used */
95+
ICC_SRE_EL3_EN_BIT); /* Enables lower Exception level access to ICC_SRE_EL1 */
9496
write_sysreg(reg, ICC_SRE_EL3);
9597
#endif
9698

soc/arm64/bcm_vk/viper/plat_core.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,6 @@ void z_arm64_el3_plat_init(void)
2121
ACTLR_EL3_CPUECTLR_BIT);
2222
write_actlr_el3(reg);
2323

24-
reg = (ICC_SRE_ELx_DFB_BIT | ICC_SRE_ELx_DIB_BIT |
25-
ICC_SRE_ELx_SRE_BIT | ICC_SRE_EL3_EN_BIT);
26-
27-
write_sysreg(reg, ICC_SRE_EL3);
28-
2924
reg = read_sysreg(CORTEX_A72_L2ACTLR_EL1);
3025
reg |= CORTEX_A72_L2ACTLR_DISABLE_ACE_SH_OR_CHI_BIT;
3126
write_sysreg(reg, CORTEX_A72_L2ACTLR_EL1);

soc/arm64/qemu_cortex_a53/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,3 @@
22
# SPDX-License-Identifier: Apache-2.0
33

44
zephyr_library_sources_ifdef(CONFIG_ARM_MMU mmu_regions.c)
5-
6-
zephyr_sources_ifdef(CONFIG_SOC_QEMU_CORTEX_A53 plat_core.c)

soc/arm64/qemu_cortex_a53/plat_core.c

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)