Re: [V4 PATCH 4/4] KVM: selftests: x86: Invoke kvm hypercall as per host cpu

From: Vishal Annapurve
Date: Tue Jan 10 2023 - 19:18:48 EST


On Mon, Jan 9, 2023 at 10:21 AM Sean Christopherson <seanjc@xxxxxxxxxx> wrote:
>
> KVM: selftests: Use host's native hypercall instruction in kvm_hypercall()
>
> On Wed, Dec 28, 2022, Vishal Annapurve wrote:
> > Invoke vmcall/vmmcall instructions from kvm_hypercall as per host CPU
>
> () for functions, i.e. kvm_hypercall().
>
> > type.
>
> s/type/vendor, "type" is too generic.
>
> > CVMs and current kvm_hyerpcall callers need to execute hypercall
>
> CVM isn't a not ubiquitous acronym. I would avoid it entirely because "CVM"
> doesn't strictly imply memory encryption, e.g. KVM could still patch the guest in
> a pKVM-like implementation.
>
> 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.

Ack, this makes sense.