Re: [PATCH v4 6/6] KVM: x86: Refactor __kvm_emulate_hypercall() into a macro

From: Sean Christopherson
Date: Tue Dec 10 2024 - 15:04:09 EST


On Tue, Dec 10, 2024, Paolo Bonzini wrote:
> On 11/28/24 09:38, Adrian Hunter wrote:
> >
> > For TDX, there is an RFC relating to using descriptively
> > named parameters instead of register names for tdh_vp_enter():
> >
> > https://lore.kernel.org/all/fa817f29-e3ba-4c54-8600-e28cf6ab1953@xxxxxxxxx/
> >
> > Please do give some feedback on that approach. Note we
> > need both KVM and x86 maintainer approval for SEAMCALL
> > wrappers like tdh_vp_enter().
> >
> > As proposed, that ends up with putting the values back into
> > vcpu->arch.regs[] for __kvm_emulate_hypercall() which is not
> > pretty:
>
> If needed we can revert this patch, it's not a big problem.

I don't care terribly about the SEAMCALL interfaces. I have opinions on what
would I think would be ideal, but I can live with whatever.

What I do deeply care about though is consistency within KVM, across vendors and
VM flavors. And that means that guest registers absolutely need to be captured in
vcpu->arch.regs[]. TDX already requires too much special cased code in KVM, there
is zero reason to make TDX even more different and thus more difficult to maintain.