| # SPDX-License-Identifier: GPL-2.0 |
| # |
| # KVM configuration |
| # |
| |
| source "virt/lib/Kconfig" |
| source "virt/kvm/Kconfig" |
| |
| menuconfig VIRTUALIZATION |
| bool "Virtualization" |
| help |
| Say Y here to get to see options for using your Linux host to run |
| other operating systems inside virtual machines (guests). |
| This option alone does not add any kernel code. |
| |
| If you say N, all options in this submenu will be skipped and |
| disabled. |
| |
| if VIRTUALIZATION |
| |
| menuconfig KVM |
| bool "Kernel-based Virtual Machine (KVM) support" |
| depends on HAVE_KVM |
| select KVM_GENERIC_HARDWARE_ENABLING |
| select MMU_NOTIFIER |
| select PREEMPT_NOTIFIERS |
| select HAVE_KVM_CPU_RELAX_INTERCEPT |
| select HAVE_KVM_ARCH_TLB_FLUSH_ALL |
| select KVM_MMIO |
| select KVM_GENERIC_DIRTYLOG_READ_PROTECT |
| select KVM_XFER_TO_GUEST_WORK |
| select KVM_VFIO |
| select HAVE_KVM_EVENTFD |
| select HAVE_KVM_IRQFD |
| select HAVE_KVM_DIRTY_RING_ACQ_REL |
| select NEED_KVM_DIRTY_RING_WITH_BITMAP |
| select HAVE_KVM_MSI |
| select HAVE_KVM_IRQCHIP |
| select HAVE_KVM_IRQ_ROUTING |
| select IRQ_BYPASS_MANAGER |
| select HAVE_KVM_IRQ_BYPASS |
| select HAVE_KVM_VCPU_RUN_PID_CHANGE |
| select SCHED_INFO |
| select GUEST_PERF_EVENTS if PERF_EVENTS |
| select INTERVAL_TREE |
| help |
| Support hosting virtualized guest machines. |
| |
| If unsure, say N. |
| |
| config NVHE_EL2_DEBUG |
| bool "Debug mode for non-VHE EL2 object" |
| depends on KVM |
| help |
| Say Y here to enable the debug mode for the non-VHE KVM EL2 object. |
| Failure reports will BUG() in the hypervisor. This is intended for |
| local EL2 hypervisor development. |
| |
| If unsure, say N. |
| |
| config PROTECTED_NVHE_STACKTRACE |
| bool "Protected KVM hypervisor stacktraces" |
| depends on NVHE_EL2_DEBUG |
| default n |
| help |
| Say Y here to enable pKVM hypervisor stacktraces on hyp_panic() |
| |
| If using protected nVHE mode, but cannot afford the associated |
| memory cost (less than 0.75 page per CPU) of pKVM stacktraces, |
| say N. |
| |
| If unsure, or not using protected nVHE (pKVM), say N. |
| |
| config NVHE_KCOV |
| bool "Enable KCOV on the EL2 object" |
| depends on NVHE_EL2_DEBUG && KCOV |
| select PID_IN_CONTEXTIDR |
| select ARCH_HAS_HYPERVISOR_KCOV |
| default y |
| help |
| Provide KCOV support at EL2. Enables support for the KCOV_ENABLE_HYP |
| option (for buffers initialized with KCOV_INIT_HYP_TRACE) |
| |
| config NVHE_KCOV_NUM_BUFFERS |
| int "Number of KCOV buffers in the EL2 object" |
| depends on NVHE_KCOV |
| default 10 |
| help |
| The maximum number of buffers simultaneous initialized at EL2. Those |
| are KCOV buffers intialized with KCOV_INIT_HYP_TRACE instead of |
| KCOV_INIT_TRACE. |
| |
| endif # VIRTUALIZATION |