RE: [PATCH v1 15/23] KVM: nVMX: Add support for the secondary VM exit controls

From: Li, Xin3
Date: Thu Nov 09 2023 - 19:13:03 EST


> > diff --git a/arch/x86/include/asm/hyperv-tlfs.h
> > b/arch/x86/include/asm/hyperv-tlfs.h
> > index 2ff26f53cd62..299554708e37 100644
> > --- a/arch/x86/include/asm/hyperv-tlfs.h
> > +++ b/arch/x86/include/asm/hyperv-tlfs.h
> > @@ -616,6 +616,7 @@ struct hv_enlightened_vmcs {
> > u64 host_ssp;
> > u64 host_ia32_int_ssp_table_addr;
> > u64 padding64_6;
> > + u64 secondary_vm_exit_controls;
> > } __packed;
> > > #define HV_VMX_ENLIGHTENED_CLEAN_FIELD_NONE 0
>
> Hi Xin Li,
>
> The comment at the top of hyperv-tlfs.h says:
> "This file contains definitions from Hyper-V Hypervisor Top-Level Functional
> Specification (TLFS)"
>
> These struct definitions are shared with the hypervisor, so you can't just add fields
> to it.
> Same comment for patch 16.

I tried not to touch any hyperv stuff but hit some problems.

>
> Would FRED work in nested virtualization if the L0 hypervisor does not support it
> (or doesn't know about it)?

I don't think so AFAICT. But I could be wrong, say a VMM implements FRED
completely in software. Otherwise L0 needs to add code to have hardware
to switch FRED context between host and guest, which can't be delayed.

Thanks a lot for your quick review!