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