blob: a0f06a5947c5f086294186cb584090ca2c6a8cdc [file] [log] [blame]
Avi Kivity6aa8b732006-12-10 02:21:36 -08001#
2# KVM configuration
3#
Avi Kivityfb56dbb2007-12-02 10:50:06 +02004
Avi Kivity0ba12d12009-05-21 16:45:19 +03005source "virt/kvm/Kconfig"
Avi Kivity5d9b8e32009-01-04 18:04:18 +02006
Jan Engelhardtde062062007-05-23 14:22:11 -07007menuconfig VIRTUALIZATION
8 bool "Virtualization"
Avi Kivityfb56dbb2007-12-02 10:50:06 +02009 depends on HAVE_KVM || X86
Jan Engelhardtde062062007-05-23 14:22:11 -070010 default y
Jan Engelhardt06bfb7e2007-08-18 12:56:21 +020011 ---help---
Avi Kivity36a740972007-09-22 14:43:45 +020012 Say Y here to get to see options for using your Linux host to run other
13 operating systems inside virtual machines (guests).
Jan Engelhardt06bfb7e2007-08-18 12:56:21 +020014 This option alone does not add any kernel code.
15
16 If you say N, all options in this submenu will be skipped and disabled.
Jan Engelhardtde062062007-05-23 14:22:11 -070017
18if VIRTUALIZATION
Avi Kivityfd24dc42006-12-13 00:33:44 -080019
Avi Kivity6aa8b732006-12-10 02:21:36 -080020config KVM
21 tristate "Kernel-based Virtual Machine (KVM) support"
Avi Kivity268fe022008-03-23 18:36:30 +020022 depends on HAVE_KVM
Liu, Jinsong92b52652012-09-10 06:55:39 +080023 depends on HIGH_RES_TIMERS
Randy Dunlapdf3d8ae2011-08-02 12:54:31 -070024 # for TASKSTATS/TASK_DELAY_ACCT:
25 depends on NET
Avi Kivity15ad7142007-07-11 18:17:21 +030026 select PREEMPT_NOTIFIERS
Andrea Arcangelicddb8a52008-07-28 15:46:29 -070027 select MMU_NOTIFIER
Avi Kivity77668792007-07-22 12:40:30 +030028 select ANON_INODES
Avi Kivity0ba12d12009-05-21 16:45:19 +030029 select HAVE_KVM_IRQCHIP
Paul Mackerras297e2102014-06-30 20:51:13 +100030 select HAVE_KVM_IRQFD
Alexander Grafa725d562013-04-17 13:29:30 +020031 select HAVE_KVM_IRQ_ROUTING
Gregory Haskins721eecb2009-05-20 10:30:49 -040032 select HAVE_KVM_EVENTFD
Gleb Natapov73880c82009-06-09 15:56:28 +030033 select KVM_APIC_ARCHITECTURE
Gleb Natapovaf585b92010-10-14 11:22:46 +020034 select KVM_ASYNC_PF
Avi Kivity18863bd2009-09-07 11:12:18 +030035 select USER_RETURN_NOTIFIER
Avi Kivity50eb2a32009-12-20 15:00:10 +020036 select KVM_MMIO
Randy Dunlapfd079fa2011-07-25 11:01:09 -070037 select TASKSTATS
Glauber Costac9aaa892011-07-11 15:28:14 -040038 select TASK_DELAY_ACCT
Gleb Natapovf5132b02011-11-10 14:57:22 +020039 select PERF_EVENTS
Jan Kiszka07975ad2012-03-29 21:14:12 +020040 select HAVE_KVM_MSI
Raghavendra K Tf2a74342012-07-18 19:07:32 +053041 select HAVE_KVM_CPU_RELAX_INTERCEPT
Paolo Bonzinie108ff22015-01-15 15:58:54 -080042 select KVM_GENERIC_DIRTYLOG_READ_PROTECT
Alex Williamsonec535002013-10-30 11:02:17 -060043 select KVM_VFIO
Pranith Kumar83fe27e2014-12-05 11:24:45 -050044 select SRCU
Avi Kivity6aa8b732006-12-10 02:21:36 -080045 ---help---
46 Support hosting fully virtualized guest machines using hardware
47 virtualization extensions. You will need a fairly recent
48 processor equipped with virtualization extensions. You will also
49 need to select one or more of the processor modules below.
50
51 This module provides access to the hardware capabilities through
52 a character device node named /dev/kvm.
53
54 To compile this as a module, choose M here: the module
55 will be called kvm.
56
57 If unsure, say N.
58
59config KVM_INTEL
60 tristate "KVM for Intel processors support"
61 depends on KVM
Avi Kivity43771eb2011-12-14 12:27:47 +020062 # for perf_guest_get_msrs():
63 depends on CPU_SUP_INTEL
Avi Kivity6aa8b732006-12-10 02:21:36 -080064 ---help---
65 Provides support for KVM on Intel processors equipped with the VT
66 extensions.
67
Robert P. J. Day58f8ac22009-05-12 13:44:06 -070068 To compile this as a module, choose M here: the module
69 will be called kvm-intel.
70
Avi Kivity6aa8b732006-12-10 02:21:36 -080071config KVM_AMD
72 tristate "KVM for AMD processors support"
73 depends on KVM
74 ---help---
75 Provides support for KVM on AMD processors equipped with the AMD-V
76 (SVM) extensions.
Avi Kivityfd24dc42006-12-13 00:33:44 -080077
Robert P. J. Day58f8ac22009-05-12 13:44:06 -070078 To compile this as a module, choose M here: the module
79 will be called kvm-amd.
80
Xiao Guangrong8b1fe172010-08-30 18:22:53 +080081config KVM_MMU_AUDIT
82 bool "Audit KVM MMU"
83 depends on KVM && TRACEPOINTS
84 ---help---
85 This option adds a R/W kVM module parameter 'mmu_audit', which allows
Randy Dunlap94491622014-01-17 18:02:38 -080086 auditing of KVM MMU events at runtime.
Xiao Guangrong8b1fe172010-08-30 18:22:53 +080087
Alex Williamson2a5bab12013-04-16 13:49:18 -060088config KVM_DEVICE_ASSIGNMENT
89 bool "KVM legacy PCI device assignment support"
90 depends on KVM && PCI && IOMMU_API
Paolo Bonzinie194bbd2015-06-04 09:51:50 +020091 default n
Alex Williamson2a5bab12013-04-16 13:49:18 -060092 ---help---
93 Provide support for legacy PCI device assignment through KVM. The
94 kernel now also supports a full featured userspace device driver
Paolo Bonzinie194bbd2015-06-04 09:51:50 +020095 framework through VFIO, which supersedes this support and provides
96 better security.
Alex Williamson2a5bab12013-04-16 13:49:18 -060097
Paolo Bonzinie194bbd2015-06-04 09:51:50 +020098 If unsure, say N.
Alex Williamson2a5bab12013-04-16 13:49:18 -060099
Rusty Russell9525ca02007-10-22 10:55:43 +1000100# OK, it's a little counter-intuitive to do this, but it puts it neatly under
101# the virtualization menu.
Michael S. Tsirkin3a4d5c94e2010-01-14 06:17:27 +0000102source drivers/vhost/Kconfig
Rusty Russell9525ca02007-10-22 10:55:43 +1000103source drivers/lguest/Kconfig
104
Jan Engelhardtde062062007-05-23 14:22:11 -0700105endif # VIRTUALIZATION