diff -drupN a/arch/arm64/kernel/psci.c b/arch/arm64/kernel/psci.c
--- a/arch/arm64/kernel/psci.c	2018-08-06 17:23:04.000000000 +0300
+++ b/arch/arm64/kernel/psci.c	2022-06-12 05:28:14.000000000 +0300
@@ -20,6 +20,7 @@
 #include <linux/smp.h>
 #include <linux/delay.h>
 #include <linux/psci.h>
+#include <linux/mm.h>
 
 #include <uapi/linux/psci.h>
 
@@ -45,7 +46,7 @@ static int __init cpu_psci_cpu_prepare(u
 
 static int cpu_psci_cpu_boot(unsigned int cpu)
 {
-	int err = psci_ops.cpu_on(cpu_logical_map(cpu), __pa(secondary_entry));
+	int err = psci_ops.cpu_on(cpu_logical_map(cpu), __pa_symbol(secondary_entry));
 	if (err)
 		pr_err("failed to boot CPU%d (%d)\n", cpu, err);