- patches.rt/0001-sched-count-of-queued-RT-tasks.patch: Delete.
[linux-flexiantxendom0-3.2.10.git] / drivers / xen / Kconfig
1 #
2 # This Kconfig describe xen options
3 #
4
5 mainmenu "Xen Configuration"
6
7 config XEN
8         bool
9
10 if XEN
11 config XEN_INTERFACE_VERSION
12         hex
13         default 0x00030207
14
15 menu "XEN"
16
17 config XEN_PRIVILEGED_GUEST
18         bool "Privileged Guest (domain 0)"
19         help
20           Support for privileged operation (domain 0)
21
22 config XEN_UNPRIVILEGED_GUEST
23         def_bool !XEN_PRIVILEGED_GUEST
24
25 config XEN_PRIVCMD
26         def_bool y
27         depends on PROC_FS
28
29 config XEN_XENBUS_DEV
30         def_bool y
31         depends on PROC_FS
32
33 config XEN_NETDEV_ACCEL_SFC_UTIL
34         tristate
35
36 config XEN_BACKEND
37         tristate "Backend driver support"
38         default XEN_PRIVILEGED_GUEST
39         help
40           Support for backend device drivers that provide I/O services
41           to other virtual machines.
42
43 config XEN_BLKDEV_BACKEND
44         tristate "Block-device backend driver"
45         depends on XEN_BACKEND
46         default XEN_BACKEND
47         help
48           The block-device backend driver allows the kernel to export its
49           block devices to other guests via a high-performance shared-memory
50           interface.
51
52 config XEN_BLKDEV_TAP
53         tristate "Block-device tap backend driver"
54         depends on XEN_BACKEND
55         default XEN_BACKEND
56         help
57           The block tap driver is an alternative to the block back driver 
58           and allows VM block requests to be redirected to userspace through
59           a device interface.  The tap allows user-space development of 
60           high-performance block backends, where disk images may be implemented
61           as files, in memory, or on other hosts across the network.  This 
62           driver can safely coexist with the existing blockback driver.
63
64 config XEN_NETDEV_BACKEND
65         tristate "Network-device backend driver"
66         depends on XEN_BACKEND && NET
67         default XEN_BACKEND
68         help
69           The network-device backend driver allows the kernel to export its
70           network devices to other guests via a high-performance shared-memory
71           interface.
72
73 config XEN_NETDEV_PIPELINED_TRANSMITTER
74         bool "Pipelined transmitter (DANGEROUS)"
75         depends on XEN_NETDEV_BACKEND
76         help
77           If the net backend is a dumb domain, such as a transparent Ethernet
78           bridge with no local IP interface, it is safe to say Y here to get
79           slightly lower network overhead.
80           If the backend has a local IP interface; or may be doing smart things
81           like reassembling packets to perform firewall filtering; or if you
82           are unsure; or if you experience network hangs when this option is
83           enabled; then you must say N here.
84
85 config XEN_NETDEV_ACCEL_SFC_BACKEND
86         tristate "Network-device backend driver acceleration for Solarflare NICs"
87         depends on SFC && SFC_RESOURCE && XEN_NETDEV_BACKEND
88         select XEN_NETDEV_ACCEL_SFC_UTIL
89         default m
90
91 config XEN_NETDEV_LOOPBACK
92         tristate "Network-device loopback driver"
93         depends on XEN_NETDEV_BACKEND
94         help
95           A two-interface loopback device to emulate a local netfront-netback
96           connection. If unsure, it is probably safe to say N here.
97
98 config XEN_PCIDEV_BACKEND
99         tristate "PCI-device backend driver"
100         depends on PCI && XEN_BACKEND
101         default XEN_BACKEND
102         help
103           The PCI device backend driver allows the kernel to export arbitrary
104           PCI devices to other guests. If you select this to be a module, you
105           will need to make sure no other driver has bound to the device(s)
106           you want to make visible to other guests.
107
108 choice
109         prompt "PCI Backend Mode"
110         depends on XEN_PCIDEV_BACKEND
111         default XEN_PCIDEV_BACKEND_VPCI if !IA64
112         default XEN_PCIDEV_BACKEND_CONTROLLER if IA64
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 config XEN_PCIDEV_BACKEND_CONTROLLER
142         bool "Controller"
143         depends on IA64
144         ---help---
145           This PCI backend virtualizes the PCI bus topology by providing a
146           virtual bus per PCI root device.  Devices which are physically under
147           the same root bus will appear on the same virtual bus.  For systems
148           with complex I/O addressing, this is the only backend which supports
149           extended I/O port spaces and MMIO translation offsets.  This backend
150           also supports slot virtualization.  For example, a device at
151           0000:01:02.1 will be re-assigned to 0000:00:00.0.  A second device
152           at 0000:02:05.0 (behind a P2P bridge on bus 0000:01) will be
153           re-assigned to 0000:00:01.0.  A third device at 0000:16:05.0 (under
154           a different PCI root bus) will be re-assigned to 0000:01:00.0.
155
156 endchoice
157
158 config XEN_PCIDEV_BE_DEBUG
159         bool "PCI Backend Debugging"
160         depends on XEN_PCIDEV_BACKEND
161
162 config XEN_TPMDEV_BACKEND
163         tristate "TPM-device backend driver"
164         depends on XEN_BACKEND
165         help
166           The TPM-device backend driver
167
168 config XEN_BLKDEV_FRONTEND
169         tristate "Block-device frontend driver"
170         default y
171         help
172           The block-device frontend driver allows the kernel to access block
173           devices mounted within another guest OS. Unless you are building a
174           dedicated device-driver domain, or your master control domain
175           (domain 0), then you almost certainly want to say Y here.
176
177 config XEN_NETDEV_FRONTEND
178         tristate "Network-device frontend driver"
179         depends on NET
180         default y
181         help
182           The network-device frontend driver allows the kernel to access
183           network interfaces within another guest OS. Unless you are building a
184           dedicated device-driver domain, or your master control domain
185           (domain 0), then you almost certainly want to say Y here.
186
187 config XEN_NETDEV_ACCEL_SFC_FRONTEND
188         tristate "Network-device frontend driver acceleration for Solarflare NICs"
189         depends on XEN_NETDEV_FRONTEND
190         select XEN_NETDEV_ACCEL_SFC_UTIL
191         default XEN_NETDEV_FRONTEND
192
193 config XEN_GRANT_DEV
194         tristate "User-space granted page access driver"
195         default XEN_PRIVILEGED_GUEST
196         help
197           Device for accessing (in user-space) pages that have been granted
198           by other domains.
199
200 config XEN_FRAMEBUFFER
201         tristate "Framebuffer-device frontend driver"
202         depends on FB
203         select FB_CFB_FILLRECT
204         select FB_CFB_COPYAREA
205         select FB_CFB_IMAGEBLIT
206         default y
207         help
208           The framebuffer-device frontend drivers allows the kernel to create a
209           virtual framebuffer.  This framebuffer can be viewed in another
210           domain.  Unless this domain has access to a real video card, you
211           probably want to say Y here.
212
213 config XEN_KEYBOARD
214         tristate "Keyboard-device frontend driver"
215         depends on XEN_FRAMEBUFFER && INPUT
216         default y
217         help
218           The keyboard-device frontend driver allows the kernel to create a
219           virtual keyboard.  This keyboard can then be driven by another
220           domain.  If you've said Y to CONFIG_XEN_FRAMEBUFFER, you probably
221           want to say Y here.
222
223 config XEN_CONSOLE
224         bool "Xen virtual console"
225         default y
226         help
227           The Xen virtual console is ...
228
229 config XEN_SCRUB_PAGES
230         bool "Scrub memory before freeing it to Xen"
231         default y
232         help
233           Erase memory contents before freeing it back to Xen's global
234           pool. This ensures that any secrets contained within that
235           memory (e.g., private keys) cannot be found by other guests that
236           may be running on the machine. Most people will want to say Y here.
237           If security is not a concern then you may increase performance by
238           saying N.
239
240 config XEN_DISABLE_SERIAL
241         bool "Disable serial port drivers"
242         default y
243         help
244           Disable serial port drivers, allowing the Xen console driver
245           to provide a serial console at ttyS0.
246
247 config XEN_SYSFS
248         tristate "Export Xen attributes in sysfs"
249         depends on SYSFS
250         select SYS_HYPERVISOR
251         default y
252         help
253           Xen hypervisor attributes will show up under /sys/hypervisor/.
254
255 choice
256         prompt "Xen version compatibility"
257         default XEN_COMPAT_030002_AND_LATER
258
259         config XEN_COMPAT_030002_AND_LATER
260                 bool "3.0.2 and later"
261
262         config XEN_COMPAT_030004_AND_LATER
263                 bool "3.0.4 and later"
264
265         config XEN_COMPAT_030100_AND_LATER
266                 bool "3.1.0 and later"
267
268         config XEN_COMPAT_LATEST_ONLY
269                 bool "no compatibility code"
270
271 endchoice
272
273 config XEN_COMPAT
274         hex
275         default 0xffffff if XEN_COMPAT_LATEST_ONLY
276         default 0x030100 if XEN_COMPAT_030100_AND_LATER
277         default 0x030004 if XEN_COMPAT_030004_AND_LATER
278         default 0x030002 if XEN_COMPAT_030002_AND_LATER
279         default 0
280
281 endmenu
282
283 config HAVE_IRQ_IGNORE_UNHANDLED
284         def_bool y
285
286 config GENERIC_HARDIRQS_NO__DO_IRQ
287         def_bool y
288
289 config NO_IDLE_HZ
290         def_bool y
291
292 config XEN_SMPBOOT
293         def_bool y
294         depends on SMP && !PPC_XEN
295
296 config XEN_BALLOON
297         def_bool y
298         depends on !PPC_XEN
299
300 config XEN_XENCOMM
301         bool
302
303 config XEN_DEVMEM
304         def_bool y
305
306 endif