1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 # 2 # 3 # KVM configuration 3 # KVM configuration 4 # 4 # 5 << 6 source "virt/kvm/Kconfig" 5 source "virt/kvm/Kconfig" 7 6 8 menuconfig VIRTUALIZATION 7 menuconfig VIRTUALIZATION 9 bool "Virtualization" 8 bool "Virtualization" 10 help !! 9 ---help--- 11 Say Y here to get to see options for 10 Say Y here to get to see options for using your Linux host to run 12 other operating systems inside virtu 11 other operating systems inside virtual machines (guests). 13 This option alone does not add any k 12 This option alone does not add any kernel code. 14 13 15 If you say N, all options in this su !! 14 If you say N, all options in this submenu will be skipped and disabled. 16 disabled. << 17 15 18 if VIRTUALIZATION 16 if VIRTUALIZATION 19 17 20 config KVM 18 config KVM 21 bool !! 19 tristate "Kernel-based Virtual Machine (KVM) support" 22 select KVM_COMMON !! 20 depends on HAVE_KVM >> 21 select EXPORT_UASM >> 22 select PREEMPT_NOTIFIERS >> 23 select ANON_INODES >> 24 select KVM_GENERIC_DIRTYLOG_READ_PROTECT 23 select HAVE_KVM_VCPU_ASYNC_IOCTL 25 select HAVE_KVM_VCPU_ASYNC_IOCTL 24 select KVM_VFIO << 25 select HAVE_KVM_IRQ_BYPASS << 26 << 27 config KVM_BOOK3S_HANDLER << 28 bool << 29 << 30 config KVM_BOOK3S_32_HANDLER << 31 bool << 32 select KVM_BOOK3S_HANDLER << 33 select KVM_MMIO << 34 << 35 config KVM_BOOK3S_64_HANDLER << 36 bool << 37 select KVM_BOOK3S_HANDLER << 38 << 39 config KVM_BOOK3S_PR_POSSIBLE << 40 bool << 41 select KVM_MMIO 26 select KVM_MMIO 42 select KVM_GENERIC_MMU_NOTIFIER !! 27 select MMU_NOTIFIER 43 !! 28 select SRCU 44 config KVM_BOOK3S_HV_POSSIBLE !! 29 ---help--- 45 bool !! 30 Support for hosting Guest kernels. 46 !! 31 47 config KVM_BOOK3S_32 !! 32 choice 48 tristate "KVM support for PowerPC book !! 33 prompt "Virtualization mode" 49 depends on PPC_BOOK3S_32 && !SMP && !P !! 34 depends on KVM 50 depends on !CONTEXT_TRACKING_USER !! 35 default KVM_MIPS_TE 51 select KVM !! 36 52 select KVM_BOOK3S_32_HANDLER !! 37 config KVM_MIPS_TE 53 select KVM_BOOK3S_PR_POSSIBLE !! 38 bool "Trap & Emulate" 54 select PPC_FPU !! 39 ---help--- 55 help !! 40 Use trap and emulate to virtualize 32-bit guests in user mode. This 56 Support running unmodified book3s_32 !! 41 does not require any special hardware Virtualization support beyond 57 in virtual machines on book3s_32 hos !! 42 standard MIPS32/64 r2 or later, but it does require the guest kernel 58 !! 43 to be configured with CONFIG_KVM_GUEST=y so that it resides in the 59 This module provides access to the h !! 44 user address segment. 60 a character device node named /dev/k !! 45 61 !! 46 config KVM_MIPS_VZ 62 If unsure, say N. !! 47 bool "MIPS Virtualization (VZ) ASE" 63 !! 48 ---help--- 64 config KVM_BOOK3S_64 !! 49 Use the MIPS Virtualization (VZ) ASE to virtualize guests. This 65 tristate "KVM support for PowerPC book !! 50 supports running unmodified guest kernels (with CONFIG_KVM_GUEST=n), 66 depends on PPC_BOOK3S_64 !! 51 but requires hardware support. 67 select KVM_BOOK3S_64_HANDLER !! 52 68 select KVM !! 53 endchoice 69 select KVM_BOOK3S_PR_POSSIBLE if !KVM_ !! 54 70 select PPC_64S_HASH_MMU !! 55 config KVM_MIPS_DYN_TRANS 71 select SPAPR_TCE_IOMMU if IOMMU_SUPPOR !! 56 bool "KVM/MIPS: Dynamic binary translation to reduce traps" 72 help !! 57 depends on KVM_MIPS_TE 73 Support running unmodified book3s_64 !! 58 default y 74 in virtual machines on book3s_64 hos !! 59 ---help--- 75 !! 60 When running in Trap & Emulate mode patch privileged 76 This module provides access to the h !! 61 instructions to reduce the number of traps. 77 a character device node named /dev/k << 78 << 79 If unsure, say N. << 80 << 81 config KVM_BOOK3S_64_HV << 82 tristate "KVM for POWER7 and later usi << 83 depends on KVM_BOOK3S_64 && PPC_POWERN << 84 select KVM_BOOK3S_HV_POSSIBLE << 85 select KVM_GENERIC_MMU_NOTIFIER << 86 select CMA << 87 help << 88 Support running unmodified book3s_64 << 89 virtual machines on POWER7 and newer << 90 hypervisor mode available to the hos << 91 << 92 If you say Y here, KVM will use the << 93 facilities of POWER7 (and later) pro << 94 guest operating systems will run at << 95 using supervisor and user modes. Ho << 96 that KVM is not usable under PowerVM << 97 on POWER7 or later processors, and c << 98 different processor from the host pr << 99 << 100 If unsure, say N. << 101 << 102 config KVM_BOOK3S_64_PR << 103 tristate "KVM support without using hy << 104 depends on KVM_BOOK3S_64 << 105 depends on !CONTEXT_TRACKING_USER << 106 select KVM_BOOK3S_PR_POSSIBLE << 107 help << 108 Support running guest kernels in vir << 109 without using hypervisor mode in the << 110 guest in user mode (problem state) a << 111 privileged instructions and register << 112 << 113 This is only available for hash MMU << 114 guests that use hash MMU mode. << 115 << 116 This is not as fast as using hypervi << 117 machines where hypervisor mode is no << 118 and can emulate processors that are << 119 processor, including emulating 32-bi << 120 host. << 121 << 122 Selecting this option will cause the << 123 disabled when the kernel is booted o << 124 hash MMU mode (regardless of PR VMs << 125 are running, "AIL" mode is disabled << 126 and system calls on the host. << 127 << 128 config KVM_BOOK3S_HV_EXIT_TIMING << 129 bool << 130 << 131 config KVM_BOOK3S_HV_P9_TIMING << 132 bool "Detailed timing for the P9 entry << 133 select KVM_BOOK3S_HV_EXIT_TIMING << 134 depends on KVM_BOOK3S_HV_POSSIBLE && D << 135 help << 136 Calculate time taken for each vcpu d << 137 exit, time spent inside the guest an << 138 hypercalls and page faults. The tota << 139 times in nanoseconds together with t << 140 are reported in debugfs in kvm/vm#/v << 141 << 142 If unsure, say N. << 143 << 144 config KVM_BOOK3S_HV_P8_TIMING << 145 bool "Detailed timing for hypervisor r << 146 select KVM_BOOK3S_HV_EXIT_TIMING << 147 depends on KVM_BOOK3S_HV_POSSIBLE && D << 148 help << 149 Calculate time taken for each vcpu i << 150 exit, and interrupt handling code, p << 151 and in nap mode due to idle (cede) w << 152 in the guest. The total, minimum an << 153 together with the number of executio << 154 kvm/vm#/vcpu#/timings. The overhead << 155 ns per exit on POWER8. << 156 << 157 If unsure, say N. << 158 << 159 config KVM_BOOK3S_HV_NESTED_PMU_WORKAROUND << 160 bool "Nested L0 host workaround for L1 << 161 depends on KVM_BOOK3S_HV_POSSIBLE << 162 default !EXPERT << 163 help << 164 Old nested HV capable Linux guests h << 165 reflect the PMU in-use status of the << 166 while the L2 PMU registers are live. << 167 of L2 PMU register state, causing pe << 168 L2 guests. << 169 << 170 Selecting this option for the L0 hos << 171 those buggy L1s which saves the L2 s << 172 in all nested-capable guest entry/ex << 173 << 174 config KVM_BOOKE_HV << 175 bool << 176 << 177 config KVM_EXIT_TIMING << 178 bool "Detailed exit timing" << 179 depends on KVM_E500V2 || KVM_E500MC << 180 help << 181 Calculate elapsed time for every exi << 182 report is available in debugfs kvm/v << 183 The overhead is relatively small, ho << 184 production environments. << 185 << 186 If unsure, say N. << 187 << 188 config KVM_E500V2 << 189 bool "KVM support for PowerPC E500v2 p << 190 depends on PPC_E500 && !PPC_E500MC << 191 depends on !CONTEXT_TRACKING_USER << 192 select KVM << 193 select KVM_MMIO << 194 select KVM_GENERIC_MMU_NOTIFIER << 195 help << 196 Support running unmodified E500 gues << 197 E500v2 host processors. << 198 62 199 This module provides access to the h !! 63 If unsure, say Y. 200 a character device node named /dev/k << 201 64 202 If unsure, say N. !! 65 config KVM_MIPS_DEBUG_COP0_COUNTERS 203 !! 66 bool "Maintain counters for COP0 accesses" 204 config KVM_E500MC !! 67 depends on KVM 205 bool "KVM support for PowerPC E500MC/E !! 68 ---help--- 206 depends on PPC_E500MC !! 69 Maintain statistics for Guest COP0 accesses. 207 depends on !CONTEXT_TRACKING_USER !! 70 A histogram of COP0 accesses is printed when the VM is 208 select KVM !! 71 shutdown. 209 select KVM_MMIO << 210 select KVM_BOOKE_HV << 211 select KVM_GENERIC_MMU_NOTIFIER << 212 help << 213 Support running unmodified E500MC/E5 << 214 virtual machines on E500MC/E5500/E65 << 215 << 216 This module provides access to the h << 217 a character device node named /dev/k << 218 72 219 If unsure, say N. 73 If unsure, say N. 220 74 221 config KVM_MPIC !! 75 source drivers/vhost/Kconfig 222 bool "KVM in-kernel MPIC emulation" << 223 depends on KVM && PPC_E500 << 224 select HAVE_KVM_IRQCHIP << 225 select HAVE_KVM_IRQ_ROUTING << 226 select HAVE_KVM_MSI << 227 help << 228 Enable support for emulating MPIC de << 229 host kernel, rather than relying on << 230 Currently, support is limited to cer << 231 Freescale's MPIC implementation. << 232 << 233 config KVM_XICS << 234 bool "KVM in-kernel XICS emulation" << 235 depends on KVM_BOOK3S_64 && !KVM_MPIC << 236 select HAVE_KVM_IRQCHIP << 237 default y << 238 help << 239 Include support for the XICS (eXtern << 240 Specification) interrupt controller << 241 IBM POWER (pSeries) servers. << 242 << 243 config KVM_XIVE << 244 bool << 245 default y << 246 depends on KVM_XICS && PPC_XIVE_NATIVE << 247 76 248 endif # VIRTUALIZATION 77 endif # VIRTUALIZATION
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.