blob: 47b23bf617c76a01516168b8eb0c8e3ea1d64505 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Marc Zyngierc3eb5b12013-07-04 13:34:32 +01002#
3# KVM configuration
4#
5
6source "virt/kvm/Kconfig"
Eric Auger24124052017-10-27 15:28:31 +01007source "virt/lib/Kconfig"
Marc Zyngierc3eb5b12013-07-04 13:34:32 +01008
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"
Christoffer Dall662d9712015-03-11 14:21:31 +010023 depends on OF
Marc Zyngierc3eb5b12013-07-04 13:34:32 +010024 select MMU_NOTIFIER
25 select PREEMPT_NOTIFIERS
26 select ANON_INODES
Marc Zyngierd241aac2013-08-02 11:41:13 +010027 select HAVE_KVM_CPU_RELAX_INTERCEPT
Mario Smarduch72760302015-01-15 15:59:01 -080028 select HAVE_KVM_ARCH_TLB_FLUSH_ALL
Marc Zyngierc3eb5b12013-07-04 13:34:32 +010029 select KVM_MMIO
30 select KVM_ARM_HOST
Mario Smarduch72760302015-01-15 15:59:01 -080031 select KVM_GENERIC_DIRTYLOG_READ_PROTECT
Pranith Kumar83fe27e2014-12-05 11:24:45 -050032 select SRCU
Kim Phillips88895832015-06-05 16:21:49 +010033 select KVM_VFIO
Eric Auger174178f2015-03-04 11:14:36 +010034 select HAVE_KVM_EVENTFD
35 select HAVE_KVM_IRQFD
Shannon Zhao04fe4722015-09-11 09:38:32 +080036 select KVM_ARM_PMU if HW_PERF_EVENTS
Andre Przywara0e4e82f2016-07-15 12:43:38 +010037 select HAVE_KVM_MSI
Eric Auger180ae7b2016-07-22 16:20:41 +000038 select HAVE_KVM_IRQCHIP
39 select HAVE_KVM_IRQ_ROUTING
Eric Auger24124052017-10-27 15:28:31 +010040 select IRQ_BYPASS_MANAGER
41 select HAVE_KVM_IRQ_BYPASS
Dave Martine6b673b2018-04-06 14:55:59 +010042 select HAVE_KVM_VCPU_RUN_PID_CHANGE
Marc Zyngierc3eb5b12013-07-04 13:34:32 +010043 ---help---
44 Support hosting virtualized guest machines.
Suzuki K. Poulose44eaacf2015-10-19 14:19:37 +010045 We don't support KVM with 16K page tables yet, due to the multiple
46 levels of fake page tables.
Marc Zyngierc3eb5b12013-07-04 13:34:32 +010047
48 If unsure, say N.
49
50config KVM_ARM_HOST
51 bool
52 ---help---
53 Provides host support for ARM processors.
54
Shannon Zhao04fe4722015-09-11 09:38:32 +080055config KVM_ARM_PMU
56 bool
57 ---help---
58 Adds support for a virtual Performance Monitoring Unit (PMU) in
59 virtual machines.
60
Marc Zyngier4340ba82018-03-14 13:28:50 +000061config KVM_INDIRECT_VECTORS
Marc Zyngierdee39242018-02-15 11:47:14 +000062 def_bool KVM && (HARDEN_BRANCH_PREDICTOR || HARDEN_EL2_VECTORS)
Marc Zyngier4340ba82018-03-14 13:28:50 +000063
Wei Huang75755c62015-10-09 10:08:43 -050064source drivers/vhost/Kconfig
65
Marc Zyngierc3eb5b12013-07-04 13:34:32 +010066endif # VIRTUALIZATION