GNU Linux-libre 5.10.215-gnu1
[releases.git] / arch / mips / kvm / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # KVM configuration
4 #
5 source "virt/kvm/Kconfig"
6
7 menuconfig 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 disabled.
15
16 if VIRTUALIZATION
17
18 config KVM
19         tristate "Kernel-based Virtual Machine (KVM) support"
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
25         select HAVE_KVM_EVENTFD
26         select HAVE_KVM_VCPU_ASYNC_IOCTL
27         select KVM_MMIO
28         select MMU_NOTIFIER
29         select SRCU
30         help
31           Support for hosting Guest kernels.
32
33 choice
34         prompt "Virtualization mode"
35         depends on KVM
36         default KVM_MIPS_TE
37
38 config KVM_MIPS_TE
39         bool "Trap & Emulate"
40         depends on CPU_MIPS32_R2
41         help
42           Use trap and emulate to virtualize 32-bit guests in user mode. This
43           does not require any special hardware Virtualization support beyond
44           standard MIPS32 r2 or later, but it does require the guest kernel
45           to be configured with CONFIG_KVM_GUEST=y so that it resides in the
46           user address segment.
47
48 config KVM_MIPS_VZ
49         bool "MIPS Virtualization (VZ) ASE"
50         help
51           Use the MIPS Virtualization (VZ) ASE to virtualize guests. This
52           supports running unmodified guest kernels (with CONFIG_KVM_GUEST=n),
53           but requires hardware support.
54
55 endchoice
56
57 config KVM_MIPS_DYN_TRANS
58         bool "KVM/MIPS: Dynamic binary translation to reduce traps"
59         depends on KVM_MIPS_TE
60         default y
61         help
62           When running in Trap & Emulate mode patch privileged
63           instructions to reduce the number of traps.
64
65           If unsure, say Y.
66
67 config KVM_MIPS_DEBUG_COP0_COUNTERS
68         bool "Maintain counters for COP0 accesses"
69         depends on KVM
70         help
71           Maintain statistics for Guest COP0 accesses.
72           A histogram of COP0 accesses is printed when the VM is
73           shutdown.
74
75           If unsure, say N.
76
77 endif # VIRTUALIZATION