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 select KVM_COMMON 23 select KVM_GENERIC_HARDWARE_ENABLING 24 select HAVE_KVM_CPU_RELAX_INTERCEPT 25 select KVM_MMIO 26 select KVM_GENERIC_DIRTYLOG_READ_PROTECT 27 select VIRT_XFER_TO_GUEST_WORK 28 select KVM_VFIO 29 select HAVE_KVM_DIRTY_RING_ACQ_REL 30 select NEED_KVM_DIRTY_RING_WITH_BITMAP 31 select HAVE_KVM_MSI 32 select HAVE_KVM_IRQCHIP 33 select HAVE_KVM_IRQ_ROUTING 34 select HAVE_KVM_IRQ_BYPASS 35 select HAVE_KVM_READONLY_MEM 36 select HAVE_KVM_VCPU_RUN_PID_CHANGE 37 select SCHED_INFO 38 select GUEST_PERF_EVENTS if PERF_EVENTS 39 select KVM_GUEST_MEMFD 40 help 41 Support hosting virtualized guest machines. 42 43 If unsure, say N. 44 45if KVM 46 47config PTDUMP_STAGE2_DEBUGFS 48 bool "Present the stage-2 pagetables to debugfs" 49 depends on DEBUG_KERNEL 50 depends on DEBUG_FS 51 depends on ARCH_HAS_PTDUMP 52 select PTDUMP 53 default n 54 help 55 Say Y here if you want to show the stage-2 kernel pagetables 56 layout in a debugfs file. This information is only useful for kernel developers 57 who are working in architecture specific areas of the kernel. 58 It is probably not a good idea to enable this feature in a production 59 kernel. 60 61 If in doubt, say N. 62 63config NVHE_EL2_DEBUG 64 bool "Debug mode for non-VHE EL2 object" 65 default n 66 help 67 Say Y here to enable the debug mode for the non-VHE KVM EL2 object. 68 Failure reports will BUG() in the hypervisor. This is intended for 69 local EL2 hypervisor development. 70 71 If unsure, say N. 72 73if NVHE_EL2_DEBUG 74 75config NVHE_EL2_TRACING 76 bool 77 depends on TRACING && FTRACE 78 select TRACE_REMOTE 79 default y 80 81config PKVM_DISABLE_STAGE2_ON_PANIC 82 bool "Disable the host stage-2 on panic" 83 default n 84 help 85 Relax the host stage-2 on hypervisor panic to allow the kernel to 86 unwind and symbolize the hypervisor stacktrace. This however tampers 87 the system security. This is intended for local EL2 hypervisor 88 development. 89 90 If unsure, say N. 91 92config PKVM_STACKTRACE 93 bool "Protected KVM hypervisor stacktraces" 94 depends on PKVM_DISABLE_STAGE2_ON_PANIC 95 default y 96 help 97 Say Y here to enable pKVM hypervisor stacktraces on hyp_panic() 98 99 If using protected nVHE mode, but cannot afford the associated 100 memory cost (less than 0.75 page per CPU) of pKVM stacktraces, 101 say N. 102 103 If unsure, or not using protected nVHE (pKVM), say N. 104 105endif # NVHE_EL2_DEBUG 106endif # KVM 107endif # VIRTUALIZATION 108