1# SPDX-License-Identifier: GPL-2.0
2#
3# KVM configuration
4#
5
6source "virt/kvm/Kconfig"
7
8menuconfig VIRTUALIZATION
9	bool "Virtualization"
10	help
11	  Say Y here to get to see options for using your Linux host to run
12	  other operating systems inside virtual machines (guests).
13	  This option alone does not add any kernel code.
14
15	  If you say N, all options in this submenu will be skipped and
16	  disabled.
17
18if VIRTUALIZATION
19
20menuconfig KVM
21	bool "Kernel-based Virtual Machine (KVM) support"
22	depends on AS_HAS_ARMV8_4
23	select KVM_COMMON
24	select KVM_GENERIC_HARDWARE_ENABLING
25	select KVM_GENERIC_MMU_NOTIFIER
26	select HAVE_KVM_CPU_RELAX_INTERCEPT
27	select KVM_MMIO
28	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
29	select KVM_XFER_TO_GUEST_WORK
30	select KVM_VFIO
31	select HAVE_KVM_DIRTY_RING_ACQ_REL
32	select NEED_KVM_DIRTY_RING_WITH_BITMAP
33	select HAVE_KVM_MSI
34	select HAVE_KVM_IRQCHIP
35	select HAVE_KVM_IRQ_ROUTING
36	select HAVE_KVM_IRQ_BYPASS
37	select HAVE_KVM_READONLY_MEM
38	select HAVE_KVM_VCPU_RUN_PID_CHANGE
39	select SCHED_INFO
40	select GUEST_PERF_EVENTS if PERF_EVENTS
41	help
42	  Support hosting virtualized guest machines.
43
44	  If unsure, say N.
45
46config NVHE_EL2_DEBUG
47	bool "Debug mode for non-VHE EL2 object"
48	depends on KVM
49	help
50	  Say Y here to enable the debug mode for the non-VHE KVM EL2 object.
51	  Failure reports will BUG() in the hypervisor. This is intended for
52	  local EL2 hypervisor development.
53
54	  If unsure, say N.
55
56config PROTECTED_NVHE_STACKTRACE
57	bool "Protected KVM hypervisor stacktraces"
58	depends on NVHE_EL2_DEBUG
59	default n
60	help
61	  Say Y here to enable pKVM hypervisor stacktraces on hyp_panic()
62
63	  If using protected nVHE mode, but cannot afford the associated
64	  memory cost (less than 0.75 page per CPU) of pKVM stacktraces,
65	  say N.
66
67	  If unsure, or not using protected nVHE (pKVM), say N.
68
69config PTDUMP_STAGE2_DEBUGFS
70	bool "Present the stage-2 pagetables to debugfs"
71	depends on KVM
72	depends on DEBUG_KERNEL
73	depends on DEBUG_FS
74	depends on GENERIC_PTDUMP
75	select PTDUMP_CORE
76	default n
77	help
78	  Say Y here if you want to show the stage-2 kernel pagetables
79	  layout in a debugfs file. This information is only useful for kernel developers
80	  who are working in architecture specific areas of the kernel.
81	  It is probably not a good idea to enable this feature in a production
82	  kernel.
83
84	  If in doubt, say N.
85
86endif # VIRTUALIZATION
87