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

From: Gleb Natapov
Date: Tue Apr 02 2013 - 07:56:23 EST


On Mon, Mar 25, 2013 at 02:14:20PM -0700, Kevin Hilman wrote:
> Gleb Natapov <gleb@xxxxxxxxxx> writes:
>
> > On Sun, Mar 24, 2013 at 02:44:26PM +0100, Frederic Weisbecker wrote:
> >> 2013/3/21 Gleb Natapov <gleb@xxxxxxxxxx>:
> >> > Isn't is simpler for kernel/context_tracking.c to define empty
> >> > __guest_enter()/__guest_exit() if !CONFIG_KVM.
> >>
> >> That doesn't look right. Off-cases are usually handled from the
> >> headers, right? So that we avoid iffdeffery ugliness in core code.
> > Lets put it in linux/context_tracking.h header then.
>
> Here's a version to do that.
>
Frederic, are you OK with this version?


> Kevin
>
> >From d9d909394479dd7ff90b7bddb95a564945406719 Mon Sep 17 00:00:00 2001
> From: Kevin Hilman <khilman@xxxxxxxxxx>
> Date: Mon, 25 Mar 2013 14:12:41 -0700
> Subject: [PATCH v2] ontext_tracking: fix !CONFIG_KVM compile: add stub guest
> enter/exit
>
> When KVM is not enabled, or not available on a platform, the KVM
> headers should not be included. Instead, just define stub
> __guest_[enter|exit] functions.
>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx>
> ---
> include/linux/context_tracking.h | 7 +++++++
> kernel/context_tracking.c | 1 -
> 2 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/context_tracking.h b/include/linux/context_tracking.h
> index 365f4a6..9d0f242 100644
> --- a/include/linux/context_tracking.h
> +++ b/include/linux/context_tracking.h
> @@ -3,6 +3,13 @@
>
> #include <linux/sched.h>
> #include <linux/percpu.h>
> +#if IS_ENABLED(CONFIG_KVM)
> +#include <linux/kvm_host.h>
> +#else
> +#define __guest_enter()
> +#define __guest_exit()
> +#endif
> +
> #include <asm/ptrace.h>
>
> struct context_tracking {
> diff --git a/kernel/context_tracking.c b/kernel/context_tracking.c
> index 65349f0..85bdde1 100644
> --- a/kernel/context_tracking.c
> +++ b/kernel/context_tracking.c
> @@ -15,7 +15,6 @@
> */
>
> #include <linux/context_tracking.h>
> -#include <linux/kvm_host.h>
> #include <linux/rcupdate.h>
> #include <linux/sched.h>
> #include <linux/hardirq.h>
> --
> 1.8.2

--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/