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
32 tristate "Backend driver support"
35 Support for backend device drivers that provide I/O services
36 to other virtual machines.
38 config XEN_PCIDEV_BACKEND
39 tristate "PCI device backend driver"
40 depends on PCI && XEN_BACKEND
41 default XEN_PRIVILEGED_GUEST
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.
49 prompt "PCI Backend Mode"
50 depends on XEN_PCIDEV_BACKEND
51 default XEN_PCIDEV_BACKEND_VPCI
53 config XEN_PCIDEV_BACKEND_VPCI
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.
61 config XEN_PCIDEV_BACKEND_PASS
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
73 config XEN_PCIDEV_BE_DEBUG
74 bool "PCI Backend Debugging"
75 depends on XEN_PCIDEV_BACKEND
78 config XEN_BLKDEV_BACKEND
79 tristate "Block-device backend driver"
80 depends on XEN_BACKEND
83 The block-device backend driver allows the kernel to export its
84 block devices to other guests via a high-performance shared-memory
87 config XEN_BLKDEV_TAP_BE
88 tristate "Block Tap support for backend driver (DANGEROUS)"
89 depends on XEN_BLKDEV_BACKEND
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.
100 config XEN_NETDEV_BACKEND
101 tristate "Network-device backend driver"
102 depends on XEN_BACKEND
105 The network-device backend driver allows the kernel to export its
106 network devices to other guests via a high-performance shared-memory
109 config XEN_NETDEV_PIPELINED_TRANSMITTER
110 bool "Pipelined transmitter (DANGEROUS)"
111 depends on XEN_NETDEV_BACKEND
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.
122 config XEN_NETDEV_LOOPBACK
123 tristate "Network-device loopback driver"
124 depends on XEN_NETDEV_BACKEND
127 A two-interface loopback device to emulate a local netfront-netback
130 config XEN_TPMDEV_BACKEND
131 tristate "TPM-device backend driver"
132 depends on XEN_BACKEND
135 The TPM-device backend driver
137 config XEN_TPMDEV_CLOSE_IF_VTPM_FAILS
138 bool "TPM backend closes upon vTPM failure"
139 depends on XEN_TPMDEV_BACKEND
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.
146 config XEN_BLKDEV_FRONTEND
147 tristate "Block-device frontend driver"
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.
156 config XEN_NETDEV_FRONTEND
157 tristate "Network-device frontend driver"
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.
166 config XEN_BLKDEV_TAP
167 tristate "Block device tap driver"
168 depends on XEN_BACKEND
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.
176 config XEN_TPMDEV_FRONTEND
177 tristate "TPM-device frontend driver"
182 The TPM-device frontend driver.
184 config XEN_SCRUB_PAGES
185 bool "Scrub memory before freeing it to Xen"
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
195 config XEN_DISABLE_SERIAL
196 bool "Disable serial port drivers"
199 Disable serial port drivers, allowing the Xen console driver
200 to provide a serial console at ttyS0.
203 tristate "Export Xen attributes in sysfs"
207 Xen hypervisor attributes will show up under /sys/hypervisor/.
211 config HAVE_ARCH_ALLOC_SKB
215 config HAVE_ARCH_DEV_ALLOC_SKB