xref: /openbmc/linux/arch/arm64/kvm/Kconfig (revision 60046980)
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
287276030aSMario Smarduch	select KVM_MMIO
29c3eb5b14SMarc Zyngier	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
307276030aSMario Smarduch	select KVM_XFER_TO_GUEST_WORK
316caa5812SOliver Upton	select KVM_VFIO
328889583cSKim Phillips	select HAVE_KVM_EVENTFD
33174178feSEric Auger	select HAVE_KVM_IRQFD
34174178feSEric Auger	select HAVE_KVM_DIRTY_RING_ACQ_REL
359cb1096fSGavin Shan	select NEED_KVM_DIRTY_RING_WITH_BITMAP
369cb1096fSGavin Shan	select HAVE_KVM_MSI
370e4e82f1SAndre Przywara	select HAVE_KVM_IRQCHIP
38180ae7b1SEric Auger	select HAVE_KVM_IRQ_ROUTING
39180ae7b1SEric Auger	select IRQ_BYPASS_MANAGER
402412405bSEric Auger	select HAVE_KVM_IRQ_BYPASS
412412405bSEric Auger	select HAVE_KVM_VCPU_RUN_PID_CHANGE
42e6b673b7SDave Martin	select SCHED_INFO
4363b3f96eSPeter Zijlstra	select GUEST_PERF_EVENTS if PERF_EVENTS
442aef6f30SSean Christopherson	select INTERVAL_TREE
45ed922739SMaciej S. Szmigiero	select XARRAY_MULTI
46*60046980SRandy Dunlap	help
47a7f7f624SMasahiro Yamada	  Support hosting virtualized guest machines.
48c3eb5b14SMarc Zyngier
49c3eb5b14SMarc Zyngier	  If unsure, say N.
50c3eb5b14SMarc Zyngier
51c3eb5b14SMarc Zyngierconfig NVHE_EL2_DEBUG
528e049e0dSQuentin Perret	bool "Debug mode for non-VHE EL2 object"
538e049e0dSQuentin Perret	depends on KVM
54c8f1e967SSean Christopherson	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
618e049e0dSQuentin Perretconfig 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
7403fe9cd0SMarc Zyngierendif # VIRTUALIZATION
75c3eb5b14SMarc Zyngier