KVM: PPC: Implement MMU notifiers for Book3S HV guests
[linux-2.6.git] / arch / powerpc / kvm / Kconfig
1 #
2 # KVM configuration
3 #
4
5 source "virt/kvm/Kconfig"
6
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
20         bool
21         select PREEMPT_NOTIFIERS
22         select ANON_INODES
23
24 config KVM_BOOK3S_HANDLER
25         bool
26
27 config KVM_BOOK3S_32_HANDLER
28         bool
29         select KVM_BOOK3S_HANDLER
30         select KVM_MMIO
31
32 config KVM_BOOK3S_64_HANDLER
33         bool
34         select KVM_BOOK3S_HANDLER
35
36 config KVM_BOOK3S_PR
37         bool
38         select KVM_MMIO
39
40 config 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
55 config 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
69 config 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
88 config KVM_BOOK3S_64_PR
89         def_bool y
90         depends on KVM_BOOK3S_64 && !KVM_BOOK3S_64_HV
91         select KVM_BOOK3S_PR
92
93 config KVM_440
94         bool "KVM support for PowerPC 440 processors"
95         depends on EXPERIMENTAL && 44x
96         select KVM
97         select KVM_MMIO
98         ---help---
99           Support running unmodified 440 guest kernels in virtual machines on
100           440 host processors.
101
102           This module provides access to the hardware capabilities through
103           a character device node named /dev/kvm.
104
105           If unsure, say N.
106
107 config KVM_EXIT_TIMING
108         bool "Detailed exit timing"
109         depends on KVM_440 || KVM_E500
110         ---help---
111           Calculate elapsed time for every exit/enter cycle. A per-vcpu
112           report is available in debugfs kvm/vm#_vcpu#_timing.
113           The overhead is relatively small, however it is not recommended for
114           production environments.
115
116           If unsure, say N.
117
118 config KVM_E500
119         bool "KVM support for PowerPC E500 processors"
120         depends on EXPERIMENTAL && E500
121         select KVM
122         select KVM_MMIO
123         ---help---
124           Support running unmodified E500 guest kernels in virtual machines on
125           E500 host processors.
126
127           This module provides access to the hardware capabilities through
128           a character device node named /dev/kvm.
129
130           If unsure, say N.
131
132 source drivers/vhost/Kconfig
133
134 endif # VIRTUALIZATION