Commit d6c20d19 authored by Sean Christopherson's avatar Sean Christopherson
Browse files

KVM: SVM: Assert that Hyper-V's HV_SVM_EXITCODE_ENL == SVM_EXIT_SW



Add a build-time assertiont that Hyper-V's "enlightened" exit code is that,
same as the AMD-defined "Reserved for Host" exit code, mostly to help
readers connect the dots and understand why synthesizing a software-defined
exit code is safe/ok.

Reviewed-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
Link: https://patch.msgid.link/20251230211347.4099600-9-seanjc@google.com


Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
parent 1e3dddaf
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -10,6 +10,12 @@ void svm_hv_inject_synthetic_vmexit_post_tlb_flush(struct kvm_vcpu *vcpu)
{
	struct vcpu_svm *svm = to_svm(vcpu);

	/*
	 * The exit code used by Hyper-V for software-defined exits is reserved
	 * by AMD specifically for such use cases.
	 */
	BUILD_BUG_ON(HV_SVM_EXITCODE_ENL != SVM_EXIT_SW);

	svm->vmcb->control.exit_code = HV_SVM_EXITCODE_ENL;
	svm->vmcb->control.exit_info_1 = HV_SVM_ENL_EXITCODE_TRAP_AFTER_FLUSH;
	svm->vmcb->control.exit_info_2 = 0;