summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXu Zhang <423756212@qq.com>2025-03-26 09:44:12 +0800
committerTom Rini <trini@konsulko.com>2025-04-10 20:55:39 -0600
commit7c9f8680c16e7a0e1d2afc6c2542e2555eb6bb3c (patch)
tree1ee3872508cdb1a9dfd13f29c09bfa2cab4b5285
parent82f5ce11e669d86ac08e6ba800d4a97ad734665b (diff)
armv8: start.S: Subordinate CPUs psci setup vector
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]
-rw-r--r--arch/arm/cpu/armv8/start.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv8/start.S b/arch/arm/cpu/armv8/start.S
index d3a8a7c4787..829a620faeb 100644
--- a/arch/arm/cpu/armv8/start.S
+++ b/arch/arm/cpu/armv8/start.S
@@ -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