lkml.org 
[lkml]   [2009]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 08/46] KVM: VMX: Clean up Flex Priority related
    Date
    From: Sheng Yang <sheng@linux.intel.com>

    And clean paranthes on returns.

    Signed-off-by: Sheng Yang <sheng@linux.intel.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>
    ---
    arch/x86/kvm/vmx.c | 47 ++++++++++++++++++++++++++++++-----------------
    1 files changed, 30 insertions(+), 17 deletions(-)

    diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
    index aba41ae..1caa1fc 100644
    --- a/arch/x86/kvm/vmx.c
    +++ b/arch/x86/kvm/vmx.c
    @@ -216,61 +216,69 @@ static inline int is_external_interrupt(u32 intr_info)

    static inline int cpu_has_vmx_msr_bitmap(void)
    {
    - return (vmcs_config.cpu_based_exec_ctrl & CPU_BASED_USE_MSR_BITMAPS);
    + return vmcs_config.cpu_based_exec_ctrl & CPU_BASED_USE_MSR_BITMAPS;
    }

    static inline int cpu_has_vmx_tpr_shadow(void)
    {
    - return (vmcs_config.cpu_based_exec_ctrl & CPU_BASED_TPR_SHADOW);
    + return vmcs_config.cpu_based_exec_ctrl & CPU_BASED_TPR_SHADOW;
    }

    static inline int vm_need_tpr_shadow(struct kvm *kvm)
    {
    - return ((cpu_has_vmx_tpr_shadow()) && (irqchip_in_kernel(kvm)));
    + return (cpu_has_vmx_tpr_shadow()) && (irqchip_in_kernel(kvm));
    }

    static inline int cpu_has_secondary_exec_ctrls(void)
    {
    - return (vmcs_config.cpu_based_exec_ctrl &
    - CPU_BASED_ACTIVATE_SECONDARY_CONTROLS);
    + return vmcs_config.cpu_based_exec_ctrl &
    + CPU_BASED_ACTIVATE_SECONDARY_CONTROLS;
    }

    static inline bool cpu_has_vmx_virtualize_apic_accesses(void)
    {
    - return flexpriority_enabled;
    + return vmcs_config.cpu_based_2nd_exec_ctrl &
    + SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES;
    +}
    +
    +static inline bool cpu_has_vmx_flexpriority(void)
    +{
    + return cpu_has_vmx_tpr_shadow() &&
    + cpu_has_vmx_virtualize_apic_accesses();
    }

    static inline int cpu_has_vmx_invept_individual_addr(void)
    {
    - return (!!(vmx_capability.ept & VMX_EPT_EXTENT_INDIVIDUAL_BIT));
    + return !!(vmx_capability.ept & VMX_EPT_EXTENT_INDIVIDUAL_BIT);
    }

    static inline int cpu_has_vmx_invept_context(void)
    {
    - return (!!(vmx_capability.ept & VMX_EPT_EXTENT_CONTEXT_BIT));
    + return !!(vmx_capability.ept & VMX_EPT_EXTENT_CONTEXT_BIT);
    }

    static inline int cpu_has_vmx_invept_global(void)
    {
    - return (!!(vmx_capability.ept & VMX_EPT_EXTENT_GLOBAL_BIT));
    + return !!(vmx_capability.ept & VMX_EPT_EXTENT_GLOBAL_BIT);
    }

    static inline int cpu_has_vmx_ept(void)
    {
    - return (vmcs_config.cpu_based_2nd_exec_ctrl &
    - SECONDARY_EXEC_ENABLE_EPT);
    + return vmcs_config.cpu_based_2nd_exec_ctrl &
    + SECONDARY_EXEC_ENABLE_EPT;
    }

    static inline int vm_need_virtualize_apic_accesses(struct kvm *kvm)
    {
    - return ((cpu_has_vmx_virtualize_apic_accesses()) &&
    - (irqchip_in_kernel(kvm)));
    + return flexpriority_enabled &&
    + (cpu_has_vmx_virtualize_apic_accesses()) &&
    + (irqchip_in_kernel(kvm));
    }

    static inline int cpu_has_vmx_vpid(void)
    {
    - return (vmcs_config.cpu_based_2nd_exec_ctrl &
    - SECONDARY_EXEC_ENABLE_VPID);
    + return vmcs_config.cpu_based_2nd_exec_ctrl &
    + SECONDARY_EXEC_ENABLE_VPID;
    }

    static inline int cpu_has_virtual_nmis(void)
    @@ -278,6 +286,11 @@ static inline int cpu_has_virtual_nmis(void)
    return vmcs_config.pin_based_exec_ctrl & PIN_BASED_VIRTUAL_NMIS;
    }

    +static inline bool report_flexpriority(void)
    +{
    + return flexpriority_enabled;
    +}
    +
    static int __find_msr_index(struct vcpu_vmx *vmx, u32 msr)
    {
    int i;
    @@ -1201,7 +1214,7 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf)
    if (!cpu_has_vmx_ept())
    enable_ept = 0;

    - if (!(vmcs_config.cpu_based_2nd_exec_ctrl & SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES))
    + if (!cpu_has_vmx_flexpriority())
    flexpriority_enabled = 0;

    min = 0;
    @@ -3655,7 +3668,7 @@ static struct kvm_x86_ops vmx_x86_ops = {
    .check_processor_compatibility = vmx_check_processor_compat,
    .hardware_enable = hardware_enable,
    .hardware_disable = hardware_disable,
    - .cpu_has_accelerated_tpr = cpu_has_vmx_virtualize_apic_accesses,
    + .cpu_has_accelerated_tpr = report_flexpriority,

    .vcpu_create = vmx_create_vcpu,
    .vcpu_free = vmx_free_vcpu,
    --
    1.6.0.6


    \
     
     \ /
      Last update: 2009-05-20 13:55    [W:3.774 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site