blob: 71f0cd9edf335a4751895c16f6b3069e5f872950 [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
Hollis Blanchard74ef7402008-11-07 13:15:13 -060023
Alexander Grafc14dea02010-04-16 00:11:41 +020024config KVM_BOOK3S_HANDLER
25 bool
26
Alexander Graf4f841392010-04-16 00:11:58 +020027config KVM_BOOK3S_32_HANDLER
28 bool
29 select KVM_BOOK3S_HANDLER
Paul Mackerrasde56a942011-06-29 00:21:34 +000030 select KVM_MMIO
Alexander Graf4f841392010-04-16 00:11:58 +020031
Alexander Grafc4f9c772009-10-30 05:47:24 +000032config KVM_BOOK3S_64_HANDLER
33 bool
Alexander Grafc14dea02010-04-16 00:11:41 +020034 select KVM_BOOK3S_HANDLER
Alexander Grafc4f9c772009-10-30 05:47:24 +000035
Paul Mackerrasde56a942011-06-29 00:21:34 +000036config KVM_BOOK3S_PR
37 bool
38 select KVM_MMIO
Alexander Graf9b0cb3c2012-08-10 13:23:55 +020039 select MMU_NOTIFIER
Paul Mackerrasde56a942011-06-29 00:21:34 +000040
Alexander Graf4f841392010-04-16 00:11:58 +020041config KVM_BOOK3S_32
42 tristate "KVM support for PowerPC book3s_32 processors"
43 depends on EXPERIMENTAL && PPC_BOOK3S_32 && !SMP && !PTE_64BIT
44 select KVM
45 select KVM_BOOK3S_32_HANDLER
Paul Mackerrasde56a942011-06-29 00:21:34 +000046 select KVM_BOOK3S_PR
Alexander Graf4f841392010-04-16 00:11:58 +020047 ---help---
48 Support running unmodified book3s_32 guest kernels
49 in virtual machines on book3s_32 host processors.
50
51 This module provides access to the hardware capabilities through
52 a character device node named /dev/kvm.
53
54 If unsure, say N.
55
Alexander Grafc4f9c772009-10-30 05:47:24 +000056config KVM_BOOK3S_64
57 tristate "KVM support for PowerPC book3s_64 processors"
Alexander Graf00c3a372010-04-16 00:11:42 +020058 depends on EXPERIMENTAL && PPC_BOOK3S_64
Alexander Grafc4f9c772009-10-30 05:47:24 +000059 select KVM_BOOK3S_64_HANDLER
Paul Mackerrasde56a942011-06-29 00:21:34 +000060 select KVM
Alexander Grafc4f9c772009-10-30 05:47:24 +000061 ---help---
62 Support running unmodified book3s_64 and book3s_32 guest kernels
63 in virtual machines on book3s_64 host processors.
64
65 This module provides access to the hardware capabilities through
66 a character device node named /dev/kvm.
67
68 If unsure, say N.
69
Paul Mackerrasde56a942011-06-29 00:21:34 +000070config KVM_BOOK3S_64_HV
Paul Mackerras9e368f22011-06-29 00:40:08 +000071 bool "KVM support for POWER7 and PPC970 using hypervisor mode in host"
Paul Mackerrasde56a942011-06-29 00:21:34 +000072 depends on KVM_BOOK3S_64
Paul Mackerras342d3db2011-12-12 12:38:05 +000073 select MMU_NOTIFIER
Paul Mackerrasde56a942011-06-29 00:21:34 +000074 ---help---
75 Support running unmodified book3s_64 guest kernels in
Paul Mackerras9e368f22011-06-29 00:40:08 +000076 virtual machines on POWER7 and PPC970 processors that have
77 hypervisor mode available to the host.
Paul Mackerrasde56a942011-06-29 00:21:34 +000078
79 If you say Y here, KVM will use the hardware virtualization
80 facilities of POWER7 (and later) processors, meaning that
81 guest operating systems will run at full hardware speed
82 using supervisor and user modes. However, this also means
83 that KVM is not usable under PowerVM (pHyp), is only usable
Paul Mackerras9e368f22011-06-29 00:40:08 +000084 on POWER7 (or later) processors and PPC970-family processors,
85 and cannot emulate a different processor from the host processor.
Paul Mackerrasde56a942011-06-29 00:21:34 +000086
87 If unsure, say N.
88
89config KVM_BOOK3S_64_PR
90 def_bool y
91 depends on KVM_BOOK3S_64 && !KVM_BOOK3S_64_HV
92 select KVM_BOOK3S_PR
93
Scott Woodd30f6e42011-12-20 15:34:43 +000094config KVM_BOOKE_HV
95 bool
96
Hollis Blanchard74ef7402008-11-07 13:15:13 -060097config KVM_440
98 bool "KVM support for PowerPC 440 processors"
99 depends on EXPERIMENTAL && 44x
100 select KVM
Paul Mackerrasde56a942011-06-29 00:21:34 +0000101 select KVM_MMIO
Hollis Blanchardbbf45ba2008-04-16 23:28:09 -0500102 ---help---
Hollis Blanchard74ef7402008-11-07 13:15:13 -0600103 Support running unmodified 440 guest kernels in virtual machines on
104 440 host processors.
Hollis Blanchardbbf45ba2008-04-16 23:28:09 -0500105
106 This module provides access to the hardware capabilities through
107 a character device node named /dev/kvm.
108
109 If unsure, say N.
110
Hollis Blanchard73e75b42008-12-02 15:51:57 -0600111config KVM_EXIT_TIMING
112 bool "Detailed exit timing"
Alexander Grafbf7ca4b2012-02-15 23:40:00 +0000113 depends on KVM_440 || KVM_E500V2 || KVM_E500MC
Hollis Blanchard73e75b42008-12-02 15:51:57 -0600114 ---help---
115 Calculate elapsed time for every exit/enter cycle. A per-vcpu
116 report is available in debugfs kvm/vm#_vcpu#_timing.
117 The overhead is relatively small, however it is not recommended for
118 production environments.
119
120 If unsure, say N.
121
Alexander Grafbf7ca4b2012-02-15 23:40:00 +0000122config KVM_E500V2
123 bool "KVM support for PowerPC E500v2 processors"
Alexander Grafb2e19b22012-02-15 23:41:20 +0000124 depends on EXPERIMENTAL && E500 && !PPC_E500MC
Hollis Blanchardbc8080c2009-01-03 16:23:10 -0600125 select KVM
Paul Mackerrasde56a942011-06-29 00:21:34 +0000126 select KVM_MMIO
Alexander Graf862d31f2012-07-31 00:19:50 +0200127 select MMU_NOTIFIER
Hollis Blanchardbc8080c2009-01-03 16:23:10 -0600128 ---help---
129 Support running unmodified E500 guest kernels in virtual machines on
Alexander Grafbf7ca4b2012-02-15 23:40:00 +0000130 E500v2 host processors.
Hollis Blanchardbc8080c2009-01-03 16:23:10 -0600131
132 This module provides access to the hardware capabilities through
133 a character device node named /dev/kvm.
134
135 If unsure, say N.
136
Scott Wood73196cd2011-12-20 15:34:47 +0000137config KVM_E500MC
138 bool "KVM support for PowerPC E500MC/E5500 processors"
139 depends on EXPERIMENTAL && PPC_E500MC
140 select KVM
141 select KVM_MMIO
142 select KVM_BOOKE_HV
Alexander Graf862d31f2012-07-31 00:19:50 +0200143 select MMU_NOTIFIER
Scott Wood73196cd2011-12-20 15:34:47 +0000144 ---help---
145 Support running unmodified E500MC/E5500 (32-bit) guest kernels in
146 virtual machines on E500MC/E5500 host processors.
147
148 This module provides access to the hardware capabilities through
149 a character device node named /dev/kvm.
150
151 If unsure, say N.
152
Michael S. Tsirkin3a4d5c94e2010-01-14 06:17:27 +0000153source drivers/vhost/Kconfig
Hollis Blanchardbbf45ba2008-04-16 23:28:09 -0500154
155endif # VIRTUALIZATION