From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37044) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WLZgj-0004PP-Fp for qemu-devel@nongnu.org; Thu, 06 Mar 2014 09:54:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WLZgc-0001pn-70 for qemu-devel@nongnu.org; Thu, 06 Mar 2014 09:54:21 -0500 Received: from cantor2.suse.de ([195.135.220.15]:47452 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WLZgc-0001pb-00 for qemu-devel@nongnu.org; Thu, 06 Mar 2014 09:54:14 -0500 Message-ID: <53188C13.70300@suse.de> Date: Thu, 06 Mar 2014 15:54:11 +0100 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1394101634-21509-1-git-send-email-xbing6@gmail.com> <1394101634-21509-2-git-send-email-xbing6@gmail.com> In-Reply-To: <1394101634-21509-2-git-send-email-xbing6@gmail.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 1/7] kvm: remove the hack "#if defined CONFIG_KVM || !defined NEED_CPU_H" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Xuebing Wang , qemu-devel@nongnu.org Cc: Paolo Bonzini , Gleb Natapov 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 o= ptimize > 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; > =20 > -#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) > =20 > -#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; > =20 --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg