KVM: VMX: RTIT_CTL_BRANCH_EN has no dependency on other CPUID bit
authorXiaoyao Li <xiaoyao.li@intel.com>
Fri, 27 Aug 2021 07:02:46 +0000 (15:02 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 22 Oct 2021 09:19:27 +0000 (05:19 -0400)
Per Intel SDM, RTIT_CTL_BRANCH_EN bit has no dependency on any CPUID
leaf 0x14.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Message-Id: <20210827070249.924633-5-xiaoyao.li@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/vmx.c

index 0337083..79d6af0 100644 (file)
@@ -7136,7 +7136,8 @@ static void update_intel_pt_cfg(struct kvm_vcpu *vcpu)
 
        /* Initialize and clear the no dependency bits */
        vmx->pt_desc.ctl_bitmask = ~(RTIT_CTL_TRACEEN | RTIT_CTL_OS |
-                       RTIT_CTL_USR | RTIT_CTL_TSC_EN | RTIT_CTL_DISRETC);
+                       RTIT_CTL_USR | RTIT_CTL_TSC_EN | RTIT_CTL_DISRETC |
+                       RTIT_CTL_BRANCH_EN);
 
        /*
         * If CPUID.(EAX=14H,ECX=0):EBX[0]=1 CR3Filter can be set otherwise
@@ -7154,12 +7155,11 @@ static void update_intel_pt_cfg(struct kvm_vcpu *vcpu)
                                RTIT_CTL_CYC_THRESH | RTIT_CTL_PSB_FREQ);
 
        /*
-        * If CPUID.(EAX=14H,ECX=0):EBX[3]=1 MTCEn BranchEn and
-        * MTCFreq can be set
+        * If CPUID.(EAX=14H,ECX=0):EBX[3]=1 MTCEn and MTCFreq can be set
         */
        if (intel_pt_validate_cap(vmx->pt_desc.caps, PT_CAP_mtc))
                vmx->pt_desc.ctl_bitmask &= ~(RTIT_CTL_MTC_EN |
-                               RTIT_CTL_BRANCH_EN | RTIT_CTL_MTC_RANGE);
+                                             RTIT_CTL_MTC_RANGE);
 
        /* If CPUID.(EAX=14H,ECX=0):EBX[4]=1 FUPonPTW and PTWEn can be set */
        if (intel_pt_validate_cap(vmx->pt_desc.caps, PT_CAP_ptwrite))