162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# KVM configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_cisource "virt/kvm/Kconfig"
662306a36Sopenharmony_ci
762306a36Sopenharmony_cimenuconfig VIRTUALIZATION
862306a36Sopenharmony_ci	def_bool y
962306a36Sopenharmony_ci	prompt "KVM"
1062306a36Sopenharmony_ci	help
1162306a36Sopenharmony_ci	  Say Y here to get to see options for using your Linux host to run other
1262306a36Sopenharmony_ci	  operating systems inside virtual machines (guests).
1362306a36Sopenharmony_ci	  This option alone does not add any kernel code.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	  If you say N, all options in this submenu will be skipped and disabled.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciif VIRTUALIZATION
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciconfig KVM
2062306a36Sopenharmony_ci	def_tristate y
2162306a36Sopenharmony_ci	prompt "Kernel-based Virtual Machine (KVM) support"
2262306a36Sopenharmony_ci	depends on HAVE_KVM
2362306a36Sopenharmony_ci	select PREEMPT_NOTIFIERS
2462306a36Sopenharmony_ci	select HAVE_KVM_CPU_RELAX_INTERCEPT
2562306a36Sopenharmony_ci	select HAVE_KVM_VCPU_ASYNC_IOCTL
2662306a36Sopenharmony_ci	select HAVE_KVM_EVENTFD
2762306a36Sopenharmony_ci	select KVM_ASYNC_PF
2862306a36Sopenharmony_ci	select KVM_ASYNC_PF_SYNC
2962306a36Sopenharmony_ci	select HAVE_KVM_IRQCHIP
3062306a36Sopenharmony_ci	select HAVE_KVM_IRQFD
3162306a36Sopenharmony_ci	select HAVE_KVM_IRQ_ROUTING
3262306a36Sopenharmony_ci	select HAVE_KVM_INVALID_WAKEUPS
3362306a36Sopenharmony_ci	select HAVE_KVM_NO_POLL
3462306a36Sopenharmony_ci	select KVM_VFIO
3562306a36Sopenharmony_ci	select INTERVAL_TREE
3662306a36Sopenharmony_ci	select MMU_NOTIFIER
3762306a36Sopenharmony_ci	help
3862306a36Sopenharmony_ci	  Support hosting paravirtualized guest machines using the SIE
3962306a36Sopenharmony_ci	  virtualization capability on the mainframe. This should work
4062306a36Sopenharmony_ci	  on any 64bit machine.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	  This module provides access to the hardware capabilities through
4362306a36Sopenharmony_ci	  a character device node named /dev/kvm.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	  To compile this as a module, choose M here: the module
4662306a36Sopenharmony_ci	  will be called kvm.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	  If unsure, say N.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ciconfig KVM_S390_UCONTROL
5162306a36Sopenharmony_ci	bool "Userspace controlled virtual machines"
5262306a36Sopenharmony_ci	depends on KVM
5362306a36Sopenharmony_ci	help
5462306a36Sopenharmony_ci	  Allow CAP_SYS_ADMIN users to create KVM virtual machines that are
5562306a36Sopenharmony_ci	  controlled by userspace.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	  If unsure, say N.
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciendif # VIRTUALIZATION
60