xref: /linux/arch/powerpc/kvm/Kconfig (revision d670b479586e457c7c36604cea08ae236fb933ac)
1#
2# KVM configuration
3#
4
5source "virt/kvm/Kconfig"
6
7menuconfig 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
20	bool
21	select PREEMPT_NOTIFIERS
22	select ANON_INODES
23
24config KVM_BOOK3S_HANDLER
25	bool
26
27config KVM_BOOK3S_32_HANDLER
28	bool
29	select KVM_BOOK3S_HANDLER
30	select KVM_MMIO
31
32config KVM_BOOK3S_64_HANDLER
33	bool
34	select KVM_BOOK3S_HANDLER
35
36config KVM_BOOK3S_PR
37	bool
38	select KVM_MMIO
39
40config KVM_BOOK3S_32
41	tristate "KVM support for PowerPC book3s_32 processors"
42	depends on EXPERIMENTAL && PPC_BOOK3S_32 && !SMP && !PTE_64BIT
43	select KVM
44	select KVM_BOOK3S_32_HANDLER
45	select KVM_BOOK3S_PR
46	---help---
47	  Support running unmodified book3s_32 guest kernels
48	  in virtual machines on book3s_32 host processors.
49
50	  This module provides access to the hardware capabilities through
51	  a character device node named /dev/kvm.
52
53	  If unsure, say N.
54
55config KVM_BOOK3S_64
56	tristate "KVM support for PowerPC book3s_64 processors"
57	depends on EXPERIMENTAL && PPC_BOOK3S_64
58	select KVM_BOOK3S_64_HANDLER
59	select KVM
60	---help---
61	  Support running unmodified book3s_64 and book3s_32 guest kernels
62	  in virtual machines on book3s_64 host processors.
63
64	  This module provides access to the hardware capabilities through
65	  a character device node named /dev/kvm.
66
67	  If unsure, say N.
68
69config KVM_BOOK3S_64_HV
70	bool "KVM support for POWER7 and PPC970 using hypervisor mode in host"
71	depends on KVM_BOOK3S_64
72	select MMU_NOTIFIER
73	---help---
74	  Support running unmodified book3s_64 guest kernels in
75	  virtual machines on POWER7 and PPC970 processors that have
76	  hypervisor mode available to the host.
77
78	  If you say Y here, KVM will use the hardware virtualization
79	  facilities of POWER7 (and later) processors, meaning that
80	  guest operating systems will run at full hardware speed
81	  using supervisor and user modes.  However, this also means
82	  that KVM is not usable under PowerVM (pHyp), is only usable
83	  on POWER7 (or later) processors and PPC970-family processors,
84	  and cannot emulate a different processor from the host processor.
85
86	  If unsure, say N.
87
88config KVM_BOOK3S_64_PR
89	def_bool y
90	depends on KVM_BOOK3S_64 && !KVM_BOOK3S_64_HV
91	select KVM_BOOK3S_PR
92
93config KVM_BOOKE_HV
94	bool
95
96config KVM_440
97	bool "KVM support for PowerPC 440 processors"
98	depends on EXPERIMENTAL && 44x
99	select KVM
100	select KVM_MMIO
101	---help---
102	  Support running unmodified 440 guest kernels in virtual machines on
103	  440 host processors.
104
105	  This module provides access to the hardware capabilities through
106	  a character device node named /dev/kvm.
107
108	  If unsure, say N.
109
110config KVM_EXIT_TIMING
111	bool "Detailed exit timing"
112	depends on KVM_440 || KVM_E500V2 || KVM_E500MC
113	---help---
114	  Calculate elapsed time for every exit/enter cycle. A per-vcpu
115	  report is available in debugfs kvm/vm#_vcpu#_timing.
116	  The overhead is relatively small, however it is not recommended for
117	  production environments.
118
119	  If unsure, say N.
120
121config KVM_E500V2
122	bool "KVM support for PowerPC E500v2 processors"
123	depends on EXPERIMENTAL && E500 && !PPC_E500MC
124	select KVM
125	select KVM_MMIO
126	---help---
127	  Support running unmodified E500 guest kernels in virtual machines on
128	  E500v2 host processors.
129
130	  This module provides access to the hardware capabilities through
131	  a character device node named /dev/kvm.
132
133	  If unsure, say N.
134
135config KVM_E500MC
136	bool "KVM support for PowerPC E500MC/E5500 processors"
137	depends on EXPERIMENTAL && PPC_E500MC
138	select KVM
139	select KVM_MMIO
140	select KVM_BOOKE_HV
141	---help---
142	  Support running unmodified E500MC/E5500 (32-bit) guest kernels in
143	  virtual machines on E500MC/E5500 host processors.
144
145	  This module provides access to the hardware capabilities through
146	  a character device node named /dev/kvm.
147
148	  If unsure, say N.
149
150source drivers/vhost/Kconfig
151
152endif # VIRTUALIZATION
153