Re: [PATCH 1/7] hyperv: Detect Nested virtualization support for SVM

From: Sean Christopherson
Date: Thu Apr 08 2021 - 11:24:53 EST


On Thu, Apr 08, 2021, Vineeth Pillai wrote:
> Hi Vitaly,
>
> On 4/8/21 7:06 AM, Vitaly Kuznetsov wrote:
> > - if (ms_hyperv.hints & HV_X64_ENLIGHTENED_VMCS_RECOMMENDED) {
> > + /*
> > + * AMD does not need enlightened VMCS as VMCB is already a
> > + * datastructure in memory.
> > Well, VMCS is also a structure in memory, isn't it? It's just that we
> > don't have a 'clean field' concept for it and we can't use normal memory
> > accesses.

Technically, you can use normal memory accesses, so long as software guarantees
the VMCS isn't resident in the VMCS cache and knows the field offsets for the
underlying CPU. The lack of an architecturally defined layout is the biggest
issue, e.g. tacking on dirty bits through a PV ABI would be trivial.

> Yes, you are right. I was referring to the fact that we cant use normal
> memory accesses, but is a bit mis-worded.

If you slot in "architectural" it will read nicely, i.e. "VMCB is already an
architectural datastructure in memory".