arch/x86/kvm/Kconfig

Source file repositories/reference/linux-study-clean/arch/x86/kvm/Kconfig

File Facts

System
Linux kernel
Corpus path
arch/x86/kvm/Kconfig
Extension
[no extension]
Size
7481 bytes
Lines
244
Domain
Architecture Layer
Bucket
arch/x86
Inferred role
Architecture Layer: build/configuration rule
Status
atlas-only

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0
#
# KVM configuration
#

source "virt/kvm/Kconfig"

menuconfig VIRTUALIZATION
	bool "Virtualization"
	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 VIRTUALIZATION

config KVM_X86
	def_tristate KVM if (KVM_INTEL != n || KVM_AMD != n)
	select KVM_COMMON
	select KVM_ELIDE_TLB_FLUSH_IF_YOUNG
	select KVM_MMU_LOCKLESS_AGING
	select HAVE_KVM_IRQCHIP
	select HAVE_KVM_PFNCACHE
	select HAVE_KVM_DIRTY_RING_TSO
	select HAVE_KVM_DIRTY_RING_ACQ_REL
	select HAVE_KVM_IRQ_BYPASS
	select HAVE_KVM_IRQ_ROUTING
	select HAVE_KVM_READONLY_MEM
	select VHOST_TASK
	select KVM_ASYNC_PF
	select USER_RETURN_NOTIFIER
	select KVM_MMIO
	select SCHED_INFO
	select PERF_EVENTS
	select GUEST_PERF_EVENTS
	select PERF_GUEST_MEDIATED_PMU
	select HAVE_KVM_MSI
	select HAVE_KVM_CPU_RELAX_INTERCEPT
	select HAVE_KVM_NO_POLL
	select VIRT_XFER_TO_GUEST_WORK
	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
	select KVM_VFIO
	select HAVE_KVM_PM_NOTIFIER if PM
	select KVM_GENERIC_HARDWARE_ENABLING
	select KVM_GENERIC_PRE_FAULT_MEMORY
	select KVM_WERROR if WERROR
	select KVM_GUEST_MEMFD if X86_64

config KVM
	tristate "Kernel-based Virtual Machine (KVM) support"
	depends on X86_LOCAL_APIC
	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 M here: the module
	  will be called kvm.

	  If unsure, say N.

config KVM_WERROR
	bool "Compile KVM with -Werror"

Annotation

Implementation Notes