linux/drivers/xen/Kconfig
<<
>>
Prefs
   1menu "Xen driver support"
   2        depends on XEN
   3
   4config XEN_BALLOON
   5        bool "Xen memory balloon driver"
   6        depends on !ARM
   7        default y
   8        help
   9          The balloon driver allows the Xen domain to request more memory from
  10          the system to expand the domain's memory allocation, or alternatively
  11          return unneeded memory to the system.
  12
  13config XEN_SELFBALLOONING
  14        bool "Dynamically self-balloon kernel memory to target"
  15        depends on XEN && XEN_BALLOON && CLEANCACHE && SWAP && XEN_TMEM
  16        default n
  17        help
  18          Self-ballooning dynamically balloons available kernel memory driven
  19          by the current usage of anonymous memory ("committed AS") and
  20          controlled by various sysfs-settable parameters.  Configuring
  21          FRONTSWAP is highly recommended; if it is not configured, self-
  22          ballooning is disabled by default. If FRONTSWAP is configured,
  23          frontswap-selfshrinking is enabled by default but can be disabled
  24          with the 'tmem.selfshrink=0' kernel boot parameter; and self-ballooning
  25          is enabled by default but can be disabled with the 'tmem.selfballooning=0'
  26          kernel boot parameter.  Note that systems without a sufficiently
  27          large swap device should not enable self-ballooning.
  28
  29config XEN_BALLOON_MEMORY_HOTPLUG
  30        bool "Memory hotplug support for Xen balloon driver"
  31        default n
  32        depends on XEN_BALLOON && MEMORY_HOTPLUG
  33        help
  34          Memory hotplug support for Xen balloon driver allows expanding memory
  35          available for the system above limit declared at system startup.
  36          It is very useful on critical systems which require long
  37          run without rebooting.
  38
  39          Memory could be hotplugged in following steps:
  40
  41            1) dom0: xl mem-max <domU> <maxmem>
  42               where <maxmem> is >= requested memory size,
  43
  44            2) dom0: xl mem-set <domU> <memory>
  45               where <memory> is requested memory size; alternatively memory
  46               could be added by writing proper value to
  47               /sys/devices/system/xen_memory/xen_memory0/target or
  48               /sys/devices/system/xen_memory/xen_memory0/target_kb on dumU,
  49
  50            3) domU: for i in /sys/devices/system/memory/memory*/state; do \
  51                       [ "`cat "$i"`" = offline ] && echo online > "$i"; done
  52
  53          Memory could be onlined automatically on domU by adding following line to udev rules:
  54
  55          SUBSYSTEM=="memory", ACTION=="add", RUN+="/bin/sh -c '[ -f /sys$devpath/state ] && echo online > /sys$devpath/state'"
  56
  57          In that case step 3 should be omitted.
  58
  59config XEN_SCRUB_PAGES
  60        bool "Scrub pages before returning them to system"
  61        depends on XEN_BALLOON
  62        default y
  63        help
  64          Scrub pages before returning them to the system for reuse by
  65          other domains.  This makes sure that any confidential data
  66          is not accidentally visible to other domains.  Is it more
  67          secure, but slightly less efficient.
  68          If in doubt, say yes.
  69
  70config XEN_DEV_EVTCHN
  71        tristate "Xen /dev/xen/evtchn device"
  72        default y
  73        help
  74          The evtchn driver allows a userspace process to trigger event
  75          channels and to receive notification of an event channel
  76          firing.
  77          If in doubt, say yes.
  78
  79config XEN_BACKEND
  80        bool "Backend driver support"
  81        depends on XEN_DOM0
  82        default y
  83        help
  84          Support for backend device drivers that provide I/O services
  85          to other virtual machines.
  86
  87config XENFS
  88        tristate "Xen filesystem"
  89        select XEN_PRIVCMD
  90        default y
  91        help
  92          The xen filesystem provides a way for domains to share
  93          information with each other and with the hypervisor.
  94          For example, by reading and writing the "xenbus" file, guests
  95          may pass arbitrary information to the initial domain.
  96          If in doubt, say yes.
  97
  98config XEN_COMPAT_XENFS
  99       bool "Create compatibility mount point /proc/xen"
 100       depends on XENFS
 101       default y
 102       help
 103         The old xenstore userspace tools expect to find "xenbus"
 104         under /proc/xen, but "xenbus" is now found at the root of the
 105         xenfs filesystem.  Selecting this causes the kernel to create
 106         the compatibility mount point /proc/xen if it is running on
 107         a xen platform.
 108         If in doubt, say yes.
 109
 110config XEN_SYS_HYPERVISOR
 111       bool "Create xen entries under /sys/hypervisor"
 112       depends on SYSFS
 113       select SYS_HYPERVISOR
 114       default y
 115       help
 116         Create entries under /sys/hypervisor describing the Xen
 117         hypervisor environment.  When running native or in another
 118         virtual environment, /sys/hypervisor will still be present,
 119         but will have no xen contents.
 120
 121config XEN_XENBUS_FRONTEND
 122        tristate
 123
 124config XEN_GNTDEV
 125        tristate "userspace grant access device driver"
 126        depends on XEN
 127        default m
 128        select MMU_NOTIFIER
 129        help
 130          Allows userspace processes to use grants.
 131
 132config XEN_GRANT_DEV_ALLOC
 133        tristate "User-space grant reference allocator driver"
 134        depends on XEN
 135        default m
 136        help
 137          Allows userspace processes to create pages with access granted
 138          to other domains. This can be used to implement frontend drivers
 139          or as part of an inter-domain shared memory channel.
 140
 141config SWIOTLB_XEN
 142        def_bool y
 143        depends on PCI && X86
 144        select SWIOTLB
 145
 146config XEN_TMEM
 147        tristate
 148        depends on !ARM
 149        default m if (CLEANCACHE || FRONTSWAP)
 150        help
 151          Shim to interface in-kernel Transcendent Memory hooks
 152          (e.g. cleancache and frontswap) to Xen tmem hypercalls.
 153
 154config XEN_PCIDEV_BACKEND
 155        tristate "Xen PCI-device backend driver"
 156        depends on PCI && X86 && XEN
 157        depends on XEN_BACKEND
 158        default m
 159        help
 160          The PCI device backend driver allows the kernel to export arbitrary
 161          PCI devices to other guests. If you select this to be a module, you
 162          will need to make sure no other driver has bound to the device(s)
 163          you want to make visible to other guests.
 164
 165          The parameter "passthrough" allows you specify how you want the PCI
 166          devices to appear in the guest. You can choose the default (0) where
 167          PCI topology starts at 00.00.0, or (1) for passthrough if you want
 168          the PCI devices topology appear the same as in the host.
 169
 170          The "hide" parameter (only applicable if backend driver is compiled
 171          into the kernel) allows you to bind the PCI devices to this module
 172          from the default device drivers. The argument is the list of PCI BDFs:
 173          xen-pciback.hide=(03:00.0)(04:00.0)
 174
 175          If in doubt, say m.
 176
 177config XEN_PRIVCMD
 178        tristate
 179        depends on XEN
 180        default m
 181
 182config XEN_STUB
 183        bool "Xen stub drivers"
 184        depends on XEN && X86_64 && BROKEN
 185        default n
 186        help
 187          Allow kernel to install stub drivers, to reserve space for Xen drivers,
 188          i.e. memory hotplug and cpu hotplug, and to block native drivers loaded,
 189          so that real Xen drivers can be modular.
 190
 191          To enable Xen features like cpu and memory hotplug, select Y here.
 192
 193config XEN_ACPI_HOTPLUG_MEMORY
 194        tristate "Xen ACPI memory hotplug"
 195        depends on XEN_DOM0 && XEN_STUB && ACPI
 196        default n
 197        help
 198          This is Xen ACPI memory hotplug.
 199
 200          Currently Xen only support ACPI memory hot-add. If you want
 201          to hot-add memory at runtime (the hot-added memory cannot be
 202          removed until machine stop), select Y/M here, otherwise select N.
 203
 204config XEN_ACPI_HOTPLUG_CPU
 205        tristate "Xen ACPI cpu hotplug"
 206        depends on XEN_DOM0 && XEN_STUB && ACPI
 207        select ACPI_CONTAINER
 208        default n
 209        help
 210          Xen ACPI cpu enumerating and hotplugging
 211
 212          For hotplugging, currently Xen only support ACPI cpu hotadd.
 213          If you want to hotadd cpu at runtime (the hotadded cpu cannot
 214          be removed until machine stop), select Y/M here.
 215
 216config XEN_ACPI_PROCESSOR
 217        tristate "Xen ACPI processor"
 218        depends on XEN && X86 && ACPI_PROCESSOR && CPU_FREQ
 219        default m
 220        help
 221          This ACPI processor uploads Power Management information to the Xen
 222          hypervisor.
 223
 224          To do that the driver parses the Power Management data and uploads
 225          said information to the Xen hypervisor. Then the Xen hypervisor can
 226          select the proper Cx and Pxx states. It also registers itslef as the
 227          SMM so that other drivers (such as ACPI cpufreq scaling driver) will
 228          not load.
 229
 230          To compile this driver as a module, choose M here: the module will be
 231          called xen_acpi_processor  If you do not know what to choose, select
 232          M here. If the CPUFREQ drivers are built in, select Y here.
 233
 234config XEN_MCE_LOG
 235        bool "Xen platform mcelog"
 236        depends on XEN_DOM0 && X86_64 && X86_MCE
 237        default n
 238        help
 239          Allow kernel fetching MCE error from Xen platform and
 240          converting it into Linux mcelog format for mcelog tools
 241
 242config XEN_HAVE_PVMMU
 243       bool
 244
 245endmenu
 246