xref: /linux/arch/arm64/kvm/Kconfig (revision 6fdcba32711044c35c0e1b094cbd8f3f0b4472c9)
1# 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	# for TASKSTATS/TASK_DELAY_ACCT:
25	depends on NET && MULTIUSER
26	select MMU_NOTIFIER
27	select PREEMPT_NOTIFIERS
28	select HAVE_KVM_CPU_RELAX_INTERCEPT
29	select HAVE_KVM_ARCH_TLB_FLUSH_ALL
30	select KVM_MMIO
31	select KVM_ARM_HOST
32	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
33	select SRCU
34	select KVM_VFIO
35	select HAVE_KVM_EVENTFD
36	select HAVE_KVM_IRQFD
37	select KVM_ARM_PMU if HW_PERF_EVENTS
38	select HAVE_KVM_MSI
39	select HAVE_KVM_IRQCHIP
40	select HAVE_KVM_IRQ_ROUTING
41	select IRQ_BYPASS_MANAGER
42	select HAVE_KVM_IRQ_BYPASS
43	select HAVE_KVM_VCPU_RUN_PID_CHANGE
44	select TASKSTATS
45	select TASK_DELAY_ACCT
46	---help---
47	  Support hosting virtualized guest machines.
48	  We don't support KVM with 16K page tables yet, due to the multiple
49	  levels of fake page tables.
50
51	  If unsure, say N.
52
53config KVM_ARM_HOST
54	bool
55	---help---
56	  Provides host support for ARM processors.
57
58config KVM_ARM_PMU
59	bool
60	---help---
61	  Adds support for a virtual Performance Monitoring Unit (PMU) in
62	  virtual machines.
63
64config KVM_INDIRECT_VECTORS
65       def_bool KVM && (HARDEN_BRANCH_PREDICTOR || HARDEN_EL2_VECTORS)
66
67source "drivers/vhost/Kconfig"
68
69endif # VIRTUALIZATION
70