xref: /linux/arch/x86/kvm/Kconfig (revision 87276880065246ce49ec571130d3d1e4a22e5604)
1edf88417SAvi Kivity#
2edf88417SAvi Kivity# KVM configuration
3edf88417SAvi Kivity#
4edf88417SAvi Kivity
50ba12d10SAvi Kivitysource "virt/kvm/Kconfig"
65d9b8e30SAvi Kivity
7edf88417SAvi Kivitymenuconfig VIRTUALIZATION
8edf88417SAvi Kivity	bool "Virtualization"
9edf88417SAvi Kivity	depends on HAVE_KVM || X86
10edf88417SAvi Kivity	default y
11edf88417SAvi Kivity	---help---
12edf88417SAvi Kivity	  Say Y here to get to see options for using your Linux host to run other
13edf88417SAvi Kivity	  operating systems inside virtual machines (guests).
14edf88417SAvi Kivity	  This option alone does not add any kernel code.
15edf88417SAvi Kivity
16edf88417SAvi Kivity	  If you say N, all options in this submenu will be skipped and disabled.
17edf88417SAvi Kivity
18edf88417SAvi Kivityif VIRTUALIZATION
19edf88417SAvi Kivity
20edf88417SAvi Kivityconfig KVM
21edf88417SAvi Kivity	tristate "Kernel-based Virtual Machine (KVM) support"
22268fe02aSAvi Kivity	depends on HAVE_KVM
2392b5265dSLiu, Jinsong	depends on HIGH_RES_TIMERS
24df3d8ae1SRandy Dunlap	# for TASKSTATS/TASK_DELAY_ACCT:
25df3d8ae1SRandy Dunlap	depends on NET
26edf88417SAvi Kivity	select PREEMPT_NOTIFIERS
27cddb8a5cSAndrea Arcangeli	select MMU_NOTIFIER
28edf88417SAvi Kivity	select ANON_INODES
290ba12d10SAvi Kivity	select HAVE_KVM_IRQCHIP
30297e2105SPaul Mackerras	select HAVE_KVM_IRQFD
31*87276880SFeng Wu	select IRQ_BYPASS_MANAGER
32*87276880SFeng Wu	select HAVE_KVM_IRQ_BYPASS
33a725d56aSAlexander Graf	select HAVE_KVM_IRQ_ROUTING
34721eecbfSGregory Haskins	select HAVE_KVM_EVENTFD
3573880c80SGleb Natapov	select KVM_APIC_ARCHITECTURE
36af585b92SGleb Natapov	select KVM_ASYNC_PF
3718863bddSAvi Kivity	select USER_RETURN_NOTIFIER
3850eb2a3cSAvi Kivity	select KVM_MMIO
39fd079facSRandy Dunlap	select TASKSTATS
40c9aaa895SGlauber Costa	select TASK_DELAY_ACCT
41f5132b01SGleb Natapov	select PERF_EVENTS
4207975ad3SJan Kiszka	select HAVE_KVM_MSI
43f2a74347SRaghavendra K T	select HAVE_KVM_CPU_RELAX_INTERCEPT
44e108ff2fSPaolo Bonzini	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
45ec53500fSAlex Williamson	select KVM_VFIO
4683fe27eaSPranith Kumar	select SRCU
47edf88417SAvi Kivity	---help---
48edf88417SAvi Kivity	  Support hosting fully virtualized guest machines using hardware
49edf88417SAvi Kivity	  virtualization extensions.  You will need a fairly recent
50edf88417SAvi Kivity	  processor equipped with virtualization extensions. You will also
51edf88417SAvi Kivity	  need to select one or more of the processor modules below.
52edf88417SAvi Kivity
53edf88417SAvi Kivity	  This module provides access to the hardware capabilities through
54edf88417SAvi Kivity	  a character device node named /dev/kvm.
55edf88417SAvi Kivity
56edf88417SAvi Kivity	  To compile this as a module, choose M here: the module
57edf88417SAvi Kivity	  will be called kvm.
58edf88417SAvi Kivity
59edf88417SAvi Kivity	  If unsure, say N.
60edf88417SAvi Kivity
61edf88417SAvi Kivityconfig KVM_INTEL
62edf88417SAvi Kivity	tristate "KVM for Intel processors support"
63edf88417SAvi Kivity	depends on KVM
6443771ebfSAvi Kivity	# for perf_guest_get_msrs():
6543771ebfSAvi Kivity	depends on CPU_SUP_INTEL
66edf88417SAvi Kivity	---help---
67edf88417SAvi Kivity	  Provides support for KVM on Intel processors equipped with the VT
68edf88417SAvi Kivity	  extensions.
69edf88417SAvi Kivity
7058f8ac27SRobert P. J. Day	  To compile this as a module, choose M here: the module
7158f8ac27SRobert P. J. Day	  will be called kvm-intel.
7258f8ac27SRobert P. J. Day
73edf88417SAvi Kivityconfig KVM_AMD
74edf88417SAvi Kivity	tristate "KVM for AMD processors support"
75edf88417SAvi Kivity	depends on KVM
76edf88417SAvi Kivity	---help---
77edf88417SAvi Kivity	  Provides support for KVM on AMD processors equipped with the AMD-V
78edf88417SAvi Kivity	  (SVM) extensions.
79edf88417SAvi Kivity
8058f8ac27SRobert P. J. Day	  To compile this as a module, choose M here: the module
8158f8ac27SRobert P. J. Day	  will be called kvm-amd.
8258f8ac27SRobert P. J. Day
838b1fe17cSXiao Guangrongconfig KVM_MMU_AUDIT
848b1fe17cSXiao Guangrong	bool "Audit KVM MMU"
858b1fe17cSXiao Guangrong	depends on KVM && TRACEPOINTS
868b1fe17cSXiao Guangrong	---help---
878b1fe17cSXiao Guangrong	 This option adds a R/W kVM module parameter 'mmu_audit', which allows
8894491620SRandy Dunlap	 auditing of KVM MMU events at runtime.
898b1fe17cSXiao Guangrong
902a5bab10SAlex Williamsonconfig KVM_DEVICE_ASSIGNMENT
91e80a4a94SPaolo Bonzini	bool "KVM legacy PCI device assignment support (DEPRECATED)"
922a5bab10SAlex Williamson	depends on KVM && PCI && IOMMU_API
93e194bbdfSPaolo Bonzini	default n
942a5bab10SAlex Williamson	---help---
952a5bab10SAlex Williamson	  Provide support for legacy PCI device assignment through KVM.  The
962a5bab10SAlex Williamson	  kernel now also supports a full featured userspace device driver
97e194bbdfSPaolo Bonzini	  framework through VFIO, which supersedes this support and provides
98e194bbdfSPaolo Bonzini	  better security.
992a5bab10SAlex Williamson
100e194bbdfSPaolo Bonzini	  If unsure, say N.
1012a5bab10SAlex Williamson
102edf88417SAvi Kivity# OK, it's a little counter-intuitive to do this, but it puts it neatly under
103edf88417SAvi Kivity# the virtualization menu.
1043a4d5c94SMichael S. Tsirkinsource drivers/vhost/Kconfig
105edf88417SAvi Kivitysource drivers/lguest/Kconfig
106edf88417SAvi Kivity
107edf88417SAvi Kivityendif # VIRTUALIZATION
108