Commit 4ebfa323 authored by Marc Zyngier's avatar Marc Zyngier
Browse files

KVM: arm64: pkvm: Move error handling to the end of kvm_hyp_cpu_entry



We currently handle CPUs having booted at EL1 in the middle of
the kvm_hyp_cpu_entry function. Not only this adversely affects
readability, but this is also at a bizarre spot should more
error handling be added (which we're about to do).

Move the WFE/WFI loop to the end of the function and fix a comment.

Reviewed-by: default avatarFuad Tabba <tabba@google.com>
Tested-by: default avatarFuad Tabba <tabba@google.com>
Link: https://patch.msgid.link/20260321212419.2803972-2-maz@kernel.org


Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
parent f338e773
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -201,14 +201,9 @@ SYM_CODE_START_LOCAL(__kvm_hyp_init_cpu)
	/* Check that the core was booted in EL2. */
	mrs	x0, CurrentEL
	cmp	x0, #CurrentEL_EL2
	b.eq	2f

	/* The core booted in EL1. KVM cannot be initialized on it. */
1:	wfe
	wfi
	b	1b
	b.ne	1f

2:	msr	SPsel, #1			// We want to use SP_EL{1,2}
	msr	SPsel, #1			// We want to use SP_EL2

	init_el2_hcr	0

@@ -222,6 +217,11 @@ SYM_CODE_START_LOCAL(__kvm_hyp_init_cpu)
	mov	x0, x29
	ldr	x1, =kvm_host_psci_cpu_entry
	br	x1

	// The core booted in EL1. KVM cannot be initialized on it.
1:	wfe
	wfi
	b	1b
SYM_CODE_END(__kvm_hyp_init_cpu)

SYM_CODE_START(__kvm_handle_stub_hvc)