xref: /linux/arch/arm64/kvm/Kconfig (revision dee264c16a6334dcdbea5c186f5ff35f98b1df42)
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"
22caadf876SPaolo Bonzini	select KVM_COMMON
23441f7bfaSSean Christopherson	select KVM_GENERIC_HARDWARE_ENABLING
24f128cf8cSSean Christopherson	select KVM_GENERIC_MMU_NOTIFIER
25d241aac7SMarc Zyngier	select HAVE_KVM_CPU_RELAX_INTERCEPT
26c3eb5b14SMarc Zyngier	select KVM_MMIO
277276030aSMario Smarduch	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
286caa5812SOliver Upton	select KVM_XFER_TO_GUEST_WORK
298889583cSKim Phillips	select KVM_VFIO
309cb1096fSGavin Shan	select HAVE_KVM_DIRTY_RING_ACQ_REL
319cb1096fSGavin Shan	select NEED_KVM_DIRTY_RING_WITH_BITMAP
320e4e82f1SAndre Przywara	select HAVE_KVM_MSI
33180ae7b1SEric Auger	select HAVE_KVM_IRQCHIP
34180ae7b1SEric Auger	select HAVE_KVM_IRQ_ROUTING
352412405bSEric Auger	select HAVE_KVM_IRQ_BYPASS
368886640dSPaolo Bonzini	select HAVE_KVM_READONLY_MEM
37e6b673b7SDave Martin	select HAVE_KVM_VCPU_RUN_PID_CHANGE
3863b3f96eSPeter Zijlstra	select SCHED_INFO
392aef6f30SSean Christopherson	select GUEST_PERF_EVENTS if PERF_EVENTS
40a7f7f624SMasahiro Yamada	help
41c3eb5b14SMarc Zyngier	  Support hosting virtualized guest machines.
42c3eb5b14SMarc Zyngier
43c3eb5b14SMarc Zyngier	  If unsure, say N.
44c3eb5b14SMarc Zyngier
458e049e0dSQuentin Perretconfig NVHE_EL2_DEBUG
468e049e0dSQuentin Perret	bool "Debug mode for non-VHE EL2 object"
47c8f1e967SSean Christopherson	depends on KVM
488e049e0dSQuentin Perret	help
498e049e0dSQuentin Perret	  Say Y here to enable the debug mode for the non-VHE KVM EL2 object.
508e049e0dSQuentin Perret	  Failure reports will BUG() in the hypervisor. This is intended for
518e049e0dSQuentin Perret	  local EL2 hypervisor development.
528e049e0dSQuentin Perret
538e049e0dSQuentin Perret	  If unsure, say N.
548e049e0dSQuentin Perret
5503fe9cd0SMarc Zyngierconfig PROTECTED_NVHE_STACKTRACE
5603fe9cd0SMarc Zyngier	bool "Protected KVM hypervisor stacktraces"
5703fe9cd0SMarc Zyngier	depends on NVHE_EL2_DEBUG
5803fe9cd0SMarc Zyngier	default n
5903fe9cd0SMarc Zyngier	help
6003fe9cd0SMarc Zyngier	  Say Y here to enable pKVM hypervisor stacktraces on hyp_panic()
6103fe9cd0SMarc Zyngier
6203fe9cd0SMarc Zyngier	  If using protected nVHE mode, but cannot afford the associated
6303fe9cd0SMarc Zyngier	  memory cost (less than 0.75 page per CPU) of pKVM stacktraces,
6403fe9cd0SMarc Zyngier	  say N.
6503fe9cd0SMarc Zyngier
6603fe9cd0SMarc Zyngier	  If unsure, or not using protected nVHE (pKVM), say N.
6703fe9cd0SMarc Zyngier
687c4f7354SSebastian Eneconfig PTDUMP_STAGE2_DEBUGFS
697c4f7354SSebastian Ene	bool "Present the stage-2 pagetables to debugfs"
707c4f7354SSebastian Ene	depends on KVM
717c4f7354SSebastian Ene	depends on DEBUG_KERNEL
727c4f7354SSebastian Ene	depends on DEBUG_FS
73*f9aad622SAnshuman Khandual	depends on ARCH_HAS_PTDUMP
74*f9aad622SAnshuman Khandual	select PTDUMP
757c4f7354SSebastian Ene	default n
767c4f7354SSebastian Ene	help
777c4f7354SSebastian Ene	  Say Y here if you want to show the stage-2 kernel pagetables
787c4f7354SSebastian Ene	  layout in a debugfs file. This information is only useful for kernel developers
797c4f7354SSebastian Ene	  who are working in architecture specific areas of the kernel.
807c4f7354SSebastian Ene	  It is probably not a good idea to enable this feature in a production
817c4f7354SSebastian Ene	  kernel.
827c4f7354SSebastian Ene
837c4f7354SSebastian Ene	  If in doubt, say N.
847c4f7354SSebastian Ene
85c3eb5b14SMarc Zyngierendif # VIRTUALIZATION
86