• Thomas Hellstrom's avatar
    x86/vmware: Add a header file for hypercall definitions · b4dd4f6e
    Thomas Hellstrom authored
    The new header is intended to be used by drivers using the backdoor.
    Follow the KVM example using alternatives self-patching to choose
    between vmcall, vmmcall and io instructions.
    Also define two new CPU feature flags to indicate hypervisor support
    for vmcall- and vmmcall instructions. The new XF86_FEATURE_VMW_VMMCALL
    flag is needed because using XF86_FEATURE_VMMCALL might break QEMU/KVM
    setups using the vmmouse driver. They rely on XF86_FEATURE_VMMCALL
    on AMD to get the kvm_hypercall() right. But they do not yet implement
    vmmcall for the VMware hypercall used by the vmmouse driver.
     [ bp: reflow hypercall %edx usage explanation comment. ]
    Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    Reviewed-by: default avatarDoug Covelli <dcovelli@vmware.com>
    Cc: Aaron Lewis <aaronlewis@google.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: linux-graphics-maintainer@vmware.com
    Cc: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
    Cc: Robert Hoo <robert.hu@linux.intel.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: virtualization@lists.linux-foundation.org
    Cc: <pv-drivers@vmware.com>
    Cc: x86-ml <x86@kernel.org>
    Link: https://lkml.kernel.org/r/20190828080353.12658-3-thomas_os@shipmail.org