Re: [PATCH] x86: kvm: Restrict X86_FEATURE_VMMCALL to x86_64 platform

From: Paolo Bonzini
Date: Wed Aug 01 2018 - 11:27:34 EST


On 01/08/2018 17:21, Brian Gerst wrote:
> On Tue, Jul 31, 2018 at 9:00 AM Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:
>>
>> On 31/07/2018 14:57, tedheadster wrote:
>>>>
>>>> This shouldn't be necessary; for systems that don't have virtualization
>>>> extensions, the comment explains why setting X86_FEATURE_VMMCALL is safe.
>>>>
>>>> But it is also wrong, because you can run a 32-bit kernel as a guest on
>>>> a 64-bit processor, and then it should set X86_FEATURE_VMMCALL because
>>>> the processor has the vmmcall instruction and not Intel's vmcall.
>>>>
>>>
>>> Paolo,
>>> I'm running this on a bare metal machine (no virtualization) with a
>>> 32-bit AMD i486 class cpu. Should the feature be showing up in
>>> /proc/cpuinfo under the 'flags' line? It does on my machine, and it
>>> looked wrong to me.
>>
>> It's a bit silly, but it's not particularly wrong.
>
> Why is there even a specific feature flag for VMMCALL? Isn't
> X86_FEATURE_SVM sufficient to differentiate which opcode to use?

No, X86_FEATURE_SVM is there in the host while X86_FEATURE_VMMCALL is
used in the guest.

Paolo