18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# KVM configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_cisource "virt/kvm/Kconfig" 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cimenuconfig VIRTUALIZATION 98c2ecf20Sopenharmony_ci bool "Virtualization" 108c2ecf20Sopenharmony_ci depends on HAVE_KVM || X86 118c2ecf20Sopenharmony_ci default y 128c2ecf20Sopenharmony_ci help 138c2ecf20Sopenharmony_ci Say Y here to get to see options for using your Linux host to run other 148c2ecf20Sopenharmony_ci operating systems inside virtual machines (guests). 158c2ecf20Sopenharmony_ci This option alone does not add any kernel code. 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci If you say N, all options in this submenu will be skipped and disabled. 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ciif VIRTUALIZATION 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciconfig KVM 228c2ecf20Sopenharmony_ci tristate "Kernel-based Virtual Machine (KVM) support" 238c2ecf20Sopenharmony_ci depends on HAVE_KVM 248c2ecf20Sopenharmony_ci depends on HIGH_RES_TIMERS 258c2ecf20Sopenharmony_ci # for TASKSTATS/TASK_DELAY_ACCT: 268c2ecf20Sopenharmony_ci depends on NET && MULTIUSER 278c2ecf20Sopenharmony_ci depends on X86_LOCAL_APIC 288c2ecf20Sopenharmony_ci select PREEMPT_NOTIFIERS 298c2ecf20Sopenharmony_ci select MMU_NOTIFIER 308c2ecf20Sopenharmony_ci select HAVE_KVM_IRQCHIP 318c2ecf20Sopenharmony_ci select HAVE_KVM_IRQFD 328c2ecf20Sopenharmony_ci select IRQ_BYPASS_MANAGER 338c2ecf20Sopenharmony_ci select HAVE_KVM_IRQ_BYPASS 348c2ecf20Sopenharmony_ci select HAVE_KVM_IRQ_ROUTING 358c2ecf20Sopenharmony_ci select HAVE_KVM_EVENTFD 368c2ecf20Sopenharmony_ci select KVM_ASYNC_PF 378c2ecf20Sopenharmony_ci select USER_RETURN_NOTIFIER 388c2ecf20Sopenharmony_ci select KVM_MMIO 398c2ecf20Sopenharmony_ci select TASKSTATS 408c2ecf20Sopenharmony_ci select TASK_DELAY_ACCT 418c2ecf20Sopenharmony_ci select PERF_EVENTS 428c2ecf20Sopenharmony_ci select HAVE_KVM_MSI 438c2ecf20Sopenharmony_ci select HAVE_KVM_CPU_RELAX_INTERCEPT 448c2ecf20Sopenharmony_ci select HAVE_KVM_NO_POLL 458c2ecf20Sopenharmony_ci select KVM_XFER_TO_GUEST_WORK 468c2ecf20Sopenharmony_ci select KVM_GENERIC_DIRTYLOG_READ_PROTECT 478c2ecf20Sopenharmony_ci select KVM_VFIO 488c2ecf20Sopenharmony_ci select SRCU 498c2ecf20Sopenharmony_ci help 508c2ecf20Sopenharmony_ci Support hosting fully virtualized guest machines using hardware 518c2ecf20Sopenharmony_ci virtualization extensions. You will need a fairly recent 528c2ecf20Sopenharmony_ci processor equipped with virtualization extensions. You will also 538c2ecf20Sopenharmony_ci need to select one or more of the processor modules below. 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci This module provides access to the hardware capabilities through 568c2ecf20Sopenharmony_ci a character device node named /dev/kvm. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci To compile this as a module, choose M here: the module 598c2ecf20Sopenharmony_ci will be called kvm. 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci If unsure, say N. 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ciconfig KVM_WERROR 648c2ecf20Sopenharmony_ci bool "Compile KVM with -Werror" 658c2ecf20Sopenharmony_ci # KASAN may cause the build to fail due to larger frames 668c2ecf20Sopenharmony_ci default y if X86_64 && !KASAN 678c2ecf20Sopenharmony_ci # We use the dependency on !COMPILE_TEST to not be enabled 688c2ecf20Sopenharmony_ci # blindly in allmodconfig or allyesconfig configurations 698c2ecf20Sopenharmony_ci depends on KVM 708c2ecf20Sopenharmony_ci depends on (X86_64 && !KASAN) || !COMPILE_TEST 718c2ecf20Sopenharmony_ci depends on EXPERT 728c2ecf20Sopenharmony_ci help 738c2ecf20Sopenharmony_ci Add -Werror to the build flags for KVM. 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci If in doubt, say "N". 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ciconfig KVM_INTEL 788c2ecf20Sopenharmony_ci tristate "KVM for Intel (and compatible) processors support" 798c2ecf20Sopenharmony_ci depends on KVM && IA32_FEAT_CTL 808c2ecf20Sopenharmony_ci help 818c2ecf20Sopenharmony_ci Provides support for KVM on processors equipped with Intel's VT 828c2ecf20Sopenharmony_ci extensions, a.k.a. Virtual Machine Extensions (VMX). 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci To compile this as a module, choose M here: the module 858c2ecf20Sopenharmony_ci will be called kvm-intel. 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ciconfig KVM_AMD 888c2ecf20Sopenharmony_ci tristate "KVM for AMD processors support" 898c2ecf20Sopenharmony_ci depends on KVM 908c2ecf20Sopenharmony_ci help 918c2ecf20Sopenharmony_ci Provides support for KVM on AMD processors equipped with the AMD-V 928c2ecf20Sopenharmony_ci (SVM) extensions. 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci To compile this as a module, choose M here: the module 958c2ecf20Sopenharmony_ci will be called kvm-amd. 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ciconfig KVM_AMD_SEV 988c2ecf20Sopenharmony_ci def_bool y 998c2ecf20Sopenharmony_ci bool "AMD Secure Encrypted Virtualization (SEV) support" 1008c2ecf20Sopenharmony_ci depends on KVM_AMD && X86_64 1018c2ecf20Sopenharmony_ci depends on CRYPTO_DEV_SP_PSP && !(KVM_AMD=y && CRYPTO_DEV_CCP_DD=m) 1028c2ecf20Sopenharmony_ci help 1038c2ecf20Sopenharmony_ci Provides support for launching Encrypted VMs on AMD processors. 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ciconfig KVM_MMU_AUDIT 1068c2ecf20Sopenharmony_ci bool "Audit KVM MMU" 1078c2ecf20Sopenharmony_ci depends on KVM && TRACEPOINTS 1088c2ecf20Sopenharmony_ci help 1098c2ecf20Sopenharmony_ci This option adds a R/W kVM module parameter 'mmu_audit', which allows 1108c2ecf20Sopenharmony_ci auditing of KVM MMU events at runtime. 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_ciendif # VIRTUALIZATION 113