qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 1/7] kvm: remove the hack "#if defined CONFIG_KV


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH 1/7] kvm: remove the hack "#if defined CONFIG_KVM || !defined NEED_CPU_H"
Date: Thu, 06 Mar 2014 15:54:11 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

Am 06.03.2014 11:27, schrieb Xuebing Wang:
> Advantage of applying this patch is: logic is clear
> Disadvantage is: binary code for non-CONFIG_KVM target is bigger
>                  (like sh4-softmmu or *-linux-user)
> -   kvm_enabled() is always runtime (kvm_allowed), and compiler won't optimize
>     if ( kvm_enabled() ) { ... } type of code.
> -   Before the patch, for condition (!CONFIG_KVM && NEED_CPU_H), above example
>     is preprocessed to be if (0) { ... } and then optimized
[...]
> diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
> index a02d67c..1829206 100644
> --- a/include/sysemu/kvm.h
> +++ b/include/sysemu/kvm.h
> @@ -49,7 +49,6 @@ extern bool kvm_gsi_routing_allowed;
>  extern bool kvm_gsi_direct_mapping;
>  extern bool kvm_readonly_mem_allowed;
>  
> -#if defined CONFIG_KVM || !defined NEED_CPU_H

Have you tested compiling with --disable-kvm? CONFIG_KVM is not just
about targets like sh4 that don't support KVM but also about non-Linux
hosts.

Regards,
Andreas

>  #define kvm_enabled()           (kvm_allowed)
>  /**
>   * kvm_irqchip_in_kernel:
> @@ -123,18 +122,6 @@ extern bool kvm_readonly_mem_allowed;
>   */
>  #define kvm_readonly_mem_enabled() (kvm_readonly_mem_allowed)
>  
> -#else
> -#define kvm_enabled()           (0)
> -#define kvm_irqchip_in_kernel() (false)
> -#define kvm_async_interrupts_enabled() (false)
> -#define kvm_halt_in_kernel() (false)
> -#define kvm_irqfds_enabled() (false)
> -#define kvm_msi_via_irqfd_enabled() (false)
> -#define kvm_gsi_routing_allowed() (false)
> -#define kvm_gsi_direct_mapping() (false)
> -#define kvm_readonly_mem_enabled() (false)
> -#endif
> -
>  struct kvm_run;
>  struct kvm_lapic_state;
>  

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]