__hyp_pa(init_params), 0);
}
- asmlinkage void __noreturn __kvm_host_psci_cpu_entry(bool is_cpu_on)
+ static void __noreturn __kvm_host_psci_cpu_entry(unsigned long pc, unsigned long r0)
{
- struct psci_boot_args *boot_args;
- struct kvm_cpu_context *host_ctxt;
+ struct kvm_cpu_context *host_ctxt = host_data_ptr(host_ctxt);
- host_ctxt = host_data_ptr(host_ctxt);
+ trace_hyp_enter(host_ctxt, HYP_REASON_PSCI);
+
- if (is_cpu_on)
- boot_args = this_cpu_ptr(&cpu_on_args);
- else
- boot_args = this_cpu_ptr(&suspend_args);
-
- cpu_reg(host_ctxt, 0) = boot_args->r0;
- write_sysreg_el2(boot_args->pc, SYS_ELR);
-
- if (is_cpu_on)
- release_boot_args(boot_args);
+ cpu_reg(host_ctxt, 0) = r0;
+ write_sysreg_el2(pc, SYS_ELR);
write_sysreg_el1(INIT_SCTLR_EL1_MMU_OFF, SYS_SCTLR);
write_sysreg(INIT_PSTATE_EL1, SPSR_EL2);