Sam Ravnborg wrote:
On Tue, Jan 01, 2008 at 05:35:47PM +0200, Avi Kivity wrote:
Currently, make headers_check barfs due to <asm/kvm.h>, which <linux/kvm.h>
includes, not existing.  Rather than add a zillion <asm/kvm.h>s, export kvm.h
only if the arch actually supports it.

Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>
---
 arch/x86/Kconfig     |    4 ++++
 drivers/kvm/Kconfig  |    4 ++--
 include/linux/Kbuild |    2 +-
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 80b7ba4..e029a93 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -116,6 +116,10 @@ config ARCH_SUPPORTS_OPROFILE
        bool
        default y
+config ARCH_SUPPORTS_KVM
+       bool
+       default y
+
config ZONE_DMA32
        bool
diff --git a/drivers/kvm/Kconfig b/drivers/kvm/Kconfig
index 6569206..4086080 100644
--- a/drivers/kvm/Kconfig
+++ b/drivers/kvm/Kconfig
@@ -3,7 +3,7 @@
 #
 menuconfig VIRTUALIZATION
        bool "Virtualization"
-       depends on X86
+       depends on ARCH_SUPPORTS_KVM || X86
        default y
        ---help---
          Say Y here to get to see options for using your Linux host to run 
other
@@ -16,7 +16,7 @@ if VIRTUALIZATION
config KVM
        tristate "Kernel-based Virtual Machine (KVM) support"
-       depends on X86 && EXPERIMENTAL
+       depends on ARCH_SUPPORTS_KVM && EXPERIMENTAL
        select PREEMPT_NOTIFIERS
        select ANON_INODES
        ---help---

An approach like the following is preferred:
kvm/Kconfig:

# config symbols to be selected by archs that implment virtualization/kvm
config HAVE_VIRTUALIZATION
config HAVE_KVM

menuconfig VIRTUALIZATION
        bool "..."
        depends on HAVE_VIRTUALIZATION

config KVM
        tristate "..."
        depends on HAVE_KVM

arch/x86/Kconfig:

config X86
        select HAVE_VIRTUALIZATION
        select HAVE_KVM


I dunno about the additional "HAVE_VIRTUALIZATION" - I added it
because I assume virtualization is more than just kvm.

The rationales behinds this approach is:

-> We do not define a new config variable for each arch
-> We have a common way to say that an arch supports a feature
-> We have a common naming scheme

I think my ARCH_SUPPORTS_KVM is exactly your HAVE_KVM. I'll update the patch to rename the variable and to have x86 select it instead of defining it (which is clearly better) as you suggest.

I'll also apply your HAVE_VIRTUALIZATION suggestion. Thanks for the review, comments, and explanations.

--
error compiling committee.c: too many arguments to function

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

Reply via email to