Re: [PATCH RFC v1 02/10] KVM: VMX: Add missing CPU based VM execution controls to vmcs_config

From: Sean Christopherson
Date: Thu Jun 23 2022 - 20:12:38 EST


Maybe say "dynamically enabled" or so instead of "missing"?

On Wed, Jun 22, 2022, Vitaly Kuznetsov wrote:
> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
> ---
> arch/x86/kvm/vmx/vmx.c | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
> index 24da9e93bdab..01294a2fc1c1 100644
> --- a/arch/x86/kvm/vmx/vmx.c
> +++ b/arch/x86/kvm/vmx/vmx.c
> @@ -2483,8 +2483,14 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf,
> CPU_BASED_INVLPG_EXITING |
> CPU_BASED_RDPMC_EXITING;
>
> - opt = CPU_BASED_TPR_SHADOW |
> + opt = CPU_BASED_INTR_WINDOW_EXITING |
> + CPU_BASED_RDTSC_EXITING |
> + CPU_BASED_TPR_SHADOW |
> + CPU_BASED_NMI_WINDOW_EXITING |
> + CPU_BASED_USE_IO_BITMAPS |
> + CPU_BASED_MONITOR_TRAP_FLAG |
> CPU_BASED_USE_MSR_BITMAPS |
> + CPU_BASED_PAUSE_EXITING |
> CPU_BASED_ACTIVATE_SECONDARY_CONTROLS |
> CPU_BASED_ACTIVATE_TERTIARY_CONTROLS;
> if (adjust_vmx_controls(min, opt, MSR_IA32_VMX_PROCBASED_CTLS,
> @@ -4280,6 +4286,13 @@ static u32 vmx_exec_control(struct vcpu_vmx *vmx)
> {
> u32 exec_control = vmcs_config.cpu_based_exec_ctrl;
>
> + exec_control &= ~(CPU_BASED_INTR_WINDOW_EXITING |
> + CPU_BASED_RDTSC_EXITING |
> + CPU_BASED_NMI_WINDOW_EXITING |
> + CPU_BASED_USE_IO_BITMAPS |
> + CPU_BASED_MONITOR_TRAP_FLAG |
> + CPU_BASED_PAUSE_EXITING);
> +
> #ifdef CONFIG_X86_64
> if (exec_control & CPU_BASED_TPR_SHADOW)
> exec_control &= ~CPU_BASED_CR8_LOAD_EXITING &
> --
> 2.35.3
>