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 MMU && OF
24	select PREEMPT_NOTIFIERS
25	select ARM_GIC
26	select ARM_GIC_V3
27	select ARM_GIC_V3_ITS
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 MMU_NOTIFIER
35	select KVM_VFIO
36	select HAVE_KVM_EVENTFD
37	select HAVE_KVM_IRQFD
38	select HAVE_KVM_IRQCHIP
39	select HAVE_KVM_IRQ_ROUTING
40	select HAVE_KVM_MSI
41	select IRQ_BYPASS_MANAGER
42	select HAVE_KVM_IRQ_BYPASS
43	depends on ARM_VIRT_EXT && ARM_LPAE && ARM_ARCH_TIMER
44	---help---
45	  Support hosting virtualized guest machines.
46
47	  This module provides access to the hardware capabilities through
48	  a character device node named /dev/kvm.
49
50	  If unsure, say N.
51
52config KVM_ARM_HOST
53	bool
54	---help---
55	  Provides host support for ARM processors.
56
57source "drivers/vhost/Kconfig"
58
59endif # VIRTUALIZATION
60