diff -drupN a/arch/arm64/kernel/cpu-reset.h b/arch/arm64/kernel/cpu-reset.h
--- a/arch/arm64/kernel/cpu-reset.h	2018-08-06 17:23:04.000000000 +0300
+++ b/arch/arm64/kernel/cpu-reset.h	2022-06-12 05:28:14.000000000 +0300
@@ -24,7 +24,7 @@ static inline void __noreturn cpu_soft_r
 
 	el2_switch = el2_switch && !is_kernel_in_hyp_mode() &&
 		is_hyp_mode_available();
-	restart = (void *)virt_to_phys(__cpu_soft_restart);
+	restart = (void *)__pa_symbol(__cpu_soft_restart);
 
 	cpu_install_idmap();
 	restart(el2_switch, entry, arg0, arg1, arg2);