ia64/linux-2.6.18-xen.hg

view drivers/xen/Kconfig @ 886:3e01555dd227

blktap2: introduce blktap2 dedicated config.

Introduce CONFIG_XEN_BLKDEV_TAP2 instead of CONFIG_XEN_BLKDEV_TAP.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
author Keir Fraser <keir.fraser@citrix.com>
date Thu May 28 10:05:02 2009 +0100 (2009-05-28)
parents cc27ca4b86c1
children 4e5cd2fc45a7
line source
1 #
2 # This Kconfig describe xen options
3 #
5 mainmenu "Xen Configuration"
7 config XEN
8 bool
10 if XEN
11 config XEN_INTERFACE_VERSION
12 hex
13 default 0x00030207
15 menu "XEN"
17 config XEN_PRIVILEGED_GUEST
18 bool "Privileged Guest (domain 0)"
19 select PCI_REASSIGN if PCI
20 help
21 Support for privileged operation (domain 0)
23 config XEN_UNPRIVILEGED_GUEST
24 def_bool !XEN_PRIVILEGED_GUEST
26 config XEN_PRIVCMD
27 def_bool y
28 depends on PROC_FS
30 config XEN_XENBUS_DEV
31 def_bool y
32 depends on PROC_FS
34 config XEN_NETDEV_ACCEL_SFC_UTIL
35 depends on X86
36 tristate
38 config XEN_BACKEND
39 tristate "Backend driver support"
40 default XEN_PRIVILEGED_GUEST
41 help
42 Support for backend device drivers that provide I/O services
43 to other virtual machines.
45 config XEN_BLKDEV_BACKEND
46 tristate "Block-device backend driver"
47 depends on XEN_BACKEND
48 default XEN_BACKEND
49 help
50 The block-device backend driver allows the kernel to export its
51 block devices to other guests via a high-performance shared-memory
52 interface.
54 config XEN_BLKDEV_TAP
55 tristate "Block-device tap backend driver"
56 depends on XEN_BACKEND
57 default XEN_BACKEND
58 help
59 The block tap driver is an alternative to the block back driver
60 and allows VM block requests to be redirected to userspace through
61 a device interface. The tap allows user-space development of
62 high-performance block backends, where disk images may be implemented
63 as files, in memory, or on other hosts across the network. This
64 driver can safely coexist with the existing blockback driver.
66 config XEN_BLKDEV_TAP2
67 tristate "Block-device tap backend driver 2"
68 depends on XEN_BACKEND
69 default XEN_BACKEND
70 help
71 The block tap driver is an alternative to the block back driver
72 and allows VM block requests to be redirected to userspace through
73 a device interface. The tap allows user-space development of
74 high-performance block backends, where disk images may be implemented
75 as files, in memory, or on other hosts across the network. This
76 driver can safely coexist with the existing blockback driver.
78 config XEN_NETDEV_BACKEND
79 tristate "Network-device backend driver"
80 depends on XEN_BACKEND && NET
81 default XEN_BACKEND
82 help
83 The network-device backend driver allows the kernel to export its
84 network devices to other guests via a high-performance shared-memory
85 interface.
87 config XEN_NETDEV_PIPELINED_TRANSMITTER
88 bool "Pipelined transmitter (DANGEROUS)"
89 depends on XEN_NETDEV_BACKEND
90 help
91 If the net backend is a dumb domain, such as a transparent Ethernet
92 bridge with no local IP interface, it is safe to say Y here to get
93 slightly lower network overhead.
94 If the backend has a local IP interface; or may be doing smart things
95 like reassembling packets to perform firewall filtering; or if you
96 are unsure; or if you experience network hangs when this option is
97 enabled; then you must say N here.
99 config XEN_NETDEV_ACCEL_SFC_BACKEND
100 tristate "Network-device backend driver acceleration for Solarflare NICs"
101 depends on XEN_NETDEV_BACKEND && SFC && SFC_RESOURCE && X86
102 select XEN_NETDEV_ACCEL_SFC_UTIL
103 default m
105 config XEN_NETDEV_LOOPBACK
106 tristate "Network-device loopback driver"
107 depends on XEN_NETDEV_BACKEND
108 help
109 A two-interface loopback device to emulate a local netfront-netback
110 connection. If unsure, it is probably safe to say N here.
112 config XEN_PCIDEV_BACKEND
113 tristate "PCI-device backend driver"
114 depends on PCI && XEN_BACKEND
115 default XEN_BACKEND
116 help
117 The PCI device backend driver allows the kernel to export arbitrary
118 PCI devices to other guests. If you select this to be a module, you
119 will need to make sure no other driver has bound to the device(s)
120 you want to make visible to other guests.
122 choice
123 prompt "PCI Backend Mode"
124 depends on XEN_PCIDEV_BACKEND
125 default XEN_PCIDEV_BACKEND_VPCI if !IA64
126 default XEN_PCIDEV_BACKEND_CONTROLLER if IA64
128 config XEN_PCIDEV_BACKEND_VPCI
129 bool "Virtual PCI"
130 ---help---
131 This PCI Backend hides the true PCI topology and makes the frontend
132 think there is a single PCI bus with only the exported devices on it.
133 For example, a device at 03:05.0 will be re-assigned to 00:00.0. A
134 second device at 02:1a.1 will be re-assigned to 00:01.1.
136 config XEN_PCIDEV_BACKEND_PASS
137 bool "Passthrough"
138 ---help---
139 This PCI Backend provides a real view of the PCI topology to the
140 frontend (for example, a device at 06:01.b will still appear at
141 06:01.b to the frontend). This is similar to how Xen 2.0.x exposed
142 PCI devices to its driver domains. This may be required for drivers
143 which depend on finding their hardward in certain bus/slot
144 locations.
146 config XEN_PCIDEV_BACKEND_SLOT
147 bool "Slot"
148 ---help---
149 This PCI Backend hides the true PCI topology and makes the frontend
150 think there is a single PCI bus with only the exported devices on it.
151 Contrary to the virtual PCI backend, a function becomes a new slot.
152 For example, a device at 03:05.2 will be re-assigned to 00:00.0. A
153 second device at 02:1a.1 will be re-assigned to 00:01.0.
155 config XEN_PCIDEV_BACKEND_CONTROLLER
156 bool "Controller"
157 depends on IA64
158 ---help---
159 This PCI backend virtualizes the PCI bus topology by providing a
160 virtual bus per PCI root device. Devices which are physically under
161 the same root bus will appear on the same virtual bus. For systems
162 with complex I/O addressing, this is the only backend which supports
163 extended I/O port spaces and MMIO translation offsets. This backend
164 also supports slot virtualization. For example, a device at
165 0000:01:02.1 will be re-assigned to 0000:00:00.0. A second device
166 at 0000:02:05.0 (behind a P2P bridge on bus 0000:01) will be
167 re-assigned to 0000:00:01.0. A third device at 0000:16:05.0 (under
168 a different PCI root bus) will be re-assigned to 0000:01:00.0.
170 endchoice
172 config XEN_PCIDEV_BE_DEBUG
173 bool "PCI Backend Debugging"
174 depends on XEN_PCIDEV_BACKEND
176 config XEN_TPMDEV_BACKEND
177 tristate "TPM-device backend driver"
178 depends on XEN_BACKEND
179 help
180 The TPM-device backend driver
182 config XEN_SCSI_BACKEND
183 tristate "SCSI backend driver"
184 depends on SCSI && XEN_BACKEND
185 default m
186 help
187 The SCSI backend driver allows the kernel to export its SCSI Devices
188 to other guests via a high-performance shared-memory interface.
190 config XEN_USB_BACKEND
191 tristate "USB backend driver"
192 depends on USB && XEN_BACKEND
193 default m
194 help
195 The USB backend driver allows the kernel to export its USB Devices
196 to other guests.
198 config XEN_BLKDEV_FRONTEND
199 tristate "Block-device frontend driver"
200 default y
201 help
202 The block-device frontend driver allows the kernel to access block
203 devices mounted within another guest OS. Unless you are building a
204 dedicated device-driver domain, or your master control domain
205 (domain 0), then you almost certainly want to say Y here.
207 config XEN_NETDEV_FRONTEND
208 tristate "Network-device frontend driver"
209 depends on NET
210 default y
211 help
212 The network-device frontend driver allows the kernel to access
213 network interfaces within another guest OS. Unless you are building a
214 dedicated device-driver domain, or your master control domain
215 (domain 0), then you almost certainly want to say Y here.
217 config XEN_NETDEV_ACCEL_SFC_FRONTEND
218 tristate "Network-device frontend driver acceleration for Solarflare NICs"
219 depends on XEN_NETDEV_FRONTEND && X86
220 select XEN_NETDEV_ACCEL_SFC_UTIL
221 default m
223 config XEN_SCSI_FRONTEND
224 tristate "SCSI frontend driver"
225 depends on SCSI
226 default m
227 help
228 The SCSI frontend driver allows the kernel to access SCSI Devices
229 within another guest OS.
231 config XEN_USB_FRONTEND
232 tristate "USB frontend driver"
233 depends on USB
234 default m
235 help
236 The USB frontend driver allows the kernel to access USB Devices
237 within another guest OS.
239 config XEN_USB_FRONTEND_HCD_STATS
240 bool "Taking the HCD statistics (for debug)"
241 depends on XEN_USB_FRONTEND
242 default y
243 help
244 Count the transferred urb status and the RING_FULL occurrence.
246 config XEN_GRANT_DEV
247 tristate "User-space granted page access driver"
248 default XEN_PRIVILEGED_GUEST
249 help
250 Device for accessing (in user-space) pages that have been granted
251 by other domains.
253 config XEN_FRAMEBUFFER
254 tristate "Framebuffer-device frontend driver"
255 depends on FB
256 select FB_CFB_FILLRECT
257 select FB_CFB_COPYAREA
258 select FB_CFB_IMAGEBLIT
259 default y
260 help
261 The framebuffer-device frontend drivers allows the kernel to create a
262 virtual framebuffer. This framebuffer can be viewed in another
263 domain. Unless this domain has access to a real video card, you
264 probably want to say Y here.
266 config XEN_KEYBOARD
267 tristate "Keyboard-device frontend driver"
268 depends on XEN_FRAMEBUFFER && INPUT
269 default y
270 help
271 The keyboard-device frontend driver allows the kernel to create a
272 virtual keyboard. This keyboard can then be driven by another
273 domain. If you've said Y to CONFIG_XEN_FRAMEBUFFER, you probably
274 want to say Y here.
276 config XEN_SCRUB_PAGES
277 bool "Scrub memory before freeing it to Xen"
278 default y
279 help
280 Erase memory contents before freeing it back to Xen's global
281 pool. This ensures that any secrets contained within that
282 memory (e.g., private keys) cannot be found by other guests that
283 may be running on the machine. Most people will want to say Y here.
284 If security is not a concern then you may increase performance by
285 saying N.
287 config XEN_DISABLE_SERIAL
288 bool "Disable serial port drivers"
289 default y
290 help
291 Disable serial port drivers, allowing the Xen console driver
292 to provide a serial console at ttyS0.
294 config XEN_SYSFS
295 tristate "Export Xen attributes in sysfs"
296 depends on SYSFS
297 select SYS_HYPERVISOR
298 default y
299 help
300 Xen hypervisor attributes will show up under /sys/hypervisor/.
302 choice
303 prompt "Xen version compatibility"
304 default XEN_COMPAT_030002_AND_LATER
306 config XEN_COMPAT_030002_AND_LATER
307 bool "3.0.2 and later"
309 config XEN_COMPAT_030004_AND_LATER
310 bool "3.0.4 and later"
312 config XEN_COMPAT_030100_AND_LATER
313 bool "3.1.0 and later"
315 config XEN_COMPAT_LATEST_ONLY
316 bool "no compatibility code"
318 endchoice
320 config XEN_COMPAT
321 hex
322 default 0xffffff if XEN_COMPAT_LATEST_ONLY
323 default 0x030100 if XEN_COMPAT_030100_AND_LATER
324 default 0x030004 if XEN_COMPAT_030004_AND_LATER
325 default 0x030002 if XEN_COMPAT_030002_AND_LATER
326 default 0
328 endmenu
330 config HAVE_IRQ_IGNORE_UNHANDLED
331 def_bool y
333 config NO_IDLE_HZ
334 def_bool y
336 config XEN_SMPBOOT
337 def_bool y
338 depends on SMP && !PPC_XEN
340 config XEN_BALLOON
341 def_bool y
342 depends on !PPC_XEN
344 config XEN_XENCOMM
345 bool
347 config XEN_DEVMEM
348 def_bool y
350 endif