summaryrefslogtreecommitdiff
path: root/arch/arm64/kvm/Kconfig
blob: a475c68cbfecb78436147618651380a98b0be32a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# SPDX-License-Identifier: GPL-2.0
#
# KVM configuration
#

source "virt/kvm/Kconfig"
source "virt/lib/Kconfig"

menuconfig VIRTUALIZATION
	bool "Virtualization"
	---help---
	  Say Y here to get to see options for using your Linux host to run
	  other operating systems inside virtual machines (guests).
	  This option alone does not add any kernel code.

	  If you say N, all options in this submenu will be skipped and
	  disabled.

if VIRTUALIZATION

config KVM
	bool "Kernel-based Virtual Machine (KVM) support"
	depends on OF
	# for TASKSTATS/TASK_DELAY_ACCT:
	depends on NET && MULTIUSER
	select MMU_NOTIFIER
	select PREEMPT_NOTIFIERS
	select HAVE_KVM_CPU_RELAX_INTERCEPT
	select HAVE_KVM_ARCH_TLB_FLUSH_ALL
	select KVM_MMIO
	select KVM_ARM_HOST
	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
	select SRCU
	select KVM_VFIO
	select HAVE_KVM_EVENTFD
	select HAVE_KVM_IRQFD
	select KVM_ARM_PMU if HW_PERF_EVENTS
	select HAVE_KVM_MSI
	select HAVE_KVM_IRQCHIP
	select HAVE_KVM_IRQ_ROUTING
	select IRQ_BYPASS_MANAGER
	select HAVE_KVM_IRQ_BYPASS
	select HAVE_KVM_VCPU_RUN_PID_CHANGE
	select TASKSTATS
	select TASK_DELAY_ACCT
	---help---
	  Support hosting virtualized guest machines.
	  We don't support KVM with 16K page tables yet, due to the multiple
	  levels of fake page tables.

	  If unsure, say N.

config KVM_ARM_HOST
	bool
	---help---
	  Provides host support for ARM processors.

config KVM_ARM_PMU
	bool
	---help---
	  Adds support for a virtual Performance Monitoring Unit (PMU) in
	  virtual machines.

config KVM_INDIRECT_VECTORS
       def_bool KVM && (HARDEN_BRANCH_PREDICTOR || HARDEN_EL2_VECTORS)

source "drivers/vhost/Kconfig"

endif # VIRTUALIZATION