2 # This Kconfig describe xen options
5 mainmenu "Xen Configuration"
9 default y if X86_XEN || X86_64_XEN
11 This is the Linux Xen port.
14 config XEN_INTERFACE_VERSION
20 config XEN_PRIVILEGED_GUEST
21 bool "Privileged Guest (domain 0)"
25 Support for privileged operation (domain 0)
27 config XEN_UNPRIVILEGED_GUEST
29 default !XEN_PRIVILEGED_GUEST
42 tristate "Backend driver support"
45 Support for backend device drivers that provide I/O services
46 to other virtual machines.
48 config XEN_BLKDEV_BACKEND
49 tristate "Block-device backend driver"
50 depends on XEN_BACKEND
53 The block-device backend driver allows the kernel to export its
54 block devices to other guests via a high-performance shared-memory
58 tristate "Block-device tap backend driver"
59 depends on XEN_BACKEND
60 default XEN_PRIVILEGED_GUEST
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.
69 config XEN_NETDEV_BACKEND
70 tristate "Network-device backend driver"
71 depends on XEN_BACKEND && NET
74 The network-device backend driver allows the kernel to export its
75 network devices to other guests via a high-performance shared-memory
78 config XEN_NETDEV_PIPELINED_TRANSMITTER
79 bool "Pipelined transmitter (DANGEROUS)"
80 depends on XEN_NETDEV_BACKEND
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.
91 config XEN_NETDEV_LOOPBACK
92 tristate "Network-device loopback driver"
93 depends on XEN_NETDEV_BACKEND
96 A two-interface loopback device to emulate a local netfront-netback
99 config XEN_PCIDEV_BACKEND
100 tristate "PCI-device backend driver"
101 depends on PCI && XEN_BACKEND
102 default XEN_PRIVILEGED_GUEST
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.
110 prompt "PCI Backend Mode"
111 depends on XEN_PCIDEV_BACKEND
112 default XEN_PCIDEV_BACKEND_VPCI
114 config XEN_PCIDEV_BACKEND_VPCI
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.
122 config XEN_PCIDEV_BACKEND_PASS
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
132 config XEN_PCIDEV_BACKEND_SLOT
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.
143 config XEN_PCIDEV_BE_DEBUG
144 bool "PCI Backend Debugging"
145 depends on XEN_PCIDEV_BACKEND
148 config XEN_TPMDEV_BACKEND
149 tristate "TPM-device backend driver"
150 depends on XEN_BACKEND
153 The TPM-device backend driver
155 config XEN_BLKDEV_FRONTEND
156 tristate "Block-device frontend driver"
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.
165 config XEN_NETDEV_FRONTEND
166 tristate "Network-device frontend driver"
167 depends on XEN && NET
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.
175 config XEN_SCRUB_PAGES
176 bool "Scrub memory before freeing it to Xen"
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
186 config XEN_DISABLE_SERIAL
187 bool "Disable serial port drivers"
190 Disable serial port drivers, allowing the Xen console driver
191 to provide a serial console at ttyS0.
194 tristate "Export Xen attributes in sysfs"
198 Xen hypervisor attributes will show up under /sys/hypervisor/.
201 prompt "Xen version compatibility"
202 default XEN_COMPAT_030002_AND_LATER
204 config XEN_COMPAT_030002_AND_LATER
205 bool "3.0.2 and later"
207 config XEN_COMPAT_LATEST_ONLY
208 bool "no compatibility code"
212 config XEN_COMPAT_030002
214 default XEN_COMPAT_030002_AND_LATER
218 config HAVE_ARCH_ALLOC_SKB
222 config HAVE_ARCH_DEV_ALLOC_SKB
226 config HAVE_IRQ_IGNORE_UNHANDLED