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 24*441f7bfaSSean Christopherson select KVM_GENERIC_HARDWARE_ENABLING 25c3eb5b14SMarc Zyngier select MMU_NOTIFIER 26c3eb5b14SMarc Zyngier select PREEMPT_NOTIFIERS 27d241aac7SMarc Zyngier select HAVE_KVM_CPU_RELAX_INTERCEPT 287276030aSMario Smarduch select HAVE_KVM_ARCH_TLB_FLUSH_ALL 29c3eb5b14SMarc Zyngier select KVM_MMIO 307276030aSMario Smarduch select KVM_GENERIC_DIRTYLOG_READ_PROTECT 316caa5812SOliver Upton select KVM_XFER_TO_GUEST_WORK 3283fe27eaSPranith Kumar select SRCU 338889583cSKim Phillips select KVM_VFIO 34174178feSEric Auger select HAVE_KVM_EVENTFD 35174178feSEric Auger select HAVE_KVM_IRQFD 369cb1096fSGavin Shan select HAVE_KVM_DIRTY_RING_ACQ_REL 379cb1096fSGavin Shan select NEED_KVM_DIRTY_RING_WITH_BITMAP 380e4e82f1SAndre Przywara select HAVE_KVM_MSI 39180ae7b1SEric Auger select HAVE_KVM_IRQCHIP 40180ae7b1SEric Auger select HAVE_KVM_IRQ_ROUTING 412412405bSEric Auger select IRQ_BYPASS_MANAGER 422412405bSEric Auger select HAVE_KVM_IRQ_BYPASS 43e6b673b7SDave Martin select HAVE_KVM_VCPU_RUN_PID_CHANGE 4463b3f96eSPeter Zijlstra select SCHED_INFO 452aef6f30SSean Christopherson select GUEST_PERF_EVENTS if PERF_EVENTS 46ed922739SMaciej S. Szmigiero select INTERVAL_TREE 47a7f7f624SMasahiro Yamada help 48c3eb5b14SMarc Zyngier Support hosting virtualized guest machines. 49c3eb5b14SMarc Zyngier 50c3eb5b14SMarc Zyngier If unsure, say N. 51c3eb5b14SMarc Zyngier 528e049e0dSQuentin Perretconfig NVHE_EL2_DEBUG 538e049e0dSQuentin Perret bool "Debug mode for non-VHE EL2 object" 54c8f1e967SSean Christopherson depends on KVM 558e049e0dSQuentin Perret help 568e049e0dSQuentin Perret Say Y here to enable the debug mode for the non-VHE KVM EL2 object. 578e049e0dSQuentin Perret Failure reports will BUG() in the hypervisor. This is intended for 588e049e0dSQuentin Perret local EL2 hypervisor development. 598e049e0dSQuentin Perret 608e049e0dSQuentin Perret If unsure, say N. 618e049e0dSQuentin Perret 6203fe9cd0SMarc Zyngierconfig PROTECTED_NVHE_STACKTRACE 6303fe9cd0SMarc Zyngier bool "Protected KVM hypervisor stacktraces" 6403fe9cd0SMarc Zyngier depends on NVHE_EL2_DEBUG 6503fe9cd0SMarc Zyngier default n 6603fe9cd0SMarc Zyngier help 6703fe9cd0SMarc Zyngier Say Y here to enable pKVM hypervisor stacktraces on hyp_panic() 6803fe9cd0SMarc Zyngier 6903fe9cd0SMarc Zyngier If using protected nVHE mode, but cannot afford the associated 7003fe9cd0SMarc Zyngier memory cost (less than 0.75 page per CPU) of pKVM stacktraces, 7103fe9cd0SMarc Zyngier say N. 7203fe9cd0SMarc Zyngier 7303fe9cd0SMarc Zyngier If unsure, or not using protected nVHE (pKVM), say N. 7403fe9cd0SMarc Zyngier 75c3eb5b14SMarc Zyngierendif # VIRTUALIZATION 76