lkml.org 
[lkml]   [2023]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v13 051/113] KVM: VMX: Move setting of EPT MMU masks to common VT-x code
    Date
    From: Sean Christopherson <sean.j.christopherson@intel.com>

    EPT MMU masks are used commonly for VMX and TDX. The value needs to be
    initialized in common code before both VMX/TDX-specific initialization
    code.

    Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
    Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
    ---
    arch/x86/kvm/vmx/main.c | 9 +++++++++
    arch/x86/kvm/vmx/vmx.c | 4 ----
    2 files changed, 9 insertions(+), 4 deletions(-)

    diff --git a/arch/x86/kvm/vmx/main.c b/arch/x86/kvm/vmx/main.c
    index 57240d6ab97a..58cbdc5aa2a2 100644
    --- a/arch/x86/kvm/vmx/main.c
    +++ b/arch/x86/kvm/vmx/main.c
    @@ -4,6 +4,7 @@
    #include "x86_ops.h"
    #include "vmx.h"
    #include "nested.h"
    +#include "mmu.h"
    #include "pmu.h"
    #include "tdx.h"
    #include "tdx_arch.h"
    @@ -49,6 +50,14 @@ static __init int vt_hardware_setup(void)
    if (ret)
    return ret;

    + /*
    + * As kvm_mmu_set_ept_masks() updates enable_mmio_caching, call it
    + * before checking enable_mmio_caching.
    + */
    + if (enable_ept)
    + kvm_mmu_set_ept_masks(enable_ept_ad_bits,
    + cpu_has_vmx_ept_execute_only());
    +
    enable_tdx = enable_tdx && !tdx_hardware_setup(&vt_x86_ops);

    return 0;
    diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
    index 8f44b29d05e9..23321b2208ae 100644
    --- a/arch/x86/kvm/vmx/vmx.c
    +++ b/arch/x86/kvm/vmx/vmx.c
    @@ -8370,10 +8370,6 @@ __init int vmx_hardware_setup(void)

    set_bit(0, vmx_vpid_bitmap); /* 0 is reserved for host */

    - if (enable_ept)
    - kvm_mmu_set_ept_masks(enable_ept_ad_bits,
    - cpu_has_vmx_ept_execute_only());
    -
    /*
    * Setup shadow_me_value/shadow_me_mask to include MKTME KeyID
    * bits to shadow_zero_check.
    --
    2.25.1
    \
     
     \ /
      Last update: 2023-03-27 00:55    [W:4.138 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site