xref: /openbmc/linux/virt/kvm/Kconfig (revision 441f7bfa)
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
2217601bfeSMarc Zyngier# Only strongly ordered architectures can select this, as it doesn't
2317601bfeSMarc Zyngier# put any explicit constraint on userspace ordering. They can also
2417601bfeSMarc Zyngier# select the _ACQ_REL version.
2517601bfeSMarc Zyngierconfig HAVE_KVM_DIRTY_RING_TSO
2617601bfeSMarc Zyngier       bool
2717601bfeSMarc Zyngier       select HAVE_KVM_DIRTY_RING
2817601bfeSMarc Zyngier       depends on X86
2917601bfeSMarc Zyngier
3017601bfeSMarc Zyngier# Weakly ordered architectures can only select this, advertising
3117601bfeSMarc Zyngier# to userspace the additional ordering requirements.
3217601bfeSMarc Zyngierconfig HAVE_KVM_DIRTY_RING_ACQ_REL
3317601bfeSMarc Zyngier       bool
3417601bfeSMarc Zyngier       select HAVE_KVM_DIRTY_RING
3517601bfeSMarc Zyngier
3686bdf3ebSGavin Shan# Allow enabling both the dirty bitmap and dirty ring. Only architectures
3786bdf3ebSGavin Shan# that need to dirty memory outside of a vCPU context should select this.
3886bdf3ebSGavin Shanconfig NEED_KVM_DIRTY_RING_WITH_BITMAP
3986bdf3ebSGavin Shan	bool
4086bdf3ebSGavin Shan	depends on HAVE_KVM_DIRTY_RING
4186bdf3ebSGavin Shan
42721eecbfSGregory Haskinsconfig HAVE_KVM_EVENTFD
43721eecbfSGregory Haskins       bool
44721eecbfSGregory Haskins       select EVENTFD
4573880c80SGleb Natapov
4650eb2a3cSAvi Kivityconfig KVM_MMIO
4750eb2a3cSAvi Kivity       bool
48af585b92SGleb Natapov
49af585b92SGleb Natapovconfig KVM_ASYNC_PF
50af585b92SGleb Natapov       bool
5107975ad3SJan Kiszka
52e0ead41aSDominik Dingel# Toggle to switch between direct notification and batch job
53e0ead41aSDominik Dingelconfig KVM_ASYNC_PF_SYNC
54e0ead41aSDominik Dingel       bool
55e0ead41aSDominik Dingel
5607975ad3SJan Kiszkaconfig HAVE_KVM_MSI
5707975ad3SJan Kiszka       bool
58f2a74347SRaghavendra K T
59f2a74347SRaghavendra K Tconfig HAVE_KVM_CPU_RELAX_INTERCEPT
60f2a74347SRaghavendra K T       bool
61ec53500fSAlex Williamson
62ec53500fSAlex Williamsonconfig KVM_VFIO
63ec53500fSAlex Williamson       bool
64a6d51016SMario Smarduch
65a6d51016SMario Smarduchconfig HAVE_KVM_ARCH_TLB_FLUSH_ALL
66a6d51016SMario Smarduch       bool
67ba0513b5SMario Smarduch
683491caf2SChristian Borntraegerconfig HAVE_KVM_INVALID_WAKEUPS
693491caf2SChristian Borntraeger       bool
703491caf2SChristian Borntraeger
71ba0513b5SMario Smarduchconfig KVM_GENERIC_DIRTYLOG_READ_PROTECT
72ba0513b5SMario Smarduch       bool
73de8e5d74SChristian Borntraeger
74de8e5d74SChristian Borntraegerconfig KVM_COMPAT
75de8e5d74SChristian Borntraeger       def_bool y
76afec0c65SGuo Ren       depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)
771a02b270SEric Auger
781a02b270SEric Augerconfig HAVE_KVM_IRQ_BYPASS
791a02b270SEric Auger       bool
805cb0944cSPaolo Bonzini
815cb0944cSPaolo Bonziniconfig HAVE_KVM_VCPU_ASYNC_IOCTL
825cb0944cSPaolo Bonzini       bool
83bd2a6394SChristoffer Dall
84bd2a6394SChristoffer Dallconfig HAVE_KVM_VCPU_RUN_PID_CHANGE
85bd2a6394SChristoffer Dall       bool
86cdd6ad3aSChristian Borntraeger
87cdd6ad3aSChristian Borntraegerconfig HAVE_KVM_NO_POLL
88cdd6ad3aSChristian Borntraeger       bool
89935ace2fSThomas Gleixner
90935ace2fSThomas Gleixnerconfig KVM_XFER_TO_GUEST_WORK
91935ace2fSThomas Gleixner       bool
922fdef3a2SSergey Senozhatsky
932fdef3a2SSergey Senozhatskyconfig HAVE_KVM_PM_NOTIFIER
942fdef3a2SSergey Senozhatsky       bool
95*441f7bfaSSean Christopherson
96*441f7bfaSSean Christophersonconfig KVM_GENERIC_HARDWARE_ENABLING
97*441f7bfaSSean Christopherson       bool
98