lkml.org 
[lkml]   [2008]   [Jan]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 21/54] KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM
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 <avi@qumranet.com>
>> ---
>> 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



\
 
 \ /
  Last update: 2008-01-01 17:37    [W:3.441 / U:0.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site