blob: 6f5930285fd547750c6b120aad2e034c95f7cfea [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Sanjay Lal2235a542012-11-21 18:33:59 -08002#
3# KVM configuration
4#
5source "virt/kvm/Kconfig"
6
7menuconfig VIRTUALIZATION
8 bool "Virtualization"
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +09009 help
Sanjay Lal2235a542012-11-21 18:33:59 -080010 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 disabled.
15
16if VIRTUALIZATION
17
18config KVM
19 tristate "Kernel-based Virtual Machine (KVM) support"
20 depends on HAVE_KVM
Paul Burtonc92e47e2018-11-07 23:14:02 +000021 depends on MIPS_FP_SUPPORT
James Hogan90e93112016-06-23 17:34:39 +010022 select EXPORT_UASM
Sanjay Lal2235a542012-11-21 18:33:59 -080023 select PREEMPT_NOTIFIERS
James Hogane88643b2016-12-06 14:50:52 +000024 select KVM_GENERIC_DIRTYLOG_READ_PROTECT
Paolo Bonzini5cb09442017-12-12 17:41:34 +010025 select HAVE_KVM_VCPU_ASYNC_IOCTL
Sanjay Lal2235a542012-11-21 18:33:59 -080026 select KVM_MMIO
James Hogan411740f2016-12-13 16:32:39 +000027 select MMU_NOTIFIER
Pranith Kumar83fe27e2014-12-05 11:24:45 -050028 select SRCU
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090029 help
Sanjay Lal2235a542012-11-21 18:33:59 -080030 Support for hosting Guest kernels.
James Hogan56f7a442017-03-14 10:15:32 +000031
32choice
33 prompt "Virtualization mode"
34 depends on KVM
35 default KVM_MIPS_TE
36
37config KVM_MIPS_TE
38 bool "Trap & Emulate"
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090039 help
James Hogan56f7a442017-03-14 10:15:32 +000040 Use trap and emulate to virtualize 32-bit guests in user mode. This
41 does not require any special hardware Virtualization support beyond
42 standard MIPS32/64 r2 or later, but it does require the guest kernel
43 to be configured with CONFIG_KVM_GUEST=y so that it resides in the
44 user address segment.
45
46config KVM_MIPS_VZ
47 bool "MIPS Virtualization (VZ) ASE"
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090048 help
James Hogan56f7a442017-03-14 10:15:32 +000049 Use the MIPS Virtualization (VZ) ASE to virtualize guests. This
50 supports running unmodified guest kernels (with CONFIG_KVM_GUEST=n),
51 but requires hardware support.
52
53endchoice
Sanjay Lal2235a542012-11-21 18:33:59 -080054
55config KVM_MIPS_DYN_TRANS
56 bool "KVM/MIPS: Dynamic binary translation to reduce traps"
James Hogan56f7a442017-03-14 10:15:32 +000057 depends on KVM_MIPS_TE
58 default y
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090059 help
Sanjay Lal2235a542012-11-21 18:33:59 -080060 When running in Trap & Emulate mode patch privileged
61 instructions to reduce the number of traps.
62
63 If unsure, say Y.
64
65config KVM_MIPS_DEBUG_COP0_COUNTERS
66 bool "Maintain counters for COP0 accesses"
67 depends on KVM
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090068 help
Sanjay Lal2235a542012-11-21 18:33:59 -080069 Maintain statistics for Guest COP0 accesses.
70 A histogram of COP0 accesses is printed when the VM is
71 shutdown.
72
73 If unsure, say N.
74
Sanjay Lal2235a542012-11-21 18:33:59 -080075endif # VIRTUALIZATION