- 2.6.17 port work build breaks, but the patch set is relativly stable
[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         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 0x00030101
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_BACKEND
32         tristate "Backend driver support"
33         default y
34         help
35           Support for backend device drivers that provide I/O services
36           to other virtual machines.
37
38 config XEN_PCIDEV_BACKEND
39         tristate "PCI device backend driver"
40         depends on PCI && XEN_BACKEND
41         default XEN_PRIVILEGED_GUEST
42         help
43           The PCI device backend driver allows the kernel to export arbitrary
44           PCI devices to other guests. If you select this to be a module, you
45           will need to make sure no other driver has bound to the device(s)
46           you want to make visible to other guests.
47
48 choice
49         prompt "PCI Backend Mode"
50         depends on XEN_PCIDEV_BACKEND
51         default XEN_PCIDEV_BACKEND_VPCI
52
53 config XEN_PCIDEV_BACKEND_VPCI
54         bool "Virtual PCI"
55         ---help---
56           This PCI Backend hides the true PCI topology and makes the frontend
57           think there is a single PCI bus with only the exported devices on it.
58           For example, a device at 03:05.0 will be re-assigned to 00:00.0. A
59           second device at 02:1a.0 will be re-assigned to 00:01.0.
60
61 config XEN_PCIDEV_BACKEND_PASS
62         bool "Passthrough"
63         ---help---
64           This PCI Backend provides a real view of the PCI topology to the
65           frontend (for example, a device at 06:01.b will still appear at
66           06:01.b to the frontend). This is similar to how Xen 2.0.x exposed
67           PCI devices to its driver domains. This may be required for drivers
68           which depend on finding their hardward in certain bus/slot
69           locations.
70
71 endchoice
72
73 config XEN_PCIDEV_BE_DEBUG
74         bool "PCI Backend Debugging"
75         depends on XEN_PCIDEV_BACKEND
76         default n
77
78 config XEN_BLKDEV_BACKEND
79         tristate "Block-device backend driver"
80         depends on XEN_BACKEND
81         default y
82         help
83           The block-device backend driver allows the kernel to export its
84           block devices to other guests via a high-performance shared-memory
85           interface.
86
87 config XEN_BLKDEV_TAP_BE
88         tristate "Block Tap support for backend driver (DANGEROUS)"
89         depends on XEN_BLKDEV_BACKEND
90         default n
91         help
92           If you intend to use the block tap driver, the backend domain will
93           not know the domain id of the real frontend, and so will not be able
94           to map its data pages.  This modifies the backend to attempt to map
95           from both the tap domain and the real frontend.  This presents a
96           security risk, and so should ONLY be used for development
97           with the blktap.  This option will be removed as the block drivers are
98           modified to use grant tables.
99
100 config XEN_NETDEV_BACKEND
101         tristate "Network-device backend driver"
102         depends on XEN_BACKEND
103         default y
104         help
105           The network-device backend driver allows the kernel to export its
106           network devices to other guests via a high-performance shared-memory
107           interface.
108
109 config XEN_NETDEV_PIPELINED_TRANSMITTER
110         bool "Pipelined transmitter (DANGEROUS)"
111         depends on XEN_NETDEV_BACKEND
112         default n
113         help
114           If the net backend is a dumb domain, such as a transparent Ethernet
115           bridge with no local IP interface, it is safe to say Y here to get
116           slightly lower network overhead.
117           If the backend has a local IP interface; or may be doing smart things
118           like reassembling packets to perform firewall filtering; or if you
119           are unsure; or if you experience network hangs when this option is
120           enabled; then you must say N here.
121
122 config XEN_NETDEV_LOOPBACK
123         tristate "Network-device loopback driver"
124         depends on XEN_NETDEV_BACKEND
125         default y
126         help
127           A two-interface loopback device to emulate a local netfront-netback
128           connection.
129
130 config XEN_TPMDEV_BACKEND
131         tristate "TPM-device backend driver"
132         depends on XEN_BACKEND
133         default n
134         help
135           The TPM-device backend driver
136
137 config XEN_TPMDEV_CLOSE_IF_VTPM_FAILS
138         bool "TPM backend closes upon vTPM failure"
139         depends on XEN_TPMDEV_BACKEND
140         default n
141         help
142           The TPM backend closes the channel if the vTPM in userspace indicates
143           a failure. The corresponding domain's channel will be closed.
144           Say Y if you want this feature.
145
146 config XEN_BLKDEV_FRONTEND
147         tristate "Block-device frontend driver"
148         depends on XEN
149         default y
150         help
151           The block-device frontend driver allows the kernel to access block
152           devices mounted within another guest OS. Unless you are building a
153           dedicated device-driver domain, or your master control domain
154           (domain 0), then you almost certainly want to say Y here.
155
156 config XEN_NETDEV_FRONTEND
157         tristate "Network-device frontend driver"
158         depends on XEN
159         default y
160         help
161           The network-device frontend driver allows the kernel to access
162           network interfaces within another guest OS. Unless you are building a
163           dedicated device-driver domain, or your master control domain
164           (domain 0), then you almost certainly want to say Y here.
165
166 config XEN_BLKDEV_TAP
167         tristate "Block device tap driver"
168         depends on XEN_BACKEND
169         default n
170         help
171           This driver allows a VM to interact on block device channels
172           to other VMs.  Block messages may be passed through or redirected
173           to a character device, allowing device prototyping in application
174           space.  Odds are that you want to say N here.
175
176 config XEN_TPMDEV_FRONTEND
177         tristate "TPM-device frontend driver"
178         default n
179         select TCG_TPM
180         select TCG_XEN
181         help
182           The TPM-device frontend driver.
183
184 config XEN_SCRUB_PAGES
185         bool "Scrub memory before freeing it to Xen"
186         default y
187         help
188           Erase memory contents before freeing it back to Xen's global
189           pool. This ensures that any secrets contained within that
190           memory (e.g., private keys) cannot be found by other guests that
191           may be running on the machine. Most people will want to say Y here.
192           If security is not a concern then you may increase performance by
193           saying N.
194
195 config XEN_DISABLE_SERIAL
196         bool "Disable serial port drivers"
197         default y
198         help
199           Disable serial port drivers, allowing the Xen console driver
200           to provide a serial console at ttyS0.
201
202 config XEN_SYSFS
203         tristate "Export Xen attributes in sysfs"
204         depends on SYSFS
205         default y
206         help
207                 Xen hypervisor attributes will show up under /sys/hypervisor/.
208
209 endmenu
210
211 config HAVE_ARCH_ALLOC_SKB
212         bool
213         default y
214
215 config HAVE_ARCH_DEV_ALLOC_SKB
216         bool
217         default y
218
219 config NO_IDLE_HZ
220         bool
221         default y
222
223 endif