| # | |
| # KVM configuration | |
| # | |
| source "virt/kvm/Kconfig" | |
| menuconfig VIRTUALIZATION | |
| bool "Virtualization" | |
| ---help--- | |
| Say Y here to get to see options for using your Linux host to run | |
| other operating systems inside virtual machines (guests). | |
| This option alone does not add any kernel code. | |
| If you say N, all options in this submenu will be skipped and | |
| disabled. | |
| if VIRTUALIZATION | |
| config KVM | |
| bool | |
| select PREEMPT_NOTIFIERS | |
| select ANON_INODES | |
| select HAVE_KVM_EVENTFD | |
| select SRCU | |
| config KVM_BOOK3S_HANDLER | |
| bool | |
| config KVM_BOOK3S_32_HANDLER | |
| bool | |
| select KVM_BOOK3S_HANDLER | |
| select KVM_MMIO | |
| config KVM_BOOK3S_64_HANDLER | |
| bool | |
| select KVM_BOOK3S_HANDLER | |
| config KVM_BOOK3S_PR_POSSIBLE | |
| bool | |
| select KVM_MMIO | |
| select MMU_NOTIFIER | |
| config KVM_BOOK3S_HV_POSSIBLE | |
| bool | |
| config KVM_BOOK3S_32 | |
| tristate "KVM support for PowerPC book3s_32 processors" | |
| depends on PPC_BOOK3S_32 && !SMP && !PTE_64BIT | |
| select KVM | |
| select KVM_BOOK3S_32_HANDLER | |
| select KVM_BOOK3S_PR_POSSIBLE | |
| ---help--- | |
| Support running unmodified book3s_32 guest kernels | |
| in virtual machines on book3s_32 host processors. | |
| This module provides access to the hardware capabilities through | |
| a character device node named /dev/kvm. | |
| If unsure, say N. | |
| config KVM_BOOK3S_64 | |
| tristate "KVM support for PowerPC book3s_64 processors" | |
| depends on PPC_BOOK3S_64 | |
| select KVM_BOOK3S_64_HANDLER | |
| select KVM | |
| select KVM_BOOK3S_PR_POSSIBLE if !KVM_BOOK3S_HV_POSSIBLE | |
| ---help--- | |
| Support running unmodified book3s_64 and book3s_32 guest kernels | |
| in virtual machines on book3s_64 host processors. | |
| This module provides access to the hardware capabilities through | |
| a character device node named /dev/kvm. | |
| If unsure, say N. | |
| config KVM_BOOK3S_64_HV | |
| tristate "KVM support for POWER7 and PPC970 using hypervisor mode in host" | |
| depends on KVM_BOOK3S_64 && PPC_POWERNV | |
| select KVM_BOOK3S_HV_POSSIBLE | |
| select MMU_NOTIFIER | |
| select CMA | |
| ---help--- | |
| Support running unmodified book3s_64 guest kernels in | |
| virtual machines on POWER7 and PPC970 processors that have | |
| hypervisor mode available to the host. | |
| If you say Y here, KVM will use the hardware virtualization | |
| facilities of POWER7 (and later) processors, meaning that | |
| guest operating systems will run at full hardware speed | |
| using supervisor and user modes. However, this also means | |
| that KVM is not usable under PowerVM (pHyp), is only usable | |
| on POWER7 (or later) processors and PPC970-family processors, | |
| and cannot emulate a different processor from the host processor. | |
| If unsure, say N. | |
| config KVM_BOOK3S_64_PR | |
| tristate "KVM support without using hypervisor mode in host" | |
| depends on KVM_BOOK3S_64 | |
| select KVM_BOOK3S_PR_POSSIBLE | |
| ---help--- | |
| Support running guest kernels in virtual machines on processors | |
| without using hypervisor mode in the host, by running the | |
| guest in user mode (problem state) and emulating all | |
| privileged instructions and registers. | |
| This is not as fast as using hypervisor mode, but works on | |
| machines where hypervisor mode is not available or not usable, | |
| and can emulate processors that are different from the host | |
| processor, including emulating 32-bit processors on a 64-bit | |
| host. | |
| config KVM_BOOK3S_HV_EXIT_TIMING | |
| bool "Detailed timing for hypervisor real-mode code" | |
| depends on KVM_BOOK3S_HV_POSSIBLE && DEBUG_FS | |
| ---help--- | |
| Calculate time taken for each vcpu in the real-mode guest entry, | |
| exit, and interrupt handling code, plus time spent in the guest | |
| and in nap mode due to idle (cede) while other threads are still | |
| in the guest. The total, minimum and maximum times in nanoseconds | |
| together with the number of executions are reported in debugfs in | |
| kvm/vm#/vcpu#/timings. The overhead is of the order of 30 - 40 | |
| ns per exit on POWER8. | |
| If unsure, say N. | |
| config KVM_BOOKE_HV | |
| bool | |
| config KVM_EXIT_TIMING | |
| bool "Detailed exit timing" | |
| depends on KVM_E500V2 || KVM_E500MC | |
| ---help--- | |
| Calculate elapsed time for every exit/enter cycle. A per-vcpu | |
| report is available in debugfs kvm/vm#_vcpu#_timing. | |
| The overhead is relatively small, however it is not recommended for | |
| production environments. | |
| If unsure, say N. | |
| config KVM_E500V2 | |
| bool "KVM support for PowerPC E500v2 processors" | |
| depends on E500 && !PPC_E500MC | |
| select KVM | |
| select KVM_MMIO | |
| select MMU_NOTIFIER | |
| ---help--- | |
| Support running unmodified E500 guest kernels in virtual machines on | |
| E500v2 host processors. | |
| This module provides access to the hardware capabilities through | |
| a character device node named /dev/kvm. | |
| If unsure, say N. | |
| config KVM_E500MC | |
| bool "KVM support for PowerPC E500MC/E5500/E6500 processors" | |
| depends on PPC_E500MC | |
| select KVM | |
| select KVM_MMIO | |
| select KVM_BOOKE_HV | |
| select MMU_NOTIFIER | |
| ---help--- | |
| Support running unmodified E500MC/E5500/E6500 guest kernels in | |
| virtual machines on E500MC/E5500/E6500 host processors. | |
| This module provides access to the hardware capabilities through | |
| a character device node named /dev/kvm. | |
| If unsure, say N. | |
| config KVM_MPIC | |
| bool "KVM in-kernel MPIC emulation" | |
| depends on KVM && E500 | |
| select HAVE_KVM_IRQCHIP | |
| select HAVE_KVM_IRQFD | |
| select HAVE_KVM_IRQ_ROUTING | |
| select HAVE_KVM_MSI | |
| help | |
| Enable support for emulating MPIC devices inside the | |
| host kernel, rather than relying on userspace to emulate. | |
| Currently, support is limited to certain versions of | |
| Freescale's MPIC implementation. | |
| config KVM_XICS | |
| bool "KVM in-kernel XICS emulation" | |
| depends on KVM_BOOK3S_64 && !KVM_MPIC | |
| select HAVE_KVM_IRQCHIP | |
| select HAVE_KVM_IRQFD | |
| default y | |
| ---help--- | |
| Include support for the XICS (eXternal Interrupt Controller | |
| Specification) interrupt controller architecture used on | |
| IBM POWER (pSeries) servers. | |
| source drivers/vhost/Kconfig | |
| endif # VIRTUALIZATION |