Rusty Russell
2007-Jul-19 21:22 UTC
[PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option
Any objections? Rusty. ==Having KVM appear in the middle of "drivers" is kinda strange, and having it alone under a menu called "virtualization" doubly so. 1) Move the "Virtualization" menu into the arch-specific i386 and x86-64 Kconfig. 2) Add a help message to the menu. 3) Move CONFIG_PARAVIRT under CONFIG_VIRTUALIZATION 4) Move lguest into same menu. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> diff -r decd4a43335a arch/i386/Kconfig --- a/arch/i386/Kconfig Fri Jul 20 13:49:20 2007 +1000 +++ b/arch/i386/Kconfig Fri Jul 20 14:05:56 2007 +1000 @@ -210,17 +210,55 @@ config X86_ES7000 endchoice +config ACPI_SRAT + bool + default y + depends on ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH) + select ACPI_NUMA + +config HAVE_ARCH_PARSE_SRAT + bool + default y + depends on ACPI_SRAT + +config X86_SUMMIT_NUMA + bool + default y + depends on NUMA && (X86_SUMMIT || X86_GENERICARCH) + +config X86_CYCLONE_TIMER + bool + default y + depends on X86_SUMMIT || X86_GENERICARCH + +config ES7000_CLUSTERED_APIC + bool + default y + depends on SMP && X86_ES7000 && MPENTIUMIII + +source "arch/i386/Kconfig.cpu" + +menuconfig VIRTUALIZATION + bool "Virtualization" + default y + help + Virtualization is a way of running multiple Operating Systems on + the same machine. There are several different virtualization + technologies in i386 Linux, including KVM, lguest, VMI and Xen. + If in doubt say Y and examine the sub-options. + +if VIRTUALIZATION config PARAVIRT - bool "Paravirtualization support (EXPERIMENTAL)" - depends on EXPERIMENTAL + bool "Paravirtualization support" depends on !(X86_VISWS || X86_VOYAGER) help - Paravirtualization is a way of running multiple instances of - Linux on the same machine, under a hypervisor. This option - changes the kernel so it can modify itself when it is run - under a hypervisor, improving performance significantly. + Paravirtualization enables Linux to detect when it is running + as a guest operating system under a hypervisor: it will + modify itself, improving performance significantly. However, when run without a hypervisor the kernel is theoretically slower. If in doubt, say N. + +source "drivers/kvm/Kconfig" source "arch/i386/xen/Kconfig" @@ -233,33 +271,9 @@ config VMI at the moment), by linking the kernel to a GPL-ed ROM module provided by the hypervisor. -config ACPI_SRAT - bool - default y - depends on ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH) - select ACPI_NUMA - -config HAVE_ARCH_PARSE_SRAT - bool - default y - depends on ACPI_SRAT - -config X86_SUMMIT_NUMA - bool - default y - depends on NUMA && (X86_SUMMIT || X86_GENERICARCH) - -config X86_CYCLONE_TIMER - bool - default y - depends on X86_SUMMIT || X86_GENERICARCH - -config ES7000_CLUSTERED_APIC - bool - default y - depends on SMP && X86_ES7000 && MPENTIUMIII - -source "arch/i386/Kconfig.cpu" +source "drivers/lguest/Kconfig" + +endif # VIRTUALIZATION config HPET_TIMER bool "HPET Timer Support" diff -r decd4a43335a arch/x86_64/Kconfig --- a/arch/x86_64/Kconfig Fri Jul 20 13:49:20 2007 +1000 +++ b/arch/x86_64/Kconfig Fri Jul 20 13:59:08 2007 +1000 @@ -760,6 +760,19 @@ config SYSVIPC_COMPAT endmenu +menuconfig VIRTUALIZATION + bool "Virtualization" + default y + help + Virtualization is a way of running multiple Operating Systems on + the same machine. There are several different virtualization + technologies in Linux, but currently KVM is the only + option for x86_64. If in doubt say Y and examine the sub-options. + +if VIRTUALIZATION +source "drivers/kvm/Kconfig" +endif #VIRTUALIZATION + source "net/Kconfig" source drivers/Kconfig diff -r decd4a43335a drivers/Kconfig --- a/drivers/Kconfig Fri Jul 20 13:49:20 2007 +1000 +++ b/drivers/Kconfig Fri Jul 20 14:06:03 2007 +1000 @@ -82,9 +82,5 @@ source "drivers/dma/Kconfig" source "drivers/auxdisplay/Kconfig" -source "drivers/kvm/Kconfig" - source "drivers/uio/Kconfig" - -source "drivers/lguest/Kconfig" endmenu diff -r decd4a43335a drivers/kvm/Kconfig --- a/drivers/kvm/Kconfig Fri Jul 20 13:49:20 2007 +1000 +++ b/drivers/kvm/Kconfig Fri Jul 20 13:55:07 2007 +1000 @@ -1,13 +1,6 @@ # # KVM configuration # -menuconfig VIRTUALIZATION - bool "Virtualization" - depends on X86 - default y - -if VIRTUALIZATION - config KVM tristate "Kernel-based Virtual Machine (KVM) support" depends on X86 && EXPERIMENTAL @@ -39,5 +32,3 @@ config KVM_AMD ---help--- Provides support for KVM on AMD processors equipped with the AMD-V (SVM) extensions. - -endif # VIRTUALIZATION
Alexey Eremenko
2007-Jul-19 21:32 UTC
[PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option
On 7/20/07, Rusty Russell <rusty@rustcorp.com.au> wrote:> Any objections? > > Rusty. > ==> Having KVM appear in the middle of "drivers" is kinda strange, and > having it alone under a menu called "virtualization" doubly so. >Hi Rusty ! Very good move, that I have thought about too... I believe that since we're creating a Virtualization Menu, we should add OS-level-virtualization there as well (aka containerization) - the following things: IPC virtualization (aka IPC namespaces), PID virtualization, UTS virtualization. Those are 3 basic components that went mainline into 2.6.19. Article from OpenVZ: http://www.linux.com/articles/59150?tid=136&tid=91 P.S. maybe rename those components from "IPC namespaces" to "IPC virtualization" or even to "IPC containerization" it better reflect it's internals? -- -Alexey Eremenko "Technologov"
Avi Kivity
2007-Jul-19 22:24 UTC
[PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option
Rusty Russell wrote:> Any objections? > > Rusty. > ==> Having KVM appear in the middle of "drivers" is kinda strange, and > having it alone under a menu called "virtualization" doubly so. > > 1) Move the "Virtualization" menu into the arch-specific i386 and > x86-64 Kconfig. >Virtualization is hardly x86 specific. How about moving it to top-level, and having individual items disable themselves on archs they don't apply to? Otherwise we end up with $NARCH copies of that Kconfig, each slightly different. The top-level entry can be made to depend on the archs that actually have some virt capability, so as not to show empty an menu. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic.
Jan Engelhardt
2007-Jul-21 08:49 UTC
[PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option
On Jul 20 2007 14:22, Rusty Russell wrote:>Subject: [PATCH] Move KVM, paravirt, lguest, > VMI and Xen under arch-level Virtualization option > >Any objections?Well btw, would it make sense to also rearrange the directory structure along with it, i.e. drivers/kvm => drivers/virt/kvm drivers/lguest => drivers/virt/lguest drivers/xen => drivers/virt/xen Then the full kconfig (with menuconfig,if,endif) can go to drivers/virt/Kconfig. Jan --
Seemingly Similar Threads
- [PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option
- [PATCH 1/3] Normalize config options for guest support
- [PATCH 1/3] Normalize config options for guest support
- [RFC, PATCH 2/24] i386 Vmi config
- [RFC, PATCH 2/24] i386 Vmi config