xref: /openbmc/linux/virt/kvm/Kconfig (revision 17601bfe)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
20ba12d10SAvi Kivity# KVM common configuration items and defaults
30ba12d10SAvi Kivity
40ba12d10SAvi Kivityconfig HAVE_KVM
50ba12d10SAvi Kivity       bool
60ba12d10SAvi Kivity
7982ed0deSDavid Woodhouseconfig HAVE_KVM_PFNCACHE
8982ed0deSDavid Woodhouse       bool
9982ed0deSDavid Woodhouse
100ba12d10SAvi Kivityconfig HAVE_KVM_IRQCHIP
110ba12d10SAvi Kivity       bool
12721eecbfSGregory Haskins
13297e2105SPaul Mackerrasconfig HAVE_KVM_IRQFD
14297e2105SPaul Mackerras       bool
15297e2105SPaul Mackerras
16a725d56aSAlexander Grafconfig HAVE_KVM_IRQ_ROUTING
17a725d56aSAlexander Graf       bool
18a725d56aSAlexander Graf
19dc70ec21SDavid Woodhouseconfig HAVE_KVM_DIRTY_RING
20dc70ec21SDavid Woodhouse       bool
21dc70ec21SDavid Woodhouse
22*17601bfeSMarc Zyngier# Only strongly ordered architectures can select this, as it doesn't
23*17601bfeSMarc Zyngier# put any explicit constraint on userspace ordering. They can also
24*17601bfeSMarc Zyngier# select the _ACQ_REL version.
25*17601bfeSMarc Zyngierconfig HAVE_KVM_DIRTY_RING_TSO
26*17601bfeSMarc Zyngier       bool
27*17601bfeSMarc Zyngier       select HAVE_KVM_DIRTY_RING
28*17601bfeSMarc Zyngier       depends on X86
29*17601bfeSMarc Zyngier
30*17601bfeSMarc Zyngier# Weakly ordered architectures can only select this, advertising
31*17601bfeSMarc Zyngier# to userspace the additional ordering requirements.
32*17601bfeSMarc Zyngierconfig HAVE_KVM_DIRTY_RING_ACQ_REL
33*17601bfeSMarc Zyngier       bool
34*17601bfeSMarc Zyngier       select HAVE_KVM_DIRTY_RING
35*17601bfeSMarc Zyngier
36721eecbfSGregory Haskinsconfig HAVE_KVM_EVENTFD
37721eecbfSGregory Haskins       bool
38721eecbfSGregory Haskins       select EVENTFD
3973880c80SGleb Natapov
4050eb2a3cSAvi Kivityconfig KVM_MMIO
4150eb2a3cSAvi Kivity       bool
42af585b92SGleb Natapov
43af585b92SGleb Natapovconfig KVM_ASYNC_PF
44af585b92SGleb Natapov       bool
4507975ad3SJan Kiszka
46e0ead41aSDominik Dingel# Toggle to switch between direct notification and batch job
47e0ead41aSDominik Dingelconfig KVM_ASYNC_PF_SYNC
48e0ead41aSDominik Dingel       bool
49e0ead41aSDominik Dingel
5007975ad3SJan Kiszkaconfig HAVE_KVM_MSI
5107975ad3SJan Kiszka       bool
52f2a74347SRaghavendra K T
53f2a74347SRaghavendra K Tconfig HAVE_KVM_CPU_RELAX_INTERCEPT
54f2a74347SRaghavendra K T       bool
55ec53500fSAlex Williamson
56ec53500fSAlex Williamsonconfig KVM_VFIO
57ec53500fSAlex Williamson       bool
58a6d51016SMario Smarduch
59a6d51016SMario Smarduchconfig HAVE_KVM_ARCH_TLB_FLUSH_ALL
60a6d51016SMario Smarduch       bool
61ba0513b5SMario Smarduch
623491caf2SChristian Borntraegerconfig HAVE_KVM_INVALID_WAKEUPS
633491caf2SChristian Borntraeger       bool
643491caf2SChristian Borntraeger
65ba0513b5SMario Smarduchconfig KVM_GENERIC_DIRTYLOG_READ_PROTECT
66ba0513b5SMario Smarduch       bool
67de8e5d74SChristian Borntraeger
68de8e5d74SChristian Borntraegerconfig KVM_COMPAT
69de8e5d74SChristian Borntraeger       def_bool y
70afec0c65SGuo Ren       depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)
711a02b270SEric Auger
721a02b270SEric Augerconfig HAVE_KVM_IRQ_BYPASS
731a02b270SEric Auger       bool
745cb0944cSPaolo Bonzini
755cb0944cSPaolo Bonziniconfig HAVE_KVM_VCPU_ASYNC_IOCTL
765cb0944cSPaolo Bonzini       bool
77bd2a6394SChristoffer Dall
78bd2a6394SChristoffer Dallconfig HAVE_KVM_VCPU_RUN_PID_CHANGE
79bd2a6394SChristoffer Dall       bool
80cdd6ad3aSChristian Borntraeger
81cdd6ad3aSChristian Borntraegerconfig HAVE_KVM_NO_POLL
82cdd6ad3aSChristian Borntraeger       bool
83935ace2fSThomas Gleixner
84935ace2fSThomas Gleixnerconfig KVM_XFER_TO_GUEST_WORK
85935ace2fSThomas Gleixner       bool
862fdef3a2SSergey Senozhatsky
872fdef3a2SSergey Senozhatskyconfig HAVE_KVM_PM_NOTIFIER
882fdef3a2SSergey Senozhatsky       bool
89