1menu "Xen driver support"
2	depends on XEN
3
4config 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
12config 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
23config 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
32config 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
40config 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
50config 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
62config 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
73config XEN_XENBUS_FRONTEND
74	tristate
75
76config 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
84config 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
93config 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
103config SWIOTLB_XEN
104	def_bool y
105	depends on PCI
106	select SWIOTLB
107
108endmenu
109