| # 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 PKVM_PROXY |
| bool "Access to pkvm proxy debug file to issue hypercalls from usermode (UNSAFE)" |
| depends on NVHE_EL2_DEBUG |
| default n |
| help |
| Say Y here to enable the pkvm proxy component that allows a user mode |
| program to issue direct hypercalls. This is unsafe for obvious |
| reasons. It makes it really easy for a simple user mode program with |
| rights to access the debugfs to panic the entire system. |
| |
| If unsure, say N. |
| |
| config KVM_ARM_HYP_DEBUG_UART |
| bool "Hack up some basic UART functionality at EL2" |
| |
| config KVM_ARM_HYP_DEBUG_UART_ADDR |
| hex "Physical address of the PL011 for EL2 to use" |
| depends on KVM_ARM_HYP_DEBUG_UART |
| default 0x09000000 |
| |
| endif # VIRTUALIZATION |