On Mon, Aug 19, 2019 at 12:28:05AM +0200, Thomas HellstrÃm (VMware) wrote:
Unfortunately we can't use it, because it's unconditionally set on AMD evenAMD sets it because they don't support VMCALL. Nothing stops us from
if the VMware hypervisor
doesn't support it (by version or by configuration).
making that conditional depending on what the hypervisor can/supports.
I'm thinking it would be even cleaner if we use those two flags:
X86_FEATURE_VMMCALL
X86_FEATURE_VMCALL
to denote hw support for either one or the other instruction and switch
accordingly. Just like KVM does.
In your case, the HV would set the preferred flag in
arch/x86/kernel/cpu/vmware.c - just like the others do in their
respective CPU init files - and the alternatives code would switch to it
when it runs.
Or is there more? :)
Thx.