blob: 86fe9b3e3ff868be3f1f2801eedc69ad5161d730 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001# SPDX-License-Identifier: GPL-2.0
2#
3# KVM configuration
4#
5
6source "virt/kvm/Kconfig"
7source "virt/lib/Kconfig"
8
9menuconfig VIRTUALIZATION
10 bool "Virtualization"
11 ---help---
12 Say Y here to get to see options for using your Linux host to run
13 other operating systems inside virtual machines (guests).
14 This option alone does not add any kernel code.
15
16 If you say N, all options in this submenu will be skipped and
17 disabled.
18
19if VIRTUALIZATION
20
21config KVM
22 bool "Kernel-based Virtual Machine (KVM) support"
23 depends on OF
24 select MMU_NOTIFIER
25 select PREEMPT_NOTIFIERS
26 select HAVE_KVM_CPU_RELAX_INTERCEPT
27 select HAVE_KVM_ARCH_TLB_FLUSH_ALL
28 select KVM_MMIO
29 select KVM_ARM_HOST
30 select KVM_GENERIC_DIRTYLOG_READ_PROTECT
31 select SRCU
32 select KVM_VFIO
33 select HAVE_KVM_EVENTFD
34 select HAVE_KVM_IRQFD
35 select KVM_ARM_PMU if HW_PERF_EVENTS
36 select HAVE_KVM_MSI
37 select HAVE_KVM_IRQCHIP
38 select HAVE_KVM_IRQ_ROUTING
39 select IRQ_BYPASS_MANAGER
40 select HAVE_KVM_IRQ_BYPASS
41 select HAVE_KVM_VCPU_RUN_PID_CHANGE
42 ---help---
43 Support hosting virtualized guest machines.
44 We don't support KVM with 16K page tables yet, due to the multiple
45 levels of fake page tables.
46
47 If unsure, say N.
48
49config KVM_ARM_HOST
50 bool
51 ---help---
52 Provides host support for ARM processors.
53
54config KVM_ARM_PMU
55 bool
56 ---help---
57 Adds support for a virtual Performance Monitoring Unit (PMU) in
58 virtual machines.
59
60config KVM_INDIRECT_VECTORS
61 def_bool KVM && (HARDEN_BRANCH_PREDICTOR || HARDEN_EL2_VECTORS)
62
63source drivers/vhost/Kconfig
64
65endif # VIRTUALIZATION