KVM: VMX: Move CPU_BASED_CR8_{LOAD,STORE}_EXITING filtering out of setup_vmcs_config()
As a preparation to reusing the result of setup_vmcs_config() in nested VMX MSR setup, move CPU_BASED_CR8_{LOAD,STORE}_EXITING filtering to vmx_exec_control(). No functional change intended. Reviewed-by: Jim Mattson <jmattson@google.com> Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com> Reviewed-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: Sean Christopherson <seanjc@google.com> Link: https://lore.kernel.org/r/20220830133737.1539624-25-vkuznets@redhat.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
ee087b4da0
commit
e89e1e2302
@ -2556,11 +2556,6 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf,
|
||||
MSR_IA32_VMX_PROCBASED_CTLS,
|
||||
&_cpu_based_exec_control))
|
||||
return -EIO;
|
||||
#ifdef CONFIG_X86_64
|
||||
if (_cpu_based_exec_control & CPU_BASED_TPR_SHADOW)
|
||||
_cpu_based_exec_control &= ~CPU_BASED_CR8_LOAD_EXITING &
|
||||
~CPU_BASED_CR8_STORE_EXITING;
|
||||
#endif
|
||||
if (_cpu_based_exec_control & CPU_BASED_ACTIVATE_SECONDARY_CONTROLS) {
|
||||
if (adjust_vmx_controls(KVM_REQUIRED_VMX_SECONDARY_VM_EXEC_CONTROL,
|
||||
KVM_OPTIONAL_VMX_SECONDARY_VM_EXEC_CONTROL,
|
||||
@ -4331,13 +4326,17 @@ static u32 vmx_exec_control(struct vcpu_vmx *vmx)
|
||||
if (vmx->vcpu.arch.switch_db_regs & KVM_DEBUGREG_WONT_EXIT)
|
||||
exec_control &= ~CPU_BASED_MOV_DR_EXITING;
|
||||
|
||||
if (!cpu_need_tpr_shadow(&vmx->vcpu)) {
|
||||
if (!cpu_need_tpr_shadow(&vmx->vcpu))
|
||||
exec_control &= ~CPU_BASED_TPR_SHADOW;
|
||||
|
||||
#ifdef CONFIG_X86_64
|
||||
if (exec_control & CPU_BASED_TPR_SHADOW)
|
||||
exec_control &= ~(CPU_BASED_CR8_LOAD_EXITING |
|
||||
CPU_BASED_CR8_STORE_EXITING);
|
||||
else
|
||||
exec_control |= CPU_BASED_CR8_STORE_EXITING |
|
||||
CPU_BASED_CR8_LOAD_EXITING;
|
||||
#endif
|
||||
}
|
||||
if (!enable_ept)
|
||||
exec_control |= CPU_BASED_CR3_STORE_EXITING |
|
||||
CPU_BASED_CR3_LOAD_EXITING |
|
||||
|
Loading…
Reference in New Issue
Block a user