123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- #
- # 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
- select KVM_VFIO
- select IRQ_BYPASS_MANAGER
- select HAVE_KVM_IRQ_BYPASS
- 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 for POWER7 and later 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 newer 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 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
|