# SPDX-License-Identifier: GPL-2.0-only
#
# Virtualization support drivers
#

menuconfig VIRT_DRIVERS
	bool "Virtualization drivers"
	help
	  Say Y here to get to see options for device drivers that support
	  virtualization environments.

	  If you say N, all options in this submenu will be skipped and disabled.

if VIRT_DRIVERS

config VMGENID
	tristate "Virtual Machine Generation ID driver"
	default y
	help
	  Say Y here to use the hypervisor-provided Virtual Machine Generation ID
	  to reseed the RNG when the VM is cloned. This is highly recommended if
	  you intend to do any rollback / cloning / snapshotting of VMs.

	  Prefer Y to M so that this protection is activated very early.

config FSL_HV_MANAGER
	tristate "Freescale hypervisor management driver"
	depends on FSL_SOC
	select EPAPR_PARAVIRT
	help
          The Freescale hypervisor management driver provides several services
	  to drivers and applications related to the Freescale hypervisor:

          1) An ioctl interface for querying and managing partitions.

          2) A file interface to reading incoming doorbells.

          3) An interrupt handler for shutting down the partition upon
	     receiving the shutdown doorbell from a manager partition.

          4) A kernel interface for receiving callbacks when a managed
	     partition shuts down.

config STEAL_GOVERNOR
	tristate "Dynamic vCPU management based on steal time"
	depends on PARAVIRT && SMP
	select PREFERRED_CPU
	default m
	help
	  This driver helps to reduce the steal time in paravirtualized
	  environments, thereby reducing vCPU preemption costs.

	  By default preferred CPUs will be same as active CPUs. Depending
	  on the steal time when steal_governor driver is enabled,
	  preferred CPUs could become subset of active CPUs.
	  More details are at: Documentation/driver-api/steal-governor.rst

	  It is recommended to build it as module and load the module
	  to enable it.

source "drivers/virt/vboxguest/Kconfig"

source "drivers/virt/nitro_enclaves/Kconfig"

source "drivers/virt/acrn/Kconfig"

endif

source "drivers/virt/coco/Kconfig"
