lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 1 Jan 2008 17:22:00 +0100
From:	Sam Ravnborg <sam@...nborg.org>
To:	Avi Kivity <avi@...ranet.com>
Cc:	linux-kernel@...r.kernel.org, kvm-devel@...ts.sourceforge.net
Subject: Re: [PATCH 21/54] KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM

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


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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ