]> Git Repo - J-linux.git/blobdiff - drivers/firmware/psci/psci.c
Merge tag 'trace-v5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[J-linux.git] / drivers / firmware / psci / psci.c
index f5fc429cae3f78a978697567296ca983c1da8ebd..f5bd0dcbbb1c28b6c585a999bdce49fbb8b91f08 100644 (file)
@@ -23,6 +23,7 @@
 
 #include <asm/cpuidle.h>
 #include <asm/cputype.h>
+#include <asm/hypervisor.h>
 #include <asm/system_misc.h>
 #include <asm/smp_plat.h>
 #include <asm/suspend.h>
@@ -325,8 +326,9 @@ static int __init psci_features(u32 psci_func_id)
 static int psci_suspend_finisher(unsigned long state)
 {
        u32 power_state = state;
+       phys_addr_t pa_cpu_resume = __pa_symbol(function_nocfi(cpu_resume));
 
-       return psci_ops.cpu_suspend(power_state, __pa_symbol(cpu_resume));
+       return psci_ops.cpu_suspend(power_state, pa_cpu_resume);
 }
 
 int psci_cpu_suspend_enter(u32 state)
@@ -344,8 +346,10 @@ int psci_cpu_suspend_enter(u32 state)
 
 static int psci_system_suspend(unsigned long unused)
 {
+       phys_addr_t pa_cpu_resume = __pa_symbol(function_nocfi(cpu_resume));
+
        return invoke_psci_fn(PSCI_FN_NATIVE(1_0, SYSTEM_SUSPEND),
-                             __pa_symbol(cpu_resume), 0, 0);
+                             pa_cpu_resume, 0, 0);
 }
 
 static int psci_system_suspend_enter(suspend_state_t state)
@@ -498,6 +502,7 @@ static int __init psci_probe(void)
                psci_init_cpu_suspend();
                psci_init_system_suspend();
                psci_init_system_reset2();
+               kvm_init_hyp_services();
        }
 
        return 0;
This page took 0.024214 seconds and 4 git commands to generate.