xref: /openbmc/linux/virt/kvm/Kconfig (revision eddd2148)
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
653491caf2SChristian Borntraegerconfig HAVE_KVM_INVALID_WAKEUPS
663491caf2SChristian Borntraeger       bool
673491caf2SChristian Borntraeger
68ba0513b5SMario Smarduchconfig KVM_GENERIC_DIRTYLOG_READ_PROTECT
69ba0513b5SMario Smarduch       bool
70de8e5d74SChristian Borntraeger
71de8e5d74SChristian Borntraegerconfig KVM_COMPAT
72de8e5d74SChristian Borntraeger       def_bool y
73afec0c65SGuo Ren       depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)
741a02b270SEric Auger
751a02b270SEric Augerconfig HAVE_KVM_IRQ_BYPASS
761a02b270SEric Auger       bool
775cb0944cSPaolo Bonzini
785cb0944cSPaolo Bonziniconfig HAVE_KVM_VCPU_ASYNC_IOCTL
795cb0944cSPaolo Bonzini       bool
80bd2a6394SChristoffer Dall
81bd2a6394SChristoffer Dallconfig HAVE_KVM_VCPU_RUN_PID_CHANGE
82bd2a6394SChristoffer Dall       bool
83cdd6ad3aSChristian Borntraeger
84cdd6ad3aSChristian Borntraegerconfig HAVE_KVM_NO_POLL
85cdd6ad3aSChristian Borntraeger       bool
86935ace2fSThomas Gleixner
87935ace2fSThomas Gleixnerconfig KVM_XFER_TO_GUEST_WORK
88935ace2fSThomas Gleixner       bool
892fdef3a2SSergey Senozhatsky
902fdef3a2SSergey Senozhatskyconfig HAVE_KVM_PM_NOTIFIER
912fdef3a2SSergey Senozhatsky       bool
92*441f7bfaSSean Christopherson
93*441f7bfaSSean Christophersonconfig KVM_GENERIC_HARDWARE_ENABLING
94*441f7bfaSSean Christopherson       bool
95