xref: /openbmc/linux/arch/x86/kvm/Kconfig (revision ec53500fae421e07c5d035918ca454a429732ef4)
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
30a725d56aSAlexander Graf	select HAVE_KVM_IRQ_ROUTING
31721eecbfSGregory Haskins	select HAVE_KVM_EVENTFD
3273880c80SGleb Natapov	select KVM_APIC_ARCHITECTURE
33af585b92SGleb Natapov	select KVM_ASYNC_PF
3418863bddSAvi Kivity	select USER_RETURN_NOTIFIER
3550eb2a3cSAvi Kivity	select KVM_MMIO
36fd079facSRandy Dunlap	select TASKSTATS
37c9aaa895SGlauber Costa	select TASK_DELAY_ACCT
38f5132b01SGleb Natapov	select PERF_EVENTS
3907975ad3SJan Kiszka	select HAVE_KVM_MSI
40f2a74347SRaghavendra K T	select HAVE_KVM_CPU_RELAX_INTERCEPT
41*ec53500fSAlex Williamson	select KVM_VFIO
42edf88417SAvi Kivity	---help---
43edf88417SAvi Kivity	  Support hosting fully virtualized guest machines using hardware
44edf88417SAvi Kivity	  virtualization extensions.  You will need a fairly recent
45edf88417SAvi Kivity	  processor equipped with virtualization extensions. You will also
46edf88417SAvi Kivity	  need to select one or more of the processor modules below.
47edf88417SAvi Kivity
48edf88417SAvi Kivity	  This module provides access to the hardware capabilities through
49edf88417SAvi Kivity	  a character device node named /dev/kvm.
50edf88417SAvi Kivity
51edf88417SAvi Kivity	  To compile this as a module, choose M here: the module
52edf88417SAvi Kivity	  will be called kvm.
53edf88417SAvi Kivity
54edf88417SAvi Kivity	  If unsure, say N.
55edf88417SAvi Kivity
56edf88417SAvi Kivityconfig KVM_INTEL
57edf88417SAvi Kivity	tristate "KVM for Intel processors support"
58edf88417SAvi Kivity	depends on KVM
5943771ebfSAvi Kivity	# for perf_guest_get_msrs():
6043771ebfSAvi Kivity	depends on CPU_SUP_INTEL
61edf88417SAvi Kivity	---help---
62edf88417SAvi Kivity	  Provides support for KVM on Intel processors equipped with the VT
63edf88417SAvi Kivity	  extensions.
64edf88417SAvi Kivity
6558f8ac27SRobert P. J. Day	  To compile this as a module, choose M here: the module
6658f8ac27SRobert P. J. Day	  will be called kvm-intel.
6758f8ac27SRobert P. J. Day
68edf88417SAvi Kivityconfig KVM_AMD
69edf88417SAvi Kivity	tristate "KVM for AMD processors support"
70edf88417SAvi Kivity	depends on KVM
71edf88417SAvi Kivity	---help---
72edf88417SAvi Kivity	  Provides support for KVM on AMD processors equipped with the AMD-V
73edf88417SAvi Kivity	  (SVM) extensions.
74edf88417SAvi Kivity
7558f8ac27SRobert P. J. Day	  To compile this as a module, choose M here: the module
7658f8ac27SRobert P. J. Day	  will be called kvm-amd.
7758f8ac27SRobert P. J. Day
788b1fe17cSXiao Guangrongconfig KVM_MMU_AUDIT
798b1fe17cSXiao Guangrong	bool "Audit KVM MMU"
808b1fe17cSXiao Guangrong	depends on KVM && TRACEPOINTS
818b1fe17cSXiao Guangrong	---help---
828b1fe17cSXiao Guangrong	 This option adds a R/W kVM module parameter 'mmu_audit', which allows
838b1fe17cSXiao Guangrong	 audit  KVM MMU at runtime.
848b1fe17cSXiao Guangrong
852a5bab10SAlex Williamsonconfig KVM_DEVICE_ASSIGNMENT
862a5bab10SAlex Williamson	bool "KVM legacy PCI device assignment support"
872a5bab10SAlex Williamson	depends on KVM && PCI && IOMMU_API
882a5bab10SAlex Williamson	default y
892a5bab10SAlex Williamson	---help---
902a5bab10SAlex Williamson	  Provide support for legacy PCI device assignment through KVM.  The
912a5bab10SAlex Williamson	  kernel now also supports a full featured userspace device driver
922a5bab10SAlex Williamson	  framework through VFIO, which supersedes much of this support.
932a5bab10SAlex Williamson
942a5bab10SAlex Williamson	  If unsure, say Y.
952a5bab10SAlex Williamson
96edf88417SAvi Kivity# OK, it's a little counter-intuitive to do this, but it puts it neatly under
97edf88417SAvi Kivity# the virtualization menu.
983a4d5c94SMichael S. Tsirkinsource drivers/vhost/Kconfig
99edf88417SAvi Kivitysource drivers/lguest/Kconfig
100edf88417SAvi Kivity
101edf88417SAvi Kivityendif # VIRTUALIZATION
102