This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / drivers / xen / Kconfig
1 #
2 # This Kconfig describe xen options
3 #
4
5 mainmenu "Xen Configuration"
6
7 config XEN
8         bool
9         default y if X86_XEN || X86_64_XEN
10         help
11           This is the Linux Xen port.
12
13 if XEN
14 config XEN_INTERFACE_VERSION
15         hex
16         default 0x00030202
17
18 menu "XEN"
19
20 config XEN_PRIVILEGED_GUEST
21         bool "Privileged Guest (domain 0)"
22         depends XEN
23         default n
24         help
25           Support for privileged operation (domain 0)
26
27 config XEN_UNPRIVILEGED_GUEST
28         bool
29         default !XEN_PRIVILEGED_GUEST
30
31 config XEN_PRIVCMD
32         bool
33         depends on PROC_FS
34         default y
35
36 config XEN_XENBUS_DEV
37         bool
38         depends on PROC_FS
39         default y
40
41 config XEN_BACKEND
42         tristate "Backend driver support"
43         default y
44         help
45           Support for backend device drivers that provide I/O services
46           to other virtual machines.
47
48 config XEN_BLKDEV_BACKEND
49         tristate "Block-device backend driver"
50         depends on XEN_BACKEND
51         default y
52         help
53           The block-device backend driver allows the kernel to export its
54           block devices to other guests via a high-performance shared-memory
55           interface.
56
57 config XEN_BLKDEV_TAP
58         tristate "Block-device tap backend driver"
59         depends on XEN_BACKEND
60         default XEN_PRIVILEGED_GUEST
61         help
62           The block tap driver is an alternative to the block back driver 
63           and allows VM block requests to be redirected to userspace through
64           a device interface.  The tap allows user-space development of 
65           high-performance block backends, where disk images may be implemented
66           as files, in memory, or on other hosts across the network.  This 
67           driver can safely coexist with the existing blockback driver.
68
69 config XEN_NETDEV_BACKEND
70         tristate "Network-device backend driver"
71         depends on XEN_BACKEND && NET
72         default y
73         help
74           The network-device backend driver allows the kernel to export its
75           network devices to other guests via a high-performance shared-memory
76           interface.
77
78 config XEN_NETDEV_PIPELINED_TRANSMITTER
79         bool "Pipelined transmitter (DANGEROUS)"
80         depends on XEN_NETDEV_BACKEND
81         default n
82         help
83           If the net backend is a dumb domain, such as a transparent Ethernet
84           bridge with no local IP interface, it is safe to say Y here to get
85           slightly lower network overhead.
86           If the backend has a local IP interface; or may be doing smart things
87           like reassembling packets to perform firewall filtering; or if you
88           are unsure; or if you experience network hangs when this option is
89           enabled; then you must say N here.
90
91 config XEN_NETDEV_LOOPBACK
92         tristate "Network-device loopback driver"
93         depends on XEN_NETDEV_BACKEND
94         default y
95         help
96           A two-interface loopback device to emulate a local netfront-netback
97           connection.
98
99 config XEN_PCIDEV_BACKEND
100         tristate "PCI-device backend driver"
101         depends on PCI && XEN_BACKEND
102         default XEN_PRIVILEGED_GUEST
103         help
104           The PCI device backend driver allows the kernel to export arbitrary
105           PCI devices to other guests. If you select this to be a module, you
106           will need to make sure no other driver has bound to the device(s)
107           you want to make visible to other guests.
108
109 choice
110         prompt "PCI Backend Mode"
111         depends on XEN_PCIDEV_BACKEND
112         default XEN_PCIDEV_BACKEND_VPCI
113
114 config XEN_PCIDEV_BACKEND_VPCI
115         bool "Virtual PCI"
116         ---help---
117           This PCI Backend hides the true PCI topology and makes the frontend
118           think there is a single PCI bus with only the exported devices on it.
119           For example, a device at 03:05.0 will be re-assigned to 00:00.0. A
120           second device at 02:1a.1 will be re-assigned to 00:01.1.
121
122 config XEN_PCIDEV_BACKEND_PASS
123         bool "Passthrough"
124         ---help---
125           This PCI Backend provides a real view of the PCI topology to the
126           frontend (for example, a device at 06:01.b will still appear at
127           06:01.b to the frontend). This is similar to how Xen 2.0.x exposed
128           PCI devices to its driver domains. This may be required for drivers
129           which depend on finding their hardward in certain bus/slot
130           locations.
131
132 config XEN_PCIDEV_BACKEND_SLOT
133         bool "Slot"
134         ---help---
135           This PCI Backend hides the true PCI topology and makes the frontend
136           think there is a single PCI bus with only the exported devices on it.
137           Contrary to the virtual PCI backend, a function becomes a new slot.
138           For example, a device at 03:05.2 will be re-assigned to 00:00.0. A
139           second device at 02:1a.1 will be re-assigned to 00:01.0.
140
141 endchoice
142
143 config XEN_PCIDEV_BE_DEBUG
144         bool "PCI Backend Debugging"
145         depends on XEN_PCIDEV_BACKEND
146         default n
147
148 config XEN_TPMDEV_BACKEND
149         tristate "TPM-device backend driver"
150         depends on XEN_BACKEND
151         default n
152         help
153           The TPM-device backend driver
154
155 config XEN_BLKDEV_FRONTEND
156         tristate "Block-device frontend driver"
157         depends on XEN
158         default y
159         help
160           The block-device frontend driver allows the kernel to access block
161           devices mounted within another guest OS. Unless you are building a
162           dedicated device-driver domain, or your master control domain
163           (domain 0), then you almost certainly want to say Y here.
164
165 config XEN_NETDEV_FRONTEND
166         tristate "Network-device frontend driver"
167         depends on XEN && NET
168         default y
169         help
170           The network-device frontend driver allows the kernel to access
171           network interfaces within another guest OS. Unless you are building a
172           dedicated device-driver domain, or your master control domain
173           (domain 0), then you almost certainly want to say Y here.
174
175 config XEN_SCRUB_PAGES
176         bool "Scrub memory before freeing it to Xen"
177         default y
178         help
179           Erase memory contents before freeing it back to Xen's global
180           pool. This ensures that any secrets contained within that
181           memory (e.g., private keys) cannot be found by other guests that
182           may be running on the machine. Most people will want to say Y here.
183           If security is not a concern then you may increase performance by
184           saying N.
185
186 config XEN_DISABLE_SERIAL
187         bool "Disable serial port drivers"
188         default y
189         help
190           Disable serial port drivers, allowing the Xen console driver
191           to provide a serial console at ttyS0.
192
193 config XEN_SYSFS
194         tristate "Export Xen attributes in sysfs"
195         depends on SYSFS
196         default y
197         help
198           Xen hypervisor attributes will show up under /sys/hypervisor/.
199
200 choice
201         prompt "Xen version compatibility"
202         default XEN_COMPAT_030002_AND_LATER
203
204         config XEN_COMPAT_030002_AND_LATER
205                 bool "3.0.2 and later"
206
207         config XEN_COMPAT_LATEST_ONLY
208                 bool "no compatibility code"
209
210 endchoice
211
212 config XEN_COMPAT_030002
213         bool
214         default XEN_COMPAT_030002_AND_LATER
215
216 endmenu
217
218 config HAVE_ARCH_ALLOC_SKB
219         bool
220         default y
221
222 config HAVE_ARCH_DEV_ALLOC_SKB
223         bool
224         default y
225
226 config HAVE_IRQ_IGNORE_UNHANDLED
227         bool
228         default y
229
230 config NO_IDLE_HZ
231         bool
232         default y
233
234 config XEN_UTIL
235         bool
236         default y
237
238 config XEN_BALLOON
239         bool
240         default y
241
242 config XEN_DEVMEM
243         bool
244         default y
245
246 config XEN_SKBUFF
247         bool
248         default y
249         depends on NET
250
251 config XEN_REBOOT
252         bool
253         default y
254
255 config XEN_SMPBOOT
256         bool
257         default y
258         depends on SMP
259
260 endif