KVM: selftests: x86: Use host's native hypercall instruction in kvm_hypercall()
authorVishal Annapurve <vannapurve@google.com>
Wed, 11 Jan 2023 00:44:45 +0000 (00:44 +0000)
committerSean Christopherson <seanjc@google.com>
Tue, 24 Jan 2023 18:06:33 +0000 (10:06 -0800)
commitea25ace7710b918fe49647350d4dee363563908f
treefc1eaec302b3dd749ebca471b2a1fc61b14d9074
parente6df2ae3f57c6bfab29e767796ce8d4796a84ebb
KVM: selftests: x86: Use host's native hypercall instruction in kvm_hypercall()

Use the host CPU's native hypercall instruction, i.e. VMCALL vs. VMMCALL,
in kvm_hypercall(), as relying on KVM to patch in the native hypercall on
a #UD for the "wrong" hypercall requires KVM_X86_QUIRK_FIX_HYPERCALL_INSN
to be enabled and flat out doesn't work if guest memory is encrypted with
a private key, e.g. for SEV VMs.

Suggested-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: David Matlack <dmatlack@google.com>
Signed-off-by: Vishal Annapurve <vannapurve@google.com>
Link: https://lore.kernel.org/r/20230111004445.416840-4-vannapurve@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
tools/testing/selftests/kvm/lib/x86_64/processor.c