xen/pciback: xen pci backend driver.
[pandora-kernel.git] / drivers / xen / Kconfig
1 menu "Xen driver support"
2         depends on XEN
3
4 config XEN_BALLOON
5         bool "Xen memory balloon driver"
6         default y
7         help
8           The balloon driver allows the Xen domain to request more memory from
9           the system to expand the domain's memory allocation, or alternatively
10           return unneeded memory to the system.
11
12 config XEN_SCRUB_PAGES
13         bool "Scrub pages before returning them to system"
14         depends on XEN_BALLOON
15         default y
16         help
17           Scrub pages before returning them to the system for reuse by
18           other domains.  This makes sure that any confidential data
19           is not accidentally visible to other domains.  Is it more
20           secure, but slightly less efficient.
21           If in doubt, say yes.
22
23 config XEN_DEV_EVTCHN
24         tristate "Xen /dev/xen/evtchn device"
25         default y
26         help
27           The evtchn driver allows a userspace process to triger event
28           channels and to receive notification of an event channel
29           firing.
30           If in doubt, say yes.
31
32 config XEN_BACKEND
33         bool "Backend driver support"
34         depends on XEN_DOM0
35         default y
36         help
37           Support for backend device drivers that provide I/O services
38           to other virtual machines.
39
40 config XENFS
41         tristate "Xen filesystem"
42         default y
43         help
44           The xen filesystem provides a way for domains to share
45           information with each other and with the hypervisor.
46           For example, by reading and writing the "xenbus" file, guests
47           may pass arbitrary information to the initial domain.
48           If in doubt, say yes.
49
50 config XEN_COMPAT_XENFS
51        bool "Create compatibility mount point /proc/xen"
52        depends on XENFS
53        default y
54        help
55          The old xenstore userspace tools expect to find "xenbus"
56          under /proc/xen, but "xenbus" is now found at the root of the
57          xenfs filesystem.  Selecting this causes the kernel to create
58          the compatibility mount point /proc/xen if it is running on
59          a xen platform.
60          If in doubt, say yes.
61
62 config XEN_SYS_HYPERVISOR
63        bool "Create xen entries under /sys/hypervisor"
64        depends on SYSFS
65        select SYS_HYPERVISOR
66        default y
67        help
68          Create entries under /sys/hypervisor describing the Xen
69          hypervisor environment.  When running native or in another
70          virtual environment, /sys/hypervisor will still be present,
71          but will have no xen contents.
72
73 config XEN_XENBUS_FRONTEND
74         tristate
75
76 config XEN_GNTDEV
77         tristate "userspace grant access device driver"
78         depends on XEN
79         default m
80         select MMU_NOTIFIER
81         help
82           Allows userspace processes to use grants.
83
84 config XEN_GRANT_DEV_ALLOC
85         tristate "User-space grant reference allocator driver"
86         depends on XEN
87         default m
88         help
89           Allows userspace processes to create pages with access granted
90           to other domains. This can be used to implement frontend drivers
91           or as part of an inter-domain shared memory channel.
92
93 config XEN_PLATFORM_PCI
94         tristate "xen platform pci device driver"
95         depends on XEN_PVHVM && PCI
96         default m
97         help
98           Driver for the Xen PCI Platform device: it is responsible for
99           initializing xenbus and grant_table when running in a Xen HVM
100           domain. As a consequence this driver is required to run any Xen PV
101           frontend on Xen HVM.
102
103 config SWIOTLB_XEN
104         def_bool y
105         depends on PCI
106         select SWIOTLB
107
108 config XEN_PCIDEV_BACKEND
109         tristate "Xen PCI-device backend driver"
110         depends on PCI && X86 && XEN
111         depends on XEN_BACKEND
112         help
113           The PCI device backend driver allows the kernel to export arbitrary
114           PCI devices to other guests. If you select this to be a module, you
115           will need to make sure no other driver has bound to the device(s)
116           you want to make visible to other guests.
117
118 choice
119         prompt "PCI Backend Mode"
120         depends on XEN_PCIDEV_BACKEND
121
122 config XEN_PCIDEV_BACKEND_VPCI
123         bool "Virtual PCI"
124         help
125           This PCI Backend hides the true PCI topology and makes the frontend
126           think there is a single PCI bus with only the exported devices on it.
127           For example, a device at 03:05.0 will be re-assigned to 00:00.0. A
128           second device at 02:1a.1 will be re-assigned to 00:01.1.
129
130 config XEN_PCIDEV_BACKEND_PASS
131         bool "Passthrough"
132         help
133           This PCI Backend provides a real view of the PCI topology to the
134           frontend (for example, a device at 06:01.b will still appear at
135           06:01.b to the frontend). This is similar to how Xen 2.0.x exposed
136           PCI devices to its driver domains. This may be required for drivers
137           which depend on finding their hardward in certain bus/slot
138           locations.
139
140 endchoice
141
142 config XEN_PCIDEV_BE_DEBUG
143         bool "Xen PCI Backend Debugging"
144         depends on XEN_PCIDEV_BACKEND
145         default n
146         help
147           Allows to observe all of the traffic from the frontend/backend
148           when reading and writting to the configuration registers.
149           If in doubt, say no.
150
151 endmenu