# SPDX-License-Identifier: GPL-2.0 # # KVM configuration # 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 AS_HAS_ARMV8_4 select KVM_COMMON select KVM_GENERIC_HARDWARE_ENABLING select KVM_GENERIC_MMU_NOTIFIER select HAVE_KVM_CPU_RELAX_INTERCEPT select KVM_MMIO select KVM_GENERIC_DIRTYLOG_READ_PROTECT select KVM_XFER_TO_GUEST_WORK select KVM_VFIO 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 HAVE_KVM_IRQ_BYPASS select HAVE_KVM_READONLY_MEM select HAVE_KVM_VCPU_RUN_PID_CHANGE select SCHED_INFO select GUEST_PERF_EVENTS if PERF_EVENTS help Support hosting virtualized guest machines. If unsure, say N. if KVM config PTDUMP_STAGE2_DEBUGFS bool "Present the stage-2 pagetables to debugfs" depends on DEBUG_KERNEL depends on DEBUG_FS depends on GENERIC_PTDUMP select PTDUMP_CORE default n help Say Y here if you want to show the stage-2 kernel pagetables layout in a debugfs file. This information is only useful for kernel developers who are working in architecture specific areas of the kernel. It is probably not a good idea to enable this feature in a production kernel. If in doubt, say N. config PKVM_MODULE_PATH string "Path to pKVM modules" default "" help Directory where the pKVM modules are found. If empty, the modules will be searched into the default path /lib/modules/. menuconfig PKVM_DEBUG bool "Debug mode for Protected KVM hypervisor" help Say Y here to enable the debug mode for the Protected KVM (pKVM) hypervisor. Failure reports will BUG() in the hypervisor. This is intended for local EL2 hypervisor development. If unsure, say N. if PKVM_DEBUG config PKVM_STRICT_CHECKS bool "Additional checks in the Protected KVM hypervisor" default y help Say Y here to add more checks into the Protected KVM hypervisor. Those checks have a slight performance cost and will BUG() on a failure. This is intended for EL2 hypervisor development. config PKVM_SELFTESTS bool "Protected KVM hypervisor selftests" default y help Say Y here to enable Protected KVM (pKVM) hypervisor selftests during boot. Failure reports will panic the hypervisor. This is intended for EL2 hypervisor development. If unsure, say N. config PKVM_DUMP_TRACE_ON_PANIC bool "Dump Protected KVM hypervisor trace buffer on panic" default y help Say Y here to dump the content of the pKVM hypervisor on either hypervisor or host panic. In the case of a hyp panic, only the tail page is dumped. It only has an effect if the command line option hyp_trace_printk is set. config PKVM_FTRACE bool "Protected KVM hypervisor function tracing" depends on FTRACE default y help Say Y here to enable func and func_ret hypervisor tracing events. Those events are raised whenever the hypervisor branch to a function. If unsure, Say N. config PKVM_STACKTRACE bool "Protected KVM hypervisor stacktraces" depends on PKVM_DISABLE_STAGE2_ON_PANIC default y 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_DISABLE_STAGE2_ON_PANIC bool "Disable the host stage-2 on panic" default n help If panic occurs while the host lock is held and if, plagued by bad luck the panic path triggers a host stage-2 memory abort, a lockup would happen. The only way out is to disable the stage-2 page-table. This however tamper the system security. This option should therefore solely be enabled to debug specific issues. Just say N. endif # PKVM_DEBUG endif # KVM endif # VIRTUALIZATION