]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
tools/x86: Sync msr-index.h from kernel sources
authorSean Christopherson <sean.j.christopherson@intel.com>
Sat, 21 Dec 2019 04:44:57 +0000 (20:44 -0800)
committerBorislav Petkov <bp@suse.de>
Mon, 13 Jan 2020 16:42:57 +0000 (17:42 +0100)
Sync msr-index.h to pull in recent renames of the IA32_FEATURE_CONTROL
MSR definitions.  Update KVM's VMX selftest and turbostat accordingly.
Keep the full name in turbostat's output to avoid breaking someone's
workflow, e.g. if a script is looking for the full name.

While using the renamed defines is by no means necessary, do the sync
now to avoid leaving a landmine that will get stepped on the next time
msr-index.h needs to be refreshed for some other reason.

No functional change intended.

Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20191221044513.21680-4-sean.j.christopherson@intel.com
tools/arch/x86/include/asm/msr-index.h
tools/power/x86/turbostat/turbostat.c
tools/testing/selftests/kvm/lib/x86_64/vmx.c

index 20ce682a2540f389dc62f29dbf07c0b3f32620ea..f4c5c88ef384b190a8100cae047f8c9a9f002e41 100644 (file)
 #define MSR_IA32_EBL_CR_POWERON                0x0000002a
 #define MSR_EBC_FREQUENCY_ID           0x0000002c
 #define MSR_SMI_COUNT                  0x00000034
-#define MSR_IA32_FEATURE_CONTROL        0x0000003a
+
+/* Referred to as IA32_FEATURE_CONTROL in Intel's SDM. */
+#define MSR_IA32_FEAT_CTL              0x0000003a
+#define FEAT_CTL_LOCKED                                BIT(0)
+#define FEAT_CTL_VMX_ENABLED_INSIDE_SMX                BIT(1)
+#define FEAT_CTL_VMX_ENABLED_OUTSIDE_SMX       BIT(2)
+#define FEAT_CTL_LMCE_ENABLED                  BIT(20)
+
 #define MSR_IA32_TSC_ADJUST             0x0000003b
 #define MSR_IA32_BNDCFGS               0x00000d90
 
 
 #define MSR_IA32_XSS                   0x00000da0
 
-#define FEATURE_CONTROL_LOCKED                         (1<<0)
-#define FEATURE_CONTROL_VMXON_ENABLED_INSIDE_SMX       (1<<1)
-#define FEATURE_CONTROL_VMXON_ENABLED_OUTSIDE_SMX      (1<<2)
-#define FEATURE_CONTROL_LMCE                           (1<<20)
-
 #define MSR_IA32_APICBASE              0x0000001b
 #define MSR_IA32_APICBASE_BSP          (1<<8)
 #define MSR_IA32_APICBASE_ENABLE       (1<<11)
index 5d0fddda842c46e88493af6cbf91721a64d617e8..31c1ca0bb3ee1d6e98250cc24c7de2dbbd016f13 100644 (file)
@@ -4499,10 +4499,10 @@ void decode_feature_control_msr(void)
 {
        unsigned long long msr;
 
-       if (!get_msr(base_cpu, MSR_IA32_FEATURE_CONTROL, &msr))
+       if (!get_msr(base_cpu, MSR_IA32_FEAT_CTL, &msr))
                fprintf(outf, "cpu%d: MSR_IA32_FEATURE_CONTROL: 0x%08llx (%sLocked %s)\n",
                        base_cpu, msr,
-                       msr & FEATURE_CONTROL_LOCKED ? "" : "UN-",
+                       msr & FEAT_CTL_LOCKED ? "" : "UN-",
                        msr & (1 << 18) ? "SGX" : "");
 }
 
index f6ec97b7eaef67b6cbce47f1d6a7fa0fb3ef1e0e..85064baf5e97c2fe363c4f662ca2e0f274e4fa21 100644 (file)
@@ -157,11 +157,11 @@ bool prepare_for_vmx_operation(struct vmx_pages *vmx)
         *  Bit 2: Enables VMXON outside of SMX operation. If clear, VMXON
         *    outside of SMX causes a #GP.
         */
-       required = FEATURE_CONTROL_VMXON_ENABLED_OUTSIDE_SMX;
-       required |= FEATURE_CONTROL_LOCKED;
-       feature_control = rdmsr(MSR_IA32_FEATURE_CONTROL);
+       required = FEAT_CTL_VMX_ENABLED_OUTSIDE_SMX;
+       required |= FEAT_CTL_LOCKED;
+       feature_control = rdmsr(MSR_IA32_FEAT_CTL);
        if ((feature_control & required) != required)
-               wrmsr(MSR_IA32_FEATURE_CONTROL, feature_control | required);
+               wrmsr(MSR_IA32_FEAT_CTL, feature_control | required);
 
        /* Enter VMX root operation. */
        *(uint32_t *)(vmx->vmxon) = vmcs_revision();