1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 2edf88417SAvi Kivity# 3edf88417SAvi Kivity# KVM configuration 4edf88417SAvi Kivity# 5edf88417SAvi Kivity 60ba12d10SAvi Kivitysource "virt/kvm/Kconfig" 75d9b8e30SAvi Kivity 8edf88417SAvi Kivitymenuconfig VIRTUALIZATION 9edf88417SAvi Kivity bool "Virtualization" 10edf88417SAvi Kivity depends on HAVE_KVM || X86 11edf88417SAvi Kivity default y 12edf88417SAvi Kivity ---help--- 13edf88417SAvi Kivity Say Y here to get to see options for using your Linux host to run other 14edf88417SAvi Kivity operating systems inside virtual machines (guests). 15edf88417SAvi Kivity This option alone does not add any kernel code. 16edf88417SAvi Kivity 17edf88417SAvi Kivity If you say N, all options in this submenu will be skipped and disabled. 18edf88417SAvi Kivity 19edf88417SAvi Kivityif VIRTUALIZATION 20edf88417SAvi Kivity 21edf88417SAvi Kivityconfig KVM 22edf88417SAvi Kivity tristate "Kernel-based Virtual Machine (KVM) support" 23268fe02aSAvi Kivity depends on HAVE_KVM 2492b5265dSLiu, Jinsong depends on HIGH_RES_TIMERS 25df3d8ae1SRandy Dunlap # for TASKSTATS/TASK_DELAY_ACCT: 26c2ce3f5dSArnd Bergmann depends on NET && MULTIUSER 27e42eef4bSArnd Bergmann depends on X86_LOCAL_APIC 28edf88417SAvi Kivity select PREEMPT_NOTIFIERS 29cddb8a5cSAndrea Arcangeli select MMU_NOTIFIER 300ba12d10SAvi Kivity select HAVE_KVM_IRQCHIP 31297e2105SPaul Mackerras select HAVE_KVM_IRQFD 3287276880SFeng Wu select IRQ_BYPASS_MANAGER 3387276880SFeng Wu select HAVE_KVM_IRQ_BYPASS 34a725d56aSAlexander Graf select HAVE_KVM_IRQ_ROUTING 35721eecbfSGregory Haskins select HAVE_KVM_EVENTFD 36af585b92SGleb Natapov select KVM_ASYNC_PF 3718863bddSAvi Kivity select USER_RETURN_NOTIFIER 3850eb2a3cSAvi Kivity select KVM_MMIO 39fd079facSRandy Dunlap select TASKSTATS 40c9aaa895SGlauber Costa select TASK_DELAY_ACCT 41f5132b01SGleb Natapov select PERF_EVENTS 4207975ad3SJan Kiszka select HAVE_KVM_MSI 43f2a74347SRaghavendra K T select HAVE_KVM_CPU_RELAX_INTERCEPT 442d5ba19bSMarcelo Tosatti select HAVE_KVM_NO_POLL 45e108ff2fSPaolo Bonzini select KVM_GENERIC_DIRTYLOG_READ_PROTECT 46ec53500fSAlex Williamson select KVM_VFIO 4783fe27eaSPranith Kumar select SRCU 48edf88417SAvi Kivity ---help--- 49edf88417SAvi Kivity Support hosting fully virtualized guest machines using hardware 50edf88417SAvi Kivity virtualization extensions. You will need a fairly recent 51edf88417SAvi Kivity processor equipped with virtualization extensions. You will also 52edf88417SAvi Kivity need to select one or more of the processor modules below. 53edf88417SAvi Kivity 54edf88417SAvi Kivity This module provides access to the hardware capabilities through 55edf88417SAvi Kivity a character device node named /dev/kvm. 56edf88417SAvi Kivity 57edf88417SAvi Kivity To compile this as a module, choose M here: the module 58edf88417SAvi Kivity will be called kvm. 59edf88417SAvi Kivity 60edf88417SAvi Kivity If unsure, say N. 61edf88417SAvi Kivity 62*4f337fafSPaolo Bonziniconfig KVM_WERROR 63*4f337fafSPaolo Bonzini bool "Compile KVM with -Werror" 64*4f337fafSPaolo Bonzini # KASAN may cause the build to fail due to larger frames 65*4f337fafSPaolo Bonzini default y if X86_64 && !KASAN 66*4f337fafSPaolo Bonzini # We use the dependency on !COMPILE_TEST to not be enabled 67*4f337fafSPaolo Bonzini # blindly in allmodconfig or allyesconfig configurations 68*4f337fafSPaolo Bonzini depends on (X86_64 && !KASAN) || !COMPILE_TEST 69*4f337fafSPaolo Bonzini depends on EXPERT 70*4f337fafSPaolo Bonzini help 71*4f337fafSPaolo Bonzini Add -Werror to the build flags for (and only for) i915.ko. 72*4f337fafSPaolo Bonzini 73*4f337fafSPaolo Bonzini If in doubt, say "N". 74*4f337fafSPaolo Bonzini 75edf88417SAvi Kivityconfig KVM_INTEL 768f63aaf5SSean Christopherson tristate "KVM for Intel (and compatible) processors support" 778f63aaf5SSean Christopherson depends on KVM && IA32_FEAT_CTL 78edf88417SAvi Kivity ---help--- 798f63aaf5SSean Christopherson Provides support for KVM on processors equipped with Intel's VT 808f63aaf5SSean Christopherson extensions, a.k.a. Virtual Machine Extensions (VMX). 81edf88417SAvi Kivity 8258f8ac27SRobert P. J. Day To compile this as a module, choose M here: the module 8358f8ac27SRobert P. J. Day will be called kvm-intel. 8458f8ac27SRobert P. J. Day 85edf88417SAvi Kivityconfig KVM_AMD 86edf88417SAvi Kivity tristate "KVM for AMD processors support" 87edf88417SAvi Kivity depends on KVM 88edf88417SAvi Kivity ---help--- 89edf88417SAvi Kivity Provides support for KVM on AMD processors equipped with the AMD-V 90edf88417SAvi Kivity (SVM) extensions. 91edf88417SAvi Kivity 9258f8ac27SRobert P. J. Day To compile this as a module, choose M here: the module 9358f8ac27SRobert P. J. Day will be called kvm-amd. 9458f8ac27SRobert P. J. Day 955dd0a57cSBrijesh Singhconfig KVM_AMD_SEV 965dd0a57cSBrijesh Singh def_bool y 975dd0a57cSBrijesh Singh bool "AMD Secure Encrypted Virtualization (SEV) support" 985dd0a57cSBrijesh Singh depends on KVM_AMD && X86_64 99d30f370dSJanakarajan Natarajan depends on CRYPTO_DEV_SP_PSP && !(KVM_AMD=y && CRYPTO_DEV_CCP_DD=m) 1005dd0a57cSBrijesh Singh ---help--- 1015dd0a57cSBrijesh Singh Provides support for launching Encrypted VMs on AMD processors. 1025dd0a57cSBrijesh Singh 1038b1fe17cSXiao Guangrongconfig KVM_MMU_AUDIT 1048b1fe17cSXiao Guangrong bool "Audit KVM MMU" 1058b1fe17cSXiao Guangrong depends on KVM && TRACEPOINTS 1068b1fe17cSXiao Guangrong ---help--- 1078b1fe17cSXiao Guangrong This option adds a R/W kVM module parameter 'mmu_audit', which allows 10894491620SRandy Dunlap auditing of KVM MMU events at runtime. 1098b1fe17cSXiao Guangrong 110edf88417SAvi Kivity# OK, it's a little counter-intuitive to do this, but it puts it neatly under 111edf88417SAvi Kivity# the virtualization menu. 1128636a1f9SMasahiro Yamadasource "drivers/vhost/Kconfig" 113edf88417SAvi Kivity 114edf88417SAvi Kivityendif # VIRTUALIZATION 115