Re: [PATCH v2 15/15] KVM: VMX: rename RDSEED and RDRAND vmx ctrls to reflect exiting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Perhaps these as well?

SECONDARY_EXEC_DESC -> SECONDARY_EXEC_DT_EXITING
SECONDARY_EXEC_RDTSCP -> SECONDARY_EXEC_ENABLE_RDTSCP
SECONDARY_EXEC_XSAVES -> SECONDARY_EXEC_ENABLE_XSAVES
PIN_BASED_EXT_INTR_MASK -> PIN_BASED_EXT_INTR_EXITING


On Thu, Aug 24, 2017 at 11:51 AM, David Hildenbrand <david@xxxxxxxxxx> wrote:
> Let's just name these according to the SDM. This should make it clearer
> that the are used to enable exiting and not the feature itself.
>
> Signed-off-by: David Hildenbrand <david@xxxxxxxxxx>
> ---
>  arch/x86/include/asm/vmx.h |  4 ++--
>  arch/x86/kvm/vmx.c         | 34 +++++++++++++++++-----------------
>  2 files changed, 19 insertions(+), 19 deletions(-)
>
> diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h
> index 340007a9786e..8ec2b804effc 100644
> --- a/arch/x86/include/asm/vmx.h
> +++ b/arch/x86/include/asm/vmx.h
> @@ -70,11 +70,11 @@
>  #define SECONDARY_EXEC_APIC_REGISTER_VIRT       0x00000100
>  #define SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY    0x00000200
>  #define SECONDARY_EXEC_PAUSE_LOOP_EXITING      0x00000400
> -#define SECONDARY_EXEC_RDRAND                  0x00000800
> +#define SECONDARY_EXEC_RDRAND_EXITING          0x00000800
>  #define SECONDARY_EXEC_ENABLE_INVPCID          0x00001000
>  #define SECONDARY_EXEC_ENABLE_VMFUNC            0x00002000
>  #define SECONDARY_EXEC_SHADOW_VMCS              0x00004000
> -#define SECONDARY_EXEC_RDSEED                  0x00010000
> +#define SECONDARY_EXEC_RDSEED_EXITING          0x00010000
>  #define SECONDARY_EXEC_ENABLE_PML               0x00020000
>  #define SECONDARY_EXEC_XSAVES                  0x00100000
>  #define SECONDARY_EXEC_TSC_SCALING              0x02000000
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> index 5625a99aff7a..8abd517165db 100644
> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -2800,7 +2800,7 @@ static void nested_vmx_setup_ctls_msrs(struct vcpu_vmx *vmx)
>                 vmx->nested.nested_vmx_secondary_ctls_high);
>         vmx->nested.nested_vmx_secondary_ctls_low = 0;
>         vmx->nested.nested_vmx_secondary_ctls_high &=
> -               SECONDARY_EXEC_RDRAND | SECONDARY_EXEC_RDSEED |
> +               SECONDARY_EXEC_RDRAND_EXITING | SECONDARY_EXEC_RDSEED_EXITING |
>                 SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES |
>                 SECONDARY_EXEC_RDTSCP |
>                 SECONDARY_EXEC_DESC |
> @@ -3653,8 +3653,8 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf)
>                         SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY |
>                         SECONDARY_EXEC_SHADOW_VMCS |
>                         SECONDARY_EXEC_XSAVES |
> -                       SECONDARY_EXEC_RDRAND |
> -                       SECONDARY_EXEC_RDSEED |
> +                       SECONDARY_EXEC_RDRAND_EXITING |
> +                       SECONDARY_EXEC_RDSEED_EXITING |
>                         SECONDARY_EXEC_ENABLE_PML |
>                         SECONDARY_EXEC_TSC_SCALING |
>                         SECONDARY_EXEC_ENABLE_VMFUNC;
> @@ -5275,10 +5275,10 @@ static u32 vmx_secondary_exec_control(struct vcpu_vmx *vmx)
>                 exec_control &= ~SECONDARY_EXEC_ENABLE_PML;
>
>         if (guest_cpuid_has(&vmx->vcpu, X86_FEATURE_RDRAND))
> -               exec_control &= ~SECONDARY_EXEC_RDRAND;
> +               exec_control &= ~SECONDARY_EXEC_RDRAND_EXITING;
>
>         if (guest_cpuid_has(&vmx->vcpu, X86_FEATURE_RDSEED))
> -               exec_control &= ~SECONDARY_EXEC_RDSEED;
> +               exec_control &= ~SECONDARY_EXEC_RDSEED_EXITING;
>
>         return exec_control;
>  }
> @@ -8287,9 +8287,9 @@ static bool nested_vmx_exit_reflected(struct kvm_vcpu *vcpu, u32 exit_reason)
>         case EXIT_REASON_RDPMC:
>                 return nested_cpu_has(vmcs12, CPU_BASED_RDPMC_EXITING);
>         case EXIT_REASON_RDRAND:
> -               return nested_cpu_has2(vmcs12, SECONDARY_EXEC_RDRAND);
> +               return nested_cpu_has2(vmcs12, SECONDARY_EXEC_RDRAND_EXITING);
>         case EXIT_REASON_RDSEED:
> -               return nested_cpu_has2(vmcs12, SECONDARY_EXEC_RDSEED);
> +               return nested_cpu_has2(vmcs12, SECONDARY_EXEC_RDSEED_EXITING);
>         case EXIT_REASON_RDTSC: case EXIT_REASON_RDTSCP:
>                 return nested_cpu_has(vmcs12, CPU_BASED_RDTSC_EXITING);
>         case EXIT_REASON_VMCALL: case EXIT_REASON_VMCLEAR:
> @@ -8965,13 +8965,13 @@ static bool vmx_mpx_supported(void)
>  static bool vmx_rdrand_supported(void)
>  {
>         return vmcs_config.cpu_based_2nd_exec_ctrl &
> -               SECONDARY_EXEC_RDRAND;
> +               SECONDARY_EXEC_RDRAND_EXITING;
>  }
>
>  static bool vmx_rdseed_supported(void)
>  {
>         return vmcs_config.cpu_based_2nd_exec_ctrl &
> -               SECONDARY_EXEC_RDSEED;
> +               SECONDARY_EXEC_RDSEED_EXITING;
>  }
>
>  static bool vmx_xsaves_supported(void)
> @@ -9656,17 +9656,17 @@ static void vmx_cpuid_update(struct kvm_vcpu *vcpu)
>                 bool rdrand_enabled = guest_cpuid_has(vcpu, X86_FEATURE_RDRAND);
>
>                 if (rdrand_enabled)
> -                       secondary_exec_ctl &= ~SECONDARY_EXEC_RDRAND;
> +                       secondary_exec_ctl &= ~SECONDARY_EXEC_RDRAND_EXITING;
>                 else
> -                       secondary_exec_ctl |= SECONDARY_EXEC_RDRAND;
> +                       secondary_exec_ctl |= SECONDARY_EXEC_RDRAND_EXITING;
>
>                 if (nested) {
>                         if (rdrand_enabled)
>                                 vmx->nested.nested_vmx_secondary_ctls_high |=
> -                                       SECONDARY_EXEC_RDRAND;
> +                                       SECONDARY_EXEC_RDRAND_EXITING;
>                         else
>                                 vmx->nested.nested_vmx_secondary_ctls_high &=
> -                                       ~SECONDARY_EXEC_RDRAND;
> +                                       ~SECONDARY_EXEC_RDRAND_EXITING;
>                 }
>         }
>
> @@ -9674,17 +9674,17 @@ static void vmx_cpuid_update(struct kvm_vcpu *vcpu)
>                 bool rdseed_enabled = guest_cpuid_has(vcpu, X86_FEATURE_RDSEED);
>
>                 if (rdseed_enabled)
> -                       secondary_exec_ctl &= ~SECONDARY_EXEC_RDSEED;
> +                       secondary_exec_ctl &= ~SECONDARY_EXEC_RDSEED_EXITING;
>                 else
> -                       secondary_exec_ctl |= SECONDARY_EXEC_RDSEED;
> +                       secondary_exec_ctl |= SECONDARY_EXEC_RDSEED_EXITING;
>
>                 if (nested) {
>                         if (rdseed_enabled)
>                                 vmx->nested.nested_vmx_secondary_ctls_high |=
> -                                       SECONDARY_EXEC_RDSEED;
> +                                       SECONDARY_EXEC_RDSEED_EXITING;
>                         else
>                                 vmx->nested.nested_vmx_secondary_ctls_high &=
> -                                       ~SECONDARY_EXEC_RDSEED;
> +                                       ~SECONDARY_EXEC_RDSEED_EXITING;
>                 }
>         }
>
> --
> 2.13.5
>



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux