From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Wood Subject: Re: [PATCH] KVM: allow host header to be included even for !CONFIG_KVM Date: Thu, 21 Mar 2013 13:42:34 -0500 Message-ID: <1363891354.31522.17@snotra> References: <1363306426-27209-1-git-send-email-khilman@linaro.org> <1363823921.25034.35@snotra> <20130321072955.GO3889@redhat.com> <87ppyshlq5.fsf@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; delsp=Yes; format=Flowed Content-Transfer-Encoding: 8BIT Cc: Gleb Natapov , Frederic Weisbecker , , Marcelo Tosatti , "open list:KERNEL VIRTUAL MA..." , open list To: Kevin Hilman Return-path: In-Reply-To: <87ppyshlq5.fsf@linaro.org> (from khilman@linaro.org on Thu Mar 21 09:27:14 2013) Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 03/21/2013 09:27:14 AM, Kevin Hilman wrote: > Gleb Natapov writes: > > > On Wed, Mar 20, 2013 at 06:58:41PM -0500, Scott Wood wrote: > >> On 03/14/2013 07:13:46 PM, Kevin Hilman wrote: > >> >The new context tracking subsystem unconditionally includes > kvm_host.h > >> >headers for the guest enter/exit macros. This causes a compile > >> >failure when KVM is not enabled. > >> > > >> >Fix by adding an IS_ENABLED(CONFIG_KVM) check to kvm_host so it > can > >> >be included/compiled even when KVM is not enabled. > >> > > >> >Cc: Frederic Weisbecker > >> >Signed-off-by: Kevin Hilman > >> >--- > >> >Applies on v3.9-rc2 > >> > > >> > include/linux/kvm_host.h | 7 ++++++- > >> > 1 file changed, 6 insertions(+), 1 deletion(-) > >> > >> This broke the PPC non-KVM build, which was relying on stub > >> functions in kvm_ppc.h, which relies on "struct vcpu" in > kvm_host.h. > >> > >> Why can't the entirety kvm_host.h be included regardless of > >> CONFIG_KVM, just like most other feature-specific headers? Why > >> can't the if/else just go around the functions that you want to > stub > >> out for non-KVM builds? > >> > > Kevin, > > > > What compilation failure this patch fixes? I presume something ARM > > related. > > Not specficially ARM related, but more context tracking related since > kernel/context_tracking.c pulls in kvm_host.h, which attempts to pull > in > which may not exist on some platforms. > > At least for ARM, KVM support was added in v3.9 so this patch can > probably be dropped since the non-KVM builds on ARM now work. But any > platform without the will still be broken when trying to > build the context tracker. Maybe other platforms should get empty asm/kvm*.h files. Is there anything from those files that the linux/kvm*.h headers need to build? -Scott