Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) menu "Xen driver support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) 	depends on XEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) config XEN_BALLOON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 	bool "Xen memory balloon driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 	  The balloon driver allows the Xen domain to request more memory from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 	  the system to expand the domain's memory allocation, or alternatively
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 	  return unneeded memory to the system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) config XEN_BALLOON_MEMORY_HOTPLUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 	bool "Memory hotplug support for Xen balloon driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 	depends on XEN_BALLOON && MEMORY_HOTPLUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 	  Memory hotplug support for Xen balloon driver allows expanding memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 	  available for the system above limit declared at system startup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 	  It is very useful on critical systems which require long
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 	  run without rebooting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 	  It's also very useful for non PV domains to obtain unpopulated physical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 	  memory ranges to use in order to map foreign memory or grants.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 	  Memory could be hotplugged in following steps:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 	    1) target domain: ensure that memory auto online policy is in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 	       effect by checking /sys/devices/system/memory/auto_online_blocks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 	       file (should be 'online').
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	    2) control domain: xl mem-max <target-domain> <maxmem>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 	       where <maxmem> is >= requested memory size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	    3) control domain: xl mem-set <target-domain> <memory>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 	       where <memory> is requested memory size; alternatively memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 	       could be added by writing proper value to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 	       /sys/devices/system/xen_memory/xen_memory0/target or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 	       /sys/devices/system/xen_memory/xen_memory0/target_kb on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 	       target domain.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 	  Alternatively, if memory auto onlining was not requested at step 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 	  the newly added memory can be manually onlined in the target domain
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 	  by doing the following:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 		for i in /sys/devices/system/memory/memory*/state; do \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 		  [ "`cat "$i"`" = offline ] && echo online > "$i"; done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	  or by adding the following line to udev rules:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 	  SUBSYSTEM=="memory", ACTION=="add", RUN+="/bin/sh -c '[ -f /sys$devpath/state ] && echo online > /sys$devpath/state'"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) config XEN_MEMORY_HOTPLUG_LIMIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 	int "Hotplugged memory limit (in GiB) for a PV guest"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	default 512
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 	depends on XEN_HAVE_PVMMU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	depends on MEMORY_HOTPLUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	  Maxmium amount of memory (in GiB) that a PV guest can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 	  expanded to when using memory hotplug.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 	  A PV guest can have more memory than this limit if is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 	  started with a larger maximum.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	  This value is used to allocate enough space in internal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	  tables needed for physical memory administration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) config XEN_SCRUB_PAGES_DEFAULT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	bool "Scrub pages before returning them to system by default"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	depends on XEN_BALLOON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	  Scrub pages before returning them to the system for reuse by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	  other domains.  This makes sure that any confidential data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	  is not accidentally visible to other domains.  It is more
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 	  secure, but slightly less efficient. This can be controlled with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 	  xen_scrub_pages=0 parameter and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 	  /sys/devices/system/xen_memory/xen_memory0/scrub_pages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 	  This option only sets the default value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	  If in doubt, say yes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) config XEN_DEV_EVTCHN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 	tristate "Xen /dev/xen/evtchn device"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	  The evtchn driver allows a userspace process to trigger event
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 	  channels and to receive notification of an event channel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 	  firing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	  If in doubt, say yes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) config XEN_BACKEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 	bool "Backend driver support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	default XEN_DOM0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	  Support for backend device drivers that provide I/O services
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 	  to other virtual machines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) config XENFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 	tristate "Xen filesystem"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 	select XEN_PRIVCMD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	  The xen filesystem provides a way for domains to share
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 	  information with each other and with the hypervisor.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 	  For example, by reading and writing the "xenbus" file, guests
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 	  may pass arbitrary information to the initial domain.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 	  If in doubt, say yes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) config XEN_COMPAT_XENFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 	bool "Create compatibility mount point /proc/xen"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 	depends on XENFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 	  The old xenstore userspace tools expect to find "xenbus"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 	  under /proc/xen, but "xenbus" is now found at the root of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 	  xenfs filesystem.  Selecting this causes the kernel to create
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 	  the compatibility mount point /proc/xen if it is running on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 	  a xen platform.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 	  If in doubt, say yes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) config XEN_SYS_HYPERVISOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 	bool "Create xen entries under /sys/hypervisor"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 	depends on SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 	select SYS_HYPERVISOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 	default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 	  Create entries under /sys/hypervisor describing the Xen
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 	  hypervisor environment.  When running native or in another
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 	  virtual environment, /sys/hypervisor will still be present,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 	  but will have no xen contents.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) config XEN_XENBUS_FRONTEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 	tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) config XEN_GNTDEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 	tristate "userspace grant access device driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 	depends on XEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) 	default m
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 	select MMU_NOTIFIER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 	  Allows userspace processes to use grants.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) config XEN_GNTDEV_DMABUF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 	bool "Add support for dma-buf grant access device driver extension"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 	depends on XEN_GNTDEV && XEN_GRANT_DMA_ALLOC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 	select DMA_SHARED_BUFFER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 	  Allows userspace processes and kernel modules to use Xen backed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 	  dma-buf implementation. With this extension grant references to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 	  the pages of an imported dma-buf can be exported for other domain
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 	  use and grant references coming from a foreign domain can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 	  converted into a local dma-buf for local export.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) config XEN_GRANT_DEV_ALLOC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 	tristate "User-space grant reference allocator driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 	depends on XEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 	default m
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 	  Allows userspace processes to create pages with access granted
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 	  to other domains. This can be used to implement frontend drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 	  or as part of an inter-domain shared memory channel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) config XEN_GRANT_DMA_ALLOC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 	bool "Allow allocating DMA capable buffers with grant reference module"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 	depends on XEN && HAS_DMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 	  Extends grant table module API to allow allocating DMA capable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 	  buffers and mapping foreign grant references on top of it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 	  The resulting buffer is similar to one allocated by the balloon
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 	  driver in that proper memory reservation is made by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 	  ({increase|decrease}_reservation and VA mappings are updated if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 	  needed).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 	  This is useful for sharing foreign buffers with HW drivers which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 	  cannot work with scattered buffers provided by the balloon driver,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 	  but require DMAable memory instead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) config SWIOTLB_XEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 	def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 	select DMA_OPS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 	select SWIOTLB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) config XEN_PCIDEV_BACKEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 	tristate "Xen PCI-device backend driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 	depends on PCI && X86 && XEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 	depends on XEN_BACKEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 	default m
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 	  The PCI device backend driver allows the kernel to export arbitrary
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) 	  PCI devices to other guests. If you select this to be a module, you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 	  will need to make sure no other driver has bound to the device(s)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) 	  you want to make visible to other guests.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 	  The parameter "passthrough" allows you specify how you want the PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 	  devices to appear in the guest. You can choose the default (0) where
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 	  PCI topology starts at 00.00.0, or (1) for passthrough if you want
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 	  the PCI devices topology appear the same as in the host.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 	  The "hide" parameter (only applicable if backend driver is compiled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) 	  into the kernel) allows you to bind the PCI devices to this module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) 	  from the default device drivers. The argument is the list of PCI BDFs:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 	  xen-pciback.hide=(03:00.0)(04:00.0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 	  If in doubt, say m.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) config XEN_PVCALLS_FRONTEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 	tristate "XEN PV Calls frontend driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 	depends on INET && XEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) 	select XEN_XENBUS_FRONTEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 	  Experimental frontend for the Xen PV Calls protocol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 	  (https://xenbits.xen.org/docs/unstable/misc/pvcalls.html). It
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 	  sends a small set of POSIX calls to the backend, which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) 	  implements them.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) config XEN_PVCALLS_BACKEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 	bool "XEN PV Calls backend driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 	depends on INET && XEN && XEN_BACKEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) 	  Experimental backend for the Xen PV Calls protocol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 	  (https://xenbits.xen.org/docs/unstable/misc/pvcalls.html). It
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) 	  allows PV Calls frontends to send POSIX calls to the backend,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) 	  which implements them.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 	  If in doubt, say n.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) config XEN_SCSI_BACKEND
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) 	tristate "XEN SCSI backend driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) 	depends on XEN && XEN_BACKEND && TARGET_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) 	  The SCSI backend driver allows the kernel to export its SCSI Devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) 	  to other guests via a high-performance shared-memory interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) 	  Only needed for systems running as XEN driver domains (e.g. Dom0) and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) 	  if guests need generic access to SCSI devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) config XEN_PRIVCMD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) 	tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) 	depends on XEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) 	default m
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) config XEN_STUB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) 	bool "Xen stub drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) 	depends on XEN && X86_64 && BROKEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) 	  Allow kernel to install stub drivers, to reserve space for Xen drivers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) 	  i.e. memory hotplug and cpu hotplug, and to block native drivers loaded,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) 	  so that real Xen drivers can be modular.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) 	  To enable Xen features like cpu and memory hotplug, select Y here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) config XEN_ACPI_HOTPLUG_MEMORY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) 	tristate "Xen ACPI memory hotplug"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 	depends on XEN_DOM0 && XEN_STUB && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) 	  This is Xen ACPI memory hotplug.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) 	  Currently Xen only support ACPI memory hot-add. If you want
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) 	  to hot-add memory at runtime (the hot-added memory cannot be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) 	  removed until machine stop), select Y/M here, otherwise select N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) config XEN_ACPI_HOTPLUG_CPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) 	tristate "Xen ACPI cpu hotplug"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) 	depends on XEN_DOM0 && XEN_STUB && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) 	select ACPI_CONTAINER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) 	  Xen ACPI cpu enumerating and hotplugging
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) 	  For hotplugging, currently Xen only support ACPI cpu hotadd.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) 	  If you want to hotadd cpu at runtime (the hotadded cpu cannot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) 	  be removed until machine stop), select Y/M here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) config XEN_ACPI_PROCESSOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) 	tristate "Xen ACPI processor"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) 	depends on XEN && XEN_DOM0 && X86 && ACPI_PROCESSOR && CPU_FREQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) 	default m
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) 	  This ACPI processor uploads Power Management information to the Xen
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) 	  hypervisor.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) 	  To do that the driver parses the Power Management data and uploads
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) 	  said information to the Xen hypervisor. Then the Xen hypervisor can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) 	  select the proper Cx and Pxx states. It also registers itself as the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) 	  SMM so that other drivers (such as ACPI cpufreq scaling driver) will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) 	  not load.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) 	  To compile this driver as a module, choose M here: the module will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) 	  called xen_acpi_processor  If you do not know what to choose, select
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) 	  M here. If the CPUFREQ drivers are built in, select Y here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) config XEN_MCE_LOG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) 	bool "Xen platform mcelog"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) 	depends on XEN_DOM0 && X86_MCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) 	  Allow kernel fetching MCE error from Xen platform and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) 	  converting it into Linux mcelog format for mcelog tools
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) config XEN_HAVE_PVMMU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) 	bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) config XEN_EFI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) 	def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) 	depends on (ARM || ARM64 || X86_64) && EFI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) config XEN_AUTO_XLATE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) 	def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) 	depends on ARM || ARM64 || XEN_PVHVM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) 	  Support for auto-translated physmap guests.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) config XEN_ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) 	def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) 	depends on X86 && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) config XEN_SYMS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) 	bool "Xen symbols"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) 	depends on X86 && XEN_DOM0 && XENFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) 	default y if KALLSYMS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) 	  Exports hypervisor symbols (along with their types and addresses) via
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) 	  /proc/xen/xensyms file, similar to /proc/kallsyms
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) config XEN_HAVE_VPMU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) 	bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) config XEN_FRONT_PGDIR_SHBUF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) 	tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) config XEN_UNPOPULATED_ALLOC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) 	bool "Use unpopulated memory ranges for guest mappings"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) 	depends on X86 && ZONE_DEVICE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) 	default XEN_BACKEND || XEN_GNTDEV || XEN_DOM0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) 	  Use unpopulated memory ranges in order to create mappings for guest
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) 	  memory regions, including grant maps and foreign pages. This avoids
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) 	  having to balloon out RAM regions in order to obtain physical memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) 	  space to create such mappings.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) endmenu