Commit 87e8e360 authored by Sean Christopherson's avatar Sean Christopherson
Browse files

KVM: SVM: Clobber RAX instead of RBX when discarding spec_ctrl_intercepted



POP @spec_ctrl_intercepted into RAX instead of RBX when discarding it from
the stack so that __svm_sev_es_vcpu_run() doesn't modify any non-volatile
registers.  __svm_sev_es_vcpu_run() doesn't return a value, and RAX is
already are clobbered multiple times in the #VMEXIT path.

This will allowing using the host save area to save/restore non-volatile
registers in __svm_sev_es_vcpu_run().

Reviewed-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
Link: https://lore.kernel.org/r/20240223204233.3337324-5-seanjc@google.com


Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
parent 331282fd
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -350,8 +350,8 @@ SYM_FUNC_START(__svm_sev_es_vcpu_run)
	 */
	UNTRAIN_RET_VM

	/* "Pop" @spec_ctrl_intercepted.  */
	pop %rbx
	/* "Pop" and discard @spec_ctrl_intercepted. */
	pop %rax

	pop %rbx