armv8: start.S: Subordinate CPUs psci setup vector
authorXu Zhang <423756212@qq.com>
Wed, 26 Mar 2025 01:44:12 +0000 (09:44 +0800)
committerTom Rini <trini@konsulko.com>
Fri, 11 Apr 2025 02:55:39 +0000 (20:55 -0600)
As current design, only Manager CPU called armv8_setup_psci() before
jump to next stage(such as Linux Kernel), Subordinate CPUs also need
setup psci vector to handle trap request which comes from higher EL
level.

Signed-off-by: Xu Zhang <423756212@qq.com>
[trini: Guard with !CONFIG_XPL_BUILD check]

arch/arm/cpu/armv8/start.S

index d3a8a7c..829a620 100644 (file)
@@ -334,6 +334,9 @@ WEAK(lowlevel_init)
        /*
         * All slaves will enter EL2 and optionally EL1.
         */
+#if defined(CONFIG_ARMV8_PSCI) && !defined(CONFIG_XPL_BUILD)
+        bl      psci_setup_vectors
+#endif
        adr     x4, lowlevel_in_el2
        ldr     x5, =ES_TO_AARCH64
        bl      armv8_switch_to_el2