]> Git Repo - linux.git/commitdiff
KVM: VMX: Move MSR_IA32_VMX_BASIC bit defines to asm/vmx.h
authorXin Li <[email protected]>
Wed, 5 Jun 2024 23:19:12 +0000 (16:19 -0700)
committerSean Christopherson <[email protected]>
Thu, 22 Aug 2024 18:25:49 +0000 (11:25 -0700)
Move the bit defines for MSR_IA32_VMX_BASIC from msr-index.h to vmx.h so
that they are colocated with other VMX MSR bit defines, and with the
helpers that extract specific information from an MSR_IA32_VMX_BASIC value.

Opportunistically use BIT_ULL() instead of open coding hex values.

Opportunistically rename VMX_BASIC_64 to VMX_BASIC_32BIT_PHYS_ADDR_ONLY,
as "VMX_BASIC_64" is widly misleading.  The flag enumerates that addresses
are limited to 32 bits, not that 64-bit addresses are allowed.

Last but not least, opportunistically #define DUAL_MONITOR_TREATMENT so
that all known single-bit feature flags are defined (this will allow
replacing open-coded literals in the future).

Cc: Shan Kang <[email protected]>
Cc: Kai Huang <[email protected]>
Signed-off-by: Xin Li <[email protected]>
[sean: split to separate patch, write changelog]
Reviewed-by: Zhao Liu <[email protected]>
Reviewed-by: Kai Huang <[email protected]>
Reviewed-by: Xiaoyao Li <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Sean Christopherson <[email protected]>
arch/x86/include/asm/msr-index.h
arch/x86/include/asm/vmx.h

index f6eb3460e169dd3f1c9bffff01d22496d2eae347..ad0b579d1c01d8109ccc640d072894f14b71de6f 100644 (file)
 #define MSR_IA32_VMX_VMFUNC             0x00000491
 #define MSR_IA32_VMX_PROCBASED_CTLS3   0x00000492
 
-/* VMX_BASIC bits and bitmasks */
-#define VMX_BASIC_VMCS_SIZE_SHIFT      32
-#define VMX_BASIC_TRUE_CTLS            (1ULL << 55)
-#define VMX_BASIC_64           0x0001000000000000LLU
-#define VMX_BASIC_MEM_TYPE_SHIFT       50
-#define VMX_BASIC_MEM_TYPE_MASK        0x003c000000000000LLU
-#define VMX_BASIC_INOUT                0x0040000000000000LLU
-
 /* Resctrl MSRs: */
 /* - Intel: */
 #define MSR_IA32_L3_QOS_CFG            0xc81
index e531d8d80a112cd9c7bdca3f9164e43bdade69db..81b986e501a937e8ba0814231d80eec628b91ec7 100644 (file)
 #define VMX_VMFUNC_EPTP_SWITCHING               VMFUNC_CONTROL_BIT(EPTP_SWITCHING)
 #define VMFUNC_EPTP_ENTRIES  512
 
+#define VMX_BASIC_VMCS_SIZE_SHIFT              32
+#define VMX_BASIC_32BIT_PHYS_ADDR_ONLY         BIT_ULL(48)
+#define VMX_BASIC_DUAL_MONITOR_TREATMENT       BIT_ULL(49)
+#define VMX_BASIC_MEM_TYPE_SHIFT               50
+#define VMX_BASIC_INOUT                                BIT_ULL(54)
+#define VMX_BASIC_TRUE_CTLS                    BIT_ULL(55)
+
 static inline u32 vmx_basic_vmcs_revision_id(u64 vmx_basic)
 {
        return vmx_basic & GENMASK_ULL(30, 0);
This page took 0.063143 seconds and 4 git commands to generate.