# SPDX-License-Identifier: GPL-2.0
#
# [31mCONFIG_KVM[0m configuration
#
source "virt/kvm/Kconfig"
menuconfig [31mCONFIG_VIRTUALIZATION[0m
bool "Virtualization"
depends on [31mCONFIG_HAVE_KVM[0m || [31mCONFIG_X86[0m
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 [31mCONFIG_VIRTUALIZATION[0m
config [31mCONFIG_KVM[0m
tristate "Kernel-based Virtual Machine (KVM) support"
depends on [31mCONFIG_HAVE_KVM[0m
depends on [31mCONFIG_HIGH_RES_TIMERS[0m
# for [31mCONFIG_TASKSTATS[0m/[31mCONFIG_TASK_DELAY_ACCT[0m:
depends on [31mCONFIG_NET[0m && [31mCONFIG_MULTIUSER[0m
depends on [31mCONFIG_X86_LOCAL_APIC[0m
select [31mCONFIG_PREEMPT_NOTIFIERS[0m
select [31mCONFIG_MMU_NOTIFIER[0m
select [31mCONFIG_HAVE_KVM_IRQCHIP[0m
select [31mCONFIG_HAVE_KVM_IRQFD[0m
select [31mCONFIG_IRQ_BYPASS_MANAGER[0m
select [31mCONFIG_HAVE_KVM_IRQ_BYPASS[0m
select [31mCONFIG_HAVE_KVM_IRQ_ROUTING[0m
select [31mCONFIG_HAVE_KVM_EVENTFD[0m
select [31mCONFIG_KVM_ASYNC_PF[0m
select [31mCONFIG_USER_RETURN_NOTIFIER[0m
select [31mCONFIG_KVM_MMIO[0m
select [31mCONFIG_TASKSTATS[0m
select [31mCONFIG_TASK_DELAY_ACCT[0m
select [31mCONFIG_PERF_EVENTS[0m
select [31mCONFIG_HAVE_KVM_MSI[0m
select [31mCONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT[0m
select [31mCONFIG_HAVE_KVM_NO_POLL[0m
select [31mCONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT[0m
select [31mCONFIG_KVM_VFIO[0m
select [31mCONFIG_SRCU[0m
---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 [31mCONFIG_M[0m here: the module
will be called kvm.
If unsure, say N.
config [31mCONFIG_KVM_INTEL[0m
tristate "KVM for Intel processors support"
depends on [31mCONFIG_KVM[0m
# for perf_guest_get_msrs():
depends on [31mCONFIG_CPU_SUP_INTEL[0m
---help---
Provides support for [31mCONFIG_KVM[0m on Intel processors equipped with the [31mCONFIG_VT[0m
extensions.
To compile this as a module, choose [31mCONFIG_M[0m here: the module
will be called kvm-intel.
config [31mCONFIG_KVM_AMD[0m
tristate "KVM for AMD processors support"
depends on [31mCONFIG_KVM[0m
---help---
Provides support for [31mCONFIG_KVM[0m on AMD processors equipped with the AMD-V
(SVM) extensions.
To compile this as a module, choose [31mCONFIG_M[0m here: the module
will be called kvm-amd.
config [31mCONFIG_KVM_AMD_SEV[0m
def_bool y
bool "AMD Secure Encrypted Virtualization (SEV) support"
depends on [31mCONFIG_KVM_AMD[0m && [31mCONFIG_X86_64[0m
depends on [31mCONFIG_CRYPTO_DEV_SP_PSP[0m && !([31mCONFIG_KVM_AMD[0m=y && [31mCONFIG_CRYPTO_DEV_CCP_DD[0m=m)
---help---
Provides support for launching Encrypted VMs on AMD processors.
config [31mCONFIG_KVM_MMU_AUDIT[0m
bool "Audit KVM MMU"
depends on [31mCONFIG_KVM[0m && [31mCONFIG_TRACEPOINTS[0m
---help---
This option adds a R/W kVM module parameter 'mmu_audit', which allows
auditing of [31mCONFIG_KVM[0m [31mCONFIG_MMU[0m events at runtime.
# OK, it's a little counter-intuitive to do this, but it puts it neatly under
# the virtualization menu.
source "drivers/vhost/Kconfig"
endif # [31mCONFIG_VIRTUALIZATION[0m