]>
Commit | Line | Data |
---|---|---|
bbf45ba5 HB |
1 | # |
2 | # KVM configuration | |
3 | # | |
4 | ||
0ba12d10 | 5 | source "virt/kvm/Kconfig" |
5d9b8e30 | 6 | |
bbf45ba5 HB |
7 | menuconfig 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 | ||
17 | if VIRTUALIZATION | |
18 | ||
19 | config KVM | |
74ef740d | 20 | bool |
bbf45ba5 HB |
21 | select PREEMPT_NOTIFIERS |
22 | select ANON_INODES | |
0e673fb6 | 23 | select HAVE_KVM_EVENTFD |
74ef740d | 24 | |
c14dea04 AG |
25 | config KVM_BOOK3S_HANDLER |
26 | bool | |
27 | ||
4f841390 AG |
28 | config KVM_BOOK3S_32_HANDLER |
29 | bool | |
30 | select KVM_BOOK3S_HANDLER | |
de56a948 | 31 | select KVM_MMIO |
4f841390 | 32 | |
c4f9c779 AG |
33 | config KVM_BOOK3S_64_HANDLER |
34 | bool | |
c14dea04 | 35 | select KVM_BOOK3S_HANDLER |
c4f9c779 | 36 | |
7aa79938 | 37 | config KVM_BOOK3S_PR_POSSIBLE |
de56a948 PM |
38 | bool |
39 | select KVM_MMIO | |
9b0cb3c8 | 40 | select MMU_NOTIFIER |
de56a948 | 41 | |
9975f5e3 AK |
42 | config KVM_BOOK3S_HV_POSSIBLE |
43 | bool | |
44 | ||
4f841390 AG |
45 | config KVM_BOOK3S_32 |
46 | tristate "KVM support for PowerPC book3s_32 processors" | |
07ff8b53 | 47 | depends on PPC_BOOK3S_32 && !SMP && !PTE_64BIT |
4f841390 AG |
48 | select KVM |
49 | select KVM_BOOK3S_32_HANDLER | |
7aa79938 | 50 | select KVM_BOOK3S_PR_POSSIBLE |
4f841390 AG |
51 | ---help--- |
52 | Support running unmodified book3s_32 guest kernels | |
53 | in virtual machines on book3s_32 host processors. | |
54 | ||
55 | This module provides access to the hardware capabilities through | |
56 | a character device node named /dev/kvm. | |
57 | ||
58 | If unsure, say N. | |
59 | ||
c4f9c779 AG |
60 | config KVM_BOOK3S_64 |
61 | tristate "KVM support for PowerPC book3s_64 processors" | |
07ff8b53 | 62 | depends on PPC_BOOK3S_64 |
c4f9c779 | 63 | select KVM_BOOK3S_64_HANDLER |
de56a948 | 64 | select KVM |
9975f5e3 | 65 | select KVM_BOOK3S_PR_POSSIBLE if !KVM_BOOK3S_HV_POSSIBLE |
c4f9c779 AG |
66 | ---help--- |
67 | Support running unmodified book3s_64 and book3s_32 guest kernels | |
68 | in virtual machines on book3s_64 host processors. | |
69 | ||
70 | This module provides access to the hardware capabilities through | |
71 | a character device node named /dev/kvm. | |
72 | ||
73 | If unsure, say N. | |
74 | ||
de56a948 | 75 | config KVM_BOOK3S_64_HV |
9e368f29 | 76 | bool "KVM support for POWER7 and PPC970 using hypervisor mode in host" |
de56a948 | 77 | depends on KVM_BOOK3S_64 |
9975f5e3 | 78 | select KVM_BOOK3S_HV_POSSIBLE |
342d3db7 | 79 | select MMU_NOTIFIER |
fa61a4e3 | 80 | select CMA |
de56a948 PM |
81 | ---help--- |
82 | Support running unmodified book3s_64 guest kernels in | |
9e368f29 PM |
83 | virtual machines on POWER7 and PPC970 processors that have |
84 | hypervisor mode available to the host. | |
de56a948 PM |
85 | |
86 | If you say Y here, KVM will use the hardware virtualization | |
87 | facilities of POWER7 (and later) processors, meaning that | |
88 | guest operating systems will run at full hardware speed | |
89 | using supervisor and user modes. However, this also means | |
90 | that KVM is not usable under PowerVM (pHyp), is only usable | |
9e368f29 PM |
91 | on POWER7 (or later) processors and PPC970-family processors, |
92 | and cannot emulate a different processor from the host processor. | |
de56a948 PM |
93 | |
94 | If unsure, say N. | |
95 | ||
96 | config KVM_BOOK3S_64_PR | |
9975f5e3 | 97 | bool "KVM support without using hypervisor mode in host" |
de56a948 | 98 | depends on KVM_BOOK3S_64 && !KVM_BOOK3S_64_HV |
7aa79938 | 99 | select KVM_BOOK3S_PR_POSSIBLE |
9975f5e3 AK |
100 | ---help--- |
101 | Support running guest kernels in virtual machines on processors | |
102 | without using hypervisor mode in the host, by running the | |
103 | guest in user mode (problem state) and emulating all | |
104 | privileged instructions and registers. | |
105 | ||
106 | This is not as fast as using hypervisor mode, but works on | |
107 | machines where hypervisor mode is not available or not usable, | |
108 | and can emulate processors that are different from the host | |
109 | processor, including emulating 32-bit processors on a 64-bit | |
110 | host. | |
de56a948 | 111 | |
d30f6e48 SW |
112 | config KVM_BOOKE_HV |
113 | bool | |
114 | ||
74ef740d HB |
115 | config KVM_440 |
116 | bool "KVM support for PowerPC 440 processors" | |
07ff8b53 | 117 | depends on 44x |
74ef740d | 118 | select KVM |
de56a948 | 119 | select KVM_MMIO |
bbf45ba5 | 120 | ---help--- |
74ef740d HB |
121 | Support running unmodified 440 guest kernels in virtual machines on |
122 | 440 host processors. | |
bbf45ba5 HB |
123 | |
124 | This module provides access to the hardware capabilities through | |
125 | a character device node named /dev/kvm. | |
126 | ||
127 | If unsure, say N. | |
128 | ||
73e75b41 HB |
129 | config KVM_EXIT_TIMING |
130 | bool "Detailed exit timing" | |
bf7ca4bd | 131 | depends on KVM_440 || KVM_E500V2 || KVM_E500MC |
73e75b41 HB |
132 | ---help--- |
133 | Calculate elapsed time for every exit/enter cycle. A per-vcpu | |
134 | report is available in debugfs kvm/vm#_vcpu#_timing. | |
135 | The overhead is relatively small, however it is not recommended for | |
136 | production environments. | |
137 | ||
138 | If unsure, say N. | |
139 | ||
bf7ca4bd AG |
140 | config KVM_E500V2 |
141 | bool "KVM support for PowerPC E500v2 processors" | |
07ff8b53 | 142 | depends on E500 && !PPC_E500MC |
bc8080cb | 143 | select KVM |
de56a948 | 144 | select KVM_MMIO |
862d31f7 | 145 | select MMU_NOTIFIER |
bc8080cb HB |
146 | ---help--- |
147 | Support running unmodified E500 guest kernels in virtual machines on | |
bf7ca4bd | 148 | E500v2 host processors. |
bc8080cb HB |
149 | |
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 | ||
73196cd3 | 155 | config KVM_E500MC |
d9ce6041 | 156 | bool "KVM support for PowerPC E500MC/E5500/E6500 processors" |
07ff8b53 | 157 | depends on PPC_E500MC |
73196cd3 SW |
158 | select KVM |
159 | select KVM_MMIO | |
160 | select KVM_BOOKE_HV | |
862d31f7 | 161 | select MMU_NOTIFIER |
73196cd3 | 162 | ---help--- |
d9ce6041 MC |
163 | Support running unmodified E500MC/E5500/E6500 guest kernels in |
164 | virtual machines on E500MC/E5500/E6500 host processors. | |
73196cd3 SW |
165 | |
166 | This module provides access to the hardware capabilities through | |
167 | a character device node named /dev/kvm. | |
168 | ||
169 | If unsure, say N. | |
170 | ||
5df554ad SW |
171 | config KVM_MPIC |
172 | bool "KVM in-kernel MPIC emulation" | |
447a03c0 | 173 | depends on KVM && E500 |
de9ba2f3 AG |
174 | select HAVE_KVM_IRQCHIP |
175 | select HAVE_KVM_IRQ_ROUTING | |
176 | select HAVE_KVM_MSI | |
5df554ad SW |
177 | help |
178 | Enable support for emulating MPIC devices inside the | |
179 | host kernel, rather than relying on userspace to emulate. | |
180 | Currently, support is limited to certain versions of | |
181 | Freescale's MPIC implementation. | |
182 | ||
bc5ad3f3 BH |
183 | config KVM_XICS |
184 | bool "KVM in-kernel XICS emulation" | |
185 | depends on KVM_BOOK3S_64 && !KVM_MPIC | |
186 | ---help--- | |
187 | Include support for the XICS (eXternal Interrupt Controller | |
188 | Specification) interrupt controller architecture used on | |
189 | IBM POWER (pSeries) servers. | |
190 | ||
3a4d5c94 | 191 | source drivers/vhost/Kconfig |
bbf45ba5 HB |
192 | |
193 | endif # VIRTUALIZATION |