diff --git a/src/arch/arm/machine/gic_500.c b/src/arch/arm/machine/gic_500.c index fc6f0c8f0ac2417b517269b7f66304fa008b275a..d3e212fd41c31f60d5a1b28b09affb25d9350723 100644 --- a/src/arch/arm/machine/gic_500.c +++ b/src/arch/arm/machine/gic_500.c @@ -216,7 +216,7 @@ BOOT_CODE static void gicr_locate_interface(void) } -BOOT_CODE static void cpu_iface_init(void) +BOOT_CODE static void gicr_init(void) { int i; uint32_t priority; @@ -245,6 +245,10 @@ BOOT_CODE static void cpu_iface_init(void) gic_rdist_sgi_ppi_map[CURRENT_CPU_INDEX()]->icfgrn_rw = 0x0; gicv3_redist_wait_for_rwp(); +} + +BOOT_CODE static void cpu_iface_init(void) +{ /* Enable system registers */ gicv3_enable_sre(); @@ -277,6 +281,7 @@ BOOT_CODE void cpu_initLocalIRQController(void) mpidr_map[CURRENT_CPU_INDEX()] = mpidr; + gicr_init(); cpu_iface_init(); }