Re: [PATCH] KVM: allow host header to be included even for !CONFIG_KVM

From: Kevin Hilman
Date: Thu Mar 21 2013 - 10:27:23 EST

Gleb Natapov <gleb@xxxxxxxxxx> 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 <fweisbec@xxxxxxxxx>
>> >Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx>
>> >---
>> >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
<asm/kvm*.h> 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 <asm/kvm*.h> will still be broken when trying to
build the context tracker.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at