tools/x86: Sync msr-index.h from kernel sources
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
This commit is contained in:
parent
a5543d3456
commit
f6505c88bf
|
@ -540,7 +540,14 @@
|
|||
#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
|
||||
|
||||
|
@ -548,11 +555,6 @@
|
|||
|
||||
#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)
|
||||
|
|
|
@ -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" : "");
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in New Issue