blob: 3df51c28784428ed111e065595ed9e59ef376933 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Avi Kivity6aa8b732006-12-10 02:21:36 -08002#
3# KVM configuration
4#
Avi Kivityfb56dbb2007-12-02 10:50:06 +02005
Avi Kivity0ba12d12009-05-21 16:45:19 +03006source "virt/kvm/Kconfig"
Avi Kivity5d9b8e32009-01-04 18:04:18 +02007
Jan Engelhardtde062062007-05-23 14:22:11 -07008menuconfig VIRTUALIZATION
9 bool "Virtualization"
Avi Kivityfb56dbb2007-12-02 10:50:06 +020010 depends on HAVE_KVM || X86
Jan Engelhardtde062062007-05-23 14:22:11 -070011 default y
Jan Engelhardt06bfb7e2007-08-18 12:56:21 +020012 ---help---
Avi Kivity36a740972007-09-22 14:43:45 +020013 Say Y here to get to see options for using your Linux host to run other
14 operating systems inside virtual machines (guests).
Jan Engelhardt06bfb7e2007-08-18 12:56:21 +020015 This option alone does not add any kernel code.
16
17 If you say N, all options in this submenu will be skipped and disabled.
Jan Engelhardtde062062007-05-23 14:22:11 -070018
19if VIRTUALIZATION
Avi Kivityfd24dc42006-12-13 00:33:44 -080020
Avi Kivity6aa8b732006-12-10 02:21:36 -080021config KVM
22 tristate "Kernel-based Virtual Machine (KVM) support"
Avi Kivity268fe022008-03-23 18:36:30 +020023 depends on HAVE_KVM
Liu, Jinsong92b52652012-09-10 06:55:39 +080024 depends on HIGH_RES_TIMERS
Randy Dunlapdf3d8ae2011-08-02 12:54:31 -070025 # for TASKSTATS/TASK_DELAY_ACCT:
Arnd Bergmannc2ce3f52017-07-19 14:53:04 +020026 depends on NET && MULTIUSER
Arnd Bergmanne42eef42017-10-04 12:28:18 +020027 depends on X86_LOCAL_APIC
Avi Kivity15ad7142007-07-11 18:17:21 +030028 select PREEMPT_NOTIFIERS
Andrea Arcangelicddb8a52008-07-28 15:46:29 -070029 select MMU_NOTIFIER
Avi Kivity77668792007-07-22 12:40:30 +030030 select ANON_INODES
Avi Kivity0ba12d12009-05-21 16:45:19 +030031 select HAVE_KVM_IRQCHIP
Paul Mackerras297e2102014-06-30 20:51:13 +100032 select HAVE_KVM_IRQFD
Feng Wu87276882015-09-18 22:29:40 +080033 select IRQ_BYPASS_MANAGER
34 select HAVE_KVM_IRQ_BYPASS
Alexander Grafa725d562013-04-17 13:29:30 +020035 select HAVE_KVM_IRQ_ROUTING
Gregory Haskins721eecbf2009-05-20 10:30:49 -040036 select HAVE_KVM_EVENTFD
Gleb Natapovaf585b92010-10-14 11:22:46 +020037 select KVM_ASYNC_PF
Avi Kivity18863bd2009-09-07 11:12:18 +030038 select USER_RETURN_NOTIFIER
Avi Kivity50eb2a32009-12-20 15:00:10 +020039 select KVM_MMIO
Randy Dunlapfd079fa2011-07-25 11:01:09 -070040 select TASKSTATS
Glauber Costac9aaa892011-07-11 15:28:14 -040041 select TASK_DELAY_ACCT
Gleb Natapovf5132b02011-11-10 14:57:22 +020042 select PERF_EVENTS
Jan Kiszka07975ad2012-03-29 21:14:12 +020043 select HAVE_KVM_MSI
Raghavendra K Tf2a74342012-07-18 19:07:32 +053044 select HAVE_KVM_CPU_RELAX_INTERCEPT
Paolo Bonzinie108ff22015-01-15 15:58:54 -080045 select KVM_GENERIC_DIRTYLOG_READ_PROTECT
Alex Williamsonec535002013-10-30 11:02:17 -060046 select KVM_VFIO
Pranith Kumar83fe27e2014-12-05 11:24:45 -050047 select SRCU
Avi Kivity6aa8b732006-12-10 02:21:36 -080048 ---help---
49 Support hosting fully virtualized guest machines using hardware
50 virtualization extensions. You will need a fairly recent
51 processor equipped with virtualization extensions. You will also
52 need to select one or more of the processor modules below.
53
54 This module provides access to the hardware capabilities through
55 a character device node named /dev/kvm.
56
57 To compile this as a module, choose M here: the module
58 will be called kvm.
59
60 If unsure, say N.
61
62config KVM_INTEL
63 tristate "KVM for Intel processors support"
64 depends on KVM
Avi Kivity43771eb2011-12-14 12:27:47 +020065 # for perf_guest_get_msrs():
66 depends on CPU_SUP_INTEL
Avi Kivity6aa8b732006-12-10 02:21:36 -080067 ---help---
68 Provides support for KVM on Intel processors equipped with the VT
69 extensions.
70
Robert P. J. Day58f8ac22009-05-12 13:44:06 -070071 To compile this as a module, choose M here: the module
72 will be called kvm-intel.
73
Avi Kivity6aa8b732006-12-10 02:21:36 -080074config KVM_AMD
75 tristate "KVM for AMD processors support"
76 depends on KVM
77 ---help---
78 Provides support for KVM on AMD processors equipped with the AMD-V
79 (SVM) extensions.
Avi Kivityfd24dc42006-12-13 00:33:44 -080080
Robert P. J. Day58f8ac22009-05-12 13:44:06 -070081 To compile this as a module, choose M here: the module
82 will be called kvm-amd.
83
Xiao Guangrong8b1fe172010-08-30 18:22:53 +080084config KVM_MMU_AUDIT
85 bool "Audit KVM MMU"
86 depends on KVM && TRACEPOINTS
87 ---help---
88 This option adds a R/W kVM module parameter 'mmu_audit', which allows
Randy Dunlap94491622014-01-17 18:02:38 -080089 auditing of KVM MMU events at runtime.
Xiao Guangrong8b1fe172010-08-30 18:22:53 +080090
Rusty Russell9525ca02007-10-22 10:55:43 +100091# OK, it's a little counter-intuitive to do this, but it puts it neatly under
92# the virtualization menu.
Michael S. Tsirkin3a4d5c92010-01-14 06:17:27 +000093source drivers/vhost/Kconfig
Rusty Russell9525ca02007-10-22 10:55:43 +100094
Jan Engelhardtde062062007-05-23 14:22:11 -070095endif # VIRTUALIZATION