KVM: selftests: restore special vmmcall code layout needed by the harness
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 30 Nov 2022 18:11:47 +0000 (13:11 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 28 Dec 2022 12:18:01 +0000 (07:18 -0500)
commit129c48cde6c9e519d033305649665427c6cac494
tree8d8d7f83e150275eff93c2434f0140619763a55d
parent02d9a04da453984b16f4a585ad808cf961df495e
KVM: selftests: restore special vmmcall code layout needed by the harness

Commit 8fda37cf3d41 ("KVM: selftests: Stuff RAX/RCX with 'safe' values
in vmmcall()/vmcall()", 2022-11-21) broke the svm_nested_soft_inject_test
because it placed a "pop rbp" instruction after vmmcall.  While this is
correct and mimics what is done in the VMX case, this particular test
expects a ud2 instruction right after the vmmcall, so that it can skip
over it in the L1 part of the test.

Inline a suitably-modified version of vmmcall() to restore the
functionality of the test.

Fixes: 8fda37cf3d41 ("KVM: selftests: Stuff RAX/RCX with 'safe' values in vmmcall()/vmcall()"
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20221130181147.9911-1-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tools/testing/selftests/kvm/x86_64/svm_nested_soft_inject_test.c