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 depends on MIPS_FP_SUPPORT >> 22 select EXPORT_UASM >> 23 select PREEMPT_NOTIFIERS >> 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 << 42 select KVM_GENERIC_MMU_NOTIFIER << 43 << 44 config KVM_BOOK3S_HV_POSSIBLE << 45 bool << 46 << 47 config KVM_BOOK3S_32 << 48 tristate "KVM support for PowerPC book << 49 depends on PPC_BOOK3S_32 && !SMP && !P << 50 depends on !CONTEXT_TRACKING_USER << 51 select KVM << 52 select KVM_BOOK3S_32_HANDLER << 53 select KVM_BOOK3S_PR_POSSIBLE << 54 select PPC_FPU << 55 help << 56 Support running unmodified book3s_32 << 57 in virtual machines on book3s_32 hos << 58 << 59 This module provides access to the h << 60 a character device node named /dev/k << 61 << 62 If unsure, say N. << 63 << 64 config KVM_BOOK3S_64 << 65 tristate "KVM support for PowerPC book << 66 depends on PPC_BOOK3S_64 << 67 select KVM_BOOK3S_64_HANDLER << 68 select KVM << 69 select KVM_BOOK3S_PR_POSSIBLE if !KVM_ << 70 select PPC_64S_HASH_MMU << 71 select SPAPR_TCE_IOMMU if IOMMU_SUPPOR << 72 help << 73 Support running unmodified book3s_64 << 74 in virtual machines on book3s_64 hos << 75 << 76 This module provides access to the h << 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 << 199 This module provides access to the h << 200 a character device node named /dev/k << 201 << 202 If unsure, say N. << 203 << 204 config KVM_E500MC << 205 bool "KVM support for PowerPC E500MC/E << 206 depends on PPC_E500MC << 207 depends on !CONTEXT_TRACKING_USER << 208 select KVM << 209 select KVM_MMIO 26 select KVM_MMIO 210 select KVM_BOOKE_HV !! 27 select MMU_NOTIFIER 211 select KVM_GENERIC_MMU_NOTIFIER !! 28 select SRCU 212 help !! 29 ---help--- 213 Support running unmodified E500MC/E5 !! 30 Support for hosting Guest kernels. 214 virtual machines on E500MC/E5500/E65 !! 31 215 !! 32 choice 216 This module provides access to the h !! 33 prompt "Virtualization mode" 217 a character device node named /dev/k !! 34 depends on KVM 218 !! 35 default KVM_MIPS_TE 219 If unsure, say N. !! 36 220 !! 37 config KVM_MIPS_TE 221 config KVM_MPIC !! 38 bool "Trap & Emulate" 222 bool "KVM in-kernel MPIC emulation" !! 39 ---help--- 223 depends on KVM && PPC_E500 !! 40 Use trap and emulate to virtualize 32-bit guests in user mode. This 224 select HAVE_KVM_IRQCHIP !! 41 does not require any special hardware Virtualization support beyond 225 select HAVE_KVM_IRQ_ROUTING !! 42 standard MIPS32/64 r2 or later, but it does require the guest kernel 226 select HAVE_KVM_MSI !! 43 to be configured with CONFIG_KVM_GUEST=y so that it resides in the 227 help !! 44 user address segment. 228 Enable support for emulating MPIC de !! 45 229 host kernel, rather than relying on !! 46 config KVM_MIPS_VZ 230 Currently, support is limited to cer !! 47 bool "MIPS Virtualization (VZ) ASE" 231 Freescale's MPIC implementation. !! 48 ---help--- 232 !! 49 Use the MIPS Virtualization (VZ) ASE to virtualize guests. This 233 config KVM_XICS !! 50 supports running unmodified guest kernels (with CONFIG_KVM_GUEST=n), 234 bool "KVM in-kernel XICS emulation" !! 51 but requires hardware support. 235 depends on KVM_BOOK3S_64 && !KVM_MPIC !! 52 236 select HAVE_KVM_IRQCHIP !! 53 endchoice >> 54 >> 55 config KVM_MIPS_DYN_TRANS >> 56 bool "KVM/MIPS: Dynamic binary translation to reduce traps" >> 57 depends on KVM_MIPS_TE 237 default y 58 default y 238 help !! 59 ---help--- 239 Include support for the XICS (eXtern !! 60 When running in Trap & Emulate mode patch privileged 240 Specification) interrupt controller !! 61 instructions to reduce the number of traps. 241 IBM POWER (pSeries) servers. !! 62 >> 63 If unsure, say Y. >> 64 >> 65 config KVM_MIPS_DEBUG_COP0_COUNTERS >> 66 bool "Maintain counters for COP0 accesses" >> 67 depends on KVM >> 68 ---help--- >> 69 Maintain statistics for Guest COP0 accesses. >> 70 A histogram of COP0 accesses is printed when the VM is >> 71 shutdown. 242 72 243 config KVM_XIVE !! 73 If unsure, say N. 244 bool << 245 default y << 246 depends on KVM_XICS && PPC_XIVE_NATIVE << 247 74 248 endif # VIRTUALIZATION 75 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.