diff mbox

KVM: allow host header to be included even for !CONFIG_KVM

Message ID 87txnz9o7n.fsf@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Kevin Hilman March 25, 2013, 9:14 p.m. UTC
Gleb Natapov <gleb@redhat.com> writes:

> On Sun, Mar 24, 2013 at 02:44:26PM +0100, Frederic Weisbecker wrote:
>> 2013/3/21 Gleb Natapov <gleb@redhat.com>:
>> > 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.

Kevin

From d9d909394479dd7ff90b7bddb95a564945406719 Mon Sep 17 00:00:00 2001
From: Kevin Hilman <khilman@linaro.org>
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@gmail.com>
Signed-off-by: Kevin Hilman <khilman@linaro.org>
---
 include/linux/context_tracking.h | 7 +++++++
 kernel/context_tracking.c        | 1 -
 2 files changed, 7 insertions(+), 1 deletion(-)

Comments

Gleb Natapov April 2, 2013, 11:56 a.m. UTC | #1
On Mon, Mar 25, 2013 at 02:14:20PM -0700, Kevin Hilman wrote:
> Gleb Natapov <gleb@redhat.com> writes:
> 
> > On Sun, Mar 24, 2013 at 02:44:26PM +0100, Frederic Weisbecker wrote:
> >> 2013/3/21 Gleb Natapov <gleb@redhat.com>:
> >> > 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@linaro.org>
> 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@gmail.com>
> Signed-off-by: Kevin Hilman <khilman@linaro.org>
> ---
>  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 kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alexander Graf May 2, 2013, 9:58 p.m. UTC | #2
On 02.04.2013, at 13:56, Gleb Natapov wrote:

> On Mon, Mar 25, 2013 at 02:14:20PM -0700, Kevin Hilman wrote:
>> Gleb Natapov <gleb@redhat.com> writes:
>> 
>>> On Sun, Mar 24, 2013 at 02:44:26PM +0100, Frederic Weisbecker wrote:
>>>> 2013/3/21 Gleb Natapov <gleb@redhat.com>:
>>>>> 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?

Did anything happen on this? The tree is still broken...


Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Frederic Weisbecker May 15, 2013, 10:52 p.m. UTC | #3
On Mon, Mar 25, 2013 at 02:14:20PM -0700, Kevin Hilman wrote:
> Gleb Natapov <gleb@redhat.com> writes:
> 
> > On Sun, Mar 24, 2013 at 02:44:26PM +0100, Frederic Weisbecker wrote:
> >> 2013/3/21 Gleb Natapov <gleb@redhat.com>:
> >> > 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.
> 
> Kevin
> 
> From d9d909394479dd7ff90b7bddb95a564945406719 Mon Sep 17 00:00:00 2001
> From: Kevin Hilman <khilman@linaro.org>
> Date: Mon, 25 Mar 2013 14:12:41 -0700
> Subject: [PATCH v2] ontext_tracking: fix !CONFIG_KVM compile: add stub guest
>  enter/exit

Sorry for my very delayed response...

> 
> 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.

May be it would be cleaner to move guest_enter/exit definitions altogether
in linux/context_tracking.h

After all that's where the implementation mostly belong to.

Let me see if I can get that in shape.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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>