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