1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 2c3eb5b14SMarc Zyngier# 3c3eb5b14SMarc Zyngier# KVM configuration 4c3eb5b14SMarc Zyngier# 5c3eb5b14SMarc Zyngier 6c8f1e967SSean Christophersonsource "virt/kvm/Kconfig" 7c3eb5b14SMarc Zyngier 8c3eb5b14SMarc Zyngiermenuconfig VIRTUALIZATION 9c3eb5b14SMarc Zyngier bool "Virtualization" 10a7f7f624SMasahiro Yamada help 11c3eb5b14SMarc Zyngier Say Y here to get to see options for using your Linux host to run 12c3eb5b14SMarc Zyngier other operating systems inside virtual machines (guests). 13c3eb5b14SMarc Zyngier This option alone does not add any kernel code. 14c3eb5b14SMarc Zyngier 15c3eb5b14SMarc Zyngier If you say N, all options in this submenu will be skipped and 16c3eb5b14SMarc Zyngier disabled. 17c3eb5b14SMarc Zyngier 18c3eb5b14SMarc Zyngierif VIRTUALIZATION 19c3eb5b14SMarc Zyngier 20f2613362SWill Deaconmenuconfig KVM 21c3eb5b14SMarc Zyngier bool "Kernel-based Virtual Machine (KVM) support" 2210f2ad03SMarc Zyngier depends on AS_HAS_ARMV8_4 23caadf876SPaolo Bonzini select KVM_COMMON 24441f7bfaSSean Christopherson select KVM_GENERIC_HARDWARE_ENABLING 25f128cf8cSSean Christopherson select KVM_GENERIC_MMU_NOTIFIER 26d241aac7SMarc Zyngier select HAVE_KVM_CPU_RELAX_INTERCEPT 27c3eb5b14SMarc Zyngier select KVM_MMIO 287276030aSMario Smarduch select KVM_GENERIC_DIRTYLOG_READ_PROTECT 296caa5812SOliver Upton select KVM_XFER_TO_GUEST_WORK 308889583cSKim Phillips select KVM_VFIO 319cb1096fSGavin Shan select HAVE_KVM_DIRTY_RING_ACQ_REL 329cb1096fSGavin Shan select NEED_KVM_DIRTY_RING_WITH_BITMAP 330e4e82f1SAndre Przywara select HAVE_KVM_MSI 34180ae7b1SEric Auger select HAVE_KVM_IRQCHIP 35180ae7b1SEric Auger select HAVE_KVM_IRQ_ROUTING 362412405bSEric Auger select HAVE_KVM_IRQ_BYPASS 378886640dSPaolo Bonzini select HAVE_KVM_READONLY_MEM 38e6b673b7SDave Martin select HAVE_KVM_VCPU_RUN_PID_CHANGE 3963b3f96eSPeter Zijlstra select SCHED_INFO 402aef6f30SSean Christopherson select GUEST_PERF_EVENTS if PERF_EVENTS 41a7f7f624SMasahiro Yamada help 42c3eb5b14SMarc Zyngier Support hosting virtualized guest machines. 43c3eb5b14SMarc Zyngier 44c3eb5b14SMarc Zyngier If unsure, say N. 45c3eb5b14SMarc Zyngier 468e049e0dSQuentin Perretconfig NVHE_EL2_DEBUG 478e049e0dSQuentin Perret bool "Debug mode for non-VHE EL2 object" 48c8f1e967SSean Christopherson depends on KVM 498e049e0dSQuentin Perret help 508e049e0dSQuentin Perret Say Y here to enable the debug mode for the non-VHE KVM EL2 object. 518e049e0dSQuentin Perret Failure reports will BUG() in the hypervisor. This is intended for 528e049e0dSQuentin Perret local EL2 hypervisor development. 538e049e0dSQuentin Perret 548e049e0dSQuentin Perret If unsure, say N. 558e049e0dSQuentin Perret 5603fe9cd0SMarc Zyngierconfig PROTECTED_NVHE_STACKTRACE 5703fe9cd0SMarc Zyngier bool "Protected KVM hypervisor stacktraces" 5803fe9cd0SMarc Zyngier depends on NVHE_EL2_DEBUG 5903fe9cd0SMarc Zyngier default n 6003fe9cd0SMarc Zyngier help 6103fe9cd0SMarc Zyngier Say Y here to enable pKVM hypervisor stacktraces on hyp_panic() 6203fe9cd0SMarc Zyngier 6303fe9cd0SMarc Zyngier If using protected nVHE mode, but cannot afford the associated 6403fe9cd0SMarc Zyngier memory cost (less than 0.75 page per CPU) of pKVM stacktraces, 6503fe9cd0SMarc Zyngier say N. 6603fe9cd0SMarc Zyngier 6703fe9cd0SMarc Zyngier If unsure, or not using protected nVHE (pKVM), say N. 6803fe9cd0SMarc Zyngier 697c4f7354SSebastian Eneconfig PTDUMP_STAGE2_DEBUGFS 707c4f7354SSebastian Ene bool "Present the stage-2 pagetables to debugfs" 717c4f7354SSebastian Ene depends on KVM 727c4f7354SSebastian Ene depends on DEBUG_KERNEL 737c4f7354SSebastian Ene depends on DEBUG_FS 74*f9aad622SAnshuman Khandual depends on ARCH_HAS_PTDUMP 75*f9aad622SAnshuman Khandual select PTDUMP 767c4f7354SSebastian Ene default n 777c4f7354SSebastian Ene help 787c4f7354SSebastian Ene Say Y here if you want to show the stage-2 kernel pagetables 797c4f7354SSebastian Ene layout in a debugfs file. This information is only useful for kernel developers 807c4f7354SSebastian Ene who are working in architecture specific areas of the kernel. 817c4f7354SSebastian Ene It is probably not a good idea to enable this feature in a production 827c4f7354SSebastian Ene kernel. 837c4f7354SSebastian Ene 847c4f7354SSebastian Ene If in doubt, say N. 857c4f7354SSebastian Ene 86c3eb5b14SMarc Zyngierendif # VIRTUALIZATION 87