1# 2# KVM configuration 3# 4 5source "virt/kvm/Kconfig" 6 7menuconfig VIRTUALIZATION 8 bool "Virtualization" 9 ---help--- 10 Say Y here to get to see options for using your Linux host to run 11 other operating systems inside virtual machines (guests). 12 This option alone does not add any kernel code. 13 14 If you say N, all options in this submenu will be skipped and 15 disabled. 16 17if VIRTUALIZATION 18 19config KVM 20 bool 21 select PREEMPT_NOTIFIERS 22 select ANON_INODES 23 select HAVE_KVM_EVENTFD 24 25config KVM_BOOK3S_HANDLER 26 bool 27 28config KVM_BOOK3S_32_HANDLER 29 bool 30 select KVM_BOOK3S_HANDLER 31 select KVM_MMIO 32 33config KVM_BOOK3S_64_HANDLER 34 bool 35 select KVM_BOOK3S_HANDLER 36 37config KVM_BOOK3S_PR_POSSIBLE 38 bool 39 select KVM_MMIO 40 select MMU_NOTIFIER 41 42config KVM_BOOK3S_HV_POSSIBLE 43 bool 44 45config KVM_BOOK3S_32 46 tristate "KVM support for PowerPC book3s_32 processors" 47 depends on PPC_BOOK3S_32 && !SMP && !PTE_64BIT 48 select KVM 49 select KVM_BOOK3S_32_HANDLER 50 select KVM_BOOK3S_PR_POSSIBLE 51 ---help--- 52 Support running unmodified book3s_32 guest kernels 53 in virtual machines on book3s_32 host processors. 54 55 This module provides access to the hardware capabilities through 56 a character device node named /dev/kvm. 57 58 If unsure, say N. 59 60config KVM_BOOK3S_64 61 tristate "KVM support for PowerPC book3s_64 processors" 62 depends on PPC_BOOK3S_64 63 select KVM_BOOK3S_64_HANDLER 64 select KVM 65 select KVM_BOOK3S_PR_POSSIBLE if !KVM_BOOK3S_HV_POSSIBLE 66 ---help--- 67 Support running unmodified book3s_64 and book3s_32 guest kernels 68 in virtual machines on book3s_64 host processors. 69 70 This module provides access to the hardware capabilities through 71 a character device node named /dev/kvm. 72 73 If unsure, say N. 74 75config KVM_BOOK3S_64_HV 76 tristate "KVM support for POWER7 and PPC970 using hypervisor mode in host" 77 depends on KVM_BOOK3S_64 78 select KVM_BOOK3S_HV_POSSIBLE 79 select MMU_NOTIFIER 80 select CMA 81 ---help--- 82 Support running unmodified book3s_64 guest kernels in 83 virtual machines on POWER7 and PPC970 processors that have 84 hypervisor mode available to the host. 85 86 If you say Y here, KVM will use the hardware virtualization 87 facilities of POWER7 (and later) processors, meaning that 88 guest operating systems will run at full hardware speed 89 using supervisor and user modes. However, this also means 90 that KVM is not usable under PowerVM (pHyp), is only usable 91 on POWER7 (or later) processors and PPC970-family processors, 92 and cannot emulate a different processor from the host processor. 93 94 If unsure, say N. 95 96config KVM_BOOK3S_64_PR 97 tristate "KVM support without using hypervisor mode in host" 98 depends on KVM_BOOK3S_64 99 select KVM_BOOK3S_PR_POSSIBLE 100 ---help--- 101 Support running guest kernels in virtual machines on processors 102 without using hypervisor mode in the host, by running the 103 guest in user mode (problem state) and emulating all 104 privileged instructions and registers. 105 106 This is not as fast as using hypervisor mode, but works on 107 machines where hypervisor mode is not available or not usable, 108 and can emulate processors that are different from the host 109 processor, including emulating 32-bit processors on a 64-bit 110 host. 111 112config KVM_BOOKE_HV 113 bool 114 115config KVM_EXIT_TIMING 116 bool "Detailed exit timing" 117 depends on KVM_E500V2 || KVM_E500MC 118 ---help--- 119 Calculate elapsed time for every exit/enter cycle. A per-vcpu 120 report is available in debugfs kvm/vm#_vcpu#_timing. 121 The overhead is relatively small, however it is not recommended for 122 production environments. 123 124 If unsure, say N. 125 126config KVM_E500V2 127 bool "KVM support for PowerPC E500v2 processors" 128 depends on E500 && !PPC_E500MC 129 select KVM 130 select KVM_MMIO 131 select MMU_NOTIFIER 132 ---help--- 133 Support running unmodified E500 guest kernels in virtual machines on 134 E500v2 host processors. 135 136 This module provides access to the hardware capabilities through 137 a character device node named /dev/kvm. 138 139 If unsure, say N. 140 141config KVM_E500MC 142 bool "KVM support for PowerPC E500MC/E5500/E6500 processors" 143 depends on PPC_E500MC 144 select KVM 145 select KVM_MMIO 146 select KVM_BOOKE_HV 147 select MMU_NOTIFIER 148 ---help--- 149 Support running unmodified E500MC/E5500/E6500 guest kernels in 150 virtual machines on E500MC/E5500/E6500 host processors. 151 152 This module provides access to the hardware capabilities through 153 a character device node named /dev/kvm. 154 155 If unsure, say N. 156 157config KVM_MPIC 158 bool "KVM in-kernel MPIC emulation" 159 depends on KVM && E500 160 select HAVE_KVM_IRQCHIP 161 select HAVE_KVM_IRQFD 162 select HAVE_KVM_IRQ_ROUTING 163 select HAVE_KVM_MSI 164 help 165 Enable support for emulating MPIC devices inside the 166 host kernel, rather than relying on userspace to emulate. 167 Currently, support is limited to certain versions of 168 Freescale's MPIC implementation. 169 170config KVM_XICS 171 bool "KVM in-kernel XICS emulation" 172 depends on KVM_BOOK3S_64 && !KVM_MPIC 173 select HAVE_KVM_IRQCHIP 174 select HAVE_KVM_IRQFD 175 default y 176 ---help--- 177 Include support for the XICS (eXternal Interrupt Controller 178 Specification) interrupt controller architecture used on 179 IBM POWER (pSeries) servers. 180 181source drivers/vhost/Kconfig 182 183endif # VIRTUALIZATION 184