KVM: SVM: Clobber RAX instead of RBX when discarding spec_ctrl_intercepted
authorSean Christopherson <seanjc@google.com>
Fri, 23 Feb 2024 20:42:29 +0000 (12:42 -0800)
committerSean Christopherson <seanjc@google.com>
Tue, 9 Apr 2024 17:20:29 +0000 (10:20 -0700)
commit87e8e360a05fd29465691aeac179bcf585600c59
treec25f5a7952d14b51a7954d02ffc0f24781951f8f
parent331282fdb15edaf1beb1d27a64d3f65a34d7394d
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: Tom Lendacky <thomas.lendacky@amd.com>
Link: https://lore.kernel.org/r/20240223204233.3337324-5-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/svm/vmenter.S