Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#
# CONFIG_KVM configuration
#

source "virt/kvm/Kconfig"

menuconfig CONFIG_VIRTUALIZATION
	bool "Virtualization"
	depends on CONFIG_HAVE_KVM || CONFIG_X86
	default y
	---help---
	  Say Y here to get to see options for using your Linux host to run other
	  operating systems inside virtual machines (guests).
	  This option alone does not add any kernel code.

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

if CONFIG_VIRTUALIZATION

config CONFIG_KVM
	tristate "Kernel-based Virtual Machine (KVM) support"
	depends on CONFIG_HAVE_KVM
	depends on CONFIG_HIGH_RES_TIMERS
	# for CONFIG_TASKSTATS/CONFIG_TASK_DELAY_ACCT:
	depends on CONFIG_NET
	select CONFIG_PREEMPT_NOTIFIERS
	select CONFIG_MMU_NOTIFIER
	select CONFIG_ANON_INODES
	select CONFIG_HAVE_KVM_IRQCHIP
	select CONFIG_HAVE_KVM_IRQFD
	select CONFIG_IRQ_BYPASS_MANAGER
	select CONFIG_HAVE_KVM_IRQ_BYPASS
	select CONFIG_HAVE_KVM_IRQ_ROUTING
	select CONFIG_HAVE_KVM_EVENTFD
	select CONFIG_KVM_ASYNC_PF
	select CONFIG_USER_RETURN_NOTIFIER
	select CONFIG_KVM_MMIO
	select CONFIG_TASKSTATS
	select CONFIG_TASK_DELAY_ACCT
	select CONFIG_PERF_EVENTS
	select CONFIG_HAVE_KVM_MSI
	select CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT
	select CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT
	select CONFIG_KVM_VFIO
	select CONFIG_SRCU
	---help---
	  Support hosting fully virtualized guest machines using hardware
	  virtualization extensions.  You will need a fairly recent
	  processor equipped with virtualization extensions. You will also
	  need to select one or more of the processor modules below.

	  This module provides access to the hardware capabilities through
	  a character device node named /dev/kvm.

	  To compile this as a module, choose CONFIG_M here: the module
	  will be called kvm.

	  If unsure, say N.

config CONFIG_KVM_INTEL
	tristate "KVM for Intel processors support"
	depends on CONFIG_KVM
	# for perf_guest_get_msrs():
	depends on CONFIG_CPU_SUP_INTEL
	---help---
	  Provides support for CONFIG_KVM on Intel processors equipped with the CONFIG_VT
	  extensions.

	  To compile this as a module, choose CONFIG_M here: the module
	  will be called kvm-intel.

config CONFIG_KVM_AMD
	tristate "KVM for AMD processors support"
	depends on CONFIG_KVM
	---help---
	  Provides support for CONFIG_KVM on AMD processors equipped with the AMD-V
	  (SVM) extensions.

	  To compile this as a module, choose CONFIG_M here: the module
	  will be called kvm-amd.

config CONFIG_KVM_MMU_AUDIT
	bool "Audit KVM MMU"
	depends on CONFIG_KVM && CONFIG_TRACEPOINTS
	---help---
	 This option adds a R/W kVM module parameter 'mmu_audit', which allows
	 auditing of CONFIG_KVM CONFIG_MMU events at runtime.

config CONFIG_KVM_DEVICE_ASSIGNMENT
	bool "KVM legacy PCI device assignment support (DEPRECATED)"
	depends on CONFIG_KVM && CONFIG_PCI && CONFIG_IOMMU_API
	default n
	---help---
	  Provide support for legacy CONFIG_PCI device assignment through CONFIG_KVM.  The
	  kernel now also supports a full featured userspace device driver
	  framework through CONFIG_VFIO, which supersedes this support and provides
	  better security.

	  If unsure, say N.

# OK, it's a little counter-intuitive to do this, but it puts it neatly under
# the virtualization menu.
source drivers/vhost/Kconfig
source drivers/lguest/Kconfig

endif # CONFIG_VIRTUALIZATION