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