xref: /openbmc/linux/drivers/xen/Kconfig (revision a50777c7)
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_SELFBALLOONING
13	bool "Dynamically self-balloon kernel memory to target"
14	depends on XEN && XEN_BALLOON && CLEANCACHE && SWAP
15	default n
16	help
17	  Self-ballooning dynamically balloons available kernel memory driven
18	  by the current usage of anonymous memory ("committed AS") and
19	  controlled by various sysfs-settable parameters.  Configuring
20	  FRONTSWAP is highly recommended; if it is not configured, self-
21	  ballooning is disabled by default but can be enabled with the
22	  'selfballooning' kernel boot parameter.  If FRONTSWAP is configured,
23	  frontswap-selfshrinking is enabled by default but can be disabled
24	  with the 'noselfshrink' kernel boot parameter; and self-ballooning
25	  is enabled by default but can be disabled with the 'noselfballooning'
26	  kernel boot parameter.  Note that systems without a sufficiently
27	  large swap device should not enable self-ballooning.
28
29config XEN_SCRUB_PAGES
30	bool "Scrub pages before returning them to system"
31	depends on XEN_BALLOON
32	default y
33	help
34	  Scrub pages before returning them to the system for reuse by
35	  other domains.  This makes sure that any confidential data
36	  is not accidentally visible to other domains.  Is it more
37	  secure, but slightly less efficient.
38	  If in doubt, say yes.
39
40config XEN_DEV_EVTCHN
41	tristate "Xen /dev/xen/evtchn device"
42	default y
43	help
44	  The evtchn driver allows a userspace process to triger event
45	  channels and to receive notification of an event channel
46	  firing.
47	  If in doubt, say yes.
48
49config XEN_BACKEND
50	bool "Backend driver support"
51	depends on XEN_DOM0
52	default y
53	help
54	  Support for backend device drivers that provide I/O services
55	  to other virtual machines.
56
57config XENFS
58	tristate "Xen filesystem"
59	default y
60	help
61	  The xen filesystem provides a way for domains to share
62	  information with each other and with the hypervisor.
63	  For example, by reading and writing the "xenbus" file, guests
64	  may pass arbitrary information to the initial domain.
65	  If in doubt, say yes.
66
67config XEN_COMPAT_XENFS
68       bool "Create compatibility mount point /proc/xen"
69       depends on XENFS
70       default y
71       help
72         The old xenstore userspace tools expect to find "xenbus"
73         under /proc/xen, but "xenbus" is now found at the root of the
74         xenfs filesystem.  Selecting this causes the kernel to create
75         the compatibility mount point /proc/xen if it is running on
76         a xen platform.
77         If in doubt, say yes.
78
79config XEN_SYS_HYPERVISOR
80       bool "Create xen entries under /sys/hypervisor"
81       depends on SYSFS
82       select SYS_HYPERVISOR
83       default y
84       help
85         Create entries under /sys/hypervisor describing the Xen
86	 hypervisor environment.  When running native or in another
87	 virtual environment, /sys/hypervisor will still be present,
88	 but will have no xen contents.
89
90config XEN_XENBUS_FRONTEND
91	tristate
92
93config XEN_GNTDEV
94	tristate "userspace grant access device driver"
95	depends on XEN
96	default m
97	select MMU_NOTIFIER
98	help
99	  Allows userspace processes to use grants.
100
101config XEN_GRANT_DEV_ALLOC
102	tristate "User-space grant reference allocator driver"
103	depends on XEN
104	default m
105	help
106	  Allows userspace processes to create pages with access granted
107	  to other domains. This can be used to implement frontend drivers
108	  or as part of an inter-domain shared memory channel.
109
110config XEN_PLATFORM_PCI
111	tristate "xen platform pci device driver"
112	depends on XEN_PVHVM && PCI
113	default m
114	help
115	  Driver for the Xen PCI Platform device: it is responsible for
116	  initializing xenbus and grant_table when running in a Xen HVM
117	  domain. As a consequence this driver is required to run any Xen PV
118	  frontend on Xen HVM.
119
120config SWIOTLB_XEN
121	def_bool y
122	depends on PCI
123	select SWIOTLB
124
125endmenu
126