xref: /openbmc/linux/arch/x86/kvm/Kconfig (revision d30f370d3a4998c13ed3e5c8ef607d05be0a987a)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2edf88417SAvi Kivity#
3edf88417SAvi Kivity# KVM configuration
4edf88417SAvi Kivity#
5edf88417SAvi Kivity
60ba12d10SAvi Kivitysource "virt/kvm/Kconfig"
75d9b8e30SAvi Kivity
8edf88417SAvi Kivitymenuconfig VIRTUALIZATION
9edf88417SAvi Kivity	bool "Virtualization"
10edf88417SAvi Kivity	depends on HAVE_KVM || X86
11edf88417SAvi Kivity	default y
12edf88417SAvi Kivity	---help---
13edf88417SAvi Kivity	  Say Y here to get to see options for using your Linux host to run other
14edf88417SAvi Kivity	  operating systems inside virtual machines (guests).
15edf88417SAvi Kivity	  This option alone does not add any kernel code.
16edf88417SAvi Kivity
17edf88417SAvi Kivity	  If you say N, all options in this submenu will be skipped and disabled.
18edf88417SAvi Kivity
19edf88417SAvi Kivityif VIRTUALIZATION
20edf88417SAvi Kivity
21edf88417SAvi Kivityconfig KVM
22edf88417SAvi Kivity	tristate "Kernel-based Virtual Machine (KVM) support"
23268fe02aSAvi Kivity	depends on HAVE_KVM
2492b5265dSLiu, Jinsong	depends on HIGH_RES_TIMERS
25df3d8ae1SRandy Dunlap	# for TASKSTATS/TASK_DELAY_ACCT:
26c2ce3f5dSArnd Bergmann	depends on NET && MULTIUSER
27e42eef4bSArnd Bergmann	depends on X86_LOCAL_APIC
28edf88417SAvi Kivity	select PREEMPT_NOTIFIERS
29cddb8a5cSAndrea Arcangeli	select MMU_NOTIFIER
30edf88417SAvi Kivity	select ANON_INODES
310ba12d10SAvi Kivity	select HAVE_KVM_IRQCHIP
32297e2105SPaul Mackerras	select HAVE_KVM_IRQFD
3387276880SFeng Wu	select IRQ_BYPASS_MANAGER
3487276880SFeng Wu	select HAVE_KVM_IRQ_BYPASS
35a725d56aSAlexander Graf	select HAVE_KVM_IRQ_ROUTING
36721eecbfSGregory Haskins	select HAVE_KVM_EVENTFD
37af585b92SGleb Natapov	select KVM_ASYNC_PF
3818863bddSAvi Kivity	select USER_RETURN_NOTIFIER
3950eb2a3cSAvi Kivity	select KVM_MMIO
40fd079facSRandy Dunlap	select TASKSTATS
41c9aaa895SGlauber Costa	select TASK_DELAY_ACCT
42f5132b01SGleb Natapov	select PERF_EVENTS
4307975ad3SJan Kiszka	select HAVE_KVM_MSI
44f2a74347SRaghavendra K T	select HAVE_KVM_CPU_RELAX_INTERCEPT
45e108ff2fSPaolo Bonzini	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
46ec53500fSAlex Williamson	select KVM_VFIO
4783fe27eaSPranith Kumar	select SRCU
48edf88417SAvi Kivity	---help---
49edf88417SAvi Kivity	  Support hosting fully virtualized guest machines using hardware
50edf88417SAvi Kivity	  virtualization extensions.  You will need a fairly recent
51edf88417SAvi Kivity	  processor equipped with virtualization extensions. You will also
52edf88417SAvi Kivity	  need to select one or more of the processor modules below.
53edf88417SAvi Kivity
54edf88417SAvi Kivity	  This module provides access to the hardware capabilities through
55edf88417SAvi Kivity	  a character device node named /dev/kvm.
56edf88417SAvi Kivity
57edf88417SAvi Kivity	  To compile this as a module, choose M here: the module
58edf88417SAvi Kivity	  will be called kvm.
59edf88417SAvi Kivity
60edf88417SAvi Kivity	  If unsure, say N.
61edf88417SAvi Kivity
62edf88417SAvi Kivityconfig KVM_INTEL
63edf88417SAvi Kivity	tristate "KVM for Intel processors support"
64edf88417SAvi Kivity	depends on KVM
6543771ebfSAvi Kivity	# for perf_guest_get_msrs():
6643771ebfSAvi Kivity	depends on CPU_SUP_INTEL
67edf88417SAvi Kivity	---help---
68edf88417SAvi Kivity	  Provides support for KVM on Intel processors equipped with the VT
69edf88417SAvi Kivity	  extensions.
70edf88417SAvi Kivity
7158f8ac27SRobert P. J. Day	  To compile this as a module, choose M here: the module
7258f8ac27SRobert P. J. Day	  will be called kvm-intel.
7358f8ac27SRobert P. J. Day
74edf88417SAvi Kivityconfig KVM_AMD
75edf88417SAvi Kivity	tristate "KVM for AMD processors support"
76edf88417SAvi Kivity	depends on KVM
77edf88417SAvi Kivity	---help---
78edf88417SAvi Kivity	  Provides support for KVM on AMD processors equipped with the AMD-V
79edf88417SAvi Kivity	  (SVM) extensions.
80edf88417SAvi Kivity
8158f8ac27SRobert P. J. Day	  To compile this as a module, choose M here: the module
8258f8ac27SRobert P. J. Day	  will be called kvm-amd.
8358f8ac27SRobert P. J. Day
845dd0a57cSBrijesh Singhconfig KVM_AMD_SEV
855dd0a57cSBrijesh Singh	def_bool y
865dd0a57cSBrijesh Singh	bool "AMD Secure Encrypted Virtualization (SEV) support"
875dd0a57cSBrijesh Singh	depends on KVM_AMD && X86_64
88*d30f370dSJanakarajan Natarajan	depends on CRYPTO_DEV_SP_PSP && !(KVM_AMD=y && CRYPTO_DEV_CCP_DD=m)
895dd0a57cSBrijesh Singh	---help---
905dd0a57cSBrijesh Singh	Provides support for launching Encrypted VMs on AMD processors.
915dd0a57cSBrijesh Singh
928b1fe17cSXiao Guangrongconfig KVM_MMU_AUDIT
938b1fe17cSXiao Guangrong	bool "Audit KVM MMU"
948b1fe17cSXiao Guangrong	depends on KVM && TRACEPOINTS
958b1fe17cSXiao Guangrong	---help---
968b1fe17cSXiao Guangrong	 This option adds a R/W kVM module parameter 'mmu_audit', which allows
9794491620SRandy Dunlap	 auditing of KVM MMU events at runtime.
988b1fe17cSXiao Guangrong
99edf88417SAvi Kivity# OK, it's a little counter-intuitive to do this, but it puts it neatly under
100edf88417SAvi Kivity# the virtualization menu.
1013a4d5c94SMichael S. Tsirkinsource drivers/vhost/Kconfig
102edf88417SAvi Kivity
103edf88417SAvi Kivityendif # VIRTUALIZATION
104