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