]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
KVM: VMX: Open code VMX preemption timer rate mask in its accessor
authorXin Li <xin3.li@intel.com>
Wed, 5 Jun 2024 23:19:17 +0000 (16:19 -0700)
committerSean Christopherson <seanjc@google.com>
Thu, 22 Aug 2024 18:25:54 +0000 (11:25 -0700)
Use vmx_misc_preemption_timer_rate() to get the rate in hardware_setup(),
and open code the rate's bitmask in vmx_misc_preemption_timer_rate() so
that the function looks like all the helpers that grab values from
VMX_BASIC and VMX_MISC MSR values.

No functional change intended.

Cc: Shan Kang <shan.kang@intel.com>
Cc: Kai Huang <kai.huang@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
[sean: split to separate patch, write changelog]
Reviewed-by: Kai Huang <kai.huang@intel.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://lore.kernel.org/r/20240605231918.2915961-10-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/include/asm/vmx.h
arch/x86/kvm/vmx/vmx.c

index 400819ccb42c30f43f96d4a7622ac537d90d2045..f7fd4369b82188619136405fa9674a040abe5277 100644 (file)
@@ -153,7 +153,6 @@ static inline u64 vmx_basic_encode_vmcs_info(u32 revision, u16 size, u8 memtype)
        return revision | ((u64)size << 32) | ((u64)memtype << 50);
 }
 
-#define VMX_MISC_PREEMPTION_TIMER_RATE_MASK    GENMASK_ULL(4, 0)
 #define VMX_MISC_SAVE_EFER_LMA                 BIT_ULL(5)
 #define VMX_MISC_ACTIVITY_HLT                  BIT_ULL(6)
 #define VMX_MISC_ACTIVITY_SHUTDOWN             BIT_ULL(7)
@@ -167,7 +166,7 @@ static inline u64 vmx_basic_encode_vmcs_info(u32 revision, u16 size, u8 memtype)
 
 static inline int vmx_misc_preemption_timer_rate(u64 vmx_misc)
 {
-       return vmx_misc & VMX_MISC_PREEMPTION_TIMER_RATE_MASK;
+       return vmx_misc & GENMASK_ULL(4, 0);
 }
 
 static inline int vmx_misc_cr3_count(u64 vmx_misc)
index 5cbd86c4386b07ba98432fe451ef9e20c8b5c290..39a26ecf87ea9c1ba034411efe78eafead4ce8fb 100644 (file)
@@ -8517,7 +8517,7 @@ __init int vmx_hardware_setup(void)
                u64 use_timer_freq = 5000ULL * 1000 * 1000;
 
                cpu_preemption_timer_multi =
-                       vmcs_config.misc & VMX_MISC_PREEMPTION_TIMER_RATE_MASK;
+                       vmx_misc_preemption_timer_rate(vmcs_config.misc);
 
                if (tsc_khz)
                        use_timer_freq = (u64)tsc_khz * 1000;