1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# KVM configuration 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyunsource "virt/kvm/Kconfig" 6*4882a593Smuzhiyun 7*4882a593Smuzhiyunmenuconfig VIRTUALIZATION 8*4882a593Smuzhiyun bool "Virtualization" 9*4882a593Smuzhiyun help 10*4882a593Smuzhiyun Say Y here to get to see options for using your Linux host to run 11*4882a593Smuzhiyun other operating systems inside virtual machines (guests). 12*4882a593Smuzhiyun This option alone does not add any kernel code. 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun If you say N, all options in this submenu will be skipped and disabled. 15*4882a593Smuzhiyun 16*4882a593Smuzhiyunif VIRTUALIZATION 17*4882a593Smuzhiyun 18*4882a593Smuzhiyunconfig KVM 19*4882a593Smuzhiyun tristate "Kernel-based Virtual Machine (KVM) support" 20*4882a593Smuzhiyun depends on HAVE_KVM 21*4882a593Smuzhiyun depends on MIPS_FP_SUPPORT 22*4882a593Smuzhiyun select EXPORT_UASM 23*4882a593Smuzhiyun select PREEMPT_NOTIFIERS 24*4882a593Smuzhiyun select KVM_GENERIC_DIRTYLOG_READ_PROTECT 25*4882a593Smuzhiyun select HAVE_KVM_EVENTFD 26*4882a593Smuzhiyun select HAVE_KVM_VCPU_ASYNC_IOCTL 27*4882a593Smuzhiyun select KVM_MMIO 28*4882a593Smuzhiyun select MMU_NOTIFIER 29*4882a593Smuzhiyun select SRCU 30*4882a593Smuzhiyun help 31*4882a593Smuzhiyun Support for hosting Guest kernels. 32*4882a593Smuzhiyun 33*4882a593Smuzhiyunchoice 34*4882a593Smuzhiyun prompt "Virtualization mode" 35*4882a593Smuzhiyun depends on KVM 36*4882a593Smuzhiyun default KVM_MIPS_TE 37*4882a593Smuzhiyun 38*4882a593Smuzhiyunconfig KVM_MIPS_TE 39*4882a593Smuzhiyun bool "Trap & Emulate" 40*4882a593Smuzhiyun depends on CPU_MIPS32_R2 41*4882a593Smuzhiyun help 42*4882a593Smuzhiyun Use trap and emulate to virtualize 32-bit guests in user mode. This 43*4882a593Smuzhiyun does not require any special hardware Virtualization support beyond 44*4882a593Smuzhiyun standard MIPS32 r2 or later, but it does require the guest kernel 45*4882a593Smuzhiyun to be configured with CONFIG_KVM_GUEST=y so that it resides in the 46*4882a593Smuzhiyun user address segment. 47*4882a593Smuzhiyun 48*4882a593Smuzhiyunconfig KVM_MIPS_VZ 49*4882a593Smuzhiyun bool "MIPS Virtualization (VZ) ASE" 50*4882a593Smuzhiyun help 51*4882a593Smuzhiyun Use the MIPS Virtualization (VZ) ASE to virtualize guests. This 52*4882a593Smuzhiyun supports running unmodified guest kernels (with CONFIG_KVM_GUEST=n), 53*4882a593Smuzhiyun but requires hardware support. 54*4882a593Smuzhiyun 55*4882a593Smuzhiyunendchoice 56*4882a593Smuzhiyun 57*4882a593Smuzhiyunconfig KVM_MIPS_DYN_TRANS 58*4882a593Smuzhiyun bool "KVM/MIPS: Dynamic binary translation to reduce traps" 59*4882a593Smuzhiyun depends on KVM_MIPS_TE 60*4882a593Smuzhiyun default y 61*4882a593Smuzhiyun help 62*4882a593Smuzhiyun When running in Trap & Emulate mode patch privileged 63*4882a593Smuzhiyun instructions to reduce the number of traps. 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun If unsure, say Y. 66*4882a593Smuzhiyun 67*4882a593Smuzhiyunconfig KVM_MIPS_DEBUG_COP0_COUNTERS 68*4882a593Smuzhiyun bool "Maintain counters for COP0 accesses" 69*4882a593Smuzhiyun depends on KVM 70*4882a593Smuzhiyun help 71*4882a593Smuzhiyun Maintain statistics for Guest COP0 accesses. 72*4882a593Smuzhiyun A histogram of COP0 accesses is printed when the VM is 73*4882a593Smuzhiyun shutdown. 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun If unsure, say N. 76*4882a593Smuzhiyun 77*4882a593Smuzhiyunendif # VIRTUALIZATION 78