1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 2c3eb5b14SMarc Zyngier# 3c3eb5b14SMarc Zyngier# KVM configuration 4c3eb5b14SMarc Zyngier# 5c3eb5b14SMarc Zyngier 62412405bSEric Augersource "virt/lib/Kconfig" 7c8f1e967SSean Christophersonsource "virt/kvm/Kconfig" 8c3eb5b14SMarc Zyngier 9c3eb5b14SMarc Zyngiermenuconfig VIRTUALIZATION 10c3eb5b14SMarc Zyngier bool "Virtualization" 11a7f7f624SMasahiro Yamada help 12c3eb5b14SMarc Zyngier Say Y here to get to see options for using your Linux host to run 13c3eb5b14SMarc Zyngier other operating systems inside virtual machines (guests). 14c3eb5b14SMarc Zyngier This option alone does not add any kernel code. 15c3eb5b14SMarc Zyngier 16c3eb5b14SMarc Zyngier If you say N, all options in this submenu will be skipped and 17c3eb5b14SMarc Zyngier disabled. 18c3eb5b14SMarc Zyngier 19c3eb5b14SMarc Zyngierif VIRTUALIZATION 20c3eb5b14SMarc Zyngier 21f2613362SWill Deaconmenuconfig KVM 22c3eb5b14SMarc Zyngier bool "Kernel-based Virtual Machine (KVM) support" 23e26bb75aSSean Christopherson depends on HAVE_KVM 24441f7bfaSSean Christopherson select KVM_GENERIC_HARDWARE_ENABLING 25c3eb5b14SMarc Zyngier select MMU_NOTIFIER 26c3eb5b14SMarc Zyngier select PREEMPT_NOTIFIERS 27d241aac7SMarc Zyngier select HAVE_KVM_CPU_RELAX_INTERCEPT 28c3eb5b14SMarc Zyngier select KVM_MMIO 297276030aSMario Smarduch select KVM_GENERIC_DIRTYLOG_READ_PROTECT 306caa5812SOliver Upton select KVM_XFER_TO_GUEST_WORK 318889583cSKim Phillips select KVM_VFIO 32174178feSEric Auger select HAVE_KVM_EVENTFD 33174178feSEric Auger select HAVE_KVM_IRQFD 349cb1096fSGavin Shan select HAVE_KVM_DIRTY_RING_ACQ_REL 359cb1096fSGavin Shan select NEED_KVM_DIRTY_RING_WITH_BITMAP 360e4e82f1SAndre Przywara select HAVE_KVM_MSI 37180ae7b1SEric Auger select HAVE_KVM_IRQCHIP 38180ae7b1SEric Auger select HAVE_KVM_IRQ_ROUTING 392412405bSEric Auger select IRQ_BYPASS_MANAGER 402412405bSEric Auger select HAVE_KVM_IRQ_BYPASS 41e6b673b7SDave Martin select HAVE_KVM_VCPU_RUN_PID_CHANGE 4263b3f96eSPeter Zijlstra select SCHED_INFO 432aef6f30SSean Christopherson select GUEST_PERF_EVENTS if PERF_EVENTS 44ed922739SMaciej S. Szmigiero select INTERVAL_TREE 45*60046980SRandy Dunlap select XARRAY_MULTI 46a7f7f624SMasahiro Yamada help 47c3eb5b14SMarc Zyngier Support hosting virtualized guest machines. 48c3eb5b14SMarc Zyngier 49c3eb5b14SMarc Zyngier If unsure, say N. 50c3eb5b14SMarc Zyngier 518e049e0dSQuentin Perretconfig NVHE_EL2_DEBUG 528e049e0dSQuentin Perret bool "Debug mode for non-VHE EL2 object" 53c8f1e967SSean Christopherson depends on KVM 548e049e0dSQuentin Perret help 558e049e0dSQuentin Perret Say Y here to enable the debug mode for the non-VHE KVM EL2 object. 568e049e0dSQuentin Perret Failure reports will BUG() in the hypervisor. This is intended for 578e049e0dSQuentin Perret local EL2 hypervisor development. 588e049e0dSQuentin Perret 598e049e0dSQuentin Perret If unsure, say N. 608e049e0dSQuentin Perret 6103fe9cd0SMarc Zyngierconfig PROTECTED_NVHE_STACKTRACE 6203fe9cd0SMarc Zyngier bool "Protected KVM hypervisor stacktraces" 6303fe9cd0SMarc Zyngier depends on NVHE_EL2_DEBUG 6403fe9cd0SMarc Zyngier default n 6503fe9cd0SMarc Zyngier help 6603fe9cd0SMarc Zyngier Say Y here to enable pKVM hypervisor stacktraces on hyp_panic() 6703fe9cd0SMarc Zyngier 6803fe9cd0SMarc Zyngier If using protected nVHE mode, but cannot afford the associated 6903fe9cd0SMarc Zyngier memory cost (less than 0.75 page per CPU) of pKVM stacktraces, 7003fe9cd0SMarc Zyngier say N. 7103fe9cd0SMarc Zyngier 7203fe9cd0SMarc Zyngier If unsure, or not using protected nVHE (pKVM), say N. 7303fe9cd0SMarc Zyngier 74c3eb5b14SMarc Zyngierendif # VIRTUALIZATION 75