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 12a7f7f624SMasahiro Yamada 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 25e42eef4bSArnd Bergmann depends on X86_LOCAL_APIC 26edf88417SAvi Kivity select PREEMPT_NOTIFIERS 27cddb8a5cSAndrea Arcangeli select MMU_NOTIFIER 280ba12d10SAvi Kivity select HAVE_KVM_IRQCHIP 29297e2105SPaul Mackerras select HAVE_KVM_IRQFD 3087276880SFeng Wu select IRQ_BYPASS_MANAGER 3187276880SFeng Wu select HAVE_KVM_IRQ_BYPASS 32a725d56aSAlexander Graf select HAVE_KVM_IRQ_ROUTING 33721eecbfSGregory Haskins select HAVE_KVM_EVENTFD 34af585b92SGleb Natapov select KVM_ASYNC_PF 3518863bddSAvi Kivity select USER_RETURN_NOTIFIER 3650eb2a3cSAvi Kivity select KVM_MMIO 37*63b3f96eSPeter Zijlstra select SCHED_INFO 38f5132b01SGleb Natapov select PERF_EVENTS 3907975ad3SJan Kiszka select HAVE_KVM_MSI 40f2a74347SRaghavendra K T select HAVE_KVM_CPU_RELAX_INTERCEPT 412d5ba19bSMarcelo Tosatti select HAVE_KVM_NO_POLL 4272c3c0feSThomas Gleixner select KVM_XFER_TO_GUEST_WORK 43e108ff2fSPaolo Bonzini select KVM_GENERIC_DIRTYLOG_READ_PROTECT 44ec53500fSAlex Williamson select KVM_VFIO 4583fe27eaSPranith Kumar select SRCU 46a7f7f624SMasahiro Yamada help 47edf88417SAvi Kivity Support hosting fully virtualized guest machines using hardware 48edf88417SAvi Kivity virtualization extensions. You will need a fairly recent 49edf88417SAvi Kivity processor equipped with virtualization extensions. You will also 50edf88417SAvi Kivity need to select one or more of the processor modules below. 51edf88417SAvi Kivity 52edf88417SAvi Kivity This module provides access to the hardware capabilities through 53edf88417SAvi Kivity a character device node named /dev/kvm. 54edf88417SAvi Kivity 55edf88417SAvi Kivity To compile this as a module, choose M here: the module 56edf88417SAvi Kivity will be called kvm. 57edf88417SAvi Kivity 58edf88417SAvi Kivity If unsure, say N. 59edf88417SAvi Kivity 604f337fafSPaolo Bonziniconfig KVM_WERROR 614f337fafSPaolo Bonzini bool "Compile KVM with -Werror" 624f337fafSPaolo Bonzini # KASAN may cause the build to fail due to larger frames 634f337fafSPaolo Bonzini default y if X86_64 && !KASAN 644f337fafSPaolo Bonzini # We use the dependency on !COMPILE_TEST to not be enabled 654f337fafSPaolo Bonzini # blindly in allmodconfig or allyesconfig configurations 668f116a6cSMatteo Croce depends on KVM 674f337fafSPaolo Bonzini depends on (X86_64 && !KASAN) || !COMPILE_TEST 684f337fafSPaolo Bonzini depends on EXPERT 694f337fafSPaolo Bonzini help 70a754acc3SJason A. Donenfeld Add -Werror to the build flags for KVM. 714f337fafSPaolo Bonzini 724f337fafSPaolo Bonzini If in doubt, say "N". 734f337fafSPaolo Bonzini 74edf88417SAvi Kivityconfig KVM_INTEL 758f63aaf5SSean Christopherson tristate "KVM for Intel (and compatible) processors support" 768f63aaf5SSean Christopherson depends on KVM && IA32_FEAT_CTL 77a7f7f624SMasahiro Yamada help 788f63aaf5SSean Christopherson Provides support for KVM on processors equipped with Intel's VT 798f63aaf5SSean Christopherson extensions, a.k.a. Virtual Machine Extensions (VMX). 80edf88417SAvi Kivity 8158f8ac27SRobert P. J. Day To compile this as a module, choose M here: the module 8258f8ac27SRobert P. J. Day will be called kvm-intel. 8358f8ac27SRobert P. J. Day 84540745ddSSean Christophersonconfig X86_SGX_KVM 85540745ddSSean Christopherson bool "Software Guard eXtensions (SGX) Virtualization" 86540745ddSSean Christopherson depends on X86_SGX && KVM_INTEL 87540745ddSSean Christopherson help 88540745ddSSean Christopherson 89540745ddSSean Christopherson Enables KVM guests to create SGX enclaves. 90540745ddSSean Christopherson 91540745ddSSean Christopherson This includes support to expose "raw" unreclaimable enclave memory to 92540745ddSSean Christopherson guests via a device node, e.g. /dev/sgx_vepc. 93540745ddSSean Christopherson 94540745ddSSean Christopherson If unsure, say N. 95540745ddSSean Christopherson 96edf88417SAvi Kivityconfig KVM_AMD 97edf88417SAvi Kivity tristate "KVM for AMD processors support" 98edf88417SAvi Kivity depends on KVM 99a7f7f624SMasahiro Yamada help 100edf88417SAvi Kivity Provides support for KVM on AMD processors equipped with the AMD-V 101edf88417SAvi Kivity (SVM) extensions. 102edf88417SAvi Kivity 10358f8ac27SRobert P. J. Day To compile this as a module, choose M here: the module 10458f8ac27SRobert P. J. Day will be called kvm-amd. 10558f8ac27SRobert P. J. Day 1065dd0a57cSBrijesh Singhconfig KVM_AMD_SEV 1075dd0a57cSBrijesh Singh def_bool y 1085dd0a57cSBrijesh Singh bool "AMD Secure Encrypted Virtualization (SEV) support" 1095dd0a57cSBrijesh Singh depends on KVM_AMD && X86_64 110d30f370dSJanakarajan Natarajan depends on CRYPTO_DEV_SP_PSP && !(KVM_AMD=y && CRYPTO_DEV_CCP_DD=m) 111a7f7f624SMasahiro Yamada help 112916391a2STom Lendacky Provides support for launching Encrypted VMs (SEV) and Encrypted VMs 113916391a2STom Lendacky with Encrypted State (SEV-ES) on AMD processors. 1145dd0a57cSBrijesh Singh 115b59b153dSPaolo Bonziniconfig KVM_XEN 116b59b153dSPaolo Bonzini bool "Support for Xen hypercall interface" 117b59b153dSPaolo Bonzini depends on KVM 118b59b153dSPaolo Bonzini help 119b59b153dSPaolo Bonzini Provides KVM support for the hosting Xen HVM guests and 120b59b153dSPaolo Bonzini passing Xen hypercalls to userspace. 121b59b153dSPaolo Bonzini 122b59b153dSPaolo Bonzini If in doubt, say "N". 123b59b153dSPaolo Bonzini 1248b1fe17cSXiao Guangrongconfig KVM_MMU_AUDIT 1258b1fe17cSXiao Guangrong bool "Audit KVM MMU" 1268b1fe17cSXiao Guangrong depends on KVM && TRACEPOINTS 127a7f7f624SMasahiro Yamada help 1288b1fe17cSXiao Guangrong This option adds a R/W kVM module parameter 'mmu_audit', which allows 12994491620SRandy Dunlap auditing of KVM MMU events at runtime. 1308b1fe17cSXiao Guangrong 131edf88417SAvi Kivityendif # VIRTUALIZATION 132