[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 16/21] i386: track explicit 'hv-*' features enablement/dis

From: Vitaly Kuznetsov
Subject: Re: [PATCH v4 16/21] i386: track explicit 'hv-*' features enablement/disablement
Date: Mon, 22 Feb 2021 11:20:34 +0100

Vitaly Kuznetsov <vkuznets@redhat.com> writes:

> Igor Mammedov <imammedo@redhat.com> writes:
>>> We need to distinguish because that would be sane.
>>> Enlightened VMCS is an extension to VMX, it can't be used without
>>> it. Genuine Hyper-V doesn't have a knob for enabling and disabling it,
>> ...
>>> That bein said, if
>>> guest CPU lacks VMX it is counter-productive to expose EVMCS. However,
>>> there is a problem with explicit enablement: what should
>>> 'hv-passthrough,hv-evmcs' option do? Just silently drop EVMCS? Doesn't
>>> sound sane to me.
>> based on above I'd error out is user asks for unsupported option
>> i.e. no VMX -> no hv-evmcs - if explicitly asked -> error out
> That's what I keep telling you but you don't seem to listen. 'Scratch
> CPU' can't possibly help with this use-case because when you parse 
> 'hv-passthrough,hv-evmcs,vmx=off' you
> 1) "hv-passthrough" -> set EVMCS bit to '1' as it is supported by the
> host.
> 2) 'hv-evmcs' -> keep EVMCS bit '1'
> 3) 'vmx=off' -> you have no idea where EVMCS bit came from.
> We have to remember which options were aquired from the host and which
> were set explicitly by the user. 


could you please comment on the above? In case my line of thought is
correct, and it is impossible to distinguish between e.g.


without a custom parser (written just exactly the way I did in this
version, for example) regardless of when 'hv-passthrough' is
expanded. E.g. we have the exact same problem with
'hv-default,hv-evmcs,-vmx'. I that case I see no point in discussing
'scratch CPUs' idea at this point because it is not going to change
anything at all ('hv_features_on' will stay, custom parsers will stay).

Am I missing something?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]