blob: ffaef2cb101a4ef50c77f1dc58c3cdac1f2da105 [file] [log] [blame]
Hollis Blanchardbbf45ba2008-04-16 23:28:09 -05001#
2# KVM configuration
3#
4
Avi Kivity0ba12d12009-05-21 16:45:19 +03005source "virt/kvm/Kconfig"
Avi Kivity5d9b8e32009-01-04 18:04:18 +02006
Hollis Blanchardbbf45ba2008-04-16 23:28:09 -05007menuconfig VIRTUALIZATION
8 bool "Virtualization"
9 ---help---
10 Say Y here to get to see options for using your Linux host to run
11 other operating systems inside virtual machines (guests).
12 This option alone does not add any kernel code.
13
14 If you say N, all options in this submenu will be skipped and
15 disabled.
16
17if VIRTUALIZATION
18
19config KVM
Hollis Blanchard74ef7402008-11-07 13:15:13 -060020 bool
Hollis Blanchardbbf45ba2008-04-16 23:28:09 -050021 select PREEMPT_NOTIFIERS
22 select ANON_INODES
Alexander Graf0e673fb2012-10-09 00:06:20 +020023 select HAVE_KVM_EVENTFD
Hollis Blanchard74ef7402008-11-07 13:15:13 -060024
Alexander Grafc14dea02010-04-16 00:11:41 +020025config KVM_BOOK3S_HANDLER
26 bool
27
Alexander Graf4f841392010-04-16 00:11:58 +020028config KVM_BOOK3S_32_HANDLER
29 bool
30 select KVM_BOOK3S_HANDLER
Paul Mackerrasde56a942011-06-29 00:21:34 +000031 select KVM_MMIO
Alexander Graf4f841392010-04-16 00:11:58 +020032
Alexander Grafc4f9c772009-10-30 05:47:24 +000033config KVM_BOOK3S_64_HANDLER
34 bool
Alexander Grafc14dea02010-04-16 00:11:41 +020035 select KVM_BOOK3S_HANDLER
Alexander Grafc4f9c772009-10-30 05:47:24 +000036
Paul Mackerrasde56a942011-06-29 00:21:34 +000037config KVM_BOOK3S_PR
38 bool
39 select KVM_MMIO
Alexander Graf9b0cb3c2012-08-10 13:23:55 +020040 select MMU_NOTIFIER
Paul Mackerrasde56a942011-06-29 00:21:34 +000041
Alexander Graf4f841392010-04-16 00:11:58 +020042config KVM_BOOK3S_32
43 tristate "KVM support for PowerPC book3s_32 processors"
Kees Cook07ff8b52013-01-16 18:53:22 -080044 depends on PPC_BOOK3S_32 && !SMP && !PTE_64BIT
Alexander Graf4f841392010-04-16 00:11:58 +020045 select KVM
46 select KVM_BOOK3S_32_HANDLER
Paul Mackerrasde56a942011-06-29 00:21:34 +000047 select KVM_BOOK3S_PR
Alexander Graf4f841392010-04-16 00:11:58 +020048 ---help---
49 Support running unmodified book3s_32 guest kernels
50 in virtual machines on book3s_32 host processors.
51
52 This module provides access to the hardware capabilities through
53 a character device node named /dev/kvm.
54
55 If unsure, say N.
56
Alexander Grafc4f9c772009-10-30 05:47:24 +000057config KVM_BOOK3S_64
58 tristate "KVM support for PowerPC book3s_64 processors"
Kees Cook07ff8b52013-01-16 18:53:22 -080059 depends on PPC_BOOK3S_64
Alexander Grafc4f9c772009-10-30 05:47:24 +000060 select KVM_BOOK3S_64_HANDLER
Paul Mackerrasde56a942011-06-29 00:21:34 +000061 select KVM
Alexander Grafc4f9c772009-10-30 05:47:24 +000062 ---help---
63 Support running unmodified book3s_64 and book3s_32 guest kernels
64 in virtual machines on book3s_64 host processors.
65
66 This module provides access to the hardware capabilities through
67 a character device node named /dev/kvm.
68
69 If unsure, say N.
70
Paul Mackerrasde56a942011-06-29 00:21:34 +000071config KVM_BOOK3S_64_HV
Paul Mackerras9e368f22011-06-29 00:40:08 +000072 bool "KVM support for POWER7 and PPC970 using hypervisor mode in host"
Paul Mackerrasde56a942011-06-29 00:21:34 +000073 depends on KVM_BOOK3S_64
Paul Mackerras342d3db2011-12-12 12:38:05 +000074 select MMU_NOTIFIER
Aneesh Kumar K.Vfa61a4e32013-07-02 11:15:16 +053075 select CMA
Paul Mackerrasde56a942011-06-29 00:21:34 +000076 ---help---
77 Support running unmodified book3s_64 guest kernels in
Paul Mackerras9e368f22011-06-29 00:40:08 +000078 virtual machines on POWER7 and PPC970 processors that have
79 hypervisor mode available to the host.
Paul Mackerrasde56a942011-06-29 00:21:34 +000080
81 If you say Y here, KVM will use the hardware virtualization
82 facilities of POWER7 (and later) processors, meaning that
83 guest operating systems will run at full hardware speed
84 using supervisor and user modes. However, this also means
85 that KVM is not usable under PowerVM (pHyp), is only usable
Paul Mackerras9e368f22011-06-29 00:40:08 +000086 on POWER7 (or later) processors and PPC970-family processors,
87 and cannot emulate a different processor from the host processor.
Paul Mackerrasde56a942011-06-29 00:21:34 +000088
89 If unsure, say N.
90
91config KVM_BOOK3S_64_PR
92 def_bool y
93 depends on KVM_BOOK3S_64 && !KVM_BOOK3S_64_HV
94 select KVM_BOOK3S_PR
95
Scott Woodd30f6e42011-12-20 15:34:43 +000096config KVM_BOOKE_HV
97 bool
98
Hollis Blanchard74ef7402008-11-07 13:15:13 -060099config KVM_440
100 bool "KVM support for PowerPC 440 processors"
Kees Cook07ff8b52013-01-16 18:53:22 -0800101 depends on 44x
Hollis Blanchard74ef7402008-11-07 13:15:13 -0600102 select KVM
Paul Mackerrasde56a942011-06-29 00:21:34 +0000103 select KVM_MMIO
Hollis Blanchardbbf45ba2008-04-16 23:28:09 -0500104 ---help---
Hollis Blanchard74ef7402008-11-07 13:15:13 -0600105 Support running unmodified 440 guest kernels in virtual machines on
106 440 host processors.
Hollis Blanchardbbf45ba2008-04-16 23:28:09 -0500107
108 This module provides access to the hardware capabilities through
109 a character device node named /dev/kvm.
110
111 If unsure, say N.
112
Hollis Blanchard73e75b42008-12-02 15:51:57 -0600113config KVM_EXIT_TIMING
114 bool "Detailed exit timing"
Alexander Grafbf7ca4b2012-02-15 23:40:00 +0000115 depends on KVM_440 || KVM_E500V2 || KVM_E500MC
Hollis Blanchard73e75b42008-12-02 15:51:57 -0600116 ---help---
117 Calculate elapsed time for every exit/enter cycle. A per-vcpu
118 report is available in debugfs kvm/vm#_vcpu#_timing.
119 The overhead is relatively small, however it is not recommended for
120 production environments.
121
122 If unsure, say N.
123
Alexander Grafbf7ca4b2012-02-15 23:40:00 +0000124config KVM_E500V2
125 bool "KVM support for PowerPC E500v2 processors"
Kees Cook07ff8b52013-01-16 18:53:22 -0800126 depends on E500 && !PPC_E500MC
Hollis Blanchardbc8080c2009-01-03 16:23:10 -0600127 select KVM
Paul Mackerrasde56a942011-06-29 00:21:34 +0000128 select KVM_MMIO
Alexander Graf862d31f2012-07-31 00:19:50 +0200129 select MMU_NOTIFIER
Hollis Blanchardbc8080c2009-01-03 16:23:10 -0600130 ---help---
131 Support running unmodified E500 guest kernels in virtual machines on
Alexander Grafbf7ca4b2012-02-15 23:40:00 +0000132 E500v2 host processors.
Hollis Blanchardbc8080c2009-01-03 16:23:10 -0600133
134 This module provides access to the hardware capabilities through
135 a character device node named /dev/kvm.
136
137 If unsure, say N.
138
Scott Wood73196cd2011-12-20 15:34:47 +0000139config KVM_E500MC
Mihai Caramand9ce6042013-04-11 00:03:14 +0000140 bool "KVM support for PowerPC E500MC/E5500/E6500 processors"
Kees Cook07ff8b52013-01-16 18:53:22 -0800141 depends on PPC_E500MC
Scott Wood73196cd2011-12-20 15:34:47 +0000142 select KVM
143 select KVM_MMIO
144 select KVM_BOOKE_HV
Alexander Graf862d31f2012-07-31 00:19:50 +0200145 select MMU_NOTIFIER
Scott Wood73196cd2011-12-20 15:34:47 +0000146 ---help---
Mihai Caramand9ce6042013-04-11 00:03:14 +0000147 Support running unmodified E500MC/E5500/E6500 guest kernels in
148 virtual machines on E500MC/E5500/E6500 host processors.
Scott Wood73196cd2011-12-20 15:34:47 +0000149
150 This module provides access to the hardware capabilities through
151 a character device node named /dev/kvm.
152
153 If unsure, say N.
154
Scott Wood5df554a2013-04-12 14:08:46 +0000155config KVM_MPIC
156 bool "KVM in-kernel MPIC emulation"
Alexander Graf447a03c2013-04-17 01:54:26 +0200157 depends on KVM && E500
Alexander Grafde9ba2f2013-04-16 17:42:19 +0200158 select HAVE_KVM_IRQCHIP
159 select HAVE_KVM_IRQ_ROUTING
160 select HAVE_KVM_MSI
Scott Wood5df554a2013-04-12 14:08:46 +0000161 help
162 Enable support for emulating MPIC devices inside the
163 host kernel, rather than relying on userspace to emulate.
164 Currently, support is limited to certain versions of
165 Freescale's MPIC implementation.
166
Benjamin Herrenschmidtbc5ad3f2013-04-17 20:30:26 +0000167config KVM_XICS
168 bool "KVM in-kernel XICS emulation"
169 depends on KVM_BOOK3S_64 && !KVM_MPIC
170 ---help---
171 Include support for the XICS (eXternal Interrupt Controller
172 Specification) interrupt controller architecture used on
173 IBM POWER (pSeries) servers.
174
Michael S. Tsirkin3a4d5c94e2010-01-14 06:17:27 +0000175source drivers/vhost/Kconfig
Hollis Blanchardbbf45ba2008-04-16 23:28:09 -0500176
177endif # VIRTUALIZATION