Kconfig 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. # SPDX-License-Identifier: GPL-2.0
  2. # KVM common configuration items and defaults
  3. config KVM_COMMON
  4. bool
  5. select EVENTFD
  6. select INTERVAL_TREE
  7. select MMU_NOTIFIER
  8. select PREEMPT_NOTIFIERS
  9. config HAVE_KVM_PFNCACHE
  10. bool
  11. config HAVE_KVM_IRQCHIP
  12. bool
  13. config HAVE_KVM_IRQ_ROUTING
  14. bool
  15. config HAVE_KVM_DIRTY_RING
  16. bool
  17. # Only strongly ordered architectures can select this, as it doesn't
  18. # put any explicit constraint on userspace ordering. They can also
  19. # select the _ACQ_REL version.
  20. config HAVE_KVM_DIRTY_RING_TSO
  21. bool
  22. select HAVE_KVM_DIRTY_RING
  23. depends on X86
  24. # Weakly ordered architectures can only select this, advertising
  25. # to userspace the additional ordering requirements.
  26. config HAVE_KVM_DIRTY_RING_ACQ_REL
  27. bool
  28. select HAVE_KVM_DIRTY_RING
  29. # Allow enabling both the dirty bitmap and dirty ring. Only architectures
  30. # that need to dirty memory outside of a vCPU context should select this.
  31. config NEED_KVM_DIRTY_RING_WITH_BITMAP
  32. bool
  33. depends on HAVE_KVM_DIRTY_RING
  34. config KVM_MMIO
  35. bool
  36. config KVM_ASYNC_PF
  37. bool
  38. # Toggle to switch between direct notification and batch job
  39. config KVM_ASYNC_PF_SYNC
  40. bool
  41. config HAVE_KVM_MSI
  42. bool
  43. config HAVE_KVM_READONLY_MEM
  44. bool
  45. config HAVE_KVM_CPU_RELAX_INTERCEPT
  46. bool
  47. config KVM_VFIO
  48. bool
  49. config HAVE_KVM_INVALID_WAKEUPS
  50. bool
  51. config KVM_GENERIC_DIRTYLOG_READ_PROTECT
  52. bool
  53. config KVM_GENERIC_PRE_FAULT_MEMORY
  54. bool
  55. config KVM_COMPAT
  56. def_bool y
  57. depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)
  58. config HAVE_KVM_IRQ_BYPASS
  59. tristate
  60. select IRQ_BYPASS_MANAGER
  61. config HAVE_KVM_VCPU_RUN_PID_CHANGE
  62. bool
  63. config HAVE_KVM_NO_POLL
  64. bool
  65. config VIRT_XFER_TO_GUEST_WORK
  66. bool
  67. config HAVE_KVM_PM_NOTIFIER
  68. bool
  69. config KVM_GENERIC_HARDWARE_ENABLING
  70. bool
  71. config KVM_ELIDE_TLB_FLUSH_IF_YOUNG
  72. bool
  73. config KVM_MMU_LOCKLESS_AGING
  74. bool
  75. config KVM_GENERIC_MEMORY_ATTRIBUTES
  76. bool
  77. config KVM_GUEST_MEMFD
  78. select XARRAY_MULTI
  79. bool
  80. config HAVE_KVM_ARCH_GMEM_PREPARE
  81. bool
  82. depends on KVM_GUEST_MEMFD
  83. config HAVE_KVM_ARCH_GMEM_INVALIDATE
  84. bool
  85. depends on KVM_GUEST_MEMFD
  86. config HAVE_KVM_ARCH_GMEM_POPULATE
  87. bool
  88. depends on KVM_GUEST_MEMFD