| From d92935979adba274b1099e67b7f713f6d8413121 Mon Sep 17 00:00:00 2001 |
| From: Yu Zhang <yu.c.zhang@linux.intel.com> |
| Date: Thu, 31 Jan 2019 11:26:39 +0800 |
| Subject: kvm: vmx: Fix typos in vmentry/vmexit control setting |
| |
| From: Yu Zhang <yu.c.zhang@linux.intel.com> |
| |
| commit d92935979adba274b1099e67b7f713f6d8413121 upstream. |
| |
| Previously, 'commit f99e3daf94ff ("KVM: x86: Add Intel PT |
| virtualization work mode")' work mode' offered framework |
| to support Intel PT virtualization. However, the patch has |
| some typos in vmx_vmentry_ctrl() and vmx_vmexit_ctrl(), e.g. |
| used wrong flags and wrong variable, which will cause the |
| VM entry failure later. |
| |
| Fixes: 'commit f99e3daf94ff ("KVM: x86: Add Intel PT virtualization work mode")' |
| Signed-off-by: Yu Zhang <yu.c.zhang@linux.intel.com> |
| Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/x86/kvm/vmx/vmx.h | 8 +++++--- |
| 1 file changed, 5 insertions(+), 3 deletions(-) |
| |
| --- a/arch/x86/kvm/vmx/vmx.h |
| +++ b/arch/x86/kvm/vmx/vmx.h |
| @@ -444,7 +444,8 @@ static inline u32 vmx_vmentry_ctrl(void) |
| { |
| u32 vmentry_ctrl = vmcs_config.vmentry_ctrl; |
| if (pt_mode == PT_MODE_SYSTEM) |
| - vmentry_ctrl &= ~(VM_EXIT_PT_CONCEAL_PIP | VM_EXIT_CLEAR_IA32_RTIT_CTL); |
| + vmentry_ctrl &= ~(VM_ENTRY_PT_CONCEAL_PIP | |
| + VM_ENTRY_LOAD_IA32_RTIT_CTL); |
| /* Loading of EFER and PERF_GLOBAL_CTRL are toggled dynamically */ |
| return vmentry_ctrl & |
| ~(VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VM_ENTRY_LOAD_IA32_EFER); |
| @@ -454,9 +455,10 @@ static inline u32 vmx_vmexit_ctrl(void) |
| { |
| u32 vmexit_ctrl = vmcs_config.vmexit_ctrl; |
| if (pt_mode == PT_MODE_SYSTEM) |
| - vmexit_ctrl &= ~(VM_ENTRY_PT_CONCEAL_PIP | VM_ENTRY_LOAD_IA32_RTIT_CTL); |
| + vmexit_ctrl &= ~(VM_EXIT_PT_CONCEAL_PIP | |
| + VM_EXIT_CLEAR_IA32_RTIT_CTL); |
| /* Loading of EFER and PERF_GLOBAL_CTRL are toggled dynamically */ |
| - return vmcs_config.vmexit_ctrl & |
| + return vmexit_ctrl & |
| ~(VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL | VM_EXIT_LOAD_IA32_EFER); |
| } |
| |