lkml.org 
[lkml]   [2024]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v6 0/7] VMware hypercalls enhancements
    Date
    VMware hypercalls invocations were all spread out across the kernel
    implementing same ABI as in-place asm-inline. With encrypted memory
    and confidential computing it became harder to maintain every changes
    in these hypercall implementations.

    Intention of this patchset is to introduce arch independent VMware
    hypercall API layer other subsystems such as device drivers can call
    to, while hiding architecture specific implementation behind.

    Second patch introduces the vmware_hypercall low and high bandwidth
    families of functions, with little enhancements there.
    Sixth patch adds tdx hypercall support

    arm64 implementation of vmware_hypercalls is in drivers/gpu/drm/
    vmwgfx/vmwgfx_msg_arm64.h and going to be moved to arch/arm64 with
    a separate patchset with the introduction of VMware Linux guest
    support for arm64.

    No functional changes in drivers/input/mouse/vmmouse.c and
    drivers/ptp/ptp_vmw.c

    v5->v6 change:
    - Added ack by Kirill A. Shutemov in patch 7.

    v4->v5 changes:
    [patch 2]:
    - Fixed the problem reported by Simon Horman where build fails after
    patch 2 application. Do not undefine VMWARE_HYPERCALL for now, and
    update vmwgfx, vmmouse and ptp_vmw code for new VMWARE_HYPERCALL macro.
    - Introduce new patch 6 to undefine VMWARE_HYPERCALL, which is safe to do
    after patches 3 to 5.
    - [patch 7 (former patch 6)]: Add missing r15 (CPL) initialization.

    v3->v4 changes: (no functional changes in patches 1-5)
    [patch 2]:
    - Added the comment with VMware hypercall ABI description.
    [patch 6]:
    - vmware_tdx_hypercall_args remove in6/out6 arguments as excessive.
    - vmware_tdx_hypercall return ULONG_MAX on error to mimic bad hypercall
    command error from the hypervisor.
    - Replaced pr_warn by pr_warn_once as pointed by Kirill Shutemov.
    - Fixed the warning reported by Intel's kernel test robot.
    - Added the comment describing VMware TDX hypercall ABI.

    v2->v3 changes: (no functional changes in patches 1-5)
    - Improved commit message in patches 1, 2 and 5 as was suggested by
    Borislav Petkov.
    - To address Dave Hansen's concern, patch 6 was reorganized to avoid
    exporting bare __tdx_hypercall and to make exported vmware_tdx_hypercall
    VMWare guest specific.

    v1->v2 changes (no functional changes):
    - Improved commit message in patches 2 and 5.
    - Added Reviewed-by for all patches.
    - Added Ack from Dmitry Torokhov in patch 4. No fixes regarding reported
    by Simon Horman gcc error in this patch.

    Alexey Makhalov (7):
    x86/vmware: Move common macros to vmware.h
    x86/vmware: Introduce VMware hypercall API
    ptp/vmware: Use VMware hypercall API
    input/vmmouse: Use VMware hypercall API
    drm/vmwgfx: Use VMware hypercall API
    x86/vmware: Undefine VMWARE_HYPERCALL
    x86/vmware: Add TDX hypercall support

    arch/x86/include/asm/vmware.h | 364 ++++++++++++++++++++--
    arch/x86/kernel/cpu/vmware.c | 117 +++----
    drivers/gpu/drm/vmwgfx/vmwgfx_msg.c | 173 ++++------
    drivers/gpu/drm/vmwgfx/vmwgfx_msg_arm64.h | 197 ++++++++----
    drivers/gpu/drm/vmwgfx/vmwgfx_msg_x86.h | 185 -----------
    drivers/input/mouse/vmmouse.c | 76 ++---
    drivers/ptp/ptp_vmw.c | 12 +-
    7 files changed, 599 insertions(+), 525 deletions(-)

    --
    2.39.0


    \
     
     \ /
      Last update: 2024-01-09 09:43    [W:4.272 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site