diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2018-06-25 14:04:37 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-08-15 18:13:00 +0200 |
commit | ab12e37d683a9ede978df8f0e0bf414e925597ed (patch) | |
tree | 430d81b48cfa2c5fd00751aa078373d00606771e /arch | |
parent | 8c9900543e2698ce2f374af712b8fbd2007fddbf (diff) | |
download | linux-stable-ab12e37d683a9ede978df8f0e0bf414e925597ed.tar.gz linux-stable-ab12e37d683a9ede978df8f0e0bf414e925597ed.tar.bz2 linux-stable-ab12e37d683a9ede978df8f0e0bf414e925597ed.zip |
KVM: VMX: support MSR_IA32_ARCH_CAPABILITIES as a feature MSR
commit cd28325249a1ca0d771557ce823e0308ad629f98 upstream
This lets userspace read the MSR_IA32_ARCH_CAPABILITIES and check that all
requested features are available on the host.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kvm/x86.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index b68be7539b58..fcc058edfaba 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -1049,6 +1049,7 @@ static unsigned num_emulated_msrs; static u32 msr_based_features[] = { MSR_F10H_DECFG, MSR_IA32_UCODE_REV, + MSR_IA32_ARCH_CAPABILITIES, }; static unsigned int num_msr_based_features; @@ -1057,7 +1058,8 @@ static int kvm_get_msr_feature(struct kvm_msr_entry *msr) { switch (msr->index) { case MSR_IA32_UCODE_REV: - rdmsrl(msr->index, msr->data); + case MSR_IA32_ARCH_CAPABILITIES: + rdmsrl_safe(msr->index, &msr->data); break; default: if (kvm_x86_ops->get_msr_feature(msr)) |